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