Millennial Conference Proceedings
TeXnical Notes
TeX flavor
LaTeX, in its current incarnation, LaTeX2e, has become the standard in
mathematical publishing, and virtually every publisher these days uses
LaTeX. To use LaTeX, one has to specify a "documentclass", which
determines general "look" of the document. To obtain a uniform
appearance of the volumes, the same documentclass should be used for
all articles. Natural choices would be
one of the standard classes "article" or "amsart" (nearly all papers
submitted in LaTeX were set in one of these classes), or a generic
class for conference proceedings that the
AMS has made available (among dozens of other specialized classes).
In addition,
major publishers like Springer or Kluwer
have their in-house documentclasses and ask authors to use those
classes.
Our publisher (A K Peters) requested that the "book" documentclass
(one of the standard LaTeX documentclasses)
be used, along with a style file they provided that customized some of
the settings in the book class.
Each paper was set as a chapter within the book class, but compiled
individually, as a separate document.
Conversions from other TeX flavors
About two thirds of the papers were submitted
in LaTeX. Of the remaining papers,
one was submitted in Microsoft Word (which had to be essentially
retyped from scratch),
two were in plain TeX, and the rest (about two dozen altogether) were
set in Amstex, with the amsppt documentstyle. Amstex is
incompatible with LaTeX, and the conversion to LaTeX is a major task.
Fortunately, the amsppt style is a highly
structured style, and many constructs in amsppt are exact analogs of
constructs in LaTeX. Thus, while the changes needed to convert to LaTeX
are very substantial, they are of the type that can be automated,
and I was able to largely automate the conversion process with a perl
script I wrote for this purpose. The program worked nearly
flawlessly on well-formed amstex/amsppt files,
saving dozens of hours of manual work, but performed less well on
poorly (in the TeXnical sense) written files and files that did not
use, mis-used, amsppt constructs. However, this
was to be expected: If an
author uses a manual construct such as \centerline{\bf ...} instead of
\section ... \endsection, say, to indicate a section heading, a
program wouldn't be able to determine whether the \centerline{...}
construct indicates a section heading, or something else, such as a
displayed equation.
Marking-up of TeX files
In the pre-TeX era, mathematical documents were typeset from scratch by
the publisher, using highly specialized (and expensive)
software and equipment. This was a time-consuming, and expensive task.
A common myth is that providing papers in TeX eliminates this step.
While it is true that a properly formed LaTeX file can be used almost as is,
with only minor modifications,
I have also come across papers that are nominally in TeX or even LaTeX,
but so poorly typeset that fixing up these papers would take
almost as much time as retyping the paper from scratch.
Some of the papers we received were indeed perfect, or near-perfect,
in this respect, though the majority
required some degree of mark-up to correct typesetting
problems, ranging from hardcoded structural items (such as theorems,
section headings, citations, etc.) to cosmetic problems (such as
setting long formulas inline instead of displaying these formulas).
Most of this work was outsourced to a local freelance LaTeX typesetter.
Figures and tables
In areas such as geometry or topology figures play a prominent role,
and can present significant technical obstacles.
However, due to the nature of the subject (number theory),
figures and tables were essentially a non-issue here.
Only a handful of papers contained figures, all of which were provided
as eps or ps files, the ideal format for inclusion in tex files.
The figures were incorporated into the tex files using
the graphicx or the epsfig package. (The graphicx package represents
the state of the art in graphics inclusion, though the publisher
preferred epsfig. I don't think it makes a difference one way or the
other as the graphics we had to deal with weren't very complicated.
Also, it is easy to convert from one form to the other.)
Some papers contained tables that had to be reformatted, or, in a few
cases, split. While technically not difficult, getting tables to come
out "right" (i.e., in an appropriate size, at a suitable place in the
manuscript), can be a very laborious process, and there were cases
where it took hours of fiddling with parameters and settings to obtain
a satisfactory result.
Bibliographies
A significant amount of time was invested to create bibtex
bibliographies for all papers.
Doing so has a number of advantages over hardcoding bibliography
items:
- It makes it is easy to
change from one bibliography style to another.
- Checking for inconsistencies in bibliography items (e.g.,
variances in journal abbreviations) is a lot easier if bibliographies
are in bibtex form.
- MathSciNet can be used to download citations in bibtex format
and directly import into a bibtex bibliography. This ensures a high
degree of accuracy.
- Bibtex has sophisticated sorting mechanisms that automatically
sort bibliography items in the expected order.
- Having all bibliographies in the same format (i.e., bibtex)
makes further processing easy. For example, it would be a trivial
matter (though not very useful in this particular case) to create a
master bibliography consisting of the union of all bibliographies,
properly alphabetized.
The main downside to using bibtex is that creating bibtex
bibliographies is very labor intensive. Also, the coding of bibtex
entries requires some care as slight variations from the
bibtex syntax may have undesirable side effects. A few such errors
surfaced during the Galley proof stage; while these were trivial to
correct, for authors not familiar with the bibtex mechanism these
errors may cause unnecessary concern. For instance, if a multi-author
item is not coded properly, it may end up getting alphabetized by the
last author.
Downloading bibliography items from MathSciNet.
I think the ideal handling of bibliographies would be to download bibtex
references from a standard source such as MathSciNet. This would
virtually guarantee the correctness of the bibliography items,
ensure that the references are set in a standard format, and as an
added bonus, provide MR citations which can be linked to MathSciNet
reviews in case the volumes are published online. We have done
this for some, but not all papers, simply because it would
have been too time-consuming. The AMS now has tools to facilitate
"batch lookups" in MathSciNet; those were not available at the
time most of the work was done, but even with such tools
a considerable time investment is required as bibliographies provided
by authors come in all shapes and forms and are rarely in a form that
is suitable for use in automated lookup tools.
Sorting of bibliography items. Bibtex automatically sorts
bibliography items, regardless of the order in which they appear in
the bibtex source file. In most cases, items are properly sorted,
but occasionally minor errors in the coding of
bibtex entries (e.g., omitting a pair of braces around an author)
can change the sorting order in an undesirable way. Several such
problems turned up at the Galley proof stage (which, however,
were easy to fix with a single edit in the offending bibtex entry).
TeXnical note. One problem I ran into in this connection was
that an "unpublished" item without a "year" field gets placed before
other items by the same author, whereas it should
be the final one of the bibliography entries for that author.
I solved this problem by adding a "year = " line
containing code that contained the year without actually
displaying it:
year = {\setbox0=\hbox{2002} to appear}
This caused bibtex to sort the item is if it had a "year={2002}"
entry, thus placing it after all items with earlier years.
I am not sure if there is better way of achieving the same affect
(other than through the bibliography style); in any case, the trick
worked like a charm.
Incorporating bibliographies in tex files.
The publisher requested bibliographies to be included in the
tex files. Thus, after all bibliographies were in final form, the bbl files
generated from these bibliographies were incorporated into the main
tex files. (A perl script was used to do this
wholesale on all 72 files.)
Compiling the volumes
The publisher originally requested that the entire volume
be compiled as a single document, as one would do with an ordinary book.
However,
due to the highly non-homogeneous nature of the individual papers,
this would have led to numerous
conflicts among macros and labels for theorems, equations, citations,
etc. Resolving such conflicts would have required investing a
tremendous amount of effort in renaming hundreds of labels, while
ensuring that no new errors are introduced in the process, and
there was a very real risk of unexpected problems arising from more
subtle, and hard-to-diagnose, conflicts. The main benefit
of compiling the volumes as a single document is that the pagenumbering
is automatic: If there is a change in the number of pages of one paper,
then recompiling the file will automatically update all pagenumbers.
However, with a bit of programming one can achieve essentially the same
functionality when the files are individually processed.
To automate the updating of page numbers,
I wrote a perl script that takes as input a
list of tex files in the order in which they are to appear,
obtains the number of pages of each file from the corresponding log file,
allocates a range of pages to the file (adding a blank page, if
necessary to ensure that each paper starts on an odd-numbered page),
updates the page counter
for that file, and finally compiles all files with the updated page
counter settings.
Galley proofs
To allow Galley proofing of papers, I posted postscript and pdf
versions of the manuscripts to a temporary website, and sent an email to all
authors with a request to download their paper from this website and
report any corrections needed. The website was de facto password
protected as one had to know its name to access it (and only the
authors and editors were informed of this site).
It was not linked from other websites and thus was invisible
to search engines.
All authors were able to successfully download their paper from this
site, so it was not necessary to mail out hard copies.
Creation of ps files. Ps files were generated in the usual way,
with dvips. I did, however, pipe the ps files output by dvips
through the "psdraft" utility to add a date stamp.
This had the advantage that updated files on the
Galley proof site can be easily recognized and distinguished from the
original versions. This is important as most
browsers tend to use cached versions of files if one tries to download
the file again within the same session. In fact, in Netscape,
the "Reload" button doesn't seem to work on ps or pdf files (or other
non-html files), and (as far as I know)
the only way to ensure that a fresh copy gets
loaded is to either empty the cache explicitly or exit and restart
Netscape.
Technical note.
One problem surfaced when using psdraft to "date-stamp" files.
It appears that psdraft interprets embedded postscript files
containing graphics as
separate pages and thus adds a date stamp to each figure. I don't know if
this is just due to the nature postcript works, or if there would
have been a way to get around it. In any case, this seemed to me a
minor cosmetic problem that didn't affect the Galley proofing, and
which wasn't an issue in the production of the final version since
that version did not need date stamps.
Creation of pdf files. Pdf files were created in a single step
from the LaTeX source files with pdflatex. This is the easiest, and
most reliable, method to convert tex files to pdf. The main downside is
that pdflatex does not automatically convert eps graphics. To obtain a
pdf file that does include graphics one has to convert the eps files to
pdf files using a tool such as epstopdf. This is a bit of a hassle,
and since the graphics were properly displayed in the ps
versions of the files, and the pdf files were temporary files,
not intended for a permanent online publication,
I decided to not bother with that extra step.
For the vast majority of papers that did not contain figures
it didn't make a difference anyway.
Making corrections and recompiling files.
All relevant files (tex, bib, ps, pdf, etc.) were kept in the galley
proof directory (website), and all work was done within this directory.
I had a script "makegalleys" that runs latex, bibtex, dvips, and pdflatex,
in the appropriate sequence, to update all files in a single step,
after making a correction to the tex file.
This allowed for efficient, and near real-time, implementing of
changes/corrections I received from authors by email, and authors could
immediately access the updated files and report any further corrections
if needed.
Millennial Conference Proceedings: Production Notes
ajh@uiuc.edu