diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-11 23:52:29 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-11 23:52:29 +0000 |
commit | f8cd4bd6a9d15be83f06d98345f29ead5a61eea3 (patch) | |
tree | 2cc7848d26d16aad8bc41e1469eba28a6744a29d /Master/texmf-dist/source | |
parent | ebaa1a4b2042072485f5657f507d24c931511b31 (diff) |
trunk/Master/texmf-dist/source/latex/dtk
git-svn-id: svn://tug.org/texlive/trunk@233 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/dtk/Makefile | 102 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/dtk/ReadMe | 119 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/dtk/beispiel.ltx | 60 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/dtk/dtk-keys.rsc | 54 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/dtk/dtk.dtx | 3922 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/dtk/dtk.ins | 75 |
6 files changed, 4332 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/dtk/Makefile b/Master/texmf-dist/source/latex/dtk/Makefile new file mode 100644 index 00000000000..5c4eef56f6e --- /dev/null +++ b/Master/texmf-dist/source/latex/dtk/Makefile @@ -0,0 +1,102 @@ +#****************************************************************************** +#* $Id: Makefile,v 1.5 2002/04/10 20:57:17 gene Exp $ +#****************************************************************************** +#* Author: Gerd Neugebauer +#*============================================================================= + +TEXMF = /usr/local/share/TeX/texmf +#TEXMF = /Programme/TeX/texmf +INSTALLDIR = $(TEXMF)/tex/latex/dtk + +LATEX = pdflatex +MAKEINDEX = makeindex +RM = rm -f +INSTALL = install +MKDIR = mkdir -p + +FILES = dtk.dtx \ + dtk.ins \ + dtk.bst \ + ReadMe \ + Makefile \ + beispiel.tex \ + beispiel.ltx \ + beispiel.bib + +CLO_FILES = dtk95.clo \ + dtk96.clo \ + dtk97.clo \ + dtk98.clo \ + dtk99.clo \ + dtk00.clo \ + dtk01.clo \ + dtk02.clo +GENERATED = dtk.cls \ + dtk.sty \ + dtk.ist \ + ${CLO_FILES} \ + dtklogos.sty \ + dtk-pdf.sty + +#*=========================================================================== + +all: dtk.cls dtk.dvi + +dtk.cls: dtk.dtx dtk.ins + -$(RM) $(GENERATED) + $(LATEX) dtk.ins + +$(CLO_FILES): dtk.cls + +dtk.sty: dtk.cls + +dtk.dvi: dtk.glo + $(LATEX) dtk.dtx +dtk.glo: dtk.dtx + $(LATEX) dtk.dtx + $(MAKEINDEX) -s gind.ist dtk + $(MAKEINDEX) -s gglo.ist -o dtk.gls dtk.glo + +dtk_doc.dvi: + $(LATEX) dtk_doc.tex + +beispiel.dvi: beispiel.tex + $(LATEX) $< + $(LATEX) $< + +#*=========================================================================== + +dtk.tar: $(FILES) + tar -cvf $@ $(FILES) + +dist: dtk.tar.gz + +dtk.tar.gz: $(FILES) + tar -cvf - $(FILES) | gzip > $@ + +dtk.tar.Z: $(FILES) + tar -cvf - $(FILES) | compress > $@ + +dtk.zip: $(FILES) + zip $@ $(FILES) + +#*=========================================================================== +ci: + ci -l $(FILES) +#*=========================================================================== + +clean: + $(RM) *.aux *.log *.ind *.idx *.glo *.gls *.ilg *.toc + +veryclean: clean + $(RM) *.dvi + +distclean: veryclean + $(RM) dtk.cls dtk.sty + +#*=========================================================================== + +install: dtk.cls dtk.sty $(CLO_FILES) + -$(MKDIR) $(INSTALLDIR) + $(INSTALL) $(GENERATED) $(INSTALLDIR) + diff --git a/Master/texmf-dist/source/latex/dtk/ReadMe b/Master/texmf-dist/source/latex/dtk/ReadMe new file mode 100644 index 00000000000..84e4b3bef63 --- /dev/null +++ b/Master/texmf-dist/source/latex/dtk/ReadMe @@ -0,0 +1,119 @@ + + dtk: A Document Class and Style for + ``Die TeXnische Komoedie'' + + written by + Gerd Neugebauer + gene@gerd-neugebauer.de + + +dtk is a document class and style file which has been written to be +used for the communications of the German speaking TeX users group +Dante e.V.: ``Die TeXnische Komoedie''. + +For changes from the previous versions see the end of this file. + +The distribution consists of the following files (if one is missing +then complain at the distributor of your version): + +dtk.dtx + This is the main distribution file. It contains the class and + style file. LaTeXing this file produces the English documentation. +dtk.ins + This is the driver file for the extraction procedure. You need + the doc utility to unpack it. +dtk.bst + This is the BibTeX style file to be used for ``Die TeXnische + Komoedie''. +Makefile + For those who are willing to take the risk:-) +ReadMe + This file. +beipiel.tex + A short description example for dtk (in German). +beispiel.ltx + The driver file for beispiel.tex. Run this file through LaTeX to + get the dvi file. +beispiel.bib + The bibliography for beispiel.tex. + + +INSTALLATION +------------ + +(0) If you have obtained the unpacked distribution, i.e. you + already have cls and clo files, then continue with step (2). + +(1) Run TeX or LaTeX on dtk.ins. + + This should produce the files dtk.cls, dtk.sty, dtklogos.sty, + dtk.ist, and some dtk*.clo files. + + This might fail due to several reasons. In this case revert to + the unpacked files which are also distributed at the same + place where you got the sources from. + +(2) Move dtk.cls and the dtk*.clo files to a place where LaTeX + searches for class files. Move dtk.sty to a place where LaTeX + searches for style files. + + The suggested place for the LaTeX files in a TDS conform + installation is the directory + + TEXMF/tex/latex/supported/dtk + + where TEXMF is the root of the TDS installation tree. + +(3) Run LaTeX on dtk.dtx to produce the documentation. LaTeX2e + is required for this step. + + Usually the documentation contains a general part describing + the use of the class/style and the description of the + implementation details. If you want to omit the implementation + description you can create the file dtk.dcf before compiling + the documentation. This file should contain the following + lines: + + \OnlyDescription + \endinput + +(4) Run LaTeX, BibTeX, and LaTeX twice again on beispiel.ltx for a + short description and a sample in German. + + +CHANGES +------- + +Version 1.8 + Modifications for 2002: + Bibliography typeset raggedright. + +Version 1.7 + Modifications for 2001 + +Version 1.4 + Major changes to integrate all enhancements and patches since + the previous release. + Logos \NTS and \eTeX added. + New page dimensions. + dtklogos.sty as separate package. + dtk-pdf.sty and dtk.ist integrated. + +Version 1.3 + Old layout variants moved to class option files. + Logos emTeX and PubliCTeX. + \part* acts like \part but appears like \chapter in the toc. + \RequiresPackage added to specify the needs of an article. + +Version 1.2 + Logos for TeXXeT and TeXeT added. + \bibliographystyle{dtk} forced. + +Version 1.1 + The bst file had a minor problem with pages which has been + fixed. + Titles are now typeset raggedright. This is only relevant for + long titles. Those can be broken manually with \\. For this + purpose \\ is ignored in the headline and the table of + contents. + diff --git a/Master/texmf-dist/source/latex/dtk/beispiel.ltx b/Master/texmf-dist/source/latex/dtk/beispiel.ltx new file mode 100644 index 00000000000..eab76023281 --- /dev/null +++ b/Master/texmf-dist/source/latex/dtk/beispiel.ltx @@ -0,0 +1,60 @@ +%%***************************************************************************** +%% $Id: beispiel.ltx,v 1.1 2001/10/21 15:17:13 gene Exp $ +%%***************************************************************************** +%% Author: Gerd Neugebauer +%%----------------------------------------------------------------------------- +%% +%% Dies ist ein Beispieldokument zu einem Artikel für "`Die TeXnische +%% Kom"odie"'. In dieser Datei befindet sich der Treiber für den +%% Beitrag. Der Beitrag wird mit +%% +%% latex beispiel.ltx +%% +%% übersetzt. +%% +%%----------------------------------------------------------------------------- +%% +%% Die folgende Zeile ist f"ur LaTeX n"otig. +\documentclass{dtk} +%% +%% Packete/Style-Optionen und anderes Material in der Pr"aambel: +%% +\usepackage{booktabs} +%% +%% Die Vereinszeitschrift wird (meistens) mit dem Input-Encoding +%% latin1 gesetzt. +%% +\usepackage[latin1]{inputenc} +%% +%% Das Packet german/ngerman wird automatisch geladen und sollte nicht +%% explizit angefordert werden. +%% +%% Regel: Es sollten so wenig wie m"oglich zus"atzliche Packete +%% angefordert werden, da diese mit anderen Packeten in Konflikt +%% geraten k"onnten, die in anderen Artikeln unbedingt +%% ben"otigt werden. +%% Regel: Es sollten nicht unn"otig viele Kommandos oder Umgebungen +%% definiert werden (aus demselben Grund). N"otigenfalls +%% sollte die Definition im Artikel und nicht in der Pr"aambel +%% geschehen. +%% Regel: Bei der Produktion der Zeitschrift wird normalerweise das +%% Input-Encoding latin1 verwendet, sofern nicht ein Beitrag +%% unbedingt etwas anderes erforderlich macht. +%% Es darf kein anderes Input-Encoding verwendet werden. +%% Die Eingabe sollte nach Möglichkeit sogar reines ASCII sein +%% -- mit Sonderzeichen nach german.sty. +%% +\begin{document}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Nun wird nur noch der eigentliche Beitrag geladen. Alles weitere +% findet in der Datei beispiel.tex statt. +% +\input{beispiel} +% +% +\end{document}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Local Variables: +% mode: latex +% TeX-master: nil +% End: diff --git a/Master/texmf-dist/source/latex/dtk/dtk-keys.rsc b/Master/texmf-dist/source/latex/dtk/dtk-keys.rsc new file mode 100644 index 00000000000..ac706b66fe0 --- /dev/null +++ b/Master/texmf-dist/source/latex/dtk/dtk-keys.rsc @@ -0,0 +1,54 @@ +key.generation=on +key.format { + dtk%2.2d(volume).%1.1d(volume):%s(key) +# dtk%2.2d(volume).%1.1d(volume)(author){:%-n(author)}{}:%-W(title) +# dtk%d(number).%2d(year)(author){:%-n(author)}{}:%-W(title) +# dtk%2d(year).%1.2d(volume)(author){:%-n(author):%-W(title)}{:%-2W(title)}} + +tex.define {\"[1]=#1e} +tex.define {\ss=ss} +tex.define {\AE=AE} +tex.define {\OE=OE} +tex.define {\aa=aa} +tex.define {\AA=AA} +tex.define {\o=o} +tex.define {\O=O} +tex.define {\l=l} +tex.define {\L=L} +tex.define {\TeX=TeX} +tex.define {\LaTeXTeX=LaTeX} +tex.define {\LaTeX=LaTeX} +tex.define {\LaTeXe=LaTeX2e} +tex.define {\BibTeX=BibTeX} +tex.define {\AMSTeX=AMSTeX} +tex.define {\AMS=AMS} +tex.define {\MF=METAFONT} +tex.define {\PiCTeX=PiCTeX} + +ignored.word{diese} +ignored.word{zum} +ignored.word{neue} +ignored.word{neues} +ignored.word{einige} +ignored.word{von} +ignored.word{zwei} +ignored.word{drei} +ignored.word{aus} +ignored.word{1} +ignored.word{2} +ignored.word{3} +ignored.word{4} +ignored.word{5} +ignored.word{6} +ignored.word{7} +ignored.word{8} +ignored.word{9} +ignored.word{0} + +fmt.title.title{-} + +print.align.string = 26 + +pass.comments = on +quiet = on + diff --git a/Master/texmf-dist/source/latex/dtk/dtk.dtx b/Master/texmf-dist/source/latex/dtk/dtk.dtx new file mode 100644 index 00000000000..29c5b4c08a4 --- /dev/null +++ b/Master/texmf-dist/source/latex/dtk/dtk.dtx @@ -0,0 +1,3922 @@ +%<*!ist> +%% +%%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%^^A $Id: dtk.dtx,v 1.8 2002/04/10 21:03:42 gene Exp gene $ +%%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\iffalse +%% Purpose: +%% LaTeX Class and Styles for ``Die TeXnische Komoedie''. +%% +%% Documentation: +%% The documentation can be generated from the original file +%% dtk.dtx with the doc style/package. LaTeX the file dtk.tex to +%% get the full documentation in DVI format. +%% +%% +%% Author: Gerd Neugebauer +%% Mainzer Str. 8 +%% 56321 Rhens (Germany) +%% Mail: gene@gerd-neugebauer.de +%% +%% Copyright (C) 1995-1996 Gerd Neugebauer +%% Copyright (C) 1997-2002 DANTE, Deutschsprachige +%% Anwendervereinigung TeX e.V. +%% +%% dtk.dtx is distributed in the hope that it will be useful, but +%% WITHOUT ANY WARRANTY. No author or distributor accepts +%% responsibility to anyone for the consequences of using it or for +%% whether it serves any particular purpose or works at all, unless +%% he says so in writing. +%% +%% Everyone is granted permission to copy, modify and redistribute +%% dtk.dtx, provided this copyright notice is preserved and any +%% modifications are indicated. +%% +%% +%<*class> +%% This class is still under development and may be replaced with a +%% new version which provides enhanced functionality. +%</class> +%<*!class> +%% This package is still under development and may be replaced with +%% a new version which provides enhanced functionality. +%</!class> +%% +%\fi +%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% \title{A \LaTeX\ Class and Style for\\``Die \TeX{}nische +% Kom{\"o}die''\thanks{This file documents \filename\ version +% \fileversion\ as of \filedate.}} +% \author{Gerd Neugebauer\\ +% Mainzer Str.\ 8\\ +% 56321 Rhens (Germany)\\ +% Net: \texttt{gene@gerd-neugebauer.de}} +% +% \date{{\footnotesize Documentation date: \docdate}} +% +% \maketitle +% +%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \changes{0.24}{1996/05/10}{First public release.} +% \changes{0.25}{1996/05/27}{Towards the new layout} +% \changes{0.26}{1996/05/27}{Towards the new layout} +% \changes{0.27}{1996/05/27}{Towards the new layout} +% \changes{0.28}{1996/05/27}{Towards the new layout} +% \changes{0.29}{1996/06/21}{Logos improved. ContentsArt slightly modified.} +% \changes{1.0}{1996/07/18}{The new layout is ready. (DTK 1/96 in print)} +% \changes{1.1}{1996/09/13}{Fixing a minor problem with long titles.\\ +% double backslash in titles are now ignored in headlines and toc.} +% \changes{1.3}{1997/02/08}{Ancient layout moved to a class option file.} +%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% \DoNotIndex{\ ,\",\',\.,\[,\\,\],\^,\`,\~,\(,\),\,,\/,\-,\:,\=,\@,\~,\^} +% \DoNotIndex{\@M,\@dottedtocline} +% \DoNotIndex{\@gobble,\@gobbletwo,\@highpenalty,\@ifnextchar,\@ifstar} +% \DoNotIndex{\@ifundefined,\@namedef,\@plus,\@pnumwidth,\@startsection} +% \DoNotIndex{\@starttoc} +% \DoNotIndex{\@tempboxa,\@tempcnta} +% \DoNotIndex{\@tempdima,\@tempdimb,\@thefnmark,\@undefined} +% \DoNotIndex{\@ixpt,\@vpt,\@vipt,\@viipt,\@viiipt} +% \DoNotIndex{\@xpt,\@xipt,\@xiipt,\@xivpt,\@xviipt,\@xxpt,\@xxvpt} +% \DoNotIndex{\AA,\AE,\AtBeginDocument} +% \DoNotIndex{\CurrentOption,\DeclareOption,\H,\Huge,\L,\LARGE,\LaTeX,\Large} +% \DoNotIndex{\LoadClass,\O,\OE,\OptionNotUsed,\PassOptionsToClass} +% \DoNotIndex{\ProcessOptions,\ProvidesClass,\ProvidesPackage} +% \DoNotIndex{\RequirePackage,\TeX} +% \DoNotIndex{\aa,\addcontentsline,\addpenalty,\advance,\addvspace,\ae} +% \DoNotIndex{\ast,\arabic} +% \DoNotIndex{\b,\baselineskip,\begin,\begingroup,\bf,\bgroup,\egroup} +% \DoNotIndex{\bigskip,\box,\bullet} +% \DoNotIndex{\c,\cal,\catcode,\char,\chardef,\circ,\clearpage,\closein} +% \DoNotIndex{\closeout,\clubpenalty,\count,\csname} +% \DoNotIndex{\d,\def,\dimen,\diamond,\divide,\documentclass,\dp} +% \DoNotIndex{\divide} +% \DoNotIndex{\else,\em,\empty,\end,\endcsname,\endgroup,\endinput,\endlist} +% \DoNotIndex{\expandafter,\fbox,\fi,\footskip,\framebox,\frenchspacing} +% \DoNotIndex{\futurelet,\gdef,\global,\gobble} +% \DoNotIndex{\hangafter,\hangindent,\hbox,\headheight,\headsep,\hfil} +% \DoNotIndex{\hfill,\hrule,\hskip,\hspace,\hss,\ht,\huge,\ifcat,\ifcase} +% \DoNotIndex{\ifeof,\ifdim,\ifnum,\ifx} +% \DoNotIndex{\ignorespaces,\immediate,\index,\input,\it} +% \DoNotIndex{\itemindent,\itemsep,\jobname,\kern,\l,\labelsep,\labelwidth} +% \DoNotIndex{\large,\leavevmode,\leftmark,\leftskip,\let,\list} +% \DoNotIndex{\llap,\long,\lower} +% \DoNotIndex{\m@th,\makebox,\magstep,\makeindex,\markboth,\mbox,\medskip} +% \DoNotIndex{\multiply} +% \DoNotIndex{\newblock,\newcommand,\newcount,\newenvironment,\newfont} +% \DoNotIndex{\newif,\newpage,\newread,\newwrite} +% \DoNotIndex{\nobreak,\noindent,\normalsize,\null,\o,\oe} +% \DoNotIndex{\openin,\openout,\or,\pagestyle,\par,\paragraph,\parbox} +% \DoNotIndex{\parfillskip,\parindent,\parsep,\parskip,\partopsep} +% \DoNotIndex{\penalty,\quad} +% \DoNotIndex{\raggedbottom,\raise,\relax,\renewcommand,\renewenvironment} +% \DoNotIndex{\repeat,\rightskip,\rm,\rule} +% \DoNotIndex{\sbox,\sc,\scriptsize,\section,\selectfont,\setcounter} +% \DoNotIndex{\settowidth,\sf,\sfcode,\sl} +% \DoNotIndex{\sloppy,\small,\space,\ss,\string,\symbol} +% \DoNotIndex{\t,\tenex,\textstyle,\the,\thepage,\thispagestyle,\time,\tiny} +% \DoNotIndex{\topmargin,\topsep,\tt,\typeout} +% \DoNotIndex{\u,\unitlength,\usecounter,\v,\varepsilon,\vbox} +% \DoNotIndex{\vfill,\vsize,\vskip,\vspace,\vss} +% \DoNotIndex{\wd,\widowpenalty,\write,\xdef,\z@} +% +%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \CheckSum{2615} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +%%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%</!ist> +% +% \begin{abstract} +% +% dtk.dtx provides a class and style file for typesetting ``Die +% \TeX\-nische Ko\-m\"o\-die''---the communications of the German +% \TeX{} Users Group DANTE e.V. This means that this class can be +% used by article writers to typeset a single article as well as to +% produce the complete journal. +% +% The class and style file is written in a way that it can be used +% both with \LaTeX\,2.09 and \LaTeXe. Thus it can be used by all +% persons which are familiar with any flavor of \LaTeX. +% +% The features of \LaTeXe\ are provided in the \LaTeX\,2.09 mode only +% to a certain extend. Thus it might not be possible to typeset an +% article prepared for \LaTeXe\ with \LaTeX\,2.09. +% +% On the other side it is possible to process an article prepared +% for \LaTeX\,2.09 with \LaTeXe{} (in native mode). This is justified +% since \LaTeXe{} is the standard nowadays and \LaTeX\,2.09 should +% cease to exists in the next decade. +% \end{abstract} +% +% \newpage +% \tableofcontents +% \newpage +% +% \section{The History} +% +% This documentclass/style is a complete reimplementation of a +% predecesor style. This predecessor style was a modification of +% the tugboat.sty which has been carried out mainly by Gabriele +% Kruljac. Some improvements have been made in this style by +% Joachim Schrod and Luzia Dietsche. +% +% In 1995 the it appeared necessary to have a document class for the +% production of ``Die \TeX nische Kom\"odie''. Up to this time the +% communications of the German speaking \TeX{} users group had been +% typeset with \LaTeX\,2.09 which was already outdated at this +% time. In addition ideas for an improved layout had been collected +% which should be incorporated into the new class. +% +% Thus Gerd Neugebauer started to derive a new class by modifying +% options and macros of the standard document class \texttt{article}. +% +% At this time it was not unususal for many installations not to +% provide the current \LaTeXe{} but still to have \LaTeX\,2.09 +% only. Thus one design decision was to have a document style as +% well as a document class. The requirement was met by providing a +% set of definitions which emulate some of the new features of +% \LaTeX{} under the old releases. +% +% The coding was done by Gerd Neugebauer but many influences of +% others have found their way into the code. Even so nearly no code +% has been taken from the predecessor style the layout has been +% copied in the first release of dtk.dtx (1.0). +% +% Into the next releases (1.1 to 1.3) many changes for the new +% layout have been incorporated. Many suggestions of the editorial +% board of ``Die \TeX nische Kom\"odie'' had been integrated. +% Especially the following persons contributed during this process: +% Luzia Dietsche, Bernd Raichle, Volker RW Schaa, Rainer Sch\"opf, +% and Andreas Dafferner. +% +% Over the years several additions and corrections have made it +% into some additional packages which have been used for the +% production of ``Die \TeX nische Kom\"odie''. Especially in 1999 +% the fonts have been changed from Computer Modern to EC. In 2000 +% the text area has been changed. Finally all changes have been +% integrated into dtk.dtx. The contributions for this release came +% from Bernd Raichle, Peter Willardt, Rolf Niepraschk, and Werner +% Lemberg. +% +% The 2002 edition of dtk.dtx includes some minor changes to +% support the use besides the production of ``Die \TeX nische +% Kom\"odie''. In addition the major change is that the +% bibliography is typeset in ragged right. +% +% +% \section{The User Interface} +% +% The user interface can be divided into two parts. The first part +% concerns the normal user who is writing a single article. The +% second part concerns the user who composes a complete journal. +% +% +% \subsection{The User Interface for Article Writers} +% +% The user interface for ordinary users is mainly the interface as +% it is provided by the documentclass article. In addition to the +% normal commands the following macros and environments are defined: +% +% \DescribeMacro{\address} +% This macro is used to put the address of an author into the list of +% authors. It should be given before the \verb|\maketitle| command. The +% first argument is the first name of an author. The second argument is the +% last name of the author. The third argument is it's address. Several +% lines in the address are separated by \verb|\\|. Missing arguments should +% be filled with \verb|\null|. +% +% Several invocations of \verb|address| are possible. E.g. if the article +% has been written by several authors. The address and the author can be +% omitted completely --- e.g. for anonoymous letters to the editor. But +% this should not be the normal case. +% +% \DescribeEnv{abstract} +% Each article should have be started with a short paragraph describing +% what this article is about. This paragraph is called abstract. The +% environment \verb|abstract| is meant for marking a paragraph as +% abstract. +% +% +% +% The following restrictions should be taken into account: +% +% The sectioning commands are mapped to their star variants. This +% means that the commands like \verb|\section| are not numbered. It +% should not be tried to to put references to those commands. +% +% The following logos are provided by this class and separately by +% the package \verb|dtklogos| if not defined somewhere else. You +% are strongly encouraged to use those macros to typeset the logos +% instead of making your own. +% \smallskip +% +% \begin{tabular}{ll} +% \texttt{\char'134AmSTeX} &\AmSTeX \\ +% \texttt{\char'134AmS} &\AmS \\ +% \texttt{\char'134BibTeX} &\BibTeX \\ +% \texttt{\char'134dante} &\dante \\ +% \texttt{\char'134Dante} &\Dante \\ +% \texttt{\char'134DTK} &\DTK \\ +% \texttt{\char'134eTeX} &\eTeX \\ +% \texttt{\char'134eV} &\eV \\ +% \texttt{\char'134emTeX} &\emTeX \\ +% \texttt{\char'134LAmSTeX} &\LAmSTeX \\ +% \texttt{\char'134LaTeXTeX} &\LaTeXTeX \\ +% \texttt{\char'134LaTeXe} &\LaTeXe \\ +% \texttt{\char'134LaTeX} &\LaTeX \\ +% \texttt{\char'134LyX} &\LyX \\ +% \texttt{\char'134METAFONT} &\MF \\ +% \texttt{\char'134METAPOST} &\MP \\ +% \texttt{\char'134MF} &\MF \\ +% \texttt{\char'134MP} &\MP \\ +% \texttt{\char'134MakeIndex}&\MakeIndex \\ +% \texttt{\char'134NFSS} &\NFSS \\ +% \texttt{\char'134NTS} &\NTS \\ +% \texttt{\char'134PS} &\PS \\ +% \texttt{\char'134PiCTeX} &\PiCTeX \\ +% \texttt{\char'134PubliCTeX}&\PubliCTeX \\ +% \texttt{\char'134TUG} &\TUG \\ +% \texttt{\char'134TeXXeT} &\TeXXeT \\ +% \texttt{\char'134TeXeT} &\TeXeT \\ +% \texttt{\char'134WinEdt} &\WinEdt \\ +% \texttt{\char'134WinEdtKK} &\WinEdtKK +% \end{tabular} +% +% \DescribeMacro{\footnote} +% Footnotes are typeset in a special way. As a consequence of the +% inplementation \TeX{} is not allowed to split footnotes across +% several pages. Thus you have to keep your footnotes short. It is +% bad style to pack the main body of text into footnotes (except +% for critical editions). +% +% \subsection{Logical Markup} +% +% One of the advantages of \LaTeX\ is the possiblity to use logical +% markup. For this purpose several markup macros are provided. +% Unfortunately the macros provided are not sufficient in several +% situations. Thus this class provides some additional markup +% macros to come closer to the ideal situation. +% +% \DescribeMacro{\File} +% This macro is intended to be used for typesetting file names. +% +% \DescribeMacro{\Package} +% This macro is intended to be used for typesetting package names. +% +% \DescribeMacro{\Program} +% This macro is intended to be used for typesetting program names. +% +% \DescribeMacro{\Command} +% This macro is intended to be used for typesetting command names. +% For instance command names are relevant when talking about Unix +% commands. +% +% \DescribeMacro{\Macro} +% This macro is intended to be used for typesetting macro names. +% +% \DescribeMacro{\Environment} +% This macro is intended to be used for typesetting environment names. +% +% \DescribeMacro{\Email} +% This macro is intended to be used for typesetting email addresses. +% +% \DescribeMacro{\Acronym} +% This macro is intended to be used for typesetting acronyms. It is +% highly recommended to use this macro sparsingly +% +% +% \subsection{The Interface for the Production of the Whole Journal} +% +% The first thing one needs to know is that a complete journal +% starts with a title page. This title page contains the volume, +% the number and the date of publication. Since part of this +% information is used later it is stored in macros. +% +% \DescribeMacro{\DieTeXnischeKomoedie} +% The macro \verb|\DieTeXnischeKomoedie| is provided for this purpose. It +% takes three arguments. The first argument is the number. The second +% argument is the annual set and the third argument is the publication +% date. +% +% \DescribeMacro{\CoverArt} +% The macro \verb|\DieTeXnischeKomoedie| calls the macro \verb|\CoverArt| +% to typeset the cover page. \verb|\CoverArt| gets the same three arguments +% as the calling macro \verb|\DieTeXnischeKomoedie|. This macro is +% responsible to fill the first page adequately. This maro might be +% redefined to alter the layout of the journal. +% +% \DescribeMacro{\Label} +% The macro \verb|\label| has been redefined to be local for each +% article. Thus it turned out to be necessary to allow assigning of +% labels which are not restricted by this ``module system''. The +% macro \verb|\Label| sets such a global label. +% +% \DescribeMacro{\Ref} +% The macro \verb|\ref| has been redefined to be local for each +% article. The macro \verb|\Ref| references a global label set with +% \verb|Label|. +% +% \DescribeMacro{\Pageref} +% The macro \verb|\pageref| has been redefined to be local for each +% article. The macro \verb|\Pageref| references a global label set with +% \verb|Label|. +% +% \DescribeMacro{\NeedPackage} +% Usually the article for the complete journal are stored in +% different files. If an article requires a package it has to be +% loaded in the preamble of the document. The macro +% \verb|\NeedPackage| provides a means to specify the required +% packages in the article files. Unfortunately \LaTeX{} does not +% provide a way to load missing packages in the document iyself +% thus the only reasonable action for this macros is to issue a +% warning message if a needed package is not found. Nevertheless +% this helps finding potential problems. +% +% +% +% +% \vfill\noindent\hrulefill%^^A--------------------------------------------- +% +% \emph{To be completed} +% +% \noindent\hrulefill\vfill\null%^^A---------------------------------------- +% +% +% \subsection{The Interface for the Production of PDF Reprints} +% +% A reprint of an article can be produced in PDF format. To +% accomplish this the package \texttt{dtk-pdf} is provided. This +% package makes provisions to produce an appropriate header and +% typeset the address information at the end. +% +% To use the package you can use a driver file with the following +% structure: +% +% \begin{quote} +% \verb|\documentclass{dtk}|\\ +% \texttt{\textit{preamble for article}}\\ +% \verb|\usepackage{dtk-pdf}|\\ +% \verb|\renewcommand\Volume{|\texttt{\textit{volume}}\verb|}|\\ +% \verb|\renewcommand\Pages{|\texttt{\textit{pages}}\verb|}|\\ +% \verb|\begin{document}|\\ +% \verb|\input{|\texttt{\textit{tex\_file}}\verb|}|\\ +% \verb|\Address|\\ +% \verb|\end{document}| +% \end{quote} +% +% Here \texttt{\textit{preamble for article}} should be replaced by +% the document preamble required for the production of the article. +% \texttt{\textit{volume}} is the volume of ``Die \TeX nische +% Kom\"odie'' in which the article has been published originally. +% \texttt{\textit{pages}} is the range of pages on which is has +% been published. Finally the article itself is included. This +% assumes that the article---without preamble---is contained in a +% file by its own. +% +% +% +% +% +% \section{Notes on the Production of the Journal} +% +% Several problems have to be solved for the production os the +% whole journal. This section collects some of them and shows which +% roads have been taken. +% +% \subsection{References} +% References are done in \LaTeX\ with \verb|\label| and +% \verb|\ref|. Since several articles are collected in the +% complete journal it may happen that the same label is used in +% different articles. To avoid name clashes the definitions of +% \verb|\label| and \verb|\ref| have been modified to prepend a +% unique prefix. +% +% To enable you to make references across articles the original +% definitions of \verb|\label| and \verb|\ref| have been saved in +% \verb|\Label| and \verb|\Ref| respectively. +% +% +% \subsection{List of Authors} +% The list of authors is collected for the whole journal. This list +% is sorted alphabetically. To automate this process the names are +% written to the index file and makeindex is used to perform the +% sorting. Thus it is necessary for the complete journal to be run +% through \LaTeX, makeindex, and \LaTeX\ again. +% +% +% \subsection{Bibliography} +% The bibliography is prepared with \BibTeX. Since several articles +% are compiled we assume that the single articles are processed +% separately before. During this processing \BibTeX\ can be used to +% generate the appropriate bbl file. +% Things are arranged to include the bbl file for the article in +% question. +% +% One problem is not solved. This is the uniqueness of the \BibTeX\ +% labels. Here manual invention is required. +% +% +% \StopEventually{} +% \newpage +% \if@undefined\environment +% \newenvironment{environment}[1]{}{} +% \fi +% +% +% \section{The Version Information} +% +% The following lines define the version information for the class +% and the pdf package file. +% +% \begin{macrocode} +%<*class|pdf|logos> +\def\DTKrcs$#1: #2 #3${#2} +\def\filename{dtk.dtx} +\xdef\fileversion{\DTKrcs$Revision: 1.8 $} +\xdef\filedate{\DTKrcs$Date: 2002/04/10 21:03:42 $} +\let\docversion=\fileversion +\let\docdate=\filedate +%</class|pdf|logos> +% \end{macrocode} +% +% +% \section{The Documentation Driver} +% +% The documentation driver changes dtk.dtx into a self-extracting +% documentation. Thus it is possible to run \LaTeX{} on dtk.dtx to +% produce the documentation. +% +% The documentation can be adapted in a file named dtk.dcf +% (documentation configuration). This file can contain instructions +% for \verb|docstrip|. Especially useful might be the instruction +% +% \verb|\OnlyDescription| +% +% which supresses the generation of the implementation description. +% +% \changes{1.3}{1997/01/27}{The documentation driver has been +% integrated.} +% \begin{macrocode} +%<*driver> +\documentclass{ltxdoc} +\usepackage{dtklogos} +% \end{macrocode} +% +% Modify the behaviour of \verb|ltxdoc|. Those settings can be +% overwritten with local settings afterwards. +% +% \begin{macrocode} +\RecordChanges +\EnableCrossrefs +\CodelineIndex +\setcounter{IndexColumns}2 +\setlength{\parskip}{.5ex} +\setlength{\parindent}{0pt} +% \end{macrocode} +% +% Local configurations can be made in \verb|dtk.dcf|. +% +% \begin{macrocode} +\InputIfFileExists{dtk.dcf}{}{} +% \end{macrocode} +% +% Define some logos. +% +% \begin{macrocode} +\begin{document} +% \end{macrocode} +% +% Ready to read the dtx file. +% +% \begin{macrocode} +\DeleteShortVerb{|} +\DocInput{dtk.dtx} +% \end{macrocode} +% +% We want to see the change log. +% +% \begin{macrocode} +\newpage +\PrintChanges +% \end{macrocode} +% +% An index is highly desirable. +% +% \begin{macrocode} +\newpage +\PrintIndex +% \end{macrocode} +% +% That's it. +% +% \begin{macrocode} +\end{document} +%</driver> +% \end{macrocode} +% +% +% \section{The Implementation} +% +% +% The implementation is mainly based on existing styles/classes. This file +% contains only adaptions required to provide the logical markup +% and the definitions to get the special layout of ``Die \TeX +% nische Kom\"odie''. +% +% +% \subsection{Basic Definitions} +% +% \begin{macrocode} +%<*class> +% \end{macrocode} +% +% Now we need a boolean to see if we are in the author version or +% in the full version. The author version has several commands +% disabled. The full version is turned on by giving the option +% \verb|full| to the documentclass/style command. +% +% \begin{macrocode} +\newif\ifDTK@Author@ +\DTK@Author@true +% \end{macrocode} +% +% The boolean \verb|DTK@german@| is used to determine if the german +% package should be loaded automatically. Usually it is turned on. +% Under certain circumstances it might be necessary to load other +% packages before the german package. Thus this variable can be set +% via a package option. +% +% \begin{macrocode} +\newif\ifDTK@german@ +\DTK@german@true +% \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. +% +% Starting with release 1.4 the backward compatibility may not work +% any longer. It will be eliminated in a future release. +% +% \begin{macrocode} +\ifx\documentclass\@undefined +% \end{macrocode} +% +% \begin{macro}{\RequirePackage} +% The macro \verb|RequirePackage| simply tries to load the appropriate +% style file. The category code of \verb|@| is changed temporarily. +% The old value is is saved in \verb|\DTK@cat| and restored at the end. +% +% Optional arguments are not supported, yet. +% +% \begin{macrocode} + \newcommand\RequirePackage[1]{ + \chardef\DTK@cat=\the\catcode`\@ + \catcode`\@=11 + \input{#1.sty}% + \catcode`\@=\DTK@cat} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\LoadClass} +% The concept of class and package files has not been so different in +% \LaTeX\,2.09. Thus the same that has been said for \verb|\RequirePackage| +% holds also for the macro \verb|\LoadClass|. Thus we just make it a +% synonym. +% +% \begin{macrocode} + \let\LoadClass=\RequirePackage +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\InputIfFileExists} +% Now things get a little bit more complicated. To implement the +% macro \verb|\InputIfFileExists| we try to open the file. If this +% fails we assume that the file does not exist. The appropriate +% action is performed in both cases. +% +% \begin{macrocode} + \newcommand\InputIfFileExists[3]{% + \openin\DTK@file #1 + \ifeof\DTK@file\closein\DTK@file #3% + \else\closein\DTK@file #2\input{#1}% + \fi} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\DeclareOption} +% The options in \LaTeX\,2.09 are defined as special named +% macros. This is emulated here. The star variant is simply mapped +% to do nothing. +% \begin{macrocode} + \newcommand\DeclareOption{\@ifstar{\@gobble}{\DTK@DeclareOption}} + \newcommand\DTK@DeclareOption[2]{\@namedef{ds@#1}{#2}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ProcessOptions} +% In \LaTeX\,2.09 the options are processed automatically. Thus +% this macro is simply a noop. +% \begin{macrocode} + \let\ProcessOptions=\relax +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\OptionNotUsed} +% This feature is not present in \LaTeX\,2.09. Thus the argument is +% silently absorbed and the macro is simply a noop. +% \begin{macrocode} + \let\OptionNotUsed=\gobble +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ProvidesClass} +% This declaration is used to type out the version information. +% \begin{macrocode} + \def\ProvidesClass#1[#2]{\typeout{Document Style #1 #2}} +% \end{macrocode} +% \end{macro} +% +% 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} +% +% We need a new handle to read files. This handle will be used to +% implement \verb|\InputIfFileExists|. Since \verb|\newread| is +% declared \verb|\outer| we have to allocate the new handle here. It is +% just used in the \LaTeX\,2.09 mode. +% +% \begin{macrocode} +\newread\DTK@file +% \end{macrocode} +% +% Now we can continue without considering the \LaTeX{} dialect any +% more. Any changes we make from now on are exclusivly based on the +% interface defined above. +% +% This is all we had to do to implement the compatibility mode. It might +% turn out that more features are desirable. Those extensions are left to +% future versions of this class, eh sorry, style. +% +% +% +% \subsection{Initializations} +% +% +% Now we can start to define the class. The version date is taken +% from the macro \verb|\filedate|. This macro is defined at the +% beginning of this file. The value is changed by the version +% control system RCS. +% \changes{1.4}{2000/08/21}{File version added to class identifier.} +% \begin{macrocode} +\ProvidesClass{dtk}[\filedate\space\fileversion\space gene] +% \end{macrocode} +% +% The options to switch to other point sizes are disabled. Nobody +% is supposed to use this class with another than the single design +% size. +% \begin{macrocode} +\DeclareOption{10pt}{\OptionNotUsed} +\DeclareOption{11pt}{\OptionNotUsed} +\DeclareOption{12pt}{\OptionNotUsed} +% \end{macrocode} +% +% The options to switch the oneside and twoside settings are +% disabled. Nobody is supposed to use this class with another than +% the single design size. +% \begin{macrocode} +\DeclareOption{twoside}{\OptionNotUsed} +\DeclareOption{oneside}{\OptionNotUsed} +% \end{macrocode} +% +% We define an internal style option ``full''. This loads +% the multicolumn package from the Mainz distribution. It is only +% needed to produce the full journal. Additionally several macros +% are only defined in the full version. This makes sure that authors can +% not play with too much internal macros. +% \begin{macrocode} +\DeclareOption{full}{\DTK@Author@false} +% \end{macrocode} +% +% The package option \verb|omitgerman| can be used to omit the +% loading of the package \verb|german.sty|. This migth be necessary +% if packages are required which have to be loaded before +% \verb|german|. +% \begin{macrocode} +\DeclareOption{omitgerman}{\DTK@german@false} +% \end{macrocode} +% +% In 1996 the layout of ``Die TeXnische Kom\"odie'' has been +% changed. The option \verb|ancient| can be used to switch back to +% the old layout. +% \begin{macrocode} +\DeclareOption{ancient}{\def\DTK@layout{95}} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareOption{95}{\def\DTK@layout{95}} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareOption{96}{\def\DTK@layout{96}} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareOption{97}{\def\DTK@layout{97}} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareOption{98}{\def\DTK@layout{98}} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareOption{99}{\def\DTK@layout{99}} +% \end{macrocode} +% \changes{1.4}{2000/08/12}{Option for 2000 added.} +% \begin{macrocode} +\DeclareOption{00}{\def\DTK@layout{00}} +% \end{macrocode} +% \changes{1.5}{2001/04/23}{Option for 2001 added.} +% \begin{macrocode} +\DeclareOption{01}{\def\DTK@layout{01}} +% \end{macrocode} +% \changes{1.7}{2001/10/04}{Option for 2002 added.} +% \begin{macrocode} +\DeclareOption{02}{\def\DTK@layout{02}} +% \end{macrocode} +% +% The remaining options are handed down to the base class \verb|book|. +% This works for \LaTeXe{} and is a noop for \LaTeX\,2.09. +% \begin{macrocode} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}} +% \end{macrocode} +% +% Now we can process all options. Again this works for \LaTeXe{} +% and is a noop for \LaTeX\,2.09 since the options are +% automatically processed there. +% \begin{macrocode} +\ProcessOptions +% \end{macrocode} +% +% \subsection{Loading the Used Packages/Styles} +% +% This class is a variation of the \verb|book| class. Thus +% we load the base class. This loading is done with the macro from +% the interface definition or the built-in \LaTeXe{} primitive. +% \begin{macrocode} +\LoadClass{book} +% \end{macrocode} +% +% The T1 font encoding is used. +% \changes{1.4}{2000/08/12}{T1 font encoding enabled.} +% +% \begin{macrocode} +\RequirePackage[T1]{fontenc} +%</class> +% \end{macrocode} +% +% For old issues of the journal the OT1 font encoding is used +% instead. +% +% \begin{macrocode} +%<*ninetyfive|ninetysix|ninetyseven|ninetyeight> +\RequirePackage[OT1]{fontenc} +%</ninetyfive|ninetysix|ninetyseven|ninetyeight> +%<*class> +% \end{macrocode} +% +% The package ``\texttt{ngerman}'' is used since this class is +% intended to be used by german users mainly. As one result the +% language is set to german as default. On the other side some +% parameters are modified to get a layout according to german +% habits. E.g. fench spacing is activated. +% +% There are some known problems when (n)german.sty is used. Therefore +% it might turn out necessary to load (n)german.sty after other +% packages have been loaded. For this purpose the option +% |omitgerman| can be used. To ensure proper operation of dtk it is +% necesary to call the macro \verb|\DTKgerman| after the style +% (n)german has been loaded. +% +% \changes{1.7}{2001/11/03}{The package ngerman is used to support +% the current orthography.} +% \begin{macrocode} +\ifDTK@german@ +\RequirePackage{ngerman} +\selectlanguage{ngerman} +\else +\typeout{*** Warning: Loading of (n)german has been omitted. You have to + load it manually.} +\typeout{*** Don't forget to use the macro \string\DTKgerman\space + afterwards.} +\fi +%<*ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine> +\ifDTK@german@ +\RequirePackage{german} +\selectlanguage{german} +\fi +%</ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine> +% \end{macrocode} +% +% The package ``\texttt{multicol}'' is used in the full version. Thus +% we only load it if the option \verb|full| has been given. +% \changes{1.4}{2000/08/06}{Packages graphicx and color are required.} +% \begin{macrocode} +\ifDTK@Author@\else + \RequirePackage{multicol} + \RequirePackage{graphicx,color} +\fi +\RequirePackage{dtklogos} +% \end{macrocode} +% +% +% \begin{macro}{\NeedPackage} +% \changes{1.3}{1997/01/29}{Macro added.} +% This macro can be used to declare in a single article which +% packages are required. At this places it is too late to load +% them if they are not loaded already. In stead a fat message is +% presented which warns the user of potential problems. +% +% This macro takes a single argument which is the name of +% \emph{one} package. Multiple packages and versions are not +% supported (yet). +% +% This macro is copied and modified from an \LaTeX2\ (june 1996) +% internal. It seems as \LaTeXe\ defines a control sequences for +% each package which is loaded. This mechanism is exploited. +% +% Since older versions of \LaTeX\ do not support this mechanism +% warning are reported even so everything is ok. +% \begin{macrocode} +\newcommand\NeedPackage[1]{% + \expandafter\ifx\csname ver@#1.sty\endcsname\relax + \typeout{***}% + \typeout{***}% + \typeout{*** The required package `#1' seems not to be loaded.}% + \typeout{*** I try to stumble along as good as I can.}% + \typeout{*** Expect some undefined macros or other errors.}% + \typeout{***}% + \typeout{***} + \fi} +% \end{macrocode} +% \end{macro} +% +% +% \subsection{Layout Parameters} +% +% The layout can be influenced by a large number of +% parameters. Thus the design decisions have been made transparent +% (to a certain degree at least). These options are not meant to be +% changed except when a new layout is being designed and implemented. +% +% +% The size of the paper is A5. Thus the paper dimensions are defined +% appropriately. +% \begin{macrocode} +\paperwidth = 148.5mm +\paperheight = 210mm +% \end{macrocode} +% \changes{1.4}{2000/08/06}{New page dimensions for 1/2000.} +% The height is set to 471\,pt; the width is 342pt. +% \begin{macrocode} +\textheight = 471pt +\textwidth = 333pt +%</class> +% \end{macrocode} +% The height is set to 484\,pt = 170.10654\,mm; the +% width is 342\,pt = 120.19925\,mm. This is slightly larger than in the +% predecessor style. +% \begin{macrocode} +%<*ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine> +\textheight = 484pt +\textwidth = 342pt +%</ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine> +%<*class> +% \end{macrocode} +% +% The page is flushed left. A left margin of one inch is the default +% on any properly installed printer. Any adjustment of the +% printable area on the page is left to the output driver. +% \begin{macrocode} +\oddsidemargin = 0pt +\evensidemargin = \oddsidemargin +\topmargin = 0pt +% \end{macrocode} +% +% The head line needs some space. In fact this depends on some +% configurable macros. Nevertheless we take the old values and +% leave it to a user to change those values if required. +% \begin{macrocode} +\headheight = 17pt +\headsep = 17pt +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\headheight = 14pt +\headsep = 12pt +%</ninetyfive> +%<*class> +% \end{macrocode} +% +% The foot line needs some space. The same remarks given above +% apply here too. +% \begin{macrocode} +\footskip = 24pt +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\footskip = 21pt +%</ninetyfive> +%<*class> +% \end{macrocode} +% +% Paragraphs are not indented but separated by additional lead +% only. This lead may expand a little bit but it may not +% shrink. (Since the whole journal is typeset with raggedbottom it +% is not clear to me if this makes sense at all) +% \begin{macrocode} +\parskip = 0.5\baselineskip \advance\parskip by 0pt plus 2pt +\parindent = 0pt +% \end{macrocode} +% +% To reduce the probability that a float requires a complete page +% we increase the allowed fraction which can be occupied by floats +% at the top and the bottom of the page. Additionally we reduce the +% fraction required for text. +% \begin{macrocode} +\renewcommand\topfraction{.9} +\renewcommand\bottomfraction{.9} +\renewcommand\textfraction{.1} +% \end{macrocode} +% +% +% \changes{1.4}{2000/08/21}{columnsep reduced to 5pt} +% \begin{macrocode} +\columnsep = 5pt +%</class> +%<*ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine> +\columnsep = 10pt +%</ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine> +%<*class> +% \end{macrocode} +% +% \changes{1.5}{2001/04/24}{emergencystretch set to 1.5em.} +% \begin{macrocode} +\emergencystretch = 1.5em +%</class> +%<*ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine|twothousand> +\emergencystretch = 0pt +%</ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine|twothousand> +%<*class> +% \end{macrocode} +% +% As promised before we disable vertical adjustment of pages. This +% seems to be a good strategy to avoid ragged apearance by too much +% space between paragraphs. +% \begin{macrocode} +\raggedbottom +% \end{macrocode} +% +% To avoid a bad layout we adjust some parameters. Thus we try to +% avoid widows and clubs. +% \begin{macrocode} +\clubpenalty = 10000 +\widowpenalty = 10000 +% \end{macrocode} +% +% \begin{macro}{\DTKgerman} +% We will change some of the captions names used within \LaTeX{}. To avoid +% that the package ``\texttt{german}'' undoes our efforts we anchor the +% changes in the \verb|\captionsgerman| macro. To do so we have to save the +% old meaning in an internal name. +% \changes{1.5}{2001/04/24}{Method for ngerman added} +% \begin{macrocode} +\newcommand\DTKgerman{ + \let\DTK@captionsgerman=\captionsgerman + \let\captionsgerman=\DTK@captionsgerman + \@ifundefined{l@ngerman}{}{\selectlanguage{ngerman}}% +} +%</class> +% \end{macrocode} +% +% \begin{macrocode} +%<*ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine> +\renewcommand\DTKgerman{ + \let\DTK@captionsgerman=\captionsgerman + \let\captionsgerman=\DTK@captionsgerman + \selectlanguage{german}% +} +%</ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\DTK@captionsgerman} +% +% Now we can redefine the captions command. First of all we use the +% old definition. Thus we avoid duplicating the whole definition +% and maybe getting in trouble with some future version. +% \begin{macrocode} +\newcommand\DTK@captionsgerman{ + \DTK@captionsgerman +% \end{macrocode} +% +% \begin{macro}{\refname} +% Just in case that an article contains a list of references we +% define the title for this section. +% Well, in fact we assume that the \LaTeX{} used is not too +% ancient. Otherwise this will not work properly. +% \begin{macrocode} + \gdef\refname{Literatur}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\bibname} +% Ok. And now the same trick for the title of the bibliography. +% \begin{macrocode} + \gdef\bibname{Literatur}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\contentsname} +% The headline for the table of contents is defined appropriately. +% \verb|\volume| contains the number of the current volume. This +% number is set by the macro producing the front page. +% \begin{macrocode} + \gdef\contentsname{Inhalt Heft \volume}% +% \end{macrocode} +% \end{macro} +% +% Now we are done. We just have to make sure that the new values +% are activated by calling the new captions macros. +% +% \begin{macrocode} +} +% \end{macrocode} +% \end{macro} +% +% If the option german has been loaded automatically then we have +% to modify the captions at once. Otherwise the user is responsible +% to call \verb|\DTKgerman| after the package german has been loaded. +% \begin{macrocode} +\ifDTK@german@ + \DTKgerman +\fi +%</class> +% \end{macrocode} +% +% \begin{macrocode} +%<*ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine> +\ifDTK@german@ + \DTKgerman +\fi +%</ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine> +%<*class> +% \end{macrocode} +% +% \begin{macro}{\addressname} +% The heading for the list of authors is defined in this macro. +% \begin{macrocode} +\newcommand\addressname{Autoren/Organisatoren} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\journalname} +% The name of the journal is stored in this macro. This should make +% it easier to use this class for other purposes than typesetting +% ``Die \TeX nische Kom\"odie''. It is not the primary intention to +% support this but some attempts have been made to use this class +% for other publications. +% \changes{1.4}{2000/08/12}{Macro introduced.} +% \begin{macrocode} +\newcommand\journalname{Die \TeX nische Kom{\"o}die} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\volume} +% The number of the current volume is stored in this macro. The +% value is automatically set with the macro +% \verb|\DieTeXnischeKomoedie|. Since this macro is usually only +% used in the full version we provide a reasonable default. +% \changes{1.4}{2000/08/12}{Current date and time added.} +% \begin{macrocode} +\newcommand\volume{?/?? --- Entwurf \today\ + \begingroup + \count1=\time\divide\count1 60 + \count2=\count1 \multiply\count2 -60 \advance\count2\time + \the\count1:\ifnum\count2<10 0\fi\the\count2 + \endgroup +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\footmark} +% This macro contains the text of the running foot. +% \begin{macrocode} +\newcommand\footmark{\journalname\ \volume} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ChapterFont} +% This macro contains the font changing command issued before +% typesetting a chapter title. +% \begin{macrocode} +\newcommand\ChapterFont{\Large\sf} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\ChapterFont{\Large\bf} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\SectionFont} +% This macro contains the font changing command issued before +% typesetting the section heading. +% \begin{macrocode} +\newcommand\SectionFont{\large\sf} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\SectionFont{\normalsize\bf} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\SubsectionFont} +% This macro contains the font changing command issued before +% typesetting the subsection heading. +% \begin{macrocode} +\newcommand\SubsectionFont{\normalsize\sf} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\SubsectionFont{\normalsize\it} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\SubsubsectionFont} +% This macro contains the font changing command issued before +% typesetting the subsubsection heading and below. +% \begin{macrocode} +\newcommand\SubsubsectionFont{\normalsize\sf} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\SubsubsectionFont{\normalsize\it} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\AuthorFont} +% This macro contains the font changing command issued before +% typeseting the author of an article. +% \begin{macrocode} +\newcommand\AuthorFont{\large\sf} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\AuthorFont{\normalsize\rm} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\TitleFont} +% This macro contains the font changing command issued before +% typeseting the title of an article. +% \begin{macrocode} +\newcommand\TitleFont{\Large\sf} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\TitleFont{\large\bf} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\HeadFont} +% This macro contains the font changing command issued before +% typeseting the running head line. +% \begin{macrocode} +\newcommand\HeadFont{\sf\fontshape{sl}\selectfont} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\HeadFont{\sl} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\FootFont} +% This macro contains the font changing command issued before +% typeseting the running foot line. +% \begin{macrocode} +\newcommand\FootFont{\footnotesize\sf\fontshape{sl}\selectfont} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\FootFont{\footnotesize\sl} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\PagenoFont} +% This macro contains the font changing command issued before +% typeseting the page number. +% \begin{macrocode} +\newcommand\PagenoFont{\sf} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\PagenoFont{\rm} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\NewpageThreshold} +% The macro \verb|\NewpageThreshold| is used to determine how much +% space is needed on a page to start a new article. If less space +% is left then the next article is started on the next page. +% \begin{macrocode} +\newcommand\NewpageThreshold{100pt} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\HeadRuleDepth} +% This macro contains the depth of the line between the running +% head and the main body of text. +% \begin{macrocode} +\newcommand\HeadRuleDepth{0pt} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\HeadRuleDepth{0.1pt} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\FootRuleDepth} +% This macro contains the depth of the line between the running +% foot and the main body of text. +% \begin{macrocode} +\newcommand\FootRuleDepth{0pt} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\FootRuleDepth{0.1pt} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ContentsParSkip} +% This macro contains the \verb|parskip| used for the table of +% contents. +% \begin{macrocode} +\newcommand\ContentsParSkip{1pt} +% \end{macrocode} +% \end{macro} +% +% +% \subsection{Size Changing Commands and Mathematics} +% +% The size changing commands \verb|\small| and \verb|\footnotesize| +% redefine also \verb|\@listi|. This effect has to be undone. +% +% +% \begin{macro}{\DTK@math} +% This macro modifies the relavant parameters for typesetting +% mathematics. +% \begin{macrocode} +\newcommand\DTK@math{% + \abovedisplayskip = 4pt plus 2pt minus 1pt + \belowdisplayskip = \abovedisplayskip + \abovedisplayshortskip = 2pt plus 2pt + \belowdisplayshortskip = \abovedisplayshortskip +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@normalsize} +% This is an internal size changing command. We save the old +% definition in \verb|\DTK@@normalsize| and redefine it. After the +% old definition is used some sizes are changed to a smaller value. +% \begin{macrocode} +\let\DTK@@normalsize=\@normalsize +\def\@normalsize{% + \DTK@@normalsize + \DTK@math + \let\@listi=\@listI} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\normalsize} +% This is a size changing command. We save the old +% definition in the macro \verb|\DTK@normalsize| and redefine +% it. After the old definition is used some sizes are changed to a +% smaller value. +% \begin{macrocode} +\let\DTK@normalsize=\normalsize +\renewcommand\normalsize{% + \DTK@normalsize + \DTK@math + \let\@listi=\@listI} +\normalsize +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\small} +% This is a size changing command. We save the old +% definition in \verb|\DTK@small| and redefine it. After the +% old definition is used some sizes are changed to a smaller value. +% \begin{macrocode} +\let\DTK@small=\small +\renewcommand\small{% + \DTK@small + \DTK@math + \let\@listi=\@listI} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\footnotesize} +% This is a size changing command. We save the old +% definition in the macro \verb|\DTK@footnotesize| and redefine +% it. After the old definition is used some sizes are changed to a +% smaller value. +% \begin{macrocode} +\let\DTK@footnotesize=\footnotesize +\renewcommand\footnotesize{% + \DTK@footnotesize + \DTK@math + \let\@listi=\@listI} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Path} +% \changes{1.3}{1997/01/28}{Macro added.} +% This macro can be used to typeset paths to network sources like +% ftp directories or URLs as well as email addresses. The argument +% is typeset in a teletype font. Underscores and tildes are treated +% as ordinary characters. Linebreaking is enabled after certain +% special characters without inserting a hyphen. +% +% Unfortunately this macro is fragile. +% \begin{macrocode} +\begingroup +\gdef\Path@SepI{/""} +\gdef\Path@SepII{\symbol{92}""} +\gdef\Path@SepIII{:""} +\catcode`\/=13 +\catcode`\:=13 +\catcode`\^=0 +^catcode`\\=13 +^gdef^Path{^begingroup + ^catcode`^/=13 + ^catcode`^\=13 + ^catcode`^:=13 + ^catcode`^~=12 + ^catcode`^$=12 %$ + ^catcode`^_=12 + ^catcode`^#=12 + ^let/=^Path@SepI + ^let\=^Path@SepII + ^let:=^Path@SepIII + ^@Path} +^gdef^@Path#1{^texttt{#1}^endgroup} +^endgroup +% \end{macrocode} +% \end{macro} +% +% +% \subsection{Logical Markup} +% +% One of the advantages of \LaTeX\ is the possiblity to use logical +% markup. For this purpose several markup macros are provided. +% Unfortunately the macros provided are not sufficient in several +% situations. Thus this class provides some additional markup +% macros to come closer to the ideal situation. +% +% \begin{macro}{\File} +% This macro is intended to be used for typesetting file names. +% \changes{1.7}{2001/11/04}{macro added.} +% \begin{macrocode} +\providecommand\File[1]{\texttt{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Package} +% This macro is intended to be used for typesetting package names. +% \changes{1.7}{2001/11/04}{macro added.} +% \begin{macrocode} +\providecommand\Package[1]{\texttt{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Program} +% This macro is intended to be used for typesetting program names. +% \changes{1.7}{2001/11/04}{macro added.} +% \begin{macrocode} +\providecommand\Program[1]{\texttt{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Command} +% This macro is intended to be used for typesetting command names. +% For instance command names are relevant when talking about Unix +% commands. +% \changes{1.7}{2001/11/04}{macro added.} +% \begin{macrocode} +\providecommand\Command[1]{\texttt{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Macro} +% This macro is intended to be used for typesetting macro names. +% \changes{1.7}{2001/11/04}{macro added.} +% \begin{macrocode} +\providecommand\Macro[1]{\texttt{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Environment} +% This macro is intended to be used for typesetting environment names. +% \changes{1.7}{2001/11/04}{macro added.} +% \begin{macrocode} +\providecommand\Environment[1]{\texttt{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Email} +% This macro is intended to be used for typesetting email addresses. +% \changes{1.7}{2001/11/04}{macro added.} +% \begin{macrocode} +\providecommand\Email[1]{\texttt{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Acronym} +% This macro is intended to be used for typesetting acronyms. It is +% highly recommended to use this macro sparsingly +% \changes{1.7}{2001/11/04}{macro added.} +% \begin{macrocode} +\providecommand\Acronym[1]{\textsc{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \subsection{List Making Environments} +% +% The list making environments \verb|description|, \verb|itemize|, +% and \verb|enumerate| are adapted to use less vertical space. This +% is mainly done by resetting \verb|\parsep|, \verb|\itemsep|, and +% \verb|\topsep|. +% +% The environments \verb|itemize| and \verb|enumerate| use the +% macros \verb|@listi|, \verb|@listii|, etc. Thus it is sufficient +% to redefine those macros. +% +% \begin{macrocode} +\def\@listI{% + \leftmargin = \leftmargini + \parsep = \parskip + \topsep = 0pt plus 2pt + \itemsep = 0pt plus 2pt} +% \end{macrocode} +% +% \begin{macrocode} +\let\@listi=\@listI +% \end{macrocode} +% +% \begin{macrocode} +\def\@listii{% + \leftmargin = \leftmarginii + \labelwidth = \leftmarginii + \advance \labelwidth by-\labelsep + \parsep = \parskip + \topsep = 0pt plus 2pt + \itemsep = 0pt plus 2pt} +% \end{macrocode} +% +% \begin{macrocode} +\def\@listiii{% + \leftmargin = \leftmarginiii + \labelwidth = \leftmarginiii + \advance \labelwidth by-\labelsep + \partopsep = 1pt plus 0pt minus 1pt + \parsep = \parskip + \topsep = 0pt plus 2pt + \itemsep = 0pt plus 2pt} +% \end{macrocode} +% We activate the defaults. +% \begin{macrocode} +\@listi +% \end{macrocode} +% +% For some reason \verb|@listi| is redefined in \verb|small| and +% \verb|\footnotesize|. Thus we have to take care to undo the +% changes made there. For this purpose we save the old definitions +% and restore the intended meaning of \verb|\@listi| after calling +% the old macro. +% +% +% \begin{macrocode} +\renewcommand\labelitemi{$\m@th\circ$} +\renewcommand\labelitemii{$\m@th\triangleright$} +\renewcommand\labelitemiii{$\m@th\diamond$} +\setlength\leftmargini{1.5em} +\setlength\leftmarginii{1.4em} +\setlength\leftmarginiii{1.3em} +\setlength\leftmarginiv{1.2em} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\labelitemi{$\m@th\bullet$} +\renewcommand\labelitemii{\bf --} +\renewcommand\labelitemiii{$\m@th\ast$} +\setlength\leftmargini{2.5em} +\setlength\leftmarginii{2.2em} +\setlength\leftmarginiii{1.87em} +\setlength\leftmarginiv{1.7em} +%</ninetyfive> +%<*class> +% \end{macrocode} +% +% \begin{environment}{description} +% To get things smaller we completely redefine the description +% environment. Nevertheless we make use of the old label formatting +% macro. +% \begin{macrocode} +\renewenvironment{description}{% + \begin{list}{}{% + \labelwidth = 0pt + \itemindent = -\leftmargin + \parsep = \parskip + \topsep = 0pt plus 2pt + \itemsep = 0pt plus 2pt + \let\makelabel=\descriptionlabel}% + }{\end{list}} +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{descriptionlabel} +% +% \begin{macrocode} +\renewcommand\descriptionlabel[1]{% + \hspace\labelsep{\normalsize\it #1}} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\descriptionlabel[1]{\hspace\labelsep \bf #1} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{environment}{quotation} +% Since the whole journal does not use parindent we make the +% quotation environment the same as the quote environment. +% \begin{macrocode} +\renewenvironment{quotation}{% + \list{}{\rightmargin\leftmargin}% + \item\relax +}{\endlist} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewenvironment{quotation}{% + \list{}{\listparindent 1.5em + \itemindent\listparindent + \rightmargin\leftmargin\parsep \z@ plus\p@}% + \item\relax +}{\endlist} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{roll} +% We add a new type of list making environment. The \verb|roll| +% does not indent per default but just typesets the argument of the +% \verb|\item| macro in boldface. It has one optional argument +% which can be used to specify the amount of indentation desired. +% +% \begin{macrocode} +\newenvironment{roll}% + {\@ifnextchar[{\r@ll}{\r@ll[0pt]}}% + {\end{list}} +% \end{macrocode} +% +% \begin{macrocode} +\def\r@ll[#1]{\begin{list}{}{% + \labelwidth = #1 + \leftmargin = \labelwidth + \itemsep = .3ex + \let\makelabel=\rolllabel}% + } +% \end{macrocode} +% \end{environment} +% +% Typeset the label of a \verb|roll| environment. +% \begin{macrocode} +\newcommand\rolllabel[1]{\hspace\labelsep \textbf{#1}\hfill} +% \end{macrocode} +% +% +% \begin{environment}{example} +% We provide an environment for typesetting example code. +% It is typeset in a smaller font with an indentation left and right. +% \begin{macrocode} +\newenvironment{example}{\begin{quote}\small}{\end{quote}} +% \end{macrocode} +% \end{environment} +% +% +% +% +% +% \begin{macrocode} +\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname + ext@#1\endcsname}{#1}{\protect\numberline{\csname + the#1\endcsname}{\ignorespaces #2}}\begingroup + \@parboxrestore + \small + \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par + \endgroup} +% \end{macrocode} +% +% +% \subsection{Sectioning Commands} +% +% +% The counter \verb|secnumdepth| determines which sectional units +% are decorated with a number. Since we don't want sections and +% everything below to be numbered we set this counter to 0. +% \begin{macrocode} +\setcounter{secnumdepth}{0} +% \end{macrocode} +% +% All but the first article are separated by additional vertical +% space from the preceding text. Thus we define a new boolean +% variable to determine which article is the first one in a chapter. +% \begin{macrocode} +\newif\ifFirstArticle +\FirstArticletrue +% \end{macrocode} +% +% \begin{macro}{\part} +% This definition is used in the author version, where \verb|\part| +% should not be used. An error message is issued instead. +% \begin{macrocode} +\ifDTK@Author@ + \renewcommand\part{% + \typeout{*** Parts can not be used in single articles.}} +\else +% \end{macrocode} +% +% A part is aligned to the next full page. A special page style is +% used on a first page of a part. The macro \verb|\part| has one +% ordinary argument which constitutes the main title of the part. +% This argument can be preceeded by an optional argument---enclosed +% in brackets. This first optional argument is used as the running +% head. If it is missing the main title is used instead. +% +% The main argument can be followed by another optional argument. +% This second optional argument is the subtitle of the part. +% If none is given then the empty default is used instead. +% The second optional argument is an enhancement compared to the +% original definition of parts in \LaTeX. +% +% \begin{macrocode} + \renewcommand\part{% + \clearpage + \thispagestyle{part}% + \FirstArticletrue + \Advance@Label@Prefix + \@ifstar{\part@star{chapter}}{\part@star{part}}} +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\part@star} +% If the next character is a \verb|[| then the part macro has an +% optional argument. +% \begin{macrocode} +\newcommand\part@star[1]{% + \@ifnextchar[{\part@optional{#1}}{\part@normal{#1}}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\part@optional} +% This macro treats the case that the part macro has an optional +% argument. This optional argument is used in the running head and +% the table of contents. +% \begin{macrocode} +\def\part@optional#1[#2]#3{% + \markboth{#2}{#2}% + \addcontentsline{toc}{#1}{#2}% + \@ifnextchar[{\part@subtitle{#3}}{\part@nosubtitle{#3}}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\part@normal} +% This macro treats the case that the part has no optional +% argument. In this case the title itself is used in the head and +% in the table of contents. +% \begin{macrocode} +\newcommand\part@normal[2]{% + \markboth{#2}{#2}% + \addcontentsline{toc}{#1}{#2}% + \@ifnextchar[{\part@subtitle{#2}}{\part@nosubtitle{#2}}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\part@subtitle} +% This macro treats the case that the part has an optional +% argument for a subtitle. +% \begin{macrocode} +\def\part@subtitle#1[#2]{\TopArt{#1}{\\#2}\bigskip\par} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\part@nosubtitle} +% This macro treats the case that the part has no optional +% argument for a subtitle. +% \begin{macrocode} +\newcommand\part@nosubtitle[1]{\TopArt{#1}{}\bigskip\par} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\TopArt} +% This macro is used to generate the layout of the beginning of a +% part. It takes two arguments. The first argument is the title of +% the part and the second argument is its subtitle. If the subtitle +% is not empty then it is started by \verb|\\|. +% \begin{macrocode} +\newcommand\TopArtRule{2pt} +\newcommand\TopArt[2]{% + \begin{minipage}{\textwidth}\parskip=0pt\parindent=0pt + \null\vspace{18pt}\par\raggedright\large\sf + {\huge\sf #1}\\[-.5ex]\rule{\textwidth}{\TopArtRule}% + \vspace{2pt} #2 + \end{minipage}} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\TopArt[2]{% + \begingroup + \unitlength = 1pt + \@tempcnta = \textwidth + \divide\@tempcnta by \unitlength + \framebox(\@tempcnta,38){\parbox{.95\textwidth}{% + \begin{center}{\large\bf #1}#2 \end{center}}} + \endgroup} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\chapter} +% In the author version of this class no chapters are allowed. They +% are activated when the option \verb|full| is given to the +% class/style. Otherwise an error message is printed. +% \begin{macrocode} +\ifDTK@Author@ + \renewcommand\chapter{% + \typeout{*** Chapters can not be used in single articles.}} +\else +% \end{macrocode} +% +% The appearance of a chapter is the same as the appearance of a +% section. Additionally a line is added to the table of contents +% and the headline is set appropriately. +% +% Since we want to deal with optional arguments and star variants +% things are becoming a little bit more complicated. I don't know +% if it is worth the effort. Maybe nobody will ever use this +% feature anyhow. +% \begin{macrocode} + \renewcommand\chapter{% + \@ifnextchar*{\chapter@star}{% + \@ifnextchar[{\chapter@optional}{\chapter@normal}}} +\fi +% \end{macrocode} +% Ignore any number of stars. Well this may be to harsh but I think +% this is enough. +% \begin{macrocode} +\def\chapter@star*{\chapter} +% \end{macrocode} +% Provide a default for the optional argument. +% \begin{macrocode} +\def\chapter@normal#1{\chapter@optional[#1]{#1}} +% \end{macrocode} +% Now do the whole job. +% \begin{macrocode} +\def\chapter@optional[#1]{% + \typeout{#1}% + \Advance@Label@Prefix + \addcontentsline{toc}{chapter}{#1}% + \markboth{#1}{#1}% + \FirstArticletrue + \@startsection{chapter}{0}{\z@}{-1ex plus-1ex minus + -.2ex}{.5ex plus.2ex}{\ChapterFont}*% + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\section} +% The section is redefined to use less vertical space than the +% original definition. +% +% \begin{macrocode} +\renewcommand\section{\@startsection{section}{1}{\z@}{% + -2ex plus-1ex minus-.2ex}{.5ex plus.2ex}{\SectionFont}} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\section{\@startsection{section}{1}{\z@}{% + -1ex plus-1ex minus-.2ex}{.5ex plus.2ex}{\SectionFont}} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\subsection} +% The subsection is redefined to use less vertical space than the +% original definition. +% +% \begin{macrocode} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}{% + -2ex plus-1ex minus-.2ex}{0.75ex plus.2ex}{\SubsectionFont}} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}{% + -1ex plus-1ex minus-.2ex}{0.75ex plus.2ex}{\SubsectionFont}} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\subsubsection} +% The subsubsection is redefined to use less vertical space than +% the original definition. +% +% \begin{macrocode} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}{% + -2ex plus-1ex minus-.2ex}{0.75ex plus.2ex}{\SubsubsectionFont}} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}{% + -1ex plus-1ex minus-.2ex}{0.75ex plus.2ex}{\SubsubsectionFont}} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\paragraph} +% The paragraph is redefined to use less vertical space than the +% original definition. +% +% \begin{macrocode} +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}{% + 0ex plus1ex minus.2ex}{-.5ex}{\SubsubsectionFont}} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}{% + 1ex plus1ex minus.2ex}{-.5ex}{\SubsubsectionFont}} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\subparagraph} +% The subparagraph is redefined to use less vertical space than the +% original definition. +% +% \begin{macrocode} +\renewcommand\subparagraph{\@startsection{subparagraph}{4}% + {\parindent}{0ex plus1ex minus.2ex}{-.5ex}{\SubsubsectionFont}} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\subparagraph{\@startsection{subparagraph}{4}% + {\parindent}{1ex plus1ex minus.2ex}{-.5ex}{\SubsubsectionFont}} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% +% \subsection{The Article Layout} +% +% +% \begin{macro}{\keywords} +% The macro \verb|keywords| is intended for the user to specify +% keywords for the article. It is not used for the article itself +% but for the reprint and the \BibTeX\ file of all articles. +% \begin{macrocode} +\newcommand\keywords[1]{\def\DTK@keywords{#1}} +\def\DTK@keywords{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\maketitle} +% The title of an article is typeset together with the author +% information. If it is the first article in this chapter then +% additional vertical space is added. +% +% The title is added to the table of contents and the headline is +% adjusted appropriately. +% +% The macro \verb|\NewpageThreshold| is used to determine how much +% space is needed aon a page to start a new article. If less space +% is left then the next article is started on the next page. +% +% Now we can start to typeset the head of an article and perform +% all tasks required in this situation. +% +% \begin{macrocode} +\renewcommand\maketitle{% +% \end{macrocode} +% +% If we are not in a complete journal then we use a different page style +% for the first page. Thus it is possible to use this class to typeset +% preprints and get a better layout of the first page. +% \begin{macrocode} + \ifDTK@Author@ \thispagestyle{part}\fi +% \end{macrocode} +% +% Now we have to ensure that there is enough space left on this page to +% start a new article. If there isn't enough space we start the article on +% the next page. +% \changes{1.5}{2001/04/25}{Bugfix: constant replaced by macro.} +% \begin{macrocode} + \ifdim\DTKtitle@skip>0pt\vspace{\DTKtitle@skip}\fi + \begingroup + \dimen0=\vsize + \advance\dimen0 by -\pagetotal + \ifdim\dimen0<\NewpageThreshold + \newpage + \global\FirstArticletrue + \fi + \endgroup +% \end{macrocode} +% +% The namespace for labels has to be switched. This is done by +% calling the macro \verb|\Advance@Label@Prefix|. +% \begin{macrocode} + \Advance@Label@Prefix +% \end{macrocode} +% +% We encapsulate the title and author information in a minipage to avoid a +% pagebreak in beween (maybe not necessary). Then we draw a line to +% separate the article from the previous one. The line is required if the +% boolean variable \verb|FirstArticle| is true. This variable is set +% afterwards. +% \begin{macrocode} + \begingroup + \begin{minipage}{\textwidth} + \ifFirstArticle + \global\FirstArticlefalse + \vskip 3pt + \else + \DTKtitle@sep + \fi +% \end{macrocode} +% +% +% \begin{macrocode} + \setcounter{footnote}0 +% \end{macrocode} +% +% Now we insert the title and the author. The title is also put into the +% table of contents. The running head is adjusted. +% \begin{macrocode} + \@flushglue=0pt plus .3\textwidth\relax + \raggedright + \TitleFont + \spaceskip=\fontdimen2\font\relax + \xspaceskip=\fontdimen7\font\relax + \@title + \ifx\@author\@empty\else + \bigskip\par + \AuthorFont\@author + \fi + \end{minipage}% + \@thanks + \let\thanks\@gobble + \addcontentsline{toc}{chapter}{\@title}% + \markboth{\@title}{\@title}% + \endgroup +% \end{macrocode} +% +% Finally we rest certain values and insert some space to the beginning of +% the article. +% \begin{macrocode} + \let\@title=\@empty + \let\@author=\@empty + \let\@thanks=\@empty + \setcounter{figure}0 + \setcounter{table}0 + \setcounter{equation}0 +% \setcounter{footnote}0 + \medskip\par} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\DTKtitle@skip} +% +% \begin{macrocode} +\newcommand\DTKtitle@skip{12pt} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\DTKtitle@skip{0pt} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\DTKtitle@sep} +% +% \begin{macrocode} +\newcommand\DTKtitle@sep{\vspace{32pt plus 8pt minus 16pt}} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\DTKtitle@sep{\rule{\textwidth}{.4pt}% + \vskip 14pt plus 8pt minus 12pt} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% +% Several authors are separated by \verb|\and|. Here is a first +% approximation to deal with this case. +% +% \begin{macrocode} +\renewcommand\and{, } +% \end{macrocode} +% +% We provide default values for the author, the title and the +% footnote of the title. All of them are empty. +% \begin{macrocode} +\let\@title=\@empty +\let\@author=\@empty +\let\@thanks=\@empty +% \end{macrocode} +% +% \begin{environment}{abstract} +% The abstract is typeset in a smaller font indented left and right. +% The use of the quote environment ensures that the abstract can be +% broken at the end of the line. +% +% \begin{macrocode} +\newenvironment{abstract}{% + \begin{quote}\small + }{% + \end{quote}\medskip\par} +% \end{macrocode} +% \end{environment} +% +% +% \subsection{Numbering} +% +% The numbering is done on a global basis. No chapter numbers are +% prepended. Especially since none are used at all. This is just +% like in the article class. +% +% \begin{macrocode} +\renewcommand\thefigure{\arabic{figure}} +\renewcommand\thetable{\arabic{table}} +\renewcommand\theequation{\arabic{equation}} +% \end{macrocode} +% +% +% \subsection{Labels} +% +% Labels have to be used on an per article basis for this purpose +% we use a macro to hold the prefix for the labels. This prefix is +% prepended whenever something is done with the labels. +% +% The prefix is constructed from a numeric counter. This counter is% allocated and initialized. Maybe I could live without this +% counter but this way the labels look nicer (if you ever see them). +% \begin{macrocode} +\newcount\DTL@label +\DTL@label=0 +% \end{macrocode} +% +% \begin{macro}{\Advance@Label@Prefix} +% This macro is expanded whenever a new module is entered. It has +% to take care that a new and unique prefix string for the labels +% is generated and stored in the macro \verb|\Label@Prefix|. +% \begin{macrocode} +\newcommand\Advance@Label@Prefix{% + \advance\DTL@label 1 + \xdef\Label@Prefix{module \the\DTL@label:}} +% \end{macrocode} +% \end{macro} +% +% The label prefix has to be initalized. The easiest way to perform +% this task is touse the macro defined above. +% \begin{macrocode} +\Advance@Label@Prefix +% \end{macrocode} +% +% Sometimes it is desirable to use labels in the old +% sense. I.e. without the module system. For this purpose we keep +% the old definitions of the macros \verb|\ref|, \verb|\label|, and +% \verb|\pageref| under the new names \verb|\Ref|, \verb|\Label|, and +% \verb|\Pageref| respectivly. +% \begin{macrocode} +\let\Ref=\ref +\let\Label=\label +\let\Pageref=\pageref +% \end{macrocode} +% +% \begin{macro}{\ref} +% The module prefix is prepended before the original \verb|\ref| +% macros is used. +% \begin{macrocode} +\renewcommand\ref[1]{\Ref{\Label@Prefix:#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\label} +% The module prefix is prepended before the original \verb|\label| +% macros is used. +% \begin{macrocode} +\renewcommand\label[1]{\Label{\Label@Prefix:#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\pageref} +% The module prefix is prepended before the original \verb|\pageref| +% macros is used. +% \begin{macrocode} +\renewcommand\pageref[1]{\Pageref{\Label@Prefix:#1}} +% \end{macrocode} +% \end{macro} +% +% +% \subsection{Bibliography} +% +% \begin{macro}{\thebibliography} +% Instead of using a \verb|\chapter*| to start a bibliography we +% use a \verb|\section*|. Thus the bibliography should not appear +% in the table of contents. +% \changes{1.8}{2002/04/01}{typeset raggedright.} +% \begin{macrocode} +\renewcommand\thebibliography[1]{% + \section*{\refname}% + \list{[\arabic{enumi}]}{% + \settowidth\labelwidth{[#1]}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \usecounter{enumi}} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax\DTK@bibliography@rightskip} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\DTK@bibliography@rightskip} +% +% \changes{1.8}{2002/04/01}{macro added.} +% \begin{macrocode} +\newcommand\DTK@bibliography@rightskip{\rightskip=0pt plus 2em} +%</class> +%<*two> +\newcommand\DTK@bibliography@rightskip{} +%</two> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\DTK@bibliography} +% This macro is used to overwrite the macro \verb|\bibliography| +% when the complete journal is typeset. +% \begin{macrocode} +\newcommand\DTK@bibliography[1]{ + \InputIfFileExists{#1.bbl}{}{\typeout{--- File #1.bbl not found.}}} +% \end{macrocode} +% \end{macro} +% +% \changes{1.3}{1997/01/28}{Forcing the bibstyle.} +% We switch to the default bib style. +% +% \begin{macrocode} +\bibliographystyle{dtk} +% \end{macrocode} +% +% +% \subsection{Footnotes} +% +% This is just my personal taste. I have incorporated my +% fnblock.sty. This style option arranges things in a way that +% footnotes do not go beneath the footnotemarks. In addition they +% can be indented at the right side. +% +% Both indentation at both sides can be configured with the +% following two macros: +% \begin{macrocode} +\newcommand\DTK@fnrightmargin{0em} +\newcommand\DTK@fnleftmargin{1em} +% \end{macrocode} +% +% \begin{macro}{\@makefntext} +% And now we make the footnote to behave as desired. +% \changes{1.4}{2000/08/06}{Don't let footnote line and footnote +% text be broken across pages. Fix problem with footnotemarks.} +% \begin{macrocode} +\long\def\@makefntext#1{% + \@nobreaktrue + \begin{list}{}{% + \rightmargin=0pt% + \parsep=0.333\baselineskip plus 2pt + \leftmargin=\DTK@fnleftmargin} + \item\mbox{}% + \llap{\@textsuperscript{\normalfont\@thefnmark}\kern1pt}% + #1% + \end{list}} +%</class> +%<*ninetyfive> +\long\def\@makefntext#1{\parindent 1em\noindent + \hbox to 1.8em{\hss$\m@th^{\@thefnmark}$}#1} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@textsuperscript} +% Define \verb|\@textsuperscript| for older LaTeX(2e) versions. +% The macros has been copied from ``latex.ltx'' <1999/12/01>. +% \changes{1.4}{2000/08/12}{Macro introduced to fix problems with +% footnotes in minipages.} +% \begin{macrocode} +\@ifundefined{@textsuperscript}{% + \def\@textsuperscript#1{% + {\m@th\ensuremath{^{\mbox{\fontsize\sf@size\z@#1}}}}} +}{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\footnoterule} +% The rule separating main text and footnotes is defined. +% \begin{macrocode} +\renewcommand\footnoterule{% + \kern-3\p@ + \hrule\@width0.333\columnwidth + \kern2.6\p@} +%</class> +%<*ninetyfive> +\renewcommand\footnoterule{\kern-3\p@ + \hrule width .4\columnwidth + \kern 2.6\p@} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% +% \subsection{Defining Page Styles} +% +% \subsubsection{The Page Style ``plain''} +% +% The page style plain provides a head line and a foot line. The +% page number is printed in the outer corner of the head line. The +% inner part of the head line contains the title of the current +% article. +% +% The foot line contains the name and number of the current journal +% flushed towards the inner border of the page. +% +% The head line and the footline are separated by a bar from the +% main body of text. +% +% \begin{macrocode} +\renewcommand\ps@plain{% + \let\@mkboth=\@gobbletwo + \let\chaptermark=\@gobble + \let\sectionmark=\@gobble + \let\subsectionmark=\@gobble + \def\@oddhead{\vbox{\hbox to \textwidth{% + \let\\=\relax + \HeadFont \rightmark \hfil\PagenoFont\thepage}\kern 3pt + \ifdim\HeadRuleDepth>0pt \hrule depth\HeadRuleDepth\fi}}% + \def\@evenhead{\vbox{\hbox to \textwidth{% + \let\\=\relax + \PagenoFont \thepage\hfil\HeadFont \leftmark}\kern 3pt + \ifdim\HeadRuleDepth>0pt \hrule depth\HeadRuleDepth\fi}}% + \def\@oddfoot{\vbox{% + \ifdim\FootRuleDepth>0pt \hrule depth\FootRuleDepth \fi + \kern 5pt \hbox to \textwidth{\FootFont \footmark\hfil\null}}}% + \def\@evenfoot{\vbox{% + \ifdim\FootRuleDepth>0pt \hrule depth\FootRuleDepth \fi + \kern 5pt \hbox to \textwidth{\null\hfil\FootFont \footmark}}}} +% \end{macrocode} +% +% +% \subsubsection{The Page Style ``headings''} +% +% The page style headings is an alias to the page style plain. +% \changes{1.4}{2000/09/05}{definition for pagestyle headings added.} +% \begin{macrocode} +\let\ps@headings\ps@plain +% \end{macrocode} +% +% \subsubsection{The Page Style ``part''} +% +% The page style \verb|part| contains the same foot as the page style +% \verb|plain|. The head line is empty. +% +% This style is used when a new part is started. It can be +% configured by redefining the macros \verb|FootRuleDepth|, +% \verb|\FootFont|, and \verb|\PagenoFont|. +% +% \begin{macrocode} +\newcommand\ps@part{% + \let\@mkboth=\@gobbletwo + \let\chaptermark=\@gobble + \let\sectionmark=\@gobble + \let\subsectionmark=\@gobble + \let\@oddhead=\@empty + \let\@evenhead=\@empty + \def\@oddfoot{\vbox{% + \ifdim\FootRuleDepth>0pt \hrule depth\FootRuleDepth \fi + \kern 5pt \hbox to \textwidth{\FootFont \footmark\hfil\null}}}% + \def\@evenfoot{\vbox{% + \ifdim\FootRuleDepth>0pt \hrule depth\FootRuleDepth \fi + \kern 5pt \hbox to \textwidth{\null\hfil\FootFont \footmark}}}} +% \end{macrocode} +% +% The default page style is plain. This has been set by the book +% style before. If we want our changes to take effect we have to +% reinitialize the page style. +% +% \begin{macrocode} +\pagestyle{plain} +% \end{macrocode} +% +% +% +% \subsection{The Layout of the Titlepage} +% +% \begin{macro}{\DieTeXnischeKomoedie} +% This macro produces the title page. It has three arguments. The +% first argument is the number of the volume. This value is also +% stored in the macro \verb|\volume| for later use. The second +% argument is the number of the year and the third argument is the +% date when this volume is released. The date is given as month and +% year. +% +% The appearance of the cover page is determined by the macro +% \verb|\CoverArt|. This can be redefined to get a different cover +% page. +% \begin{macrocode} +\ifDTK@Author@\else + \newcommand\DieTeXnischeKomoedie[3]{% + \thispagestyle{empty}% + \gdef\volume{#1}% + \gdef\DTKedition{#2}% + \gdef\DTKdate{#3}% + \global\let\bibliography=\DTK@bibliography + \global\let\bibliographystyle=\@gobble + \CoverArt{#1}{#2}{#3}% + \newpage} +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\CoverArt} +% +% This macro implements the layout of the cover page of +% DTK. It can be redefined to get a different layout. +% +% \changes{1.4}{2000/08/06}{Special effects via the packages +% graphicx and color instead of PostScript specials.} +% \changes{1.7}{2001/11/02}{Correction of the size of the number on +% the title page for volumes after 1999.} +% \begin{macrocode} +%<*ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine> +\newfont\CoverTitleFont{cmr17 scaled \magstep 5} +\newfont\CoverNumberFont{cmr17 scaled 3583} +%</ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine> +\newcommand\CoverArt[3]{% + \ifx\CoverTitleFont\@undefined + \newfont\CoverTitleFont{ecrm1700 scaled \magstep 5} + \fi + \ifx\CoverNumberFont\@undefined + \newfont\CoverNumberFont{ecrm1700 scaled 2986} + \fi + \vspace*{-34pt}\hfill + \setbox\@tempboxa=\hbox to \textheight{\null\hfill\CoverTitleFont + \journalname\hfill\null}% + \@tempdimb=\ht\@tempboxa + \advance\@tempdimb by\dp\@tempboxa + \hbox to\@tempdimb{% + \vbox to\wd\@tempboxa{% + \vskip\wd\@tempboxa + \vss\rotatebox{90}{\box\@tempboxa}}\hss} \ + \rule{\CoverArt@barwidth}{\textheight} + \begin{minipage}[b]{.7\textwidth}\raggedright + \rule{1em}{0pt}% + \dimen2=\textwidth\advance\dimen2-1em + \parbox{\dimen2}{\CoverArt@font + DANTE\\ + Deutschsprachige\\ + Anwendervereinigung + \TeX\ \eV}\\[1ex] + \dimen3=\textwidth\advance\dimen3-\CoverArt@gap + \hfill\rule{\dimen3}{\CoverArt@linewidth}% + \\[-\baselineskip]\null\hspace{1em}% + {\CoverArt@small\cover@sub{#1}{#2}{#3}}% + \\[-\baselineskip]\rule{0pt}{.617647\textheight}% + \CoverNumberFont + \null\hfill + \makebox(0,0)[br]{% + \textcolor{CoverArt@grey}{% + \CoverArt@strip@no #1;\hspace{1pt}% + }}% + \end{minipage}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{cover@sub} +% Internal macro for typesetting the volume information on the +% cover--front and back matter. +% \changes{1.7}{2001/31/12}{Extracted to allow configuration for +% "`Die \TeX nichen Kontakte"'} +% \begin{macrocode} +\newcommand\cover@sub[3]{% + #2. Jahrgang\quad Heft #1\quad #3% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{CoverArt@grey} +% Define the color for the number on the cover. +% \changes{1.4}{2000/08/06}{Color definition via color.sty} +% \begin{macrocode} +\ifDTK@Author@\else + \definecolor{CoverArt@grey}{gray}{.8} +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\CoverArt@strip@no} +% Extract the relevant part from the number of the issue. +% \changes{1.7}{2001/11/02}{Correction of the macro to deal with +% four digit numbers instead of striipng two digits. This is used +% since the year 2000.} +% \begin{macrocode} +\def\CoverArt@strip@no#1/#2;{#1\raisebox{0.35ex}{\CoverTitleFont/}#2} +%<*ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine> +\def\CoverArt@strip@no#1/#2#3#4#5;{% + #1\raisebox{0.35ex}{\CoverTitleFont/}#4#5} +%</ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\CoverArt@linewidth} +% +% This macro determines the thickness of the horizontal rule +% separating the publisher from the edition information. +% \begin{macrocode} +\newcommand\CoverArt@linewidth{0pt}%{1.2pt} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\CoverArt@barwidth} +% +% \begin{macrocode} +\newcommand\CoverArt@barwidth{2.41pt} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\CoverArt@font} +% +% \begin{macrocode} +\newcommand\CoverArt@font{\Large\raggedleft} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\CoverArt@small} +% +% \begin{macrocode} +\newcommand\CoverArt@small{\footnotesize} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\CoverArt@gap} +% +% \begin{macrocode} +\newcommand\CoverArt@gap{2em} +% \end{macrocode} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\renewcommand\CoverArt[3]{ + \ifx\CoverTitleFont\@undefined + \newfont\CoverTitleFont{cmr17 scaled \magstep 5}% + \fi + \begin{center} + {\LARGE DANTE\\[14pt] + \Large Deutschsprachige Anwendervereinigung \TeX\ \eV}% + \\\rule{\textwidth}{2pt}\par\vfill + \CoverTitleFont Die + \\[22pt] \TeX nische + \\[22pt] Kom{\"o}die + \par\vfill\rule{\textwidth}{2pt}\\[4pt]\large + Heft #1\hfill #2.\ Jahrgang\hfill #3 + \normalsize + \end{center}\vspace*{28.5pt}} +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% +% \subsection{List of Addresses} +% +% Addresses can be given anywhere throughout the whole +% document. The address together with the page where it has been +% given is stored in the index. +% +% The list of addresses is handled by the index mechanism of +% \LaTeX. I (safely) assume that nobody has the desire to make an +% index for a journal. +% +% \begin{macro}{\address} +% The address macro takes three arguments. The first argument is the +% first name the second is the last name and the third is the +% address where several lines can be included which are separated +% by \verb|\\|. +% +% The macro can be e.g. as follows:\\ +% \verb|\address{Gerd}{Neugebauer}%|\\ +% \verb| {Mainzer Str. 8\\56321 Rhens}| +% +% +% The address is given to \verb|\index| to be stored in the .idx +% file. This file is sorted and reformatted to produce the sorted +% list of addresses. +% +% The problem was to get the correct (German) ordering. For this +% purpose the \TeX{} macros which are (normally) part of a name +% have to be expanded properly. Unfortunately plain expansion may +% leave braces which confuse makeindex. To get rid of these braces +% we have to scan the tokens and transfer those tokens that are not +% braces. +% +% We use one big assumption. We assume that a name does not contain +% a dollar sign. Well, it is rather unusual that mathematics is +% part of a name. +% +% The better solution would be a future version of makeindex which +% is able to cope with those problems (wait and pray:-) +% \changes{1.5}{2001/06/05}{Some magic for doublequote} +% \begin{macrocode} +\chardef\DTK@cat=\the\catcode`\" +\catcode`\"=13 +\newcommand\address[3]{% + \begingroup + \def\"##1{\@ifundefined{detex@@##1}{##1}% + {\csname detex@@##1\endcsname}}% + \ifcat a\noexpand"\else\let"=\"\fi + \def\ss{ss}% + \let\'=\relax + \let\`=\relax + \let\^=\relax + \let\.=\relax + \let\==\relax + \let\d=\relax + \let\b=\relax + \let\c=\relax + \let\v=\relax + \let\H=\relax + \let\t=\relax + \let\u=\relax + \let\~=\relax + \def\o{o}% + \def\O{O}% + \def\aa{aa}% + \def\AA{Aa}% + \def\l{l}% + \def\L{L}% + \def\ae{ae}% + \def\AE{Ae}% + \def\oe{oe}% + \def\OE{Oe}% + \def\TeX{TeX}% + \def\LaTeX{LaTeX}% + \def\LaTeXe{LaTeX2e}% + \let\null=\relax + \xdef\@ddress{#2, #1}% + \endgroup + \begingroup + \def\\{\string\\}% + \ifcat a\noexpand"\else\def\"{\string"}\fi + \def"{\string"}% + \def\null{}% + \expandafter\@strip\@ddress$%$ + \index{\STRIP@*#1 #2!#3}% + \endgroup +} +\catcode`\"=\DTK@cat +% \end{macrocode} +% \end{macro} +% For the removing of \TeX\ macros in addresses we need some +% definitions to perform the mapping. +% \begin{macrocode} +\let\strip@grp={ +\let\strip@end=$%$ +\def\@strip{\def\STRIP@{}\strip@I} +\def\strip@I{\let\strip@next=\strip@I + \futurelet\strip@CHAR\strip@II} +\def\strip@II#1{% + \ifx\strip@CHAR\strip@end + \let\strip@next=\relax + \else\ifx\strip@CHAR\strip@grp + \strip@I #1$%$ + \let\strip@next=\strip@I + \else\ifcat\strip@CHAR A + \xdef\STRIP@{\STRIP@#1}% + \else\ifcat\strip@CHAR. + \xdef\STRIP@{\STRIP@#1}% + \else\ifcat\strip@CHAR\space + \xdef\STRIP@{\STRIP@ #1}% + \fi\fi\fi\fi\fi + \strip@next} +% \end{macrocode} +% +% \begin{macrocode} +\def\detex@@a{ae} +\def\detex@@o{oe} +\def\detex@@u{ue} +\def\detex@@A{Ae} +\def\detex@@O{Oe} +\def\detex@@U{Ue} +\def\detex@@s{ss} +% \end{macrocode} +% +% \begin{environment}{theaddresses} +% The addresses are collected in an environment Addresses. This +% environment is used to customize the layout of this list. +% \changes{1.5}{2001/04/08}{raggedright added.} +% \changes{1.7}{2001/11/03}{boxing of address items and raggedbottom added.} +% \begin{macrocode} +\ifDTK@Author@\else +\newenvironment{theaddresses}{% + \chapter{\addressname}\Label{addresses} + \begingroup + \columnsep=10pt + \addresssize + \def\addressitem##1##2##3{% + \par + \parbox{\columnwidth}{ + \textbf{##1}\hfill[\ignorespaces ##3]% + \\ ##2}} + \begin{multicols}{2}% + \raggedbottom + \raggedright +}{% + \end{multicols}% + \endgroup + } +\fi +\newcommand\addresssize{\footnotesize\parskip=6pt plus 2pt minus 3pt} +% \end{macrocode} +% +% For older issues another definition has been used. +% \begin{macrocode} +%</class> +%<*ninetyfive|ninetysix> +\let\addresssize\relax +%</ninetyfive|ninetysix> +%<*class> +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{\listofaddresses} +% This macro reads the index file which is assumed to contain the +% properly formatted list of authors. If this file does not exist +% then a warning is printed. +% +% \begin{macrocode} +\ifDTK@Author@ + \newcommand\listofaddresses{% + \typeout{*** listofaddresses not supported in articles.}} +\else + \newcommand\listofaddresses{% + \InputIfFileExists{\jobname.ind}{}{% + \typeout{No file \jobname.ind.}% + \typeout{Use the following command to create it:\space\space + makeindex -s dtk.ist \jobname}% + \typeout{\space}}% + } +\fi +% \end{macrocode} +% \end{macro} +% +% +% \subsection{The Table of Contents} +% +% \begin{macro}{\tableofcontents} +% The table of contents should appear as a page of it's own. It +% should have an appropriate headline if it is long +% enough. Otherwise the first page has no headline and no page +% number. +% +% \begin{macro}{\tableofcontents} +% This macro produces the table of contents. It is not availlable +% for single articles +% \begin{macrocode} +\ifDTK@Author@ + \renewcommand\tableofcontents{% + \typeout{*** tabelofcontents not supported in articles.}} +\else + \renewcommand\tableofcontents{% + \clearpage + \thispagestyle{empty}% + \markboth{\contentsname}{\contentsname}% + \ContentsArt + \begingroup + \parskip=\ContentsParSkip + \let\\=\relax + \TOC@configure + \@starttoc{toc} + \endgroup + } +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\TOC@configure} +% This macro can be used to redefine properties of the table of +% contents. +% \begin{macrocode} +\let\TOC@configure\relax +%</class> +%<*ninetyseven|ninetyeight|ninetynine> +\def\TOC@configure{\renewcommand{\bfdefault}{bdx}} +%</ninetyseven|ninetyeight|ninetynine> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ContentsArt} +% This macro is used to typeset the head of the table of contents. +% \begin{macrocode} +\newcommand\ContentsArt{% + \vspace*{-\headheight}\vspace*{-\headsep}\vspace*{-2pt} + \begin{minipage}{\textwidth} + \Huge \journalname\\[2pt]% + \rule{\textwidth}{2pt}\\[2pt]% + \null\hfill + \CoverArt@small + \cover@sub{\volume}{\DTKedition}{\DTKdate} + \end{minipage}\vspace{16pt minus 8pt}\par +} +% \end{macrocode} +% \end{macro} +% \begin{macrocode} +%</class> +%<*ninetyfive> +\ifDTK@Author@\else + \renewcommand\ContentsArt{\part@nosubtitle{\contentsname}} +\fi +%</ninetyfive> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\DeclareFontShape{T1}{cmr}{bdx}{n} + {<5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> ecrb10 + }{} +\DeclareFontShape{OT1}{cmr}{bdx}{n} + {<5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> cmbdx10 + }{} +% \end{macrocode} +% +% The lines contained in the table of contents are determined by +% the counter \verb|tocdepth|. The counter defines a level above +% which the lines are suppressed in the table of contents. +% +% We are only interested in chapters and parts. Chapters have level +% 0 and parts have level -1. Thus we set \verb|tocdepth| to 0. +% \begin{macrocode} +\setcounter{tocdepth}{0} +% \end{macrocode} +% The layout of the lines in the table of contents is determined by +% the macros \verb|\l@|{\em type}. Some of them are redefined next. +% +% \begin{macro}{\l@part} +% This macro determines the layout of the line in the table of +% contents for parts. It simply imitates the layout of chapters +% without additional space. +% \changes{1.4}{2000/08/12}{Definition modified.} +% +% \begin{macrocode} +\renewcommand\l@part[2]{% + \addpenalty{-\@highpenalty}% + \addvspace{0.5em plus 0pt}% space above part line + \@tempdima 1.5em + \begingroup + \bf + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\par + \penalty\@highpenalty + \endgroup + \addvspace{0.2em}% +} +% \end{macrocode} +% +% For older issues another definition has been used. +% \begin{macrocode} +%</class> +%<*ninetyfive|ninetysix> +\renewcommand\l@part[2]{% + \addpenalty{-\@highpenalty}% + \addvspace{0.5em plus 0pt}% space above part line + \@tempdima 1.5em + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \bf + \leavevmode + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par + \penalty\@highpenalty + \endgroup} +%</ninetyfive|ninetysix> +%<*class> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\l@chapter} +% This macro determines the layout of the line in the table of +% contents for chapters. It simply imitates the layout of +% sections. +% \changes{1.4}{2000/08/12}{Definition modified.} +% +% \begin{macrocode} +\renewcommand\l@chapter[2]{% + \begingroup + \vskip \z@ \@plus.2\p@ + \@afterindenttrue + \interlinepenalty\@M + \@tempdima 1.5em\relax % number width + \@tempdimb 2.5em\relax % indent + \advance\leftskip \@tempdimb + \advance\rightskip \@tempdimb +% \advance\leftskip \@tempdima + \noindent\hskip -\leftskip +% \hbox to\@tempdimb{\hbox to\@tempdima{\hss #2}\hss}% + \hbox to\@tempdimb{#2\hss}% + #1\par + \endgroup} +% \end{macrocode} +% +% For older issues another definition has been used. +% \begin{macrocode} +%</class> +%<*ninetyfive|ninetysix> +\renewcommand\l@chapter{\@dottedtocline{0}{1.5em}{2.3em}} +%</ninetyfive|ninetysix> +%<*class> +% \end{macrocode} +% \end{macro} +% +% For backward compatibility modes we have defined class options. +% If an old layout is requested via a class option then we have to +% load now the appropriate class option file. +% \begin{macrocode} +\@ifundefined{DTK@layout}{}{\input dtk\DTK@layout.clo} +% \end{macrocode} +% +% Now the class is complete. +% \begin{macrocode} +%</class> +%<*logos> +% \end{macrocode} +% +% +% \section{The Package dtklogos} +% +% This section contains some useful abbreviations. They are mainly +% some kind of logos. +% \changes{1.4}{2000/08/27}{Logos moved to a separate package.} +% \begin{macrocode} +\ProvidesPackage{dtklogos}[\filedate\space\fileversion\space gene] +% \end{macrocode} +% +% First we have to determine which kind of \LaTeX{} is running. We use +% the existence of the macro \verb|\documentclass| to see if we have a +% \LaTeXe. This macro should not be defined in \LaTeX\,2.09. +% \begin{macrocode} +\newif\ifOldLaTeX +\@ifundefined{documentclass}{\OldLaTeXtrue}{\OldLaTeXfalse} +% \end{macrocode} +% The following hack is from Bernd Raichle. +% +% For \LaTeX\,2.09 (with or without NFSS) we need something like +% the \verb|\smaller| from the obsolete ``smaller.sty'' to emulate +% SmallCaps for (nearly) all types of fonts. For SmallCaps it is +% required to reduce further than for \verb|\smaller|. Thus we make +% a new definition for \verb|\logo@smaller| which is oriented at +% the ``math sizes'' (here: \verb|\scriptfont<fam>|) which is +% defined in \LaTeXe. +% +% \begin{macrocode} +\ifOldLaTeX +\expandafter\ifx\csname selectfont\endcsname\relax +% \end{macrocode} +% +% For OFSS a hack is needed to switch back to Family/Series/Shape. +% For this purpose we ``abuse'' the ``math group/fam'' which is +% changed similar to the macros from the file ``lfonts.tex''. +% \begin{macrocode} + \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 +% \end{macrocode} +% +% With NFSS (for \LaTeX\,2.09) we can change the size indepenently +% from the other font properties. Thus things are easier. +% \begin{macrocode} + \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} +% \end{macrocode} +% +% The first versions of NFSS have used the macro name \verb|\size| +% instead of \verb|\fontsize|. +% \begin{macrocode} + \@ifundefined{fontsize}{\let\fontsize=\size}{} +\fi +\newcommand{\logo@smaller}{\protect\logo@sm@ller} +\fi +% \end{macrocode} +% +% \subsection{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} +\providecommand\AmS{% + \(\cal A\)\kern-.1667em\lower.5ex\hbox + {\(\cal M\)}\kern-.125em{\(\cal S\)}} +\providecommand\AMS{\AmS} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\AmSLaTeX} +% \begin{macrocode} +\providecommand\AmSLaTeX{\AmS-\LaTeX} +\providecommand\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} +\providecommand\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} +\providecommand\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} +\providecommand\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% +% \end{macrocode} +% +% The following hack comes from the definition of the macro \LaTeX\ +% cf.~file ``ltlogos.dtx'' from the \LaTeXe\ distribution. der +% \begin{macrocode} + \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} +\providecommand\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} +\providecommand\BIBTEX{\BibTeX} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\LAMSTeX} +% From tugboat.com 1.08 [24-Oct-1990]. +% +% \begin{macrocode} +\providecommand\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} +% This is just a variant of the macro above. +% +% \begin{macrocode} +\providecommand\LamSTeX{\LAMSTeX} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\LAmSTeX} +% This variant seems likely to appear: +% +% \begin{macrocode} +\providecommand\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} +\providecommand\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} +\providecommand\LATEX{\LaTeX} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\LaTeXTeX} +% This logo is invented in \verb|dtk.cls| to denote either \TeX{} or +% \LaTeX. +% +% \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 + \newcommand\MF{\begingroup + \ifdim\fontdimen1\font>0pt \let\manfnt=\manfntsl \fi + {\manfnt META}\-{\manfnt FONT}\endgroup\spacefactor1000 }% + \newcommand\MP{\begingroup + \ifdim\fontdimen1\font>0pt \let\manfnt=\manfntsl \fi + {\manfnt META}\-{\manfnt POST}\endgroup\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} +% \end{macrocode} +% +% \changes{1.4}{2000/08/06}{Hyphenation of meta-font and meta-post only.} +% +% \begin{macrocode} + \newcommand\MF{\mbox{\textlogo{META}}\-\mbox{\textlogo{FONT}}\@} + \newcommand\MP{\mbox{\textlogo{META}}\-\mbox{\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} +\providecommand\METAFONT{\MF} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\METAPOST} +% In analogy to \verb|METAFONT|. +% +% \begin{macrocode} +\providecommand\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} +\providecommand\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} +\providecommand\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} +\providecommand\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} +\providecommand\SLITeX{\SLITEX} +% \end{macrocode} +% \end{macro} +% +% +% \subsection{Additional Macros} +% +% Some additional logos showed up during the years they are +% collected in this section. +% +% \begin{macro}{\NTS} +% This one comes from a communication with Bernd Raichle. +% +% \begin{macrocode} +\providecommand\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} +\providecommand\MakeIndex{\textit{Make\-Index}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\emTeX} +% +% \changes{1.3}{1997/02/03}{logo added.} +% \begin{macrocode} +\providecommand\emTeX{{em\TeX}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\PublicTeX} +% +% \changes{1.3}{1997/02/03}{logo added.} +% \begin{macrocode} +\providecommand\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} +\providecommand\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} +\providecommand\TeXeT{% + \TeX-X\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\WinEdt} +% This one comes from Volker RW Schaa. +% \changes{1.7}{2001/11/02}{logos added.} +% \begin{macrocode} +\providecommand\WinEdt{\mbox{\textsf{WinEdt}}}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\WinEdtKK} +% This one comes from Volker RW Schaa. +% \changes{1.7}{2001/11/02}{logos added.} +% \begin{macrocode} +\providecommand\WinEdtKK{\mbox{\textsf{WinEdt2k}}}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\LyX} +% This one comes from an article by Laura E. Jackson and Herbert Vo\ss. +% \changes{1.7}{2001/11/02}{logo added.} +% \begin{macrocode} +\providecommand{\LyX}{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@} +% \end{macrocode} +% \end{macro} +% +% +% \subsection{Additional Macros for Acronyms} +% +% The following macros are maily form the predecessor style +% file. Some new ones have been added. +% +% \begin{macro}{\eV} +% The abbreviation for e.V\kern-.18em.\ is defined in +% this macro. The kerning of the letters is corrected manually. +% +% \begin{macrocode} + \providecommand\eV{e.V\kern-.18em\@ifnextchar.{}{.}} +% \end{macrocode} +% Disclaimer: I have not invented this macro. It has been defined +% this way in the predecessor style. +% \begin{macrocode} +%</logos> +%<*ninetyfive> + \renewcommand\eV{e.\kern-.18emV\kern-.18em\@ifnextchar.{}{.}} +%</ninetyfive> +%<*logos> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\dante} +% The ``official logo'' for DANTE e.V\kern-.18em.\ is defined. +% \begin{macrocode} +\providecommand\dante{DANTE \eV} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Dante} +% The long name of DANTE. +% \begin{macrocode} +\providecommand\Dante{DANTE, + Deutschsprachige Anwendervereinigung \TeX~\eV} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\DTK} +% The long name of this booklet, eh journal. +% \begin{macrocode} +\providecommand\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} +\providecommand\LaTeXe{% + \LaTeX{}\kern.05em2$_{\textstyle\varepsilon}$} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\PS} +% We define the logo for Post\-Script. +% \begin{macrocode} +\providecommand\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} +\providecommand\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} +\providecommand\PiCTeX{\PiC\kern-.11em\TeX} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\TUG} +% The \TeX{} Users Group. +% \begin{macrocode} +\providecommand\TUG{\TeX{} Users Group} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\TUGboat} +% The communications of the \TeX{} Users Group. +% \begin{macrocode} +\providecommand\TUGboat{\textsl{TUGboat}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\TUB} +% The communications of the \TeX{} Users Group. +% \begin{macrocode} +\let\TUB\TUGboat +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\TTN} +% The communications of the \TeX{} Users Group +% \begin{macrocode} +\providecommand\TTN{\textsl{\TeX{} and TUG NEWS}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\NFSS} +% The New Font Selection Scheme. +% \begin{macrocode} +\providecommand\NFSS{\textsf{NFSS}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\NTS} +% I don't know where this one comes from. +% \changes{1.4}{2000/08/06}{NTS logo added.} +% \begin{macrocode} +\providecommand\NTS{\leavevmode + \hbox{$\cal N\kern-0.35em\lower0.5ex\hbox{$\cal T$}\kern-0.2emS$}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\eTeX} +% I don't know where this one comes from. +% \changes{1.4}{2000/08/06}{eTeX logo added.} +% \begin{macrocode} +\providecommand\eTeX{{\leavevmode\hbox{$\varepsilon$}-\TeX}} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%</logos> +% \end{macrocode} +% +% +% \section{The Package dtk-pdf for PDF Reprints} +% \changes{1.4}{2000/08/12}{Packet dtk-pdf integrated.} +% +% The following section contains the package which is used to +% produce the PDF files for the WWW. +% +% \begin{macrocode} +%<*pdf> +% \end{macrocode} +% +% A lot of packages are required to get things right. +% +% \begin{macrocode} +\ProvidesPackage{dtk-pdf}[\filedate\space\fileversion\space gene] +% \end{macrocode} +% +% A lot of packages are required to get things right. +% +% \begin{macrocode} +\RequirePackage{ae,multicol,graphicx,color} +\RequirePackage[bookmarks=false]{hyperref} +% \end{macrocode} +% +% Configure the \verb|hyperref| package appropriately. +% +% \begin{macrocode} +\hypersetup{a5paper,colorlinks,urlcolor=blue} +% \end{macrocode} +% +% Slightly adjust the page on the paper. +% +% \begin{macrocode} +\oddsidemargin=-10mm +\evensidemargin=-10mm +\topmargin=-15mm +% \end{macrocode} +% +% \begin{macro}{\Volume} +% This macro contains the number of the volume in which the current +% article has been published. +% \begin{macrocode} +\newcommand\Volume{?/??} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Pages} +% This macro contains the numbers of the pages on which the +% curtrent article has been published originally. +% \begin{macrocode} +\newcommand\Pages{???} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\volume} +% This macro is redefined to show appropriate information. +% \begin{macrocode} +\renewcommand\volume{\Volume\ -- Nachdruck} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\titlemark} +% This macro is used in some old articles. Nowadays it simply has +% to eat up one following argument. +% \begin{macrocode} +\let\titlemark\@gobble +% \end{macrocode} +% \end{macro} +% +% +% +% \begin{macrocode} +\newcount\AdNo \AdNo=0 +% \end{macrocode} +% +% \begin{macro}{\Address} +% This macro is used to typeset all adresses. +% \begin{macrocode} +\newcommand\Address{\bigskip\par\advance\AdNo1 + \begin{multicols}2 \count255=0\relax + \loop\csname Address\the\count255\endcsname\advance\count255 1 + \ifnum\count255<\AdNo \repeat + \end{multicols}} +% \end{macrocode} +% \end{macro} +% +% +% +% \begin{macrocode} +\renewcommand\address[3]{% + \expandafter\gdef\csname Address\the\AdNo\endcsname + {\par\parbox{.45\textwidth}{\footnotesize\raggedright + #1 #2 \\#3}}\advance\AdNo1\relax} +% \end{macrocode} +% +% Store the address of DANTE as first address in the list. +% +% \begin{macrocode} +\address{\href{http://www.dante.de/}{\Dante}}{}{% + \href{http://www.dante.de/}{Postfach 10\,18\,40\\ + 69008 Heidelberg\\ + \texttt{dante@dante.de}}} +% \end{macrocode} +% +% +% +% \begin{macrocode} +\providecommand\DTK@keywords{} +% \end{macrocode} +% +% \begin{macro}{\m@ketitle} +% Save the meaning of \verb|\maketitle| to extend it. +% \begin{macrocode} +\let\m@ketitle=\maketitle +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\maketitle} +% The macro is redefined to typeset the head of the single article. +% Th information for the author and the title are stored in the PDF +% information fields aswell. This may lead to problems if they +% contain certain macros. +% \changes{1.5}{2001/10/21}{Mapping of certain macros} +% \begin{macrocode} +\renewcommand\maketitle{% + \thispagestyle{empty}% + \newlength{\lx}\settowidth{\lx}{\Large\DTK}% + \advance\lx3em\quad + \href{http://www.dante.de/dante/DTK}{% + \rotatebox{90}{\hspace*{1.5em}\Large\DTK}} + \rule{.9pt}{\lx}\quad + % + \begin{minipage}[b]{.75\textwidth}\parskip=1ex + {\raggedleft\large + \href{http://www.dante.de/}{DANTE\\ + Deutschsprachige\\ + Anwendervereinigung \TeX\ e.V.}\medskip\par + } + \ifx\@author\empty\else\@author: \fi\emph{\@title}, \DTK\ + \Volume, S.\ \Pages.\medskip + + \scriptsize Reproduktion oder Nutzung dieses Beitrags durch + konventionelle, elektronische oder beliebige andere Verfahren ist + nur im nicht-kommerziellen Rahmen gestattet. Verwendungen in + gr"o"serem Umfang bitte zur Information bei \dante{} melden. F\"ur + kommerzielle Nutzung ist die Zustimmung der Autoren einzuholen. + + \DTK\ ist die Mitgliedszeitschrift von \Dante. Einzelne Hefte + k\"onnen von Mitgliedern bei der Gesch\"aftsstelle von \Dante\ + erworben werden. Mitglieder erhalten \DTK\ im Rahmen ihrer + Mitgliedschaft. + \end{minipage} + + \begingroup + \def\LaTeX{LaTeX}% + \def\BibTeX{BibTeX}% + \def\TeX{TeX}% + \def\LyX{LyX}% + \hypersetup{% + pdftitle=\@title, + pdfauthor=\@author, + pdfkeywords={\DTK@keywords}, + pdfsubject={\volume}, + pdfstartview={FitBH} + }% + \endgroup + \m@ketitle +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\textcentigrade} +% This macro is defined for backward compatibility. +% \begin{macrocode} +\def\textcentigrade{\textcelsius} +% \end{macrocode} +% \end{macro} +% +% +% \verb|\guillemotleft|/\verb|\guillemotright| from the polish +% version of the ``computer modern''. +% +% \begin{macrocode} +\AtBeginDocument{% + \DeclareFontEncoding{OT4}{}{}% + \DeclareFontEncoding{TS1}{}{}% + \DeclareFontSubstitution{OT4}{cmr}{m}{n}% + \DeclareTextCommand{\guillemotleft}{\encodingdefault}{% + {\fontencoding{OT4}\fontfamily{cmr}\selectfont\char174}}% + \DeclareTextCommand{\guillemotright}{\encodingdefault}{% + {\fontencoding{OT4}\fontfamily{cmr}\selectfont\char175}}% + \DeclareTextCommand{\guilsinglleft}{\encodingdefault}{% + {\fontencoding{T1}\fontfamily{cmr}\selectfont\char14}}% + \DeclareTextCommand{\guilsinglright}{\encodingdefault}{% + {\fontencoding{T1}\fontfamily{cmr}\selectfont\char15}}% + \DeclareTextCommand{\textperthousand}{\encodingdefault}{% + {\fontencoding{TS1}\fontfamily{cmr}\selectfont\char135}}% +} +% \end{macrocode} +% +% +% +% \begin{macrocode} +\newif\ifmaintitle +% \end{macrocode} +% +% Old versions of \LaTeX\ used to define \verb|\footheight|. Some +% articles try to redefine this length. Nowadays it is simply +% ignored. +% \begin{macrocode} +\newlength\footheight +% \end{macrocode} +% +% Now the packet is complete. +% +% \begin{macrocode} +%</pdf> +% \end{macrocode} +% +% +% \section{The Index Style} +% \changes{1.4}{2000/08/27}{Index file integrated into the dtx file.} +% +% The index style is used to sort the authors of the journal for +% the list of all authors. Makeindex is used for this purpose. Here +% we have to define the appropriate configuration file. +% +% \begin{macrocode} +%<*ist> +actual '*' +preamble "\\begin{theaddresses}" +postamble "\n\\end{theaddresses}\n" +item_0 "\n \\addressitem{" +item_2 "}{" +item_x1 "}{" +item_x2 "}{" +delim_0 "}{" +delim_1 "}{" +delim_2 "}{" +delim_t "}" +group_skip "" +quote '$' +%</ist> +% \end{macrocode} +% +% That's all. +% +% \Finale +% +\endinput +% +% Local Variables: +% mode: latex +% TeX-master: t +% End: diff --git a/Master/texmf-dist/source/latex/dtk/dtk.ins b/Master/texmf-dist/source/latex/dtk/dtk.ins new file mode 100644 index 00000000000..d768eaf5ab9 --- /dev/null +++ b/Master/texmf-dist/source/latex/dtk/dtk.ins @@ -0,0 +1,75 @@ +%%------------------------------------------------------------------ +%% Driver file to extract the dtx style and class files. +%% +%% Copyright (C) 1995-1996 Gerd Neugebauer +%% Copyright (C) 1997-2001 DANTE, +%% Deutschsprachige Anwendervereinigung TeX e.V. +%% +%% dtk.ins is distributed in the hope that it will be useful, but +%% WITHOUT ANY WARRANTY. No author or distributor accepts +%% responsibility to anyone for the consequences of using it or for +%% whether it serves any particular purpose or works at all, unless +%% he says so in writing. +%% +%% Everyone is granted permission to copy, modify and redistribute +%% dtk.ins, provided this copyright notice is preserved and any +%% modifications are indicated. +%% +%%------------------------------------------------------------------ +%% +%% Run this file through TeX or LaTeX to extract the files. +%% You need the docstrip package as distributed with LaTeX2e. +%% It is also available as seperate package from any CTAN site. +%% +%%------------------------------------------------------------------ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% $Id: dtk.ins,v 1.5 2002/04/10 20:57:17 gene Exp $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\input docstrip.tex +\keepsilent +\askonceonly + +\generate{\file{dtk.sty}{\from{dtk.dtx}{class}} + \file{dtk.cls}{\from{dtk.dtx}{class}} + \file{dtk95.clo}{\from{dtk.dtx}{ninetyfive}} + \file{dtk96.clo}{\from{dtk.dtx}{ninetysix}} + \file{dtk97.clo}{\from{dtk.dtx}{ninetyseven}} + \file{dtk98.clo}{\from{dtk.dtx}{ninetyeight}} + \file{dtk99.clo}{\from{dtk.dtx}{ninetynine}} + \file{dtk00.clo}{\from{dtk.dtx}{twothousand}} + \file{dtk01.clo}{\from{dtk.dtx}{one}} + \file{dtk02.clo}{\from{dtk.dtx}{two}} + \file{dtklogos.sty}{\from{dtk.dtx}{logos}} + \file{dtk-pdf.sty}{\from{dtk.dtx}{pdf}} + } +\nopreamble\nopostamble +\generate{\file{dtk.ist}{\from{dtk.dtx}{ist}} + } + +\Msg{****************************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* files into a directory searched by (La)TeX:} +\Msg{*} +\Msg{* \space\space dtk.cls dtk.sty} +\Msg{* \space\space dtk95.clo dtk96.clo dtk97.clo dtk98.clo dtk99.clo} +\Msg{* \space\space dtk00.clo dtk01.clo dtk02.clo} +\Msg{* \space\space dtklogos.sty dtk-pdf.sty} +\Msg{*} +\Msg{* and the following file into a directory searched by makeindex:} +\Msg{*} +\Msg{* \space\space dtk.ist} +\Msg{*} +\Msg{* Additionally copy the following file to a directory searched} +\Msg{* by BibTeX:} +\Msg{*} +\Msg{* \space\space dtk.bst} +\Msg{*} +\Msg{* To produce the documentation run dtk.tex through LaTeX,} +\Msg{* makeindex, and LaTeX twice again.} +\Msg{*} +\Msg{* Happy TeXing} +\Msg{****************************************************************} + +\endbatchfile +\endinput |