This set of directories and files mirrors the contents of https://j3-fortran.org, maintained by Steve Lionel, the ISO WG5 convenor. https://j3-fortran.org is the system of record for papers presented and discussed by the INCITS Fortran and ISO WG5 Fortran standards groups.
Since it can be cumbersome to navigate the official site, this repository contains all the same papers as official site, but organized into three searchable directories.
Each paper or document in j3-fortran.org has a corresponding file in the
papers
directory.
The j3-fortran web site organizes papers by year and by meeting. The
years
directory in this repository holds the papers for each 4-digit
year. The files in the years
directories are symlinks to the documents
in the papers
directory.
The meetings
directory in this repository contains a directory for each
meeting (padded to 3 digits). The documents for each meeting are
symlinks to the documents in the papers
directory.
The results of running the file
command on each of the files in the
papers
directory. We use this to identify file with odd (non-ASCII,
non-UTF-8) character encodings.
Contains commands to fetch documents and update the index
and
file-types.txt
files. The target make all
will fetch the documents
for the current meeting, and update the index and file types.
There are commands in the bin
directory to maintain the repository.
Only bin/get-docs-for-meeting
is relevant to the average person
updating the project. (The rest were mostly used when converting
the papers to Unicode.)
Given a meeting number nnn
(or an entry in the meetings
directory), pull
all the meeting files, and place the real files in the years
directory,
and a link to that file in the meetings/nnn
and papers
directory.
bin/get-docs-for-meeting 226 # Fetch all meeting 226 documents
bin/get-docs-for-meeting meetings/226 # This does the same thing
bin/get-docs-for-meeting meetings/* # Fetch documents for all meetings
Useful options:
-v
- Be verbose about the actions taken.
-vv
- Add debug output to the verbose output.
Given a document prefix, identify all the locations of the document in
papers
, meetings
, and years
.
$ bin/wheres S8 S8: S8.102.pdf meetings/102/S8.102.pdf S8.102.pdf papers/S8.102.pdf S8.102.pdf years/1986/S8.102.pdf S8.103.pdf meetings/103/S8.103.pdf S8.103.pdf papers/S8.103.pdf S8.103.pdf years/1987/S8.103.pdf S8.104.pdf meetings/104/S8.104.pdf S8.104.pdf papers/S8.104.pdf S8.104.pdf years/1987/S8.104.pdf S8.111.pdf meetings/111/S8.111.pdf S8.111.pdf papers/S8.111.pdf S8.111.pdf years/1989/S8.111.pdf S8.114.pdf meetings/114/S8.114.pdf S8.114.pdf papers/S8.114.pdf S8.114.pdf years/1990/S8.114.pdf S8.115.pdf meetings/115/S8.115.pdf S8.115.pdf papers/S8.115.pdf S8.115.pdf years/1990/S8.115.pdf S8.99.pdf meetings/099/S8.99.pdf S8.99.pdf papers/S8.99.pdf S8.99.pdf years/1986/S8.99.pdf
$ bin/wheres 22-124 22-124: 22-124.txt meetings/226/22-124.txt 22-124.txt papers/22-124.txt 22-124.txt years/2022/22-124.txt 22-124r1.txt meetings/226/22-124r1.txt 22-124r1.txt papers/22-124r1.txt 22-124r1.txt years/2022/22-124r1.txt 22-124r2.txt meetings/226/22-124r2.txt 22-124r2.txt papers/22-124r2.txt 22-124r2.txt years/2022/22-124r2.txt
Creates the index
file used by bin/wheres
. For each file, it contains
- The file’s base name (e.g.,
00-000.txt
) - The file’s line count if it is a
.txt
file; otherwisen/a
- The file’s md5 hash
- A location in the
meetings
,papers
, oryears
directory
make all
runs this automatically, so you shouldn’t have to run
it manually unless the index is broken.
This commands cleans up files in papers
. A variety of cleanup can be done on the text files:
- Making line endings consistent (LF instead of CR or CRLF)
- Removing excess whitespace at the ends of lines
- Removing excess blank lines at the ends of files
- Replace Windows-1252 extended-ASCII with UTF-8 equivalents
- Replace ISO-8859 extended-ASCII with UTF-8 equivalents
- Replace Code Page 437 characters with UTF-8 equivalents
- Replace other strange character encodings with UTF-8 equivalents (
^G
for bullets, \x{FF}2D for+
, and others that defy explanation)
These other commands typically clean up one specific kind of text change
in a file (e.g., CRLF –> LF transformation, or ^R
, ^S
, ^T
to curly
apostrophes and quotes).