23.12.2012 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!