e4244adf0001995271cfbf3c4e6fb6ab2a5475aa
[drwho] / drwho.tex
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}
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
32
33 \newdimen\titlewidth \titlewidth=0.5\textwidth \advance\titlewidth by -40pt
34
35 \pagestyle{empty}
36 \errorcontextlines=50
37 \showboxbreadth=\maxdimen \showboxdepth=\maxdimen
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=
67 \expandafter{\the\csname q/#1\endcsname{#2}}%
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
127 \vrule depth -2.7pt
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{%
142 \enqueue{#1}{\trkendmarker{\vrule height 2.9pt depth -2.5pt width 4pt}}%
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{%
150 \enqueue{#1}{\zwd{#2}\zwd{\raisebox{1pt}{$\times$}}}%
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
187 \topskip=0pt
188 \baselineskip=0pt
189 \lineskip=0pt
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 An Unearthly Child \join{t0}{S}{Susan Foreman}
207 \join{t1}{B}{Barbara Wright}
208 \join{t2}{I}{Ian Chesterton} \\
209 The Daleks \\
210 The Edge of Destruction \\
211 \lost{Marco Polo} \\
212 The Keys of Marinus \\
213 The Aztecs \\
214 The Sensorites \\
215 The Reign of Terror \\
216 %
217 \season{Season 2}
218 Planet of Giants \\
219 The Dalek Invasion of Earth \depart{t0} \\
220 The Rescue \join{t3}{V}{Vicki Pallister} \\
221 The Romans \\
222 The Web Planet \\
223 \lost{The Crusade} \\
224 The Space Museum \\
225 The Chase \depart{t1} \depart{t2}
226 \join{t0}{S}{Stephen Taylor} \\
227 The Time Meddler \\
228 %
229 \season{Season 3}
230 \lost{Galaxy Four} \\
231 \lost{Mission to the Unknown} \\
232 \lost{The Myth Makers} \depart{t3}
233 \join{t1}{K}{Katarina} \\
234 \lost{The Daleks' Master Plan}
235 \die{t1}
236 \joindie{t2}{S}{Sara Kingdom} \\
237 \lost{The Massacre of St Bartholomew's Eve}
238 \join{t3}{D}{Dodo Chaplet} \\
239 The Ark \\
240 \lost{The Celestial Toymaker} \\
241 The Gunfighters \\
242 \lost{The Savages} \depart{t0} \\
243 The War Machines \depart{t3}
244 \join{t1}{P}{Polly Wright}
245 \join{t2}{B}{Ben Jackson} \\
246 %
247 \season{Season 4}
248 \lost{The Smugglers} \\
249 The Tenth Planet \\
250 %
251 \pagebreak
252 \doctor{The Second Doctor (1966--1969)}
253 %
254 \season{Season 4 (cont.)}
255 The Power of the Daleks \\
256 \lost{The Highlanders} \join{t0}{J}{Jamie McCrimmon} \\
257 The Underwater Menace \\
258 The Moonbase \\
259 \lost{The Macra Terror} \\
260 \lost{The Faceless Ones} \depart{t1} \depart{t2} \\
261 \lost{The Evil of the Daleks} \join{t3}{V}{Victoria Waterfield} \\
262 %
263 \season{Season 5}
264 The Tomb of the Cybermen \\
265 \lost{The Abominable Snowmen} \\
266 The Ice Warriors \\
267 The Enemy of the World \\
268 The Web of Fear \\
269 \lost{Fury from the Deep} \depart{t3} \\
270 \lost{The Wheel in Space} \join{t1}{Z}{Zoe Heriot} \\
271 %
272 \season{Season 6}
273 The Dominators \\
274 The Mind Robber \\
275 The Invasion \\
276 The Krotons \\
277 The Seeds of Death \\
278 \lost{The Space Pirates} \\
279 The War Games \depart{t0} \depart{t1} \\
280 %
281 \pagebreak
282 \doctor{The Third Doctor (1970--1974)}
283 %
284 \season{Season 7}
285 Spearhead from Space \join{t0}{L}{Elizabeth Shaw} \\
286 Doctor Who and the Siluarians \\
287 The Ambassadors of Death \\
288 Inferno \depart{t0} \\
289 %
290 \season{Season 8}
291 Terror of the Autons \join{t0}{J}{Jo Grant} \\
292 The Mind of Evil \\
293 The Claws of Axos \\
294 Colony in Space \\
295 The Daemons \\
296 %
297 \season{Season 9}
298 Day of the Daleks \\
299 The Curse of Peladon \\
300 The Sea Devils \\
301 The Mutants \\
302 The Time Monster \\
303 %
304 \season{Season 10}
305 The Three Doctors \\
306 Carnival of Monsters \\
307 Frontier in Space \\
308 Planet of the Daleks \\
309 The Green Death \depart{t0} \\
310 %
311 \season{Season 11}
312 The Time Warrior \join{t0}{S}{Sarah Jane Smith} \\
313 Invasion of the Dinosaurs \\
314 Death to the Daleks \\
315 The Monster of Peladon \\
316 Planet of the Spiders \\
317 %
318 \pagebreak
319 \doctor{The Fourth Doctor (1974--1981)}
320 %
321 \season{Season 12}
322 Robot \join{t1}{H}{Harry Sullivan} \\
323 The Ark in Space \\
324 The Sontaran Experiment \\
325 Genesis of the Daleks \\
326 Revenge of the Cybermen \\
327 %
328 \season{Season 13}
329 Terror of the Zygons \depart{t1} \\
330 Planet of Evil \\
331 Pyramids of Mars \\
332 The Android Invasion \\
333 The Brain of Morbius \\
334 The Seeds of Doom \\
335 %
336 \season{Season 14}
337 The Masque of Mandragora \\
338 The Hand of Fear \depart{t0} \\
339 The Deadly Assassin \\
340 The Face of Evil \join{t0}{L}{Leela} \\
341 The Robots of Death \\
342 The Talons of Weng-Chiang \\
343 %
344 \season{Season 15}
345 Horror of Fang Rock \\
346 The Invisible Enemy \join{t1}{K}{K--9} \\
347 Image of the Fendahl \\
348 The Sun Makers \\
349 Underworld \\
350 The Invasion of Time \depart{t0} \\
351 %
352 \season{Season 16 (The Key to Time)}
353 The Ribos Operation \join{t0}{R}{Romanadvoratrelundar
354 (`Romana')} \\
355 The Pirate Planet \\
356 The Stones of Blood \\
357 The Androids of Tara \\
358 The Power of Kroll \\
359 The Armageddon Factor \\
360 %
361 \season{Season 17}
362 Destiny of the Daleks \\
363 City of Death \\
364 The Creature from the Pit \\
365 Nightmare of Eden \\
366 The Horns of Nimon \\
367 \lost{Shada} \\
368 %
369 \season{Season 18}
370 The Leisure Hive \\
371 Meglos \\
372 Full Circle \join{t2}{A}{Adric} \\
373 State of Decay \\
374 Warriors' Gate \depart{t0} \depart{t1} \\
375 The Keeper of Traken \join{t3}{N}{Nyssa of Traken} \\
376 Logopolis \join{t0}{T}{Tegan Jovanka} \\
377 %
378 \pagebreak
379 \doctor{The Fifth Doctor (1981--1984)}
380 %
381 \season{Season 19}
382 Castrovalva \\
383 Four to Doomsday \\
384 Kinda \\
385 The Visitation \\
386 Black Orchid \\
387 Earthshock \die{t2} \\
388 Time-Flight \\
389 %
390 \season{Season 20}
391 Arc of Infinity \\
392 Snakedance \\
393 Mawdryn Undead \join{t1}{T}{Vislor Turlough} \\
394 Terminus \depart{t3} \\
395 Enlightenment \\
396 The King's Demons \join{t2}{K}{Kameleon} \\
397 %
398 \season{(Special)}
399 The Five Doctors \\
400 %
401 \season{Season 21}
402 Warriors of the Deep \\
403 The Awakening \\
404 Frontios \\
405 Resurrection of the Daleks \depart{t0} \\
406 Planet of Fire \depart{t1}
407 \die{t2}
408 \join{t3}{P}{Perpugilliam
409 `Peri' Brown} \\
410 The Caves of Androzani \\
411 %
412 \pagebreak
413 \doctor{The Sixth Doctor (1984--1986)}
414 %
415 \season{Season 21 (cont.)}
416 The Twin Dilemma \\
417 %
418 \season{Season 22}
419 Attack of the Cybermen \\
420 Vengeance on Varos \\
421 The Mark of the Rani \\
422 The Two Doctors \\
423 Timelash \\
424 Revelation of the Daleks \\
425 %
426 \season{Season 23 (The Trial of a Time Lord)}
427 The Mysterious Planet \\
428 Mindwarp \die{t3} \\
429 Terror of the Vervoids \join{t0}{M}{Melanie Bush} \\
430 The Ultimate Foe \\
431 %
432 \doctor{The Seventh Doctor (1987--1989)}
433 %
434 \season{Season 24}
435 Time and the Rani \\
436 Paradise Towers \\
437 Delta and the Bannerman \\
438 Dragonfire \depart{t0}
439 \join{t1}{A}{Dorothy `Ace'
440 McShane Gale} \\
441 %
442 \season{Season 25}
443 Remembrance of the Daleks \\
444 The Happiness Patrol \\
445 Silver Nemesis \\
446 The Greatest Show in the Galaxy \\
447 %
448 \season{Season 26}
449 Battlefield \\
450 Ghost Light \\
451 The Curse of Fenric \\
452 Survival \depart{t1} \\
453 %
454 }
455
456 \end{document}