% % \begin{macrocode} \newif\ifOldLaTeX \@ifundefined{documentclass}{\OldLaTeXtrue}{\OldLaTeXfalse} % \end{macrocode} % % % \subsection{Compatibility Definitions} % % Since we want to use this style with \LaTeX\,2.09 and \LaTeXe{} we have % to define a common interface. For this purpose we use a subset of % the style writers interface already defined for \LaTeXe{} style % writers. Since some macros are not defined in \LaTeX\,2.09 we % implement them --- at least to the degree needed here. % % \begin{macrocode} \ifOldLaTeX % \end{macrocode} % % Just for fun we define some font switching commands. In fact the % behaviour in \LaTeXe{} is more complex. But I think these % definitions are enough to avoid errors. % \begin{macrocode} \newcommand\emph[1]{{\em #1}\/} \newcommand\textbf[1]{{\bf #1}} \newcommand\textrm[1]{{\rm #1}} \newcommand\textsc[1]{{\sc #1}} \newcommand\textsf[1]{{\sf #1}} \newcommand\textsl[1]{{\sl #1\/}} \newcommand\textit[1]{{\it #1\/}} \newcommand\texttt[1]{{\tt #1}} \@ifundefined{fontshape}{\let\fontshape=\@gobble}{} \@ifundefined{selectfont}{\let\selectfont=\relax}{} \newcommand\providescommand[2]{\ifx#1\@undefined\newcommand#1{#2}\fi} % \end{macrocode} % % \begin{macrocode} \fi % \end{macrocode} % % % \subsection{Useful Macros} % % This section contains some useful abbreviations. They are mainly % some kind of logos. % % The following hack is from Bernd Raichle. % % Fuer LaTeX 2.09 (mit oder ohne NFSS) benoetigen wir noch % so etwas wie \verb|\smaller| aus dem veralteteten `smaller.sty', % um SmallCaps fuer (fast) alle Schriftarten nachzubilden. % Fuer SmallCaps muss jedoch um mehr Schriftgrade als bei % \verb|\smaller| verkleinert werden, so dass hier eine neue % Definition namens \verb|\logo@smaller| folgt, deren Verkleinerung % sich an den `math sizes' (hier: \verb|\scriptfont|) orientiert, % die standardmaessig mit \LaTeX2e definiert werden. % % \begin{macrocode} \ifOldLaTeX \expandafter\ifx\csname selectfont\endcsname\relax % Fuer OFSS benoetigen wir noch einen Hack, damit % wir wieder auf die Schriftfamilie/Series/Shape % zurueckwechseln. Dazu ``missbrauchen'' wir die % `math group/fam', die in den Makros in der Datei % "lfonts.tex" entsprechend mit veraendert wird. \newcommand{\logo@sm@ller}{\relax \expandafter\logo@sm@ll@r\expandafter{\the\fam}} \newcommand{\logo@sm@ll@r}[1]{% % \ifx\@currsize\tiny \tiny\fi \ifx\@currsize\scriptsize \tiny\fi \ifx\@currsize\footnotesize \tiny\fi \ifx\@currsize\small \scriptsize\fi \ifx\@currsize\normalsize \scriptsize\fi \ifx\@currsize\large \footnotesize\fi \ifx\@currsize\Large \normalsize\fi \ifx\@currsize\LARGE \large\fi \ifx\@currsize\huge \Large\fi \ifx\@currsize\Huge \huge\fi \ifcase#1\relax\rm\or\mit\or\cal\or\tenex % not sure about the tenex \or\it\or\sl\or\bf\or\tt\or\sf\or\sc\or\ly\fi} \else % Mit NFSS (fuer LaTeX 2.09) koennen wir die Groesse % unabhaengig von den anderen Font-Eigenschaften aendern, % so dass dies etwas einfacher geht. \newcommand{\logo@sm@ller}{% \relax\@nomath\logo@smaller \ifx\f@size\@vpt \else \ifx\f@size\@vipt \fontsize\@vpt{6pt}\fi \ifx\f@size\@viipt \fontsize\@vpt{6pt}\fi \ifx\f@size\@viiipt \fontsize\@vipt{7pt}\fi \ifx\f@size\@ixpt \fontsize\@vipt{7pt}\fi \ifx\f@size\@xpt \fontsize\@viipt{8pt}\fi \ifx\f@size\@xipt \fontsize\@viiipt{9.5pt}\fi \ifx\f@size\@xiipt \fontsize\@viiipt{9.5pt}\fi \ifx\f@size\@xivpt \fontsize\@xpt{12pt}\fi \ifx\f@size\@xviipt \fontsize\@xiipt{14pt}\fi \ifx\f@size\@xxpt \fontsize\@xivpt{18pt}\fi \ifx\f@size\@xxvpt \fontsize\@xxpt{25pt}\fi \selectfont \fi} % die ersten NFSS-Versionen benutzten noch den Makroname % \size statt \fontsize \@ifundefined{fontsize}{\let\fontsize=\size}{} \fi \newcommand{\logo@smaller}{\protect\logo@sm@ller} \fi % \end{macrocode} % % \subsubsection{Macros from texnames.sty} % % The following macros are taken from the file {\tt texnames.sty} % version \verb|1.09| from \verb|<16 March 1993>| by Nelson % H.\,F.~Beebe. I have simply included the definitions here to avoid % additional files to be distributed with dtk.dtx. The original % documentation has been wrapped into the doc format. And here it goes: % % In the following, we first give the ``official'' definition, % then follow it with spelling variants. Alternate definitions % are discarded in favor of the official one. Each family is % separated by a line like the following one. % % \begin{macro}{\TeX} % Only change from plain.tex is the \verb|\spacefactor| assignment % (suggested by Phil Taylor), so that \TeX\ at the end of a % sentence isn't treated as an abbreviation. % % \begin{macrocode} \renewcommand\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX% \spacefactor1000 } % \end{macrocode} % \end{macro} % % \begin{macro}{\AmS} % From the AMS tex/ams/amslatex/fontsel/nfssinst.tex file: % \begin{macrocode} \@ifundefined{AmS}{% \def\AmS{\(\cal A\)\kern-.1667em\lower.5ex\hbox {\(\cal M\)}\kern-.125em{\(\cal S\)}}}{} \@ifundefined{AMS}{\let\AMS=\AmS}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\AmSLaTeX} % \begin{macrocode} \@ifundefined{AmSLaTeX}{\def\AmSLaTeX{\AmS-\LaTeX}}{} \@ifundefined{AMSLaTeX}{\let\AMSLaTeX=\AmSLaTeX}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\AmSTeX} % Mike Spivak's amstex/amstex.tex 1.1d [26-Aug-1988] has\\ % \verb|\def\AmSTeX{{\textfontii A}\kern-.1667em\lower.5ex\hbox|\\ % \verb| {\textfontii M}\kern-.125em{\textfontii S}-\TeX}|\\ % and 2.1 [05-Apr-1991] has an equivalent definition. % AmSTeX's \verb|\textfontii| is exactly the same as \verb|\cal|, which % all \TeX variants understand. % % \begin{macrocode} \@ifundefined{AmSTeX}{% \def\AmSTeX{$\cal A$\kern-.1667em\lower.5ex\hbox{$\cal M$}% \kern-.125em$\cal S$-\TeX}}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\AMSTEX} % Leslie Lamport's latex/tmanual.tex [10-Jul-1984] (an early % draft of the book) defines it in uppercase with the standard % definition. % \begin{macrocode} \@ifundefined{AMSTEX}{\let\AMSTEX=\AmSTeX}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\AMSTEX} % Barbara Beeton's latex/deproc.sty [24-Apr-1986] and inputs/tugbot.sty % [11-Jan-1988] uses this spelling, but the definition\\ % \verb|\leavevmode\hbox{$\cal A\kern-.2em\lower.376ex \hbox{$\cal|\\ % \verb|M$}\kern-.2em\cal S$-\TeX}| % \begin{macrocode} \@ifundefined{AMSTeX}{\let\AMSTeX=\AmSTeX}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\BibTeX} % The definitions of \verb|\BibTeX| and \verb|\SLiTeX| in Leslie Lamport's % latex/local.tex lower the E by 0.7ex, while \TeX in plain.tex lowers % it by 0.5ex. Oren Patashnik's bibtex/btxdoc.tex and bibtex/btxhak.tex % [08-Feb-1988] and bibtex/bibtex.web 0.99c [xx-Feb-1988] use this same % name and definition, but Oren said using \TeX here is ok. (Curiously, % \LaTeX itself does not define macros for any \TeX ware except \LaTeX and % \TeX!) % % \begin{macrocode} \ifOldLaTeX \newcommand{\BibTeX}{\protect\pBibTeX} \newcommand{\pBibTeX}{B\kern-.05em% \hbox{\logo@smaller I\kern-.025emB}\kern-.08em% \-\TeX} \else \DeclareRobustCommand{\BibTeX}{B\kern-.05em% % Der folgende Hack stammt aus der Definition des % Makros \LaTeX, siehe Datei `ltlogos.dtx' der % LaTeX2e-Verteilung. \hbox{$\m@th$% %% force math size calculations \csname S@\f@size\endcsname \fontsize\sf@size\z@ \math@fontsfalse\selectfont I\kern-.025emB}% \kern-.08em% \-\TeX} \fi % \end{macrocode} % \end{macro} % % \begin{macro}{\BIBTeX} % Leslie Lamport uses this spelling in latex.tex, but not as a % macro. We include it for consistency with AMSTeX. % % \begin{macrocode} \@ifundefined{BIBTeX}{\let\BIBTeX=\BibTeX}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\BIBTEX} % Leslie Lamport's latex/slides.tex [05-Jun-1984], % latex/tmanual.tex [10-Jul-1984] (an early draft of the book), % and latex/lerrata.tex [23-Jul-1985] have this spelling, but the % definition \verb|BIB\kern-.1em\TeX|. % % \begin{macrocode} \@ifundefined{BIBTEX}{\let\BIBTEX=\BibTeX}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\LAMSTeX} % From tugboat.com 1.08 [24-Oct-1990]. % % \begin{macrocode} \@ifundefined{LAMSTeX}{% \newcommand\LAMSTeX{L\raise.42ex\hbox{\kern-.3em\the\scriptfont2 A}% \kern-.2em\lower.376ex\hbox{\the\textfont2 M}% \kern-.125em {\the\textfont2 S}-\TeX}}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\LamSTeX} % \begin{macrocode} \@ifundefined{LamSTeX}{\let\LamSTeX=\LAMSTeX}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\LAmSTeX} % This variant seems likely to appear: % % \begin{macrocode} \@ifundefined{LAmSTeX}{\let\LAmSTeX=\LAMSTeX}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\LaTeX} % The definition from latex.tex (LATEX VERSION 2.09 <14 January 1991>) % and bibtex.web 0.99c [xx-Feb-1988] lowers the E slightly more than % \TeX, but consistency seems more desirable. See comments at \BibTeX. % Different definitions are given by latex/deproc.sty [24-Apr-1986], % amstex/man.sty [15-Dec-1986] inputs/tugbot.sty [11-Jan-1988], and % latex/tugboat.com 1.08 [24-Oct-1990]. % % \begin{macrocode} \@ifundefined{LaTeX}{% \def\LaTeX{L\kern-.36em\raise.3ex\hbox{\sc a}\kern-.15em\TeX}}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\LATEX} % latex/slides.tex [05-Jun-1984] and latex/lerrata.tex [23-Jul-1985] % have this spelling, but different definitions % % \begin{macrocode} \@ifundefined{LATEX}{\let\LATEX=\LaTeX}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\LATEX} % latex/slides.tex [05-Jun-1984] and latex/lerrata.tex [23-Jul-1985] % have this spelling, but different definitions % % \begin{macrocode} \ifOldLaTeX \newcommand\LaTeXTeX{(\kern-.15emL\kern-.36em\raise.3ex\hbox{\sc a}\kern-.3em)\kern-.15em\TeX}% \else \DeclareRobustCommand{\LaTeXTeX}{(\kern-.15emL\kern-.36em% {\sbox\z@ T% \vbox to\ht0{\hbox{$\m@th$% \csname S@\f@size\endcsname \fontsize\sf@size\z@ \math@fontsfalse\selectfont A}% \vss}% }\kern-.2em)% \kern-.15em% \TeX} \fi % \end{macrocode} % \end{macro} % % \begin{macro}{\MF} % Don Knuth's mf.web 2.7 [xx-Sep-1990] and Barbara Beeton's % latex/deproc.sty [24-Apr-1986] use an equivalent of this definition. % The font is variously named \verb|\logo|, \verb|\manfnt|, and % \verb|\mf|. plain.tex % preloads \verb|\manfnt|. manfnt has the letters A, E, F, M, N, O, T in % various sizes plus extra symbols for Don Knuth's books Computers and % Typesetting, and Concrete Mathematics, while logo10 has only those % letters in one size. AmSTeX uses \verb|\logo| in amsppt.sty and % imappt.sty, so we should avoid it, and tugboat.com uses % \verb|\mf| for \verb|{\smc Metafont}|. We therefore use % \verb|\manfnt| here, defining it if necessary. QUESTION: should % we use manfnt, or logo10? % % \begin{macrocode} \ifOldLaTeX \ifx\manfnt\@undefined \font\manfnt=logo10 \fi \ifx\manfntsl\@undefined \font\manfntsl=logosl10 \fi \def\MF{{\ifdim\fontdimen1\font>0pt \let\manfnt = \manfntsl \fi {\manfnt META}\-{\manfnt FONT}}\spacefactor1000 }% \def\MP{{\ifdim\fontdimen1\font>0pt \let\manfnt = \manfntsl \fi {\manfnt META}\-{\manfnt POST}}\spacefactor1000 }% \else % \end{macrocode} % % The following improved definitions are taken from mflogo by Ulrik Vieth. % % \begin{macrocode} \DeclareFontFamily{U}{logo}{} \DeclareFontShape{U}{logo}{m}{n}{ <8> <9> gen * logo <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> logo10 }{} \DeclareFontShape{U}{logo}{m}{it}{ <8> <9> gen * logosl <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> logosl10 }{} \DeclareFontShape{U}{logo}{m}{sl}{ <-> ssub * logo/m/it }{} \DeclareFontShape{U}{logo}{sbc}{n}{ <8> <9> sub * logo/m/n <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> logobf10 }{} \DeclareFontShape{U}{logo}{b}{n}{ <8> <9> sub * logo/m/n <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> logod10 }{} \DeclareFontShape{U}{logo}{bx}{n}{ <-> ssub * logo/b/n }{} \DeclareRobustCommand\logofamily{% \not@math@alphabet\logofamily\relax \fontencoding{U}\fontfamily{logo}\selectfont} \DeclareTextFontCommand{\textlogo}{\logofamily} \def\MF{\textlogo{META}\-\textlogo{FONT}\@} \def\MP{\textlogo{META}\-\textlogo{POST}\@} \fi % \end{macrocode} % \end{macro} % % \begin{macro}{\METAFONT} % I cannot find any ``official'' uses of this alternate, but it % seems likely that people will use it. % % \begin{macrocode} \@ifundefined{METAFONT}{\let\METAFONT=\MF}{} % \end{macrocode} % \end{macro} % \begin{macro}{\METAPOST} % In analogy to \verb|METAFONT|. % % \begin{macrocode} \@ifundefined{METAPOST}{\let\METAPOST=\MP}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\SLITEX} % Leslie Lamport's latex/slides.tex [05-Jun-1984]. His % latex/lerrata.tex [23-Jul-1985] and latex/tmanual.tex % [10-Jul-1984] (an early draft of the book) define it as % SLI\TeX! The \LaTeX\ User's Guide and Reference Manual (1986) % appears to use small caps, and possibly kerning, for Sli. % I need to ask Leslie to suggest a preferred definition. % % \begin{macrocode} \@ifundefined{SLITEX}{ \newcommand\SLITEX{% S\kern-.065em L\kern-.18em\raise.32ex\hbox{i}% \kern-.03em\TeX}}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\SLiTeX} % latex/local.tex (sample Local Guide) [27-Oct-1988] uses % this name, but defines it as\\ % \verb|{\rm S\kern-.06em{\sc l\kern-.035emi}\kern-.06em T\kern|\\ % \verb| -.1667em\lower.7ex\hbox{E}\kern-.125emX}|\\ % with an extra-low E, and kerned Sli in small caps. Is this % what the \LaTeX\ User's Guide and Reference Manual (1986) used? % % \begin{macrocode} \@ifundefined{SLiTeX}{\let\SLiTeX=\SLITEX}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\SliTeX} % latex/slitex.tex [08-Jun-1988] uses SliTeX in typeouts, % but not as a macro -- what a way to confuse the user. % % \begin{macrocode} \@ifundefined{SliTeX}{\let\SliTeX=\SLITEX}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\SLITeX} % I cannot find a use of this one, but it seems a likely % candidate anyway, and is consistent with AMSTeX and BIBTeX. % % \begin{macrocode} \@ifundefined{SLITeX}{\let\SLITeX=\SLITEX}{} % \end{macrocode} % \end{macro} % % % \begin{macro}{\NTS} % This one comes from a communication with Bernd Raichle. % % \begin{macrocode} \newcommand\NTS{\mbox{\mathsurround=0pt \(\cal N\mkern -4mu\lower .5ex\hbox{$\cal T$}\mkern -2mu S\)}} % \end{macrocode} % \end{macro} % % \begin{macro}{\MakeIndex} % This one comes from a communication with Bernd Raichle based on % makeindex.tex -- released 17 February 1987 by Leslie Lamport. % \begin{macrocode} \@ifundefined{MakeIndex}{\newcommand\MakeIndex{\textit{Make\-Index}}}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\emTeX} % % \changes{1.3}{1997/02/03}{logo added.} % \begin{macrocode} \@ifundefined{emTeX}{\newcommand\emTeX{em\TeX}}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\PublicTeX} % % \changes{1.3}{1997/02/03}{logo added.} % \begin{macrocode} \@ifundefined{PubliCTeX}{\newcommand\PubliCTeX{PubliC\TeX}}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\TeXXeT} % This one comes from the sources of web2c. % \changes{1.2}{1996/12/15}{logo added.} % \begin{macrocode} \@ifundefined{TeXXeT}{\newcommand\TeXXeT{% \TeX--X\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT}}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\TeXeT} % This one comes from the sources of web2c. % \changes{1.2}{1996/12/15}{logo added.} % \begin{macrocode} \@ifundefined{TeXeT}{\newcommand\TeXeT{% \TeX-X\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT}}{} % \end{macrocode} % \end{macro} % % % \subsubsection{Additional Macros for Logos} % % The following macros are maily form the predecessor style % file. Some new ones have been added. % % \begin{macro}{\eV} % The abbreviation for e.\kern-.18emV\kern-.18em.\ is defined in % this macro. The kerning of the letters is corrected manually. % % Disclaimer: I have not invented this macro. It has been defined % this way in the predecessor style. % \begin{macrocode} \newcommand\eV{e.V\kern-.18em\@ifnextchar.{}{.}} % \end{macrocode} % \end{macro} % % \begin{macro}{\dante} % The ``official logo'' for DANTE e.\kern-.18emV\kern-.18em.\ is % defined. % \begin{macrocode} \newcommand\dante{DANTE \eV} % \end{macrocode} % \end{macro} % % \begin{macro}{\Dante} % The long name of DANTE. % \begin{macrocode} \newcommand\Dante{DANTE, Deutschsprachige Anwendervereinigung \TeX~\eV} % \end{macrocode} % \end{macro} % % \begin{macro}{\DTK} % The long name of this booklet, eh journal. % \begin{macrocode} \newcommand\DTK{Die \TeX\-ni\-sche Ko\-m{\"o}\-die} % \end{macrocode} % \end{macro} % % \begin{macro}{\LaTeXe} % If \verb|\LaTeXe| is not defined then define it. Since this macro % is so essential we just want to be sure that it exists. % \begin{macrocode} \ifx\LaTeXe\@undefined \def\LaTeXe{\LaTeX{}\kern.05em2$_{\textstyle\varepsilon}$} \fi % \end{macrocode} % \end{macro} % % % \begin{macro}{\PS} % We define the logo for Post\-Script. % \begin{macrocode} \newcommand\PS{Post\-Script} % \end{macrocode} % \end{macro} % % \begin{macro}{\PiC} % For some reason this is not defined in texnames.sty. Since it has % been in the predecessor of this style it is also defined here. % \begin{macrocode} \newcommand\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} % \end{macrocode} % \end{macro} % % \begin{macro}{\PiCTeX} % Now the previous macro is combined with \TeX. % \begin{macrocode} \newcommand\PiCTeX{\PiC\kern-.11em\TeX} % \end{macrocode} % \end{macro} % % \begin{macro}{\TUG} % The \TeX{} Users Group. % \begin{macrocode} \newcommand\TUG{\TeX{} Users Group} % \end{macrocode} % \end{macro} % % \begin{macro}{\TUGboat} % The communications of the \TeX{} Users Group % \begin{macrocode} \newcommand\TUGboat{\textsl{TUGboat}} % \end{macrocode} % \end{macro} % % \begin{macro}{\TTN} % The communications of the \TeX{} Users Group % \begin{macrocode} \newcommand\TTN{\textsl{\TeX{} and TUG NEWS}} % \end{macrocode} % \end{macro} % % % \begin{macro}{\NFSS} % The New Font Selection Scheme. % \begin{macrocode} \newcommand\NFSS{\textsf{NFSS}} % \end{macrocode} % \end{macro} %