drwho.tex: Put the companion tracks /exactly/ in the centre of the page.
[drwho] / drwho.tex
CommitLineData
e3de7874
MW
1%%% -*- mode: latex; TeX-PDF-mode: t -*-
2%%%
3%%% Copyright (c) 2020 Mark Wooding
4%%%
5%%% This document is free software. You can you can redistribute it and/or
6%%% modify it under the terms of the GNU General Public License as published
7%%% by the Free Software Foundation; either version 3 of the License, or (at
8%%% your option) any later version.
9%%%
10%%% This document is distributed in the hope that it will be useful, but
11%%% WITHOUT ANY WARRANTY; without even the implied warranty of
12%%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
13%%% Public License for more details.
14%%%
15%%% You should have received a copy of the GNU General Public License along
16%%% with this document. If not, see <https://www.gnu.org/licenses/>.
17%%%
18%%% Alternatively, you may share and adapt this document under the terms of
19%%% the Creative Commons Attribution--ShareAlike 4.0 International License
20%%% (CC BY-SA 4.0); see https://creativecommons.org/licenses/by-sa/4.0/
21
22\documentclass[a4paper, 10pt]{article}
23
24\usepackage[T1]{fontenc}
25\usepackage[palatino, helvetica, courier, maths=cmr]{mdwfonts}
38b7a20b
MW
26
27\hoffset=-1in \oddsidemargin=20mm \evensidemargin=\oddsidemargin
28\textwidth=\paperwidth \advance\textwidth by -2\oddsidemargin
29
30\voffset=-1in \topmargin=20mm \headheight=0mm \headsep=0mm
31\textheight=\paperheight \advance\textheight by -2\topmargin
e3de7874 32
d64198cc 33\newdimen\titlewidth \titlewidth=0.5\textwidth \advance\titlewidth by -40pt
e3de7874
MW
34
35\pagestyle{empty}
1d75e8d3
MW
36\errorcontextlines=50
37\showboxbreadth=\maxdimen \showboxdepth=\maxdimen
e3de7874
MW
38
39\newif\iftop \toptrue
40\def\doctor #1{%
41 \omit
42 \vrule \iftop\else height 24pt \fi width 0pt depth 6pt
43 \large \sffamily \bfseries
44 \ignorespaces #1\unskip \hfil
45 &&&&&\cr
46}
47\def\season #1{%
48 \omit
49 \vrule width 0pt height 14pt depth 4pt
50 \sffamily \bfseries
51 \ignorespaces #1\unskip \hfil
52 &&&&&\cr
53}
54\def\lost#1{\textit{#1}}
55
56\newdimen\hrwd \hrwd=0.2pt
57\def\zwd#1{\hbox to 0pt{\hss#1\hss}}
58
59\def\nil{\nil}
60\def\gobble#1{}
61\def\newqueue#1{%
62 \expandafter\newtoks\csname q/#1\endcsname
63}
64
65\def\enqueue#1#2{%
66 \global\csname q/#1\expandafter\endcsname=
5b2bf24f 67 \expandafter{\the\csname q/#1\endcsname{#2}}%
e3de7874
MW
68}
69\def\grabhead#1#2\endstop{\def\head{#1}}
70\def\gethead#1{\expandafter\grabhead\the\csname q/#1\endcsname\nil\endstop}
71\def\drophead#1{%
72 \gethead{#1}%
73 \edef\t{\global\csname q/#1\endcsname=%
74 \noexpand\expandafter{\noexpand\gobble\the\csname q/#1\endcsname}}\t
75}
76\def\dequeue#1#2{%
77 \gethead{#1}%
78 \ifx\head\nil\def\head{#2}%
79 \else\drophead{#1}\fi
80 \head%
81}
82\def\foreach#1#2{%
83 \def\next{%
84 \gethead{#1}%
85 \ifx\head\nil\let\next=\relax
86 \else\drophead{#1}#2\fi
87 \next%
88 }%
89 \next
90}
91
92\newqueue{t0}
93\newqueue{t1}
94\newqueue{t2}
95\newqueue{t3}
96\newqueue{name}
97
98\def\namedef#1{\expandafter\gdef\csname#1\endcsname}
99\def\namelet#1{\global\expandafter\let\csname#1\endcsname=}
100\def\nameuse#1{\csname#1\endcsname}
101
102\def\emptytrack{empty}
103\def\fulltrack{full}
104
105\namelet{dflt/empty}\relax
106\namedef{dflt/full}{\hfil\vrule\hfil}
107
108\namelet{dots/empty}\strut
109\namedef{dots/full}{\strut\raisebox{-2pt}{\smash{{$\vdots$}}}}
110
111\namedef{top/empty}#1{\strut}
112\namedef{top/full}#1{%
113 \strut
114 \nameuse{sym/#1}%
115 \enqueue{name}{$\phantom+$ \nameuse{name/#1}}%
116}
117
118\namelet{trk/t0}\emptytrack
119\namelet{trk/t1}\emptytrack
120\namelet{trk/t2}\emptytrack
121\namelet{trk/t3}\emptytrack
122
123\def\track#1#2{\hfil\dequeue{#1}{\nameuse{dflt/\nameuse{trk/#1}}}\hfil}
124
125\def\trkendmarker#1{%
126 \hfil
00f0e7bd 127 \vrule depth -2.7pt
e3de7874
MW
128 \kern-\hrwd
129 \zwd{#1}%
130 \kern\hrwd
131 \hfil
132}
133
134\def\join#1#2#3{%
135 \enqueue{#1}{#2}%
136 \namedef{sym/#1}{#2}%
137 \namedef{name/#1}{#3}%
138 \namelet{trk/#1}\fulltrack
139 \enqueue{name}{$+$ #3}%
140}
141\def\depart#1{%
00f0e7bd 142 \enqueue{#1}{\trkendmarker{\vrule height 2.9pt depth -2.5pt width 4pt}}%
e3de7874
MW
143 \namelet{trk/#1}\emptytrack
144}
145\def\die#1{%
146 \enqueue{#1}{\trkendmarker{$\times$}}%
147 \namelet{trk/#1}\emptytrack
148}
149\def\joindie#1#2#3{%
566ab587 150 \enqueue{#1}{\zwd{#2}\zwd{\raisebox{1pt}{$\times$}}}%
e3de7874
MW
151 \enqueue{name}{$+$ #3}%
152}
153
154\def\namelist#1{%
155 \setbox0=\vtop{\foreach{name}{\hbox{\strut\head}}}%
156 \dp0=0pt \box0
157}
158
159\def\pagebreak{%
160 \omit
161 &\omit\hfil\nameuse{dots/\nameuse{trk/t0}}\hfil%
162 &\omit\hfil\nameuse{dots/\nameuse{trk/t1}}\hfil%
163 &\omit\hfil\nameuse{dots/\nameuse{trk/t2}}\hfil%
164 &\omit\hfil\nameuse{dots/\nameuse{trk/t3}}\hfil%
165 \cr
166 \noalign{\newpage}%
167 \omit
168 &\omit\hfil\nameuse{top/\nameuse{trk/t0}}{t0}\hfil%
169 &\omit\hfil\nameuse{top/\nameuse{trk/t1}}{t1}\hfil%
170 &\omit\hfil\nameuse{top/\nameuse{trk/t2}}{t2}\hfil%
171 &\omit\hfil\nameuse{top/\nameuse{trk/t3}}{t3}\hfil%
172 &\cr
173 \omit
174 &\omit\hfil\nameuse{dots/\nameuse{trk/t0}}\hfil%
175 &\omit\hfil\nameuse{dots/\nameuse{trk/t1}}\hfil%
176 &\omit\hfil\nameuse{dots/\nameuse{trk/t2}}\hfil%
177 &\omit\hfil\nameuse{dots/\nameuse{trk/t3}}\hfil%
178 \global\toptrue
179 \cr
180}
181
182\edef\oldoutput{\the\output}
183%\output={\showbox255 \oldoutput}
184
185\begin{document}
186
1d75e8d3
MW
187\topskip=0pt
188\baselineskip=0pt
189\lineskip=0pt
e3de7874
MW
190
191\global\def\\{&&&&&\cr}
192\halign%
193 {\strut\hbox to \titlewidth{\qquad\ignorespaces#\unskip\hfil}%
194 &\track{t0}{#}%
195 &\track{t1}{#}%
196 &\track{t2}{#}%
197 &\track{t3}{#}%
198 &\quad\namelist{#}%
199 \global\topfalse\cr%
200 %
201&\omit\qquad&\omit\qquad&\omit\qquad&\omit\qquad\cr\cr
202 %
203\doctor{The First Doctor (1963--1966)}
204 %
205\season{Season 1}
206 %
207 An Unearthly Child \join{t0}{S}{Susan Foreman}
208 \join{t1}{B}{Barbara Wright}
209 \join{t2}{I}{Ian Chesterton} \\
210 The Daleks \\
211 The Edge of Destruction \\
212 \lost{Marco Polo} \\
213 The Keys of Marinus \\
214 The Aztecs \\
215 The Sensorites \\
216 The Reign of Terror \\
217 %
218\season{Season 2}
219 Planet of Giants \\
220 The Dalek Invasion of Earth \depart{t0} \\
221 The Rescue \join{t3}{V}{Vicki Pallister} \\
222 The Romans \\
223 The Web Planet \\
224 \lost{The Crusade} \\
225 The Space Museum \\
226 The Chase \depart{t1} \depart{t2}
227 \join{t0}{S}{Stephen Taylor} \\
228 The Time Meddler \\
229 %
230\season{Season 3}
231 \lost{Galaxy Four} \\
232 \lost{Mission to the Unknown} \\
233 \lost{The Myth Makers} \depart{t3}
234 \join{t1}{K}{Katarina} \\
235 \lost{The Daleks' Master Plan}
236 \die{t1}
237 \joindie{t2}{S}{Sara Kingdom} \\
238 \lost{The Massacre of St Bartholomew's Eve}
239 \join{t3}{D}{Dodo Chaplet} \\
240 The Ark \\
241 \lost{The Celestial Toymaker} \\
242 The Gunfighters \\
243 \lost{The Savages} \depart{t0} \\
244 The War Machines \depart{t3}
245 \join{t1}{P}{Polly Wright}
246 \join{t2}{B}{Ben Jackson} \\
247 %
248\season{Season 4}
249 \lost{The Smugglers} \\
250 The Tenth Planet \\
251 %
252\pagebreak
253\doctor{The Second Doctor (1966--1969)}
254 %
255\season{Season 4 (cont.)}
256 The Power of the Daleks \\
257 \lost{The Highlanders} \join{t0}{J}{Jamie McCrimmon} \\
258 The Underwater Menace \\
259 The Moonbase \\
260 \lost{The Macra Terror} \\
261 \lost{The Faceless Ones} \depart{t1} \depart{t2} \\
262 \lost{The Evil of the Daleks} \join{t3}{V}{Victoria Waterfield} \\
263 %
264\season{Season 5}
265 The Tomb of the Cybermen \\
266 \lost{The Abominable Snowmen} \\
267 The Ice Warriors \\
268 The Enemy of the World \\
269 The Web of Fear \\
270 \lost{Fury from the Deep} \depart{t3} \\
271 \lost{The Wheel in Space} \join{t1}{Z}{Zoe Heriot} \\
272 %
273\season{Season 6}
274 The Dominators \\
275 The Mind Robber \\
276 The Invasion \\
277 The Krotons \\
278 The Seeds of Death \\
279 \lost{The Space Pirates} \\
280 The War Games \depart{t0} \depart{t1} \\
281 %
282\pagebreak
283\doctor{The Third Doctor (1970--1974)}
284 %
285\season{Season 7}
286 Spearhead from Space \join{t0}{L}{Elizabeth Shaw} \\
287 Doctor Who and the Siluarians \\
288 The Ambassadors of Death \\
289 Inferno \depart{t0} \\
290 %
291\season{Season 8}
82982da3 292 Terror of the Autons \join{t0}{J}{Jo Grant} \\
e3de7874
MW
293 The Mind of Evil \\
294 The Claws of Axos \\
295 Colony in Space \\
296 The Daemons \\
297 %
298\season{Season 9}
299 Day of the Daleks \\
300 The Curse of Peladon \\
301 The Sea Devils \\
302 The Mutants \\
303 The Time Monster \\
e3de7874
MW
304 %
305\season{Season 10}
c7424e5e 306 The Three Doctors \\
e3de7874
MW
307 Carnival of Monsters \\
308 Frontier in Space \\
309 Planet of the Daleks \\
82982da3 310 The Green Death \depart{t0} \\
e3de7874
MW
311 %
312\season{Season 11}
c7424e5e 313 The Time Warrior \join{t0}{S}{Sarah Jane Smith} \\
e3de7874
MW
314 Invasion of the Dinosaurs \\
315 Death to the Daleks \\
316 The Monster of Peladon \\
317 Planet of the Spiders \\
318 %
319\pagebreak
320\doctor{The Fourth Doctor (1974--1981)}
321 %
322\season{Season 12}
323 Robot \join{t1}{H}{Harry Sullivan} \\
324 The Ark in Space \\
325 The Sontaran Experiment \\
326 Genesis of the Daleks \\
327 Revenge of the Cybermen \\
328 %
329\season{Season 13}
330 Terror of the Zygons \depart{t1} \\
331 Planet of Evil \\
332 Pyramids of Mars \\
333 The Android Invasion \\
334 The Brain of Morbius \\
335 The Seeds of Doom \\
336 %
337\season{Season 14}
338 The Masque of Mandragora \\
339 The Hand of Fear \depart{t0} \\
340 The Deadly Assassin \\
341 The Face of Evil \join{t0}{L}{Leela} \\
342 The Robots of Death \\
343 The Talons of Weng-Chiang \\
344 %
345\season{Season 15}
346 Horror of Fang Rock \\
347 The Invisible Enemy \join{t1}{K}{K--9} \\
348 Image of the Fendahl \\
349 The Sun Makers \\
350 Underworld \\
351 The Invasion of Time \depart{t0} \\
352 %
353\season{Season 16 (The Key to Time)}
354 The Ribos Operation \join{t0}{R}{Romanadvoratrelundar
355 (`Romana')} \\
356 The Pirate Planet \\
357 The Stones of Blood \\
358 The Androids of Tara \\
359 The Power of Kroll \\
360 The Armageddon Factor \\
361 %
362\season{Season 17}
363 Destiny of the Daleks \\
364 City of Death \\
365 The Creature from the Pit \\
366 Nightmare of Eden \\
367 The Horns of Nimon \\
368 \lost{Shada} \\
369 %
370\season{Season 18}
371 The Leisure Hive \\
372 Meglos \\
373 Full Circle \join{t2}{A}{Adric} \\
374 State of Decay \\
375 Warriors' Gate \depart{t0} \depart{t1} \\
376 The Keeper of Traken \join{t3}{N}{Nyssa of Traken} \\
377 Logopolis \join{t0}{T}{Tegan Jovanka} \\
378 %
379\pagebreak
380\doctor{The Fifth Doctor (1981--1984)}
381 %
382\season{Season 19}
383 Castrovalva \\
384 Four to Doomsday \\
385 Kinda \\
386 The Visitation \\
387 Black Orchid \\
388 Earthshock \die{t2} \\
389 Time-Flight \\
390 %
391\season{Season 20}
392 Arc of Infinity \\
393 Snakedance \\
394 Mawdryn Undead \join{t1}{T}{Vislor Turlough} \\
395 Terminus \depart{t3} \\
396 Enlightenment \\
397 The King’s Demons \join{t2}{K}{Kameleon} \\
398 %
399\season{(Special)}
400 The Five Doctors \\
401 %
402\season{Season 21}
403 Warriors of the Deep \\
404 The Awakening \\
405 Frontios \\
406 Resurrection of the Daleks \depart{t0} \\
407 Planet of Fire \depart{t1}
408 \die{t2}
409 \join{t3}{P}{Perpugilliam
410 `Peri' Brown} \\
411 The Caves of Androzani \\
412 %
413\pagebreak
414\doctor{The Sixth Doctor (1984--1986)}
415 %
416\season{Season 21 (cont.)}
417 The Twin Dilemma \\
418 %
419\season{Season 22}
420 Attack of the Cybermen \\
421 Vengeance on Varos \\
422 The Mark of the Rani \\
423 The Two Doctors \\
424 Timelash \\
425 Revelation of the Daleks \\
426 %
427\season{Season 23 (The Trial of a Time Lord)}
428 The Mysterious Planet \\
429 Mindwarp \die{t3} \\
430 Terror of the Vervoids \join{t0}{M}{Melanie Bush} \\
431 The Ultimate Foe \\
432 %
433\doctor{The Seventh Doctor (1987--1989)}
434 %
435\season{Season 24}
436 Time and the Rani \\
437 Paradise Towers \\
438 Delta and the Bannerman \\
439 Dragonfire \depart{t0}
440 \join{t1}{A}{Dorothy `Ace'
441 McShane Gale} \\
442 %
443\season{Season 25}
444 Remembrance of the Daleks \\
445 The Happiness Patrol \\
446 Silver Nemesis \\
447 The Greatest Show in the Galaxy \\
448 %
449\season{Season 26}
450 Battlefield \\
451 Ghost Light \\
452 The Curse of Fenric \\
453 Survival \depart{t1} \\
454 %
455}
456
457\end{document}