The bits package

basic bits (Frankenstein’s guts)

                Matt Swift <swift@bu.edu>

Version: v1.0 Documentation revision: 1996/03/26

Abstract

FIX

Part I

Discussion

Part II

Implementation

1 Version control

\fileinfo \fileversion \filedate \docdate \PPOptArg These definitions must be the first ones in the file.
1 \def\fileinfo{basic bits (Frankenstein's guts)}
2 \def\fileversion{v1.0}
3 \def\filedate{1996/03/26}
4 \def\docdate{1996/03/26}
5 \edef\PPOptArg {%
6 \filedate\space \fileversion\space \fileinfo
7 }

Stop right here if we’re just loading the file’s information, and don’t want to load this code for typesetting its documentation (only makes sense for certain packages). The JuStLaAdInFoRmAtIoN flag will be set by the documentation driver; the DoXNeeDME flag will be set in the dtx file, and will appear above if it’s set.

8 \makeatletter
9 \@ifundefined{JuStLoAdInFoRmAtIoN} {%
10 }{% ELSE
11 \@ifundefined{DoXNeeDME} {%
12  }{% ELSE
13  \UndefineCS\JuStLoAdInFoRmAtIoN
14  \usepackage{bits}%

15 }

16 \makeatother

17 \endinput

18 }

Now we check for L^{A}TEX2e and declare the package.

19 \NeedsTeXFormat{LaTeX2e}
20 \ProvidesPackage{bits}[\PPOptArg]

2 Preliminaries

2.1 Requirements

21 \RequirePackage{blkcntrl,moredefs,relsize}

2.2 Option processing

22 \DeclareOption{poetica} {%
23 \RequirePackage{poetica}
24 \newcommand\FullTitlePoetica {%
25  \begin{Poetica}
26  \fontshape{t}\selectfont
27  \BitTitle\\%
28  \ifx\BitSubtitle\ShortEmpty \else
29  \BitSubtitle\\%
30  \fi
31  \end{Poetica}

32 }

33 \AtBeginDocument {%
34  \let\FullTitle\FullTitlePoetica

35 } 36 }

37 \DeclareBooleanOptions{ends}{noends}
38 \DeclareBooleanOptions{titlepage}{notitlepage}
39 \DeclareBooleanUserOptions{signed}{anonymous}
40 \ExecuteOptions{ends,notitlepage,signed}
41 \ProcessOptions

3 Making new copy and bit styles

3.1 General stuff

\bt@a \bt@b \bt@c \bt@d \bt@e Notice these are local.
42 \ReserveCS\bt@a
43 \ReserveCS\bt@b
44 \ReserveCS\bt@c
45 \ReserveCS\bt@d
46 \ReserveCS\bt@e
\if@bt@trymoreschemes@ \@bt@trymoreschemes@true \@bt@trymoreschemes@false \sc@scheme@components \sc@listcar \sc@listcdr \sc@bitstyle@list \sc@copystyle@list Comma-separated lists of valid bitstyles, copystyles, and scheme-components. We

start them off non-null because we have to bootstrap the system of adding new ones.

47 \newcommand\sc@scheme@components {%
48 environment,end@bit,begin@bit,interbits,firstbit%
49 ,settitle,setfirsttitle%

50 }

51 \newcommand\sc@bitstyle@list {%
52 generic%

53 }

54 \newcommand\sc@copystyle@list {%
55 standard%

56 }

57 \provideboolean{@bt@trymoreschemes@}

58

59 \NewName{sc@listcar}{#1,#2\@nil} {%
60 #1%

61 }

62 \NewName{sc@listcdr}{#1,#2\@nil} {%
63 #2%

64 }

\NewCopystyle \NewBitstyle \sc@assign@scheme@component Each component of the new style is set to the corresopnding component of the first scheme in the scheme-list for which defines such a component. To be safe, every scheme-list should end with Z.

FIXME: I should append ,Z automatically to every scheme-list and check for an empty scheme-list.

65 \newcommand\NewCopystyle [2][Z] {% args: [scheme-list] new-copystyle
66 \addto@macro\sc@copystyle@list{,#2}%
67 \@for\bt@a:=\sc@bitstyle@list \do {%
68  \@for\bt@b:=\sc@scheme@components \do {%
69  \eExpand\bt@b\In {%
70  \expandafter\sc@assign@schemecomponent
71  \expandafter{\bt@a}{#2}{##1}{#1}%
72  }%
73  }%
74 }%

75 }

76 \newcommand\NewBitstyle [2][Z] {% args: [scheme-list] new-bitstyle
77 \addto@macro\sc@bitstyle@list{,#2}%
78 \@for\bt@a:=\sc@copystyle@list \do {%
79  \@for\bt@b:=\sc@scheme@components \do {%
80  \eExpand\bt@a\In {%
81  \eExpand\bt@b\In {%
82 %        \eExpandNest\bt@b\In {%  FIX?
83  \sc@assign@schemecomponent{#2}{##1}{####1}{#1}%
84  }%
85  }%
86  }%
87 }%

88 }

89 \newcommand\sc@assign@schemecomponent [4] {% args: bitstyle copystyle
90  %       scheme-component scheme-list
91 \@bt@trymoreschemes@true
92 \edef\bt@d{#4}% scheme-list that diminishes; edef not necessary
93 \@whilesw\if@bt@trymoreschemes@\fi {%

There’s at least one element to start; and the last scheme (Z) is always defined.

94  \edef\bt@c{%
95  \sc@listcar\bt@d,\@nil

96 }

 97  \@ifundefined{sc@make@#3@\bt@c} {%
 98  \edef\bt@d{\sc@listcdr\bt@d,\@nil}%
 99  }{% ELSE
100  \@nameuse{sc@make@#3@\bt@c}{#1}{#2}%
101  \@bt@trymoreschemes@false

102 }% 103 }% 104 }

\PromulgateComponentAcrossCopystyles
\PromulgateComponentAcrossBitstyles
105 \newcommand\PromulgateComponentAcrossCopystyles [3] {% args: scheme-component
106  % scheme bitstyle
107 \@for\bt@a:=\sc@copystyle@list \do {%
108  \@nameuse{sc@make@#1@#2}{#3}{\bt@a}%

109 }% 110 }

111 \newcommand\PromulgateComponentAcrossBitstyles [3] {% args: scheme-component
112  % scheme copystyle
113 \@for\bt@a:=\sc@bitstyle@list \do {%
114  \@nameuse{sc@make@#1@#2}{\bt@a}{#3}%

115 }% 116 }

\sc@begin@bit@common \BitStyle \PreBitAll  \sc@begin@bit@common should be called early in the sequence of beginning a bit.
117 \newcommand\sc@begin@bit@common [2] {%
118 \title{#1}%

Execute stuff: FIXME: nice hooks can be set here to execute things later

119 #2%
120 \refstepcounter{bit}%
121 \ifnum\value{bit} = \@ne
122  \@nameuse{sc@firstbit@\CopyStyle}%
123 \else
124  \@nameuse{sc@interbits@\CopyStyle}%
125 \fi

126 }

127 \ReserveCS\BitStyle
128 \ReserveCS\PreBitAll

3.2 Schemes

3.2.1 The Z scheme

\FullTitle The Z scheme is always the last resort deafult, and it corresponds to the standard

copystyle and the generic bitstyle.

FIXME: whenever we have a dummy we have to use DefName or else we error FIXME: Aak, when Promulgating we need defnames for everyting!

129 \newcommand\sc@make@environment@Z [2] {% args: bitstyle dummy
130 \DefName{end#1}{}{}%
131 \DefName{#1}{##1##2} {%
132  \DefName{end#1}{} {%
133  \@nameuse{sc@end@bit@#1@\CopyStyle}{##1}%

134 }%

135  \@nameuse{sc@begin@bit@#1@\CopyStyle}{##1}{##2}%

136 }% 137 }

138 \newcommand\sc@make@interbits@Z [2] {% args: dummy copystyle
139 \DefName{sc@interbits@#2}{} {%
140  \@nameuse{sc@settitle@\BitStyle @#2}%

141 }% 142 }

143 \newcommand\sc@make@firstbit@Z [2] {% args: dummy copystyle
144 \DefName{sc@firstbit@#2}{} {%
145  \@nameuse{sc@setfirsttitle@\BitStyle @#2}%

146 }% 147 }

148 \newcommand\sc@make@begin@bit@Z [2] {% args: bitstyle copystyle
149 \DefName{PreBit#1}{}{}%
150 \DefName{sc@begin@bit@#1@#2}{##1##2} {%
151  \def\BitStyle{#1}%
152  \sc@begin@bit@common{##1}{##2}%
153  \PreBitAll
154  \@nameuse{PreBit#1}%

155 }% 156 }

157 \newcommand\sc@make@end@bit@Z [2] {% args: bitstyle copystyle
158 \DefName{sc@end@bit@#1@#2}{##1} {%
159  \TheEnd

160 }% 161 }

162 \newcommand\sc@make@settitle@Z [2] {% args: bitstyle copystyle
163 \DefName{sc@settitle@#1@#2}{} {%
164  \relax\begin{center}\FullTitle\end{center}%
165  \typeout{FIXME:  need vc footer}%

166 }% 167 }

168 \newcommand\sc@make@setfirsttitle@Z [2] {% args: bitstyle copystyle
169 \DefName{sc@setfirsttitle@#1@#2}{} {%
170  \relax\begin{center}\FullTitle\end{center}%
171  \typeout{FIXME:  need vc footer}%
172  \typeout{FIXME first centered title}%

173 }% 174 }

175 \newcommand\FullTitle {%
176 \relsize{2}%
177 \bfseries
178 \BitTitle \\%
179 \ifx\BitSubtitle\ShortEmpty
180 \else
181  \csname sbseries\endcsname  % this way it's harmless if undefined
182  \relsize{-1}\BitSubtitle\\%
183 \fi

184 }

3.2.2 The P scheme

\sc@make@setfirsttitle@P \sc@make@settitle@P \sc@make@end@bit@P \sc@make@begin@bit@P The P scheme was created for the poem bitstyle.
185 \newcommand\sc@make@begin@bit@P [2] {% args: bitstyle copystyle

186 \DefName{sc@begin@bit@#1@#2}{##1##2} {%
187  \def\BitStyle{#1}%
188  \sc@begin@bit@common{##1}{##2}%
189  \PreBitAll
190  \relax\begin{verse}%                 \relax for emacs
191  \@nameuse{PreBit#1}%

192 }% 193 }

194 \newcommand\sc@make@end@bit@P [2]  {% args: bitstyle copystyle
195 \DefName{sc@end@bit@#1@#2}{##1} {%
196  \relax\end{verse}%
197  \TheEnd

198 }% 199 }

200 \newcommand\sc@make@settitle@P [2]  {% args: bitstyle copystyle
201 \DefName{sc@settitle@#1@#2}{} {%
202  \relax\begin{verse}\FullTitle\end{verse}%
203  \typeout{FIXME:  need vc footer}%

204 }% 205 }

206 \newcommand\sc@make@setfirsttitle@P [2]  {% args: bitstyle copystyle
207 \DefName{sc@setfirsttitle@#1@#2}{} {%
208  \relax\begin{verse}\FullTitle\end{verse}%
209  \typeout{FIXME:  need vc footer}%
210  \typeout{FIXME first verse title}%

211 }% 212 }

3.2.3 The R scheme

For the prose bitstyle.

213 \newcommand\sc@make@settitle@R [2] {%
214 \DefName{sc@settitle@#1@#2}{} {%
215  \ifx\BitTitle\ShortEmpty\else
216  \noindent
217  \begingroup
218  \larger
219  \bfseries
220  \BitTitle
221  \endgroup
222  \smallskip
223  \fi

224 }% 225 }

3.2.4 The T scheme

for what?

4 The standard copystyle and generic bitstyle

226 \@for\bt@e:=\sc@scheme@components \do {%
227 \PromulgateComponentAcrossBitstyles{\bt@e}{Z}{standard}

5 Bit Styles

5.1 Story

This is the same as generic.

229 \NewBitstyle{story}

5.2 Poem

230 \NewBitstyle{poem}
231 \PromulgateComponentAcrossCopystyles{begin@bit}{P}{poem}
232 \PromulgateComponentAcrossCopystyles{end@bit}{P}{poem}
233 \PromulgateComponentAcrossCopystyles{settitle}{P}{poem}
234 \PromulgateComponentAcrossCopystyles{setfirsttitle}{P}{poem}

5.3 Prose

235 \NewBitstyle{prose}
236 \PromulgateComponentAcrossCopystyles{settitle}{R}{prose}

6 Copy Styles

237 \NewCopystyle{titlepage}

238

239 \newcommand\sc@make@setfirsttitle@T [2] {% args: bitstyle copystyle
240 \DefName{sc@setfirsttitle@#1@#2}{} {%
241  \thispagestyle{empty}%
242  \vspace*{\fill}%
243  \begin{center}
244  {\relsize{5}\BitTitle \\}%
245  \ifx\BitSubtitle\ShortEmpty\else
246  {\relsize{3}\BitSubtitle \\}%
247  \fi
248  \end{center}
249  \vfill
250 %      \CoverNotes
251 %      \vfill
252  \par
253  \begingroup
254  \sffamily
255  \hfill
256  \begin{tabular}{r@{\hspace{\@ne em}}r}
257  Copy of:&\todayabbrev   \\%
258  Version of:&\Lastchange \\%
259  Date:&\Date             \\%
260  \end{tabular}
261  \par\bigskip\bigskip
262  \begin{raggedleft}
263  \def\and{\\}%
264  \larger\scshape\Author

A final \par is needed to close the paragraph in raggedleft mode.

265  \par

266  \end{raggedleft}
267  \endgroup
268  \newpage
269  \setcounter{page}{\@ne}%

270 }% 271 }

272 \PromulgateComponentAcrossBitstyles{setfirsttitle}{T}{titlepage}

7 Bit counters and interbit skips

\c@bit
\c@bitbit
\c@bitbitbit

273 \providecounter{bit}
274 \providecounter{bitbit}[bit]
275 \providecounter{bitbitbit}[bitbit]
\sc@bitskip \InterBitBreak \InterBitBitBreak \InterBitBitBitBreak  \medbreak is penalty -100; \smallbreak is 50. FIXME: what’s going on here?
276 \newcommand\sc@bitskip[1] {%
277 \par
278 \ifdim \lastskip < \bigskipamount
279  \removelastskip
280  \penalty -500%
281  #1%
282 \fi

283 }

284 \newcommand\InterBitBreak {%
285 \sc@bitskip
286 \bigskip

287 }

288 \newcommand\InterBitBitBreak {%
289 \sc@bitskip
290 \medskip

291 }

292 \newcommand\InterBitBitBitBreak {%
293 \sc@bitskip
294 \smallskip

295 }

\bitbit \bitbitbit \sc@bitbit \sc@bitbitbit FIXME: These should be made attributes of the Generic Bit Style.

296 \newcommand\bitbit {%
297 \@ifstar {%
298  \sc@bitbit{}%
299  }{% ELSE
300  \refstepcounter{bitbit}%
301  \sc@bitbit{\thebitbit\ }%

302 }% 303 }

304 \newcommand{\sc@bitbit} [2] {%
305 \ifnum\value{bitbit}=\@ne \else
306  \InterBitBitBreak
307 \fi
308 \noindent #1{\relsize{-1}\bfseries #2}%
309 \par\nobreak
310 \smallskip

311 }

312 \newcommand\bitbitbit {%
313 \@ifstar {%
314  \sc@bitbitbit{}%
315  }{% ELSE
316  \refstepcounter{bitbitbit}%
317  \sc@bitbitbit{\thebitbitbit\ }%

318 }% 319 }

320 \newcommand\sc@bitbitbit [2] {%
321 \ifnum\value{bitbitbit}=\@ne \else
322  \InterBitBitBitBreak
323 \fi
324 \noindent #1{\relsize{-1}\bfseries #2}%
325 \par\nobreak
326 \smallskip

327 }

8 Userinfos

\Author \author \Lastchange \lastchange \Date \date \title \BitTitle \BitSubtitle When we redefine \author, \date, and \title, we add a new action to the original

meaning. This means that standard commands like \maketitle will still perform as expected, if someone prefers to use that instead of the commands.

328 \newlet\sc@saved@author\author
329 \newlet\sc@saved@date\date

330

331 \ReserveCS\Author
332 \defcommand\author [1] {%
333 \sc@saved@author{#1}%
334 \def\Author{#1}%

335 }

336 \newcommand*\Date {%
337 \todayabbrev

338 }

339 \defcommand\date [1] {%
340 \sc@saved@date{#1}%
341 \def\Date{#1}%

342 }

343 \newlet\sc@saved@title\title
344 \ReserveCS\BitTitle

345

346 \defcommand\title [1] {%
347 \sc@saved@title{#1}%
348 \def\BitTitle{#1}%

349 }

350 \NewUserInfo*[\Subtitle]\BitSubtitle
351 \newlet\subtitle\Subtitle
352 \NewUserInfo*\Lastchange
353 \lastchange{\todayabbrev}
\Copystyle \copystyle
354 \NewUserInfo*\CopyStyle
355 \copystyle{standard}

9 Dates

\today
\todayabbrev
356 \def\today {%
357 \number\day\space\ifcase\month\or
358  January\or February\or
359  March\or April\or May\or June\or July\or August\or September\or
360  October\or November\or December\fi\space\number\year

361 }

362 \newcommand\todayabbrev {%
363 \number\day\space\ifcase\month\or
364  Jan\or Feb\or
365  Mar\or Apr\or May\or Jun\or Jul\or Aug\or Sep\or
366  Oct\or Nov\or Dec\fi\space\number\year

367 }

\copywrite This adds a copyright message to the beginning of \Notes. Its single argument should be a year.

368 \newcommand\copywrite [1] {%
369 \edef\Notes {%
370  \copyright#1 All rights reserved. \Notes

371 }% 372 }

10 Ends

\EndSign It’s very hard to attach this thing without allowing a page break before it. FIX.

373 \newcommand\EndSign {%
374 \par\nobreak
375 \vspace{2\bigskipamount}%  multiplication turns glue into dimen.
376 \hfill

We do this so that \Author can have \\s in it.

377 \begingroup
378  \scshape
379  \let\and\@tabularcr
380  \begin{tabular}{c}
381  \Author \\%
382  \relsize{-1}\itshape\Date
383  \end{tabular}%
384 \endgroup

385 }

\theend User command which (almost) always makes an \EndSign:

386 \newcommand\theend {%
387 \if@signed@
388  \EndSign
389 \fi

390 }

\TheEnd The end of a bit calls \TheEnd. The default definition is either nothing or \EndSign, depending on some condition.

391 \newcommand\TheEnd {%
392 \def\sc@t@c {%
393  prizes%

394 }%

395 \let\sc@t@a\EndSign
396 \ifx\CopyStyle\sc@t@c
397  \InitCS*\sc@t@a
398 \else
399  \if@signed@
400  \if@ends@
401  \ifnum\value{page} < 2%
402  \InitCS*\sc@t@a
403  \fi
404  \else
405  \InitCS*\sc@t@a
406  \fi
407  \else
408  \InitCS*\sc@t@a
409  \fi
410 \fi
411 \sc@t@a

412 }

11 Version control

We use macros instead of boxes, because at this point some of the macros in the boxes may change their meaning.

Algorithm: We will maintain two \hboxes to \textwidth each time \MakeCover is called. Set the footboxes to \v@idbox here. Whenever \MakeCover is called, it should stack another \vbox with the right information in it into both boxes. The information is expanded, and thus the macro contents can change between calls to \MakeCover, but the box being built inserts two different \vboxes with their value at the moment.

\sc@vcbox
\VersionControlString
\VersionControlAuthorString

413 \newcommand\sc@vcbox {%
414 \footnotesize
415 \ifx\Lastchange\ShortEmpty\else
416  {\bfseries Version:} {\slshape \Lastchange}%
417 \fi
418 \hspace{\@ne em}%
419 {\bfseries Copy:} {\slshape \todayabbrev}%

420 }

421 \newcommand\VersionControlString {%
422 \hfill \sc@vcbox \hfill

423 }

I should assign some names to the various meanings of and, like protect.

424 \newcommand\VersionControlAuthorString {%
425 \sc@vcbox \hfill {\scshape\def\and{\unskip, \ignorespaces}\Author}%

426 }

12 Addresses

\AddressOne
\AddressTwo
\PhoneNumber
\EmailAddress
\Country
\addressone
\addresstwo
\phonenumber
\emailaddress
\country

427 \NewUserInfo*\AddressOne
428 \NewUserInfo\AddressTwo  % this can have an extra line if necessary.
429 \NewUserInfo*\PhoneNumber
430 \NewUserInfo*\EmailAddress
431 \NewUserInfo*\Country
\whitespace
432 \requirecommand\whitespace {%
433 \bigbreak

434 }

13 Configuration

We leave the rest to a configuration file.

435 \InputIfFileExists{bits.cfg}{}{}

The contents of the distributed configuration file are below.

Index

Numbers written in italic refer to the page where the corresponding entry is described, the ones underlined to the code line of the definition, the rest to the code lines where the entry is used.

AddressOne=  \subitem *+\AddressOne+, \main{427}
addressone=  \subitem *+\addressone+, \main{427}
AddressTwo=  \subitem *+\AddressTwo+, \main{427}
addresstwo=  \subitem *+\addresstwo+, \main{427}
macro=  \subitem macro+, 66, 77
and=  \subitem *+\and+, 263, 379, 425
AtBeginDocument=  \subitem *+\AtBeginDocument+, 33
Author=  \subitem *+\Author+, 264, \main{328}, 381, 425
author=  \subitem *+\author+, \main{328}
begin=  \subitem *+\begin+, 25, 164, 170, 190, 202, 208, 243, 256, 262, 380
begingroup=  \subitem *+\begingroup+, 217, 253, 377
bfseries=  \subitem *+\bfseries+, 177, 219, 308, 324, 416, 419
bigbreak=  \subitem *+\bigbreak+, 433
bigskip=  \subitem *+\bigskip+, 261, 286
bigskipamount=  \subitem *+\bigskipamount+, 278, 375
bitbit=  \subitem *+\bitbit+, \main{296}
bitbitbit=  \subitem *+\bitbitbit+, \main{296}
BitStyle=  \subitem *+\BitStyle+, \main{117}, 140, 145, 151, 187
BitSubtitle=  \subitem *+\BitSubtitle+, 28, 29, 179, 182, 245, 246, \main{328}
BitTitle=  \subitem *+\BitTitle+, 27, 178, 215, 220, 244, \main{328}
a=  \subitem a+, \main{42}, 67, 71, 78, 80, 107, 108, 113, 114
b=  \subitem b+, \main{42}, 68, 69, 79, 81, 82
c=  \subitem c+, \main{42}, 94, 97, 100
d=  \subitem d+, \main{42}, 92, 95, 98
e=  \subitem e+, \main{42}, 226, 227
bit=  \subitem bit+, \main{273}
bitbit=  \subitem bitbit+, \main{273}
bitbitbit=  \subitem bitbitbit+, \main{273}
copyright=  \subitem *+\copyright+, 370
CopyStyle=  \subitem *+\CopyStyle+, 122, 124, 133, 135, 354, 396
Copystyle=  \subitem *+\Copystyle+, \main{354}
copystyle=  \subitem *+\copystyle+, \main{354}
copywrite=  \subitem *+\copywrite+, \main{368}
Country=  \subitem *+\Country+, \main{427}
country=  \subitem *+\country+, \main{427}
CoverNotes=  \subitem *+\CoverNotes+, 250
csname=  \subitem *+\csname+, 181
Date=  \subitem *+\Date+, 259, \main{328}, 382
date=  \subitem *+\date+, \main{328}
day=  \subitem *+\day+, 357, 363
DeclareBooleanOptions=  \subitem *+\DeclareBooleanOptions+, 37, 38
DeclareBooleanUserOptions=  \subitem *+\DeclareBooleanUserOptions+, 39
DeclareOption=  \subitem *+\DeclareOption+, 22
def=  \subitem *+\def+, 1--4, 151, 187, 263, 334, 341, 348, 356, 392, 425
defcommand=  \subitem *+\defcommand+, 332, 339, 346

                          DefName=  \subitem *+\DefName+, 130--132, 139, 144, 149, 150, 158, 163, 169,186,

195, 201, 207, 214, 240

                          do=  \subitem *+\do+, 67, 68, 78, 79, 107, 113, 226
                          docdate=  \subitem *+\docdate+, \main{1}
                          edef=  \subitem *+\edef+, 5, 92, 94, 98, 369
                          eExpand=  \subitem *+\eExpand+, 69, 80, 81
                          eExpandNest=  \subitem *+\eExpandNest+, 82
                          else=  \subitem *+\else+, 28, 123, 180, 215, 245, 305, 321, 398, 404, 407,415
                          EmailAddress=  \subitem *+\EmailAddress+, \main{427}
                          emailaddress=  \subitem *+\emailaddress+, \main{427}
                          end=  \subitem *+\end+, 31, 164, 170, 196, 202, 208, 248, 260, 266, 383
                          endcsname=  \subitem *+\endcsname+, 181
                          endgroup=  \subitem *+\endgroup+, 221, 267, 384
                          endinput=  \subitem *+\endinput+, 17
                          EndSign=  \subitem *+\EndSign+, \main{373}, 388, 395
                          ExecuteOptions=  \subitem *+\ExecuteOptions+, 40
                          expandafter=  \subitem *+\expandafter+, 70, 71
                          fi=  \subitem *+\fi+, 30, 93, 125, 183, 223, 247, 282, 307, 323, 360,366,

389, 403, 406, 409, 410, 417

                          filedate=  \subitem *+\filedate+, \main{1}
                          fileinfo=  \subitem *+\fileinfo+, \main{1}
                          fileversion=  \subitem *+\fileversion+, \main{1}
                          fill=  \subitem *+\fill+, 242
                          fontshape=  \subitem *+\fontshape+, 26
                          footnotesize=  \subitem *+\footnotesize+, 414
                          FullTitle=  \subitem *+\FullTitle+, 34, \main{129}, 202, 208
                          FullTitlePoetica=  \subitem *+\FullTitlePoetica+, 24, 34
                          hfill=  \subitem *+\hfill+, 255, 376, 422, 425
                          hspace=  \subitem *+\hspace+, 256, 418
                          ifcase=  \subitem *+\ifcase+, 357, 363
                          ifdim=  \subitem *+\ifdim+, 278
                          ifnum=  \subitem *+\ifnum+, 121, 305, 321, 401
                          ifx=  \subitem *+\ifx+, 28, 179, 215, 245, 396, 415
                          ignorespaces=  \subitem *+\ignorespaces+, 425
                          In=  \subitem *+\In+, 69, 80--82
                          InitCS=  \subitem *+\InitCS+, 397, 402, 405, 408
                          InputIfFileExists=  \subitem *+\InputIfFileExists+, 435
                          InterBitBitBitBreak=  \subitem *+\InterBitBitBitBreak+, \main{276}, 322
                          InterBitBitBreak=  \subitem *+\InterBitBitBreak+, \main{276}, 306
                          InterBitBreak=  \subitem *+\InterBitBreak+, \main{276}
                          itshape=  \subitem *+\itshape+, 382
                          JuStLoAdInFoRmAtIoN=  \subitem *+\JuStLoAdInFoRmAtIoN+, 13

                                                   larger=  \subitem *+\larger+, 218, 264
                                                   Lastchange=  \subitem *+\Lastchange+, 258, \main{328}, 415, 416
                                                   lastchange=  \subitem *+\lastchange+, \main{328}
                                                   lastskip=  \subitem *+\lastskip+, 278
                                                   let=  \subitem *+\let+, 34, 379, 395
                                                   makeatletter=  \subitem *+\makeatletter+, 8
                                                   makeatother=  \subitem *+\makeatother+, 16
                                                   medskip=  \subitem *+\medskip+, 290
                                                   month=  \subitem *+\month+, 357, 363
                                                   NeedsTeXFormat=  \subitem *+\NeedsTeXFormat+, 19
                                                   NewBitstyle=  \subitem *+\NewBitstyle+, \main{65}, 229, 230, 235
                                                   newcommand=  \subitem *+\newcommand+, 24, 47, 51, 54, 65, 76, 89, 105, 111, 117,129,

138, 143, 148, 157, 162, 168, 175, 185, 194, 200, 206, 213, 239, 276, 284, 288, 292, 296, 304, 312, 320, 336, 362, 368, 373, 386, 391, 413, 421, 424

                                                   NewCopystyle=  \subitem *+\NewCopystyle+, \main{65}, 237
                                                   newlet=  \subitem *+\newlet+, 328, 329, 343, 351
                                                   NewName=  \subitem *+\NewName+, 59, 62
                                                   newpage=  \subitem *+\newpage+, 268
                                                   NewUserInfo=  \subitem *+\NewUserInfo+, 350, 352, 354, 427--431
                                                   nobreak=  \subitem *+\nobreak+, 309, 325, 374
                                                   noindent=  \subitem *+\noindent+, 216, 308, 324
                                                   Notes=  \subitem *+\Notes+, 369, 370
                                                   number=  \subitem *+\number+, 357, 360, 363, 366
                                                   or=  \subitem *+\or+, 357--360, 363--366
                                                   par=  \subitem *+\par+, 252, 261, 265, 277, 309, 325, 374
                                                   penalty=  \subitem *+\penalty+, 280
                                                   PhoneNumber=  \subitem *+\PhoneNumber+, \main{427}
                                                   phonenumber=  \subitem *+\phonenumber+, \main{427}
                                                   PPOptArg=  \subitem *+\PPOptArg+, \main{1}, 20
                                                   PreBitAll=  \subitem *+\PreBitAll+, \main{117}, 153, 189
                                                   ProcessOptions=  \subitem *+\ProcessOptions+, 41
                                                   PromulgateComponentAcrossBitstyles=  \subitem *+\PromulgateComponentAcrossBitstyles+, \main{105}, 227,272
                                                   PromulgateComponentAcrossCopystyles=  \subitem *+\PromulgateComponentAcrossCopystyles+, \main{105},231–

234, 236

                                                   provideboolean=  \subitem *+\provideboolean+, 57
                                                   providecounter=  \subitem *+\providecounter+, 273--275

ProvidesPackage=  \subitem *+\ProvidesPackage+, 20
refstepcounter=  \subitem *+\refstepcounter+, 120, 300, 316
relax=  \subitem *+\relax+, 164, 170, 190, 196, 202, 208
relsize=  \subitem *+\relsize+, 176, 182, 244, 246, 308, 324, 382
removelastskip=  \subitem *+\removelastskip+, 279
requirecommand=  \subitem *+\requirecommand+, 432
RequirePackage=  \subitem *+\RequirePackage+, 21, 23
ReserveCS=  \subitem *+\ReserveCS+, 42--46, 127, 128, 331, 344
bitbit=  \subitem bitbit+, \main{296}
bitbitbit=  \subitem bitbitbit+, \main{296}
bitskip=  \subitem bitskip+, \main{276}
listcar=  \subitem listcar+, \main{47}, 95
listcdr=  \subitem listcdr+, \main{47}, 98
vcbox=  \subitem vcbox+, \main{413}
scshape=  \subitem *+\scshape+, 264, 378, 425

                          selectfont=  \subitem *+\selectfont+, 26
                          setcounter=  \subitem *+\setcounter+, 269
                          sffamily=  \subitem *+\sffamily+, 254
                          ShortEmpty=  \subitem *+\ShortEmpty+, 28, 179, 215, 245, 415
                          slshape=  \subitem *+\slshape+, 416, 419
                          smallskip=  \subitem *+\smallskip+, 222, 294, 310, 326
                          space=  \subitem *+\space+, 6, 357, 360, 363, 366
                          Subtitle=  \subitem *+\Subtitle+, 350, 351
                          subtitle=  \subitem *+\subtitle+, 351
                          thebitbit=  \subitem *+\thebitbit+, 301
                          thebitbitbit=  \subitem *+\thebitbitbit+, 317
                          TheEnd=  \subitem *+\TheEnd+, 159, 197, \main{391}
                          theend=  \subitem *+\theend+, \main{386}
                          thispagestyle=  \subitem *+\thispagestyle+, 241
                          title=  \subitem *+\title+, 118, \main{328}

                                                   today=  \subitem *+\today+, \main{356}
                                                   todayabbrev=  \subitem *+\todayabbrev+, 257, 337, 353, \main{356}, 419
                                                   typeout=  \subitem *+\typeout+, 165, 171, 172, 203, 209, 210
                                                   UndefineCS=  \subitem *+\UndefineCS+, 13
                                                   unskip=  \subitem *+\unskip+, 425
                                                   usepackage=  \subitem *+\usepackage+, 14
                                                   value=  \subitem *+\value+, 121, 305, 321, 401
                                                   VersionControlAuthorString=  \subitem *+\VersionControlAuthorString+, \main{413}
                                                   VersionControlString=  \subitem *+\VersionControlString+, \main{413}
                                                   vfill=  \subitem *+\vfill+, 249, 251
                                                   vspace=  \subitem *+\vspace+, 242, 375
                                                   whitespace=  \subitem *+\whitespace+, \main{432}
                                                   year=  \subitem *+\year+, 360, 366