The Communications of the TEX Users Group Volume 30 ... - TUG
The Communications of the TEX Users Group Volume 30 ... - TUG
The Communications of the TEX Users Group Volume 30 ... - TUG
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
198 <strong>TUG</strong>boat, <strong>Volume</strong> <strong>30</strong> (2009), No. 2<br />
(LSI, lightningsource.com). Karl chose 7 × 10<br />
inches as <strong>the</strong> page size from <strong>the</strong> sizes supported<br />
by LSI, because it was not so big that it would require<br />
a two-column format, but o<strong>the</strong>rwise <strong>the</strong> biggest<br />
available, so minimizing <strong>the</strong> number <strong>of</strong> pages and<br />
print cost.<br />
Karl developed <strong>the</strong> m4-to-L A<strong>TEX</strong> definition file<br />
(tug.org/interviews/book/texdefs.m4) for converting<br />
<strong>the</strong> m4 files for each interview into L A<strong>TEX</strong> files<br />
for each interview. Naturally, this evolved as new<br />
issues were discovered as <strong>the</strong> conversion into L A<strong>TEX</strong><br />
proceeded. As an example, one <strong>of</strong> <strong>the</strong> shorter m4<br />
interview files is available at tug.org/interviews/<br />
book/gordon.m4 (Peter Gordon’s interview) and <strong>the</strong><br />
resulting L A<strong>TEX</strong> file at tug.org/interviews/book/<br />
gordon.inc.<br />
Some <strong>of</strong> <strong>the</strong> interviews had never been in <strong>the</strong><br />
m4 format, and Karl converted <strong>the</strong> HTML for <strong>the</strong>se<br />
earlier interviews into <strong>the</strong> m4 format using Emacs,<br />
Perl, and o<strong>the</strong>r Unix tools. This enabled all <strong>the</strong><br />
interviews to be handled uniformly for <strong>the</strong> book<br />
and provided <strong>the</strong> option <strong>of</strong> later converting all <strong>the</strong><br />
interviews, as cleaned up for <strong>the</strong> book, back to HTML<br />
to improve <strong>the</strong> interviews web site. Karl <strong>the</strong>n edited<br />
all <strong>of</strong> <strong>the</strong>se m4 files fur<strong>the</strong>r to eliminate typos, o<strong>the</strong>r<br />
broken or awkward text, and generate well-typeset<br />
L A<strong>TEX</strong>, following <strong>the</strong> same general conventions longestablished<br />
for <strong>TUG</strong>boat.<br />
In addition to Karl, Barbara Beeton (whose reputation<br />
for editing prowess is well known in <strong>the</strong> <strong>TEX</strong><br />
community) also edited each interview, reviewed <strong>the</strong><br />
formatting, and so on. As with <strong>TUG</strong>boat, Barbara<br />
and Karl strived to achieve appropriate English for<br />
each interview while maintaining as much as possible<br />
<strong>the</strong> interviewee’s voice.<br />
Next, Dave circulated <strong>the</strong> edited and typeset<br />
interviews back to <strong>the</strong> interviewees for approval and<br />
possibly for an additional update, usually written as<br />
an endnote; most interviewees chose to leave <strong>the</strong>ir<br />
interviewcurrentas<strong>of</strong><strong>the</strong>originalinterviewenddate.<br />
Dave also began to solicit higher resolution photos as<br />
part <strong>of</strong> <strong>the</strong>se exchanges with <strong>the</strong> interviewees (since<br />
we desired <strong>the</strong> photos to be about 2 inches wide, we<br />
asked for photos that were at least 600 pixels wide);<br />
Dave also used Photoshop to convert many <strong>of</strong> <strong>the</strong><br />
color photos to grayscale and to adjust <strong>the</strong> contrast,<br />
etc., <strong>of</strong> all photos to improve how well <strong>the</strong>y printed<br />
in a black and white book.<br />
Finally, Dave and Karl drafted <strong>the</strong> preface, title<br />
pages, and o<strong>the</strong>r front matter, and integrated <strong>the</strong>m<br />
into <strong>the</strong> Makefile which built <strong>the</strong> entire book.<br />
5 Technical L A<strong>TEX</strong> details<br />
In addition to <strong>the</strong> texdefs.m4 file mentioned above,<br />
Karl Berry and David Walden<br />
Karl developed a Makefile (tug.org/interviews/<br />
book/GNUmakefile) to automatically convert all <strong>of</strong><br />
<strong>the</strong> m4 files into L A<strong>TEX</strong> files, and <strong>the</strong>n compile <strong>the</strong><br />
L A<strong>TEX</strong> files for <strong>the</strong> interviews and <strong>the</strong> frontmatter<br />
files into one complete PDF. <strong>The</strong> master L A<strong>TEX</strong> file<br />
which <strong>the</strong> Makefile calls to compile <strong>the</strong> book is at<br />
tug.org/interviews/book/ivbook.tex.<br />
5.1 Table <strong>of</strong> contents<br />
We considered several orderings for <strong>the</strong> interviews:<br />
alphabetical was an obvious possibility, but added<br />
nothing over a simple list <strong>of</strong> names; ano<strong>the</strong>r was<br />
grouping by category, such as putting related developers<br />
toge<strong>the</strong>r, but this proved too vague to be<br />
meaningful. Finally we settled on chronological order.<br />
We decided to have two tables <strong>of</strong> contents, one<br />
chronological (<strong>the</strong> normal page number order, in this<br />
scheme, written by L A<strong>TEX</strong>), and one alphabetical.<br />
Karl wrote a script to sort <strong>the</strong> names and generate<br />
<strong>the</strong> alphabetical contents from <strong>the</strong> chronological one<br />
(tug.org/interviews/book/a-lphabetize).<br />
5.2 <strong>The</strong> book style file<br />
<strong>The</strong> master file, ivbook.tex, is mostly just a list <strong>of</strong><br />
<strong>the</strong> frontmatter and interview files in <strong>the</strong> order we<br />
wanted to print <strong>the</strong>m; <strong>the</strong> only notable thing is <strong>the</strong><br />
initial setup:<br />
\documentclass{book}<br />
\usepackage{ivbook}<br />
That is, we use <strong>the</strong> basic L A<strong>TEX</strong> book style, augmented<br />
with a style file. We have found that collecting<br />
all customizations and settings in such a central<br />
style file is a good idea for any significant project.<br />
Here are <strong>the</strong> main things which our book style<br />
file does (tug.org/interviews/book/ivbook.sty):<br />
• It loads some standard packages: geometry to<br />
specify <strong>the</strong> page layout, graphicx for handling<br />
<strong>the</strong> photos, microtype to help with line breaking,<br />
url for line breaking on urls, and fancyhdr<br />
to specify our desired running header (and an<br />
empty running footer).<br />
• It loads babel with support for Vietnamese, for<br />
<strong>the</strong> sake <strong>of</strong> two so-called “horned” letters in <strong>the</strong><br />
interview with Philip Taylor. We were grateful<br />
that Hàn Thê´ Thành had created Vietnamese<br />
glyphs for our font (among many o<strong>the</strong>rs) as part<br />
<strong>of</strong> <strong>the</strong> Vn<strong>TEX</strong> project (vntex.sf.net).<br />
• It specifies <strong>the</strong> fonts used. Karl wanted to use a<br />
freely available font that was included in <strong>TEX</strong><br />
Live, and looked through <strong>the</strong> online L A<strong>TEX</strong> Font<br />
Catalogue (tug.dk/FontCatalogue). He <strong>the</strong>n<br />
experimented with different choices—<strong>the</strong> Font