README.org
January 24, 2025 ยท View on GitHub
#+title: README #+date: 2022-03-23 16:18 Wed #+author: Gary Klimowicz
- Overview 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).
** papers/
Each paper or document in j3-fortran.org has a corresponding file in the
papers directory.
** years/
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.
** meetings/
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.
** file-types.txt
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.
** Makefile
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.
bincommands There are commands in thebindirectory to maintain the repository. Onlybin/get-docs-for-meetingis relevant to the average person updating the project. (The rest were mostly used when converting the papers to Unicode.)
** bin/get-docs-for-meeting
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.
#+begin_src sh 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 #+end_src
Useful options:
- -v :: Be verbose about the actions taken.
- -vv :: Add debug output to the verbose output.
** bin/wheres
Given a document prefix, identify all the locations of the document in
papers, meetings, and years.
#+begin_example $ 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 #+end_example
#+begin_example $ 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 #+end_example
** bin/update-index
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; otherwise n/a
- The file's md5 hash
- A location in the meetings, papers, or years directory
make all runs this automatically, so you shouldn't have to run
it manually unless the index is broken.
** bin/cleanup-text (no longer used; kept in case we need it again)
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)
** bin/cleanup-* (no longer used)
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).