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.
This repository contains all the same papers as the official site. It is organized into three directories. This should make it easy to search for terms that appear in the papers using standard search tools (such as `grep`).
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 meetingsUseful 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
.txtfile; otherwisen/a - The file’s md5 hash
- A location in the
meetings,papers, oryearsdirectory
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 (
^Gfor 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).