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