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 | ||
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} |