diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/dtk/dtk.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/dtk/dtk.cls | 401 |
1 files changed, 384 insertions, 17 deletions
diff --git a/Master/texmf-dist/tex/latex/dtk/dtk.cls b/Master/texmf-dist/tex/latex/dtk/dtk.cls index 2b40f69f831..76785eb4a88 100644 --- a/Master/texmf-dist/tex/latex/dtk/dtk.cls +++ b/Master/texmf-dist/tex/latex/dtk/dtk.cls @@ -20,9 +20,10 @@ %% original source files, as listed above, are part of the %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) +%% Time-stamp: "dtk.dtx 2006-08-11 18:18:53 CET Mittwoch RN/HjG/hv" %% %%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%^^A $Id: dtk.dtx,v 1.8 2002/04/10 21:03:42 gene Exp gene $ +%%^^A $Id: dtk.dtx,v 1.9b 2006/08/11 21:03:42 hv Exp hv $ %%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Purpose: %% LaTeX Class and Styles for ``Die TeXnische Komoedie''. @@ -39,8 +40,8 @@ %% Mail: gene@gerd-neugebauer.de %% %% Copyright (C) 1995-1996 Gerd Neugebauer -%% Copyright (C) 1997-2002 DANTE, Deutschsprachige -%% Anwendervereinigung TeX e.V. +%% Copyright (C) 1997-2006 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 @@ -76,12 +77,15 @@ %%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \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 $} +\xdef\fileversion{\DTKrcs$Revision: 1.10 $} +\xdef\filedate{\DTKrcs$Date: 2007/08/28 18:17:42 $} \let\docversion=\fileversion \let\docdate=\filedate \newif\ifDTK@Author@ \DTK@Author@true +\newif\ifDTK@Draft@ +\newif\ifDTK@lineno@ +\DTK@lineno@false \newif\ifDTK@german@ \DTK@german@true \ifx\documentclass\@undefined @@ -117,6 +121,15 @@ \fi \newread\DTK@file \ProvidesClass{dtk}[\filedate\space\fileversion\space gene] +\newcommand\DTK@isnum[1]{% + \if!\ifnum9<1#1!\else_\fi + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +} +\newcommand*\DTK@@thelinenumber{\thepage-\arabic{linenumber}} +%%%% \DeclareOption{10pt}{\OptionNotUsed} \DeclareOption{11pt}{\OptionNotUsed} \DeclareOption{12pt}{\OptionNotUsed} @@ -125,6 +138,42 @@ \DeclareOption{full}{\DTK@Author@false} \DeclareOption{omitgerman}{\DTK@german@false} \DeclareOption{ancient}{\def\DTK@layout{95}} +\DeclareOption{draft}{% + \DTK@Draft@true + \DTK@lineno@true + \PassOptionsToPackage{pagewise}{lineno}% + \PassOptionsToClass{\CurrentOption}{book}% +} +\DeclareOption{linenumbers}{\DTK@lineno@true} +\DeclareOption{nolinenumbers}{\DTK@lineno@false} +\DeclareOption{pagewise}{% + \PassOptionsToPackage{\CurrentOption}{lineno}} +\DeclareOption{running}{% + \PassOptionsToPackage{\CurrentOption}{lineno}} +\DeclareOption{ln-long}{\def\DTK@@thelinenumber{% + %\def\Hugo{% + \ifoddNumberedPage% eigtl. Even!!! + \ifodd\c@page + \@tempswatrue %C + \else + \@tempswafalse %D + \fi + \else + \ifodd\c@page + \@tempswafalse %A + \else + \@tempswatrue %B + \fi + \fi + %}\Hugo + %\@tempcnta=\c@page + %\if@tempswa \advance\@tempcnta\@ne \fi + \if@tempswa \advance\c@page\@ne \fi + %\edef\thepage{\the\@tempcnta}% + \thepage-\arabic{linenumber}}} +\DeclareOption{ln-short}{\def\DTK@@thelinenumber{% + \arabic{linenumber}}} +\iffalse% RN 2005-01-15 \DeclareOption{95}{\def\DTK@layout{95}} \DeclareOption{96}{\def\DTK@layout{96}} \DeclareOption{97}{\def\DTK@layout{97}} @@ -134,9 +183,39 @@ \DeclareOption{01}{\def\DTK@layout{01}} \DeclareOption{02}{\def\DTK@layout{02}} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}} +\else +\DeclareOption*{% + \DTK@isnum{\CurrentOption}% + {\edef\DTK@layout{\CurrentOption}}% + {\PassOptionsToClass{\CurrentOption}{book}}% +} +\fi \ProcessOptions \LoadClass{book} +\ifDTK@lineno@ + \RequirePackage{lineno}\linenumbers + \RequirePackage{color}% + \linenumbersep=.8ex + \def\linenumberfont{\normalfont\scriptsize\sffamily\bfseries}% + \definecolor{DTK@lineno@color}{cmyk}{0.26,0,0.76,0}% SpringGreen + \def\thelinenumber{% + \begingroup + \fboxsep=.3ex\fcolorbox{black}{DTK@lineno@color}{% + \DTK@@thelinenumber}% + \endgroup}% +\fi +%%%%%%%%%% \RequirePackage[T1]{fontenc} +\IfFileExists{lmodern.sty}{\RequirePackage{lmodern}}{} +\RequirePackage[full]{textcomp} +\ifDTK@Author@\else + \RequirePackage[utf8]{inputenc} +\fi +\usepackage[hyphens]{url} +\usepackage[newcommands,newparameters]{ragged2e} +\@ifundefined{flushleft} + {\let\flushleft\FlushLeft\let\endflushleft\endFlushLeft}{} +\usepackage{filecontents} \ifDTK@german@ \RequirePackage{ngerman} \selectlanguage{ngerman} @@ -146,9 +225,10 @@ \typeout{*** Don't forget to use the macro \string\DTKgerman\space afterwards.} \fi +\RequirePackage{multicol} \ifDTK@Author@\else - \RequirePackage{multicol} \RequirePackage{graphicx,color} + \errorcontextlines=100\relax \fi \RequirePackage{dtklogos} \newcommand\NeedPackage[1]{% @@ -159,15 +239,16 @@ \typeout{*** I try to stumble along as good as I can.}% \typeout{*** Expect some undefined macros or other errors.}% \typeout{***}% - \typeout{***} + \typeout{***}% \fi} \paperwidth = 148.5mm \paperheight = 210mm \textheight = 471pt \textwidth = 333pt \oddsidemargin = 0pt -\evensidemargin = \oddsidemargin -\topmargin = 0pt +\evensidemargin = \oddsidemargin\oddsidemargin -35.89157pt +\evensidemargin -17.70235pt +\topmargin -55.66684pt \headheight = 17pt \headsep = 17pt \footskip = 24pt @@ -181,6 +262,11 @@ \raggedbottom \clubpenalty = 10000 \widowpenalty = 10000 +\marginparwidth=1cm +\@ifdefinable\DTK@orig@marginpar{\let\DTK@orig@marginpar\marginpar} +\renewcommand*\marginpar{% + \ClassWarning{dtk}{Command `\string\marginpar' not expected}% + \DTK@orig@marginpar} \newcommand\DTKgerman{ \let\DTK@captionsgerman=\captionsgerman \let\captionsgerman=\DTK@captionsgerman @@ -190,20 +276,50 @@ \DTK@captionsgerman \gdef\refname{Literatur}% \gdef\bibname{Literatur}% - \gdef\contentsname{Inhalt Heft \volume}% + \gdef\contentsname{Inhalt Heft \Volume}% } \ifDTK@german@ \DTKgerman \fi \newcommand\addressname{Autoren/Organisatoren} \newcommand\journalname{Die \TeX nische Kom{\"o}die} -\newcommand\volume{?/?? --- Entwurf \today\ +\newcommand\Volume{?/??} +\newcommand\volume{\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 + \ifnum\count1<10 0\fi\the\count1:\ifnum\count2<10 0\fi\the\count2 \endgroup } +\newcommand*\DTK@corr@version{} +\ifDTK@Author@\else + \newcommand*\DTK@today{}% + \begingroup + \count@\time + \divide\count@ 60\relax + \count2=-\count@ + \multiply\count2 60\relax + \advance\count2 \time + %% \loggingall %% Wuduh! + \xdef\DTK@today{% + \the\year-\two@digits{\the\month}-\two@digits{\the\day}% %!!! \the + %\protect~% Warum geht das nicht? + \noexpand\noexpand~% + %% Wuduh! 2 \noexpand noetig? Weil \number\the 2mal zuschlaegt? + %% Ohne \the langt 1 \noexpand! + \two@digits{\the\count@}:\two@digits{\the\count2}}% + %%\show\DTK@today + \endgroup + \ifDTK@Draft@ + \def\DTK@corr@version{\fbox{Korrekturversion:~\DTK@today}}% + \AtEndOfClass{% + \let\ps@empty=\ps@plain + \let\ps@part=\ps@plain}% + \else + \let\@LN\@gobbletwo% Wegen .aux-Datei von vorherigem lineno-Lauf + \let\@LN@col\@gobble + \fi +\fi \newcommand\footmark{\journalname\ \volume} \newcommand\ChapterFont{\Large\sf} \newcommand\SectionFont{\large\sf} @@ -274,6 +390,12 @@ \providecommand\Macro[1]{\texttt{#1}} \providecommand\Environment[1]{\texttt{#1}} \providecommand\Email[1]{\texttt{#1}} +%% hv 2006-08-11 +\providecommand*{\nolinkurl}{\url} +\providecommand*{\href}[1]{} +\newcommand*{\CTANurl}[1]{% + \href{ftp://ftp.ctan.org/tex-archive/#1}{\nolinkurl{CTAN:#1}}% +} \providecommand\Acronym[1]{\textsc{#1}} \def\@listI{% \leftmargin = \leftmargini @@ -517,12 +639,24 @@ \let\\=\relax \PagenoFont \thepage\hfil\HeadFont \leftmark}\kern 3pt \ifdim\HeadRuleDepth>0pt \hrule depth\HeadRuleDepth\fi}}% +\iffalse% RN 2005-01-17 \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}}}} + \kern 5pt \hbox to \textwidth{\null\hfil\FootFont \footmark}}}% +\else + \def\@oddfoot{\vbox{% + \ifdim\FootRuleDepth>0pt \hrule depth\FootRuleDepth \fi + \kern 5pt \hbox to \textwidth{% + \FootFont \footmark\hfil\DTK@corr@version\null}}}% + \def\@evenfoot{\vbox{% + \ifdim\FootRuleDepth>0pt \hrule depth\FootRuleDepth \fi + \kern 5pt \hbox to \textwidth{% + \null\FootFont\DTK@corr@version\hfil \footmark}}}% +\fi +} \let\ps@headings\ps@plain \newcommand\ps@part{% \let\@mkboth=\@gobbletwo @@ -531,21 +665,47 @@ \let\subsectionmark=\@gobble \let\@oddhead=\@empty \let\@evenhead=\@empty +\iffalse% RN 2005-01-17 \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}}}} + \kern 5pt \hbox to \textwidth{\null\hfil\FootFont \footmark}}}% +\else + \def\@oddfoot{\vbox{% + \ifdim\FootRuleDepth>0pt \hrule depth\FootRuleDepth \fi + \kern 5pt \hbox to \textwidth{% + \FootFont \footmark\hfil\DTK@corr@version\null}}}% + \def\@evenfoot{\vbox{% + \ifdim\FootRuleDepth>0pt \hrule depth\FootRuleDepth \fi + \kern 5pt \hbox to \textwidth{% + \null\FootFont \DTK@corr@version\hfil\footmark}}}% +\fi +} \pagestyle{plain} -\ifDTK@Author@\else +\ifDTK@Author@ + \AtEndOfClass{%\show\DTK@jobname + \InputIfFileExists{\DTK@jobname.inf}{% + \renewcommand\volume{\Volume}}{}}% +\else \newcommand\DieTeXnischeKomoedie[3]{% \thispagestyle{empty}% - \gdef\volume{#1}% + \gdef\Volume{#1}% + \xdef\volume{\Volume}%??? \gdef\DTKedition{#2}% \gdef\DTKdate{#3}% + \immediate\openout\@unused \jobname.inf\relax + \immediate\write\@unused{% + \string\gdef\string\Volume{#1}^^J% + \string\gdef\string\DTKedition{#2}^^J% + \string\gdef\string\DTKdate{#3}% + }% + \immediate\closeout\@unused + \iffalse% RN 2005-02-20; unnoetig, da localer \jobname usw. \global\let\bibliography=\DTK@bibliography \global\let\bibliographystyle=\@gobble + \fi \CoverArt{#1}{#2}{#3}% \newpage} \fi @@ -564,7 +724,7 @@ \hbox to\@tempdimb{% \vbox to\wd\@tempboxa{% \vskip\wd\@tempboxa - \vss\rotatebox{90}{\box\@tempboxa}}\hss} \ + \vss\rotatebox{90}{\box\@tempboxa}}\hss} \ % \rule{\CoverArt@barwidth}{\textheight} \begin{minipage}[b]{.7\textwidth}\raggedright \rule{1em}{0pt}% @@ -642,7 +802,11 @@ \def"{\string"}% \def\null{}% \expandafter\@strip\@ddress$%$ + \iffalse% RN 2005-01-15 \index{\STRIP@*#1 #2!#3}% + \else + \glossary{\STRIP@*#1 #2!#3}% + \fi \endgroup } \catcode`\"=\DTK@cat @@ -695,7 +859,9 @@ \ifDTK@Author@ \newcommand\listofaddresses{% \typeout{*** listofaddresses not supported in articles.}} + \let\makeaddresses\relax% RN 2005-01-15 \else + \iffalse% RN 2005-01-15 \newcommand\listofaddresses{% \InputIfFileExists{\jobname.ind}{}{% \typeout{No file \jobname.ind.}% @@ -703,6 +869,16 @@ makeindex -s dtk.ist \jobname}% \typeout{\space}}% } + \else + \newcommand\listofaddresses{% + \InputIfFileExists{\jobname.gls}{}{% + \typeout{No file \jobname.gls.}% + \typeout{Use the following command to create it:^^J% + \@spaces makeindex -s dtk.ist -o \jobname.gls \jobname.glo}% + \typeout{\space}}% + } + \let\makeaddresses\makeglossary + \fi \fi \ifDTK@Author@ \renewcommand\tableofcontents{% @@ -767,7 +943,198 @@ \hbox to\@tempdimb{#2\hss}% #1\par \endgroup} +\iffalse% RN 2005-01-15 \@ifundefined{DTK@layout}{}{\input dtk\DTK@layout.clo} +\else +\@ifundefined{DTK@layout}{}{\input{dtk\DTK@layout.clo}} +\fi +\IfFileExists{eurosans.sty} +{% + \RequirePackage{eurosans} + %%%\AtBeginDocument{\let\texteuro\euro} + \AtBeginDocument{% + \DeclareTextCommandDefault{\texteuro}{\euro}}% ??? +} +{% + % Das kann jeder. + \let\DTK@texteuro\texteuro + \AtBeginDocument{% + \renewcommand*\texteuro{\textsf{\DTK@texteuro}}} +} +\begingroup + \chardef\x=0 % + % check pdfTeX + \@ifundefined{pdfoutput}{}{% + \ifcase\pdfoutput + \else + \chardef\x=1 % + \fi + }% + % check VTeX + \@ifundefined{OpMode}{}{% + \chardef\x=2 % + }% +\expandafter\endgroup +\ifcase\x + % default case + \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}% +\or + % pdfTeX is running in pdf mode + \pdfpagewidth\paperwidth\pdfpageheight\paperheight +\else + % VTeX is running + \mediawidth\paperwidth\mediaheight\paperheight +\fi + +\AtBeginDocument{% + \begingroup% vielleicht noch intelligenter... + \ttfamily + \@tempdima\fontdimen3\font + \advance\@tempdima\fontdimen4\font + \ifdim\@tempdima>\z@ + \edef\@tempa{\ttdefault}\gdef\ttdefault{cmtt}% + \ClassWarning{dtk}{% + Font `\@tempa' is bad, changed to '\ttdefault'}% + \fi + \endgroup +} +\RequirePackage{makeidx} +\renewenvironment{theindex} + {\begin{multicols}{2}[\section{\indexname}\vspace{-.5\baselineskip}]% + \parskip\z@ \@plus .3\p@\relax + \columnseprule \z@ + \columnsep=10pt + \raggedbottom\raggedright + \let\item\@idxitem} + {\end{multicols}} +\renewcommand\@idxitem{\par\hangindent 40\p@} +\renewcommand\subitem{\@idxitem \hspace*{20\p@}} +\renewcommand\subsubitem{\@idxitem \hspace*{30\p@}} +\renewcommand\indexspace{\par \vskip 6\p@ \@plus2\p@ \@minus1\p@\relax} + +\newcommand*\DTK@embedded@documentclasshook{} +\newcommand*\AtEmbeddedDocumentclass{% + \g@addto@macro\DTK@embedded@documentclasshook} +\AtEmbeddedDocumentclass{% +%%% \filename@parse{\protect#1}\edef\DTK@local@jobname{\filename@base}%??? + \edef\jobname{\DTK@local@jobname}% +} +\newcommand*\DTK@embedded@begindocumenthook{} +\newcommand*\AtEmbeddedBeginDocument{% + \g@addto@macro\DTK@embedded@begindocumenthook} +\AtEmbeddedBeginDocument{} +\newcommand*\DTK@embedded@enddocumenthook{} +\newcommand*\AtEmbeddedEndDocument{% + \g@addto@macro\DTK@embedded@enddocumenthook} +\AtEmbeddedEndDocument{\endinput} +\newcommand*\DTK@jobname{} +\ifDTK@Author@ + \edef\DTK@jobname{komoedie} +\else + \edef\DTK@jobname{\jobname} +\fi +\newcommand*\DTK@local@jobname{} +\newcommand*\DTK@local@inputname{} +%%%\newcommand*\DTK@PSforPDF{} +\newcommand*\DTK@eat@version[1][]{\ignorespaces} +\newcommand*\DTK@usepackage{} +\newcommand*\DTKinput[1]{% + \begingroup + \filename@parse{#1}% + \edef\DTK@local@jobname{\filename@base}% + \@ifundefined{filename@ext}% + {\IfFileExists{\DTK@local@jobname.ltx}% + {\edef\DTK@local@inputname{\DTK@local@jobname.ltx}}% + {\edef\DTK@local@inputname{\DTK@local@jobname.tex}}% + }% + {\edef\DTK@local@inputname{#1}}% + \renewcommand*\documentclass[2][]{% + %%\edef\jobname{\DTK@local@jobname}% + %%%\let\DTK@PSforPDF\PSforPDF + %\renewcommand\PSforPDF[2][]{}% + %%%\let\PSforPDF\@gobble + \DTK@embedded@documentclasshook + \DTK@eat@version}% + \renewcommand*\usepackage[2][]{% + \@ifnextchar[%] + {\DTK@usepackage{##1}{##2}}% + {\DTK@usepackage{##1}{##2}[]}% + }% + \def\DTK@usepackage##1##2[##3]{% + \edef\@tempb{\zap@space##2 \@empty}% + \@for\@tempa:=\@tempb\do{\def\@tempb{inputenc}% + \ifx\@tempa\@tempb + \edef\@tempa{##1}% + \ifx\@tempa\@empty\else\inputencoding{##1}\fi + \else + \ifx\@tempa\@empty\else\NeedPackage{\@tempa}% + \RecordPackage{##1}\@tempa{##3}\DTK@local@inputname + \fi + \fi}}% + \let\pagestyle\@gobble + \let\thispagestyle\@gobble + \let\nocite\@gobble + \let\listfiles\relax + \let\nofiles\relax + \renewcommand*\AtBeginDocument[1]{% + \typeout{\string\AtBeginDocument\space ignored!}} + \renewcommand*\AtEndDocument[1]{% + \typeout{\string\AtEndDocument\space ignored!}} + \renewenvironment*{document}% + %%%{\let\PSforPDF\DTK@PSforPDF}% + %%%{\endinput}% + {\DTK@embedded@begindocumenthook}% + {\DTK@embedded@enddocumenthook}% + \input{\DTK@local@inputname}% + \endgroup +} +%%%\RequirePackage[final]{ps4pdf} +\@ifdefinable\User@Packages{\newwrite\User@Packages} +\AtBeginDocument{% + %%%\edef\DTK@jobname{\jobname}% + %%%\edef\PfP@container{\DTK@jobname-pics.pdf}% + \ifDTK@Author@\else + \listfiles + \InputIfFileExists{userpackages.tex}% + {\typeout{*************************************^^J% + * File `userpackages.tex' used.^^J% + *************************************}% + \newcommand*\RecordPackage[4]{}% + % warum gibt es kein \@gobblethree? ist jetzt egal! + }% + {% + \immediate\openout\User@Packages userpackages.tex\relax + \begingroup \catcode`\~=\active \let~=\space + \immediate\write\User@Packages{% + \@percentchar\space userpackages.tex^^J% + \@percentchar\space generated by `\jobname'^^J% + \@percentchar\space \DTK@today}% + \endgroup + \AtEndDocument{% + \immediate\closeout\User@Packages\relax}% + \newcommand*\RecordPackage[4]{% + \immediate\write\User@Packages{% + \string\usepackage[##1]{##2}[##3] % + \@percentchar\space From file: ##4}}% + }% + \fi + % RN 2005-03-21 + \@ifpackageloaded{lineno}{% + \ifDTK@Draft@\else + \nolinenumbers + \fi + }{} +} +\def\indexname{Stichwortverzeichnis}% Besser woanders? +\def\printindex{% + \InputIfFileExists{\DTK@jobname.ind}{}{% + \typeout{No file \DTK@jobname.ind.}% + \typeout{Use the following command to create it:^^J% + \@spaces makeindex -s dtk-idx.ist -o \DTK@jobname.ind \DTK@jobname.idx}% + \typeout{\space}}% +} +\@fptop\z@ + \endinput %% %% End of file `dtk.cls'. |