diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/dtk/dtk-full.clo')
-rw-r--r-- | Master/texmf-dist/tex/latex/dtk/dtk-full.clo | 147 |
1 files changed, 118 insertions, 29 deletions
diff --git a/Master/texmf-dist/tex/latex/dtk/dtk-full.clo b/Master/texmf-dist/tex/latex/dtk/dtk-full.clo index e9f94ab8655..2ca4a19f800 100644 --- a/Master/texmf-dist/tex/latex/dtk/dtk-full.clo +++ b/Master/texmf-dist/tex/latex/dtk/dtk-full.clo @@ -14,7 +14,7 @@ %% version 2005/12/01 or later. \ProvidesFile{dtk-full.clo}% - [2017/05/30 v0.1i dtk class options for full mode (RN)] + [2019/01/31 v0.1l dtk class options for full mode (RN)] \@ifclasslater{scrbook}{2015/09/29}{}{% \ClassError{dtk2}{% @@ -28,7 +28,7 @@ \edef\pdfcreationdate{\pdfcreationdate} % weil datetime2 inkompatible zu LuaTeX 0.95/luatex85, % standardmäßig ungünstige Defionition in luatex85 -\usepackage[showzone=false]{datetime2} +\RequirePackage[showzone=false]{datetime2} \newcommand*\AutorenListenName{Autoren/Organisatoren} % auch »Stichwortverzeichnis«? \newcommand*\DTK@fancyJournalname{% @@ -79,28 +79,58 @@ \g@addto@macro\DTK@embedded@enddocumenthook} \newcommand*\DTK@local@inputname{} \newcommand*\DTK@eat@version[1][]{\ignorespaces} -\newcommand*\DTK@usepackage[2][]{% TODO: Besser \DTK@eat@version +\newcommand*\DTK@usepackage[2][]{% \@ifnextchar[%] {\DTK@@usepackage{#1}{#2}}% {\DTK@@usepackage{#1}{#2}[]}% }% +\newcommand*\DTK@RequirePackage[2][]{% + \@ifnextchar[%] + {\DTK@@RequirePackage{#1}{#2}}% + {\DTK@@RequirePackage{#1}{#2}[]}% +}% \newcommand*\DTK@@usepackage{} +\newcommand*\DTK@@RequirePackage{} \newcommand*\DTK@documentclass[2][]{% \DTK@eat@version } +\newcounter{artcounter} + \ifDTKrecord % Testlauf zum Aufsammeln von Paket- und bib-Dateinamen - \@ifdefinable\user@packages{% - \newwrite\user@packages - \immediate\openout\user@packages dtk-userpackages.tex\relax - \immediate\write\user@packages{\@percentchar\space *** \DTMnow\space ***}% - \AtEndDocument{\immediate\closeout\user@packages\relax}% + \@ifdefinable\user@usepackages{% + \newwrite\user@usepackages + \immediate\openout\user@usepackages dtk-userpackages.tex\relax + \immediate\write\user@usepackages{% + \@percentchar\space *** \DTMnow\space ***}% + \AtEndDocument{\immediate\closeout\user@usepackages\relax}% + } + \@ifdefinable\user@requirepackages{% + \newwrite\user@requirepackages + \immediate\openout\user@requirepackages dtk-requirepackages.tex\relax + \immediate\write\user@requirepackages{% + \@percentchar\space *** \DTMnow\space ***}% + \AtEndDocument{\immediate\closeout\user@requirepackages\relax}% + } + \@ifdefinable\user@bibs{% + \newwrite\user@bibs + \immediate\openout\user@bibs dtk-userbibs.tex\relax + \immediate\write\user@bibs{% + \@percentchar\space *** \DTMnow\space ***}% + \AtEndDocument{\immediate\closeout\user@bibs\relax}% } \renewcommand*\printbibliography[1][]{}% \newcommand*\DTK@addbibresource[2][]{% - \immediate\write\user@packages{% - \string\addbibresource[datatype=bibtex,label=DTK\the\c@refsection]{#2}% + \@ifundefined{BIBS:\the\c@artcounter}{% + \def\DTK@tempa{}% + \expandafter\let\csname BIBS:\the\c@artcounter\endcsname\@empty + }{\def\DTK@tempa{,}}% + % Collect all bib filenames as comma list for \newrefsection + \expandafter\g@addto@macro\csname BIBS:\the\c@artcounter + \expandafter\endcsname\expandafter{\DTK@tempa #2}% + \immediate\write\user@bibs{% + \string\addbibresource\ifx\relax#1\relax\else[#1]\fi{#2}% \@percentchar\space \DTK@local@inputname }% }% @@ -110,13 +140,23 @@ \let\DTK@tempa=\@empty \ifstr{\@tempa}{inputenc}{\let\DTK@tempa=\@percentchar}{% \ifstr{\@tempa}{fontenc}{\let\DTK@tempa=\@percentchar}{}}% - \immediate\write\user@packages{% + \immediate\write\user@usepackages{% \DTK@tempa\string\usepackage\ifx\relax#1\relax\else[#1]\fi{\@tempa}% \ifx\relax#3\relax\else[#3]\fi\@percentchar\space \DTK@local@inputname }% }% \ignorespaces }% + \def\DTK@@RequirePackage#1#2[#3]{% + \edef\@tempb{\zap@space#2 \@empty}% + \@for\@tempa:=\@tempb\do{% + \immediate\write\user@requirepackages{% + \string\RequirePackage\ifx\relax#1\relax\else[#1]\fi{\@tempa}% + \ifx\relax#3\relax\else[#3]\fi\@percentchar\space \DTK@local@inputname + }% + }% + \ignorespaces + }% \let\DTK@@Author=\DTK@Author \newcommand*\AutorenListe{}% \let\tableofcontents=\relax @@ -128,10 +168,16 @@ * File `dtk-userpackages.tex' used.^^J% *************************************}% }{}% + \InputIfFileExists{dtk-userbibs.tex}{% + \typeout{*************************************^^J% + * File `dtk-userbibs.tex' used.^^J% + *************************************}% + }{}% \shorthandon{"}% }% \AtBeginDocument{\DTK@backside}% \def\DTK@@usepackage#1#2[#3]{}% + \def\DTK@@RequirePackage#1#2[#3]{}% \newcommand*\DTK@addbibresource[2][]{}% \newcommand*\ORIG@printbibliography{} \let\ORIG@printbibliography=\printbibliography @@ -162,14 +208,26 @@ \noexpand\sindex[autoren]{#2#1@#1 #2!#3}}}% \x \else - \sindex[autoren]{#2#1@#1 #2!\textcolor{red}{\huge???}}% + \ifDTK@korr@ + \sindex[autoren]{#2#1@#1 #2!\textcolor{red}{\huge???}}% + \else + \sindex[autoren]{#2#1@#1 #2!\relax}% + \fi \fi \endgroup }% - \let\DTK@Author=\DTK@Author@list + \newcommand*\DTK@Update@Author@index[3]{% + % Paket "everyhook"? + % Erst zu Beginn des nächsten Absatzes (hmode) Index-Befehle ausführen + \g@addto@macro\DTK@Author@list@content{\DTK@Author@list{#1}{#2}{#3}}% + \everypar=\expandafter{\the\everypar\DTK@Author@list@exec}% + } + % Sternversion: keine Ausgabe der Autoren, nur Index ergänzen + \let\DTK@Author=\DTK@Update@Author@index + % Normale Version \newcommand\DTK@@Author[3]{% - \DTK@Author@article{#1}{#2}{#3}% - \DTK@Author@list{#1}{#2}{#3}% + \DTK@Author@article{#1}{#2}{#3}% Ausgabe der Autoren wie im Autor-Modus + \DTK@Update@Author@index{#1}{#2}{#3}% } \renewcommand\maketitle[1][]{% \thispagestyle{dtk-title}% @@ -180,6 +238,8 @@ %%% Laden eines Einzeldokuments \newcommand*\DTKinput[1]{% + \setcounter{dtk@example@counter}{1}% + \stepcounter{artcounter}% \begingroup \filename@parse{#1}% \edef\jobname{\filename@base}% @@ -197,6 +257,7 @@ \let\nofiles=\relax \let\documentclass=\DTK@documentclass \let\usepackage=\DTK@usepackage + \let\RequirePackage=\DTK@RequirePackage \let\addbibresource=\DTK@addbibresource \c@footnote=\z@ \c@lstlisting=\z@ @@ -204,14 +265,29 @@ \c@table=\z@ \c@equation=\z@ \renewenvironment{document}{% - \ifDTKrecord\endgroup\expandafter\endinput\fi + \ifDTKrecord + % Write the definition of the complete bib filename list + \@ifundefined{BIBS:\the\c@artcounter}{}{% + \immediate\write\user@bibs{% + \string\@namedef{BIBS:\the\c@artcounter}% + {\csname BIBS:\the\c@artcounter\endcsname}% + \@percentchar\space \DTK@local@inputname + }% + }% + \endgroup\expandafter\endinput + \fi \DTK@embedded@begindocumenthook\ignorespaces }{% \DTK@embedded@enddocumenthook\endinput }% - \refsection[DTK\the\c@refsection]% + \@ifundefined{BIBS:\the\c@artcounter}{% \input{\DTK@local@inputname}% - \endrefsection + }{% + \expandafter\newrefsection\expandafter + [\csname BIBS:\the\c@artcounter\endcsname]% + \input{\DTK@local@inputname}% + \endrefsection + }% \endgroup } @@ -293,27 +369,30 @@ \ifDTK@korr@% === Positionsnummern am linken Rand === \newcommand*\formatPosNumber[1]{% - \fboxsep=.2em % \fbox{\ifnum\arabic{page}<10 0\fi\arabic{page}-\ifnum#1<10 0\fi\@arabic{#1}}% } \newcommand\makePosNumbers[2]{% + \fboxsep=.2em % \settoheight\DTK@tempdimc{\formatPosNumber{9}}% + \settowidth\DTK@tempdime{\formatPosNumber{9}}% \DTK@tempdimc=1.5\DTK@tempdimc \DTK@tempdimd=0pt % \DTK@tempdimb=#2 % + %%%\settowidth\DTK@tempdima{\formatPosNumber{9}}% \@tempcnta=0 % \@whiledim \dimexpr\DTK@tempdimd+.5\DTK@tempdimc < \textheight\do{% \advance\@tempcnta 1 % \DTK@tempdimb=\dimexpr\DTK@tempdimb-\DTK@tempdimc \DTK@tempdimd=\dimexpr\DTK@tempdimd+\DTK@tempdimc - \put(#1,\DTK@tempdimb){\formatPosNumber{\@tempcnta}}% + \put(\ifodd\c@page #1\else\dimexpr#1+\textwidth+1.5\DTK@tempdime\fi,% + \DTK@tempdimb){\formatPosNumber{\@tempcnta}}% }% } \DeclareNewLayer[textarea,background,mode=picture,contents={% \begingroup \ttfamily\scriptsize\itshape \settowidth\DTK@tempdimc{\formatPosNumber{99}}% - \DTK@tempdima=\dimexpr-.5\textwidth-\DTK@tempdimc-.8em % + \DTK@tempdima=\dimexpr-.5\textwidth-\DTK@tempdimc-.1em % \putC{% \makePosNumbers{\DTK@tempdima}{.5\textheight}% }% @@ -373,6 +452,8 @@ \newcommand*\Part{% % [#1]=toc, {#2}=Überschrift, [#3]=Präambel, *=nur Strich + \clearpage + %\DTK@thispagestyle{plain.scrheadings}% \@ifstar{\global\@tempswatrue\DTK@Part}{\global\@tempswafalse\DTK@Part}% } @@ -384,23 +465,31 @@ \newcommand\DTK@@Part[1][]{% \let\DTK@tempb=\partheadendvskip - \if@tempswa + \DTK@tempdime=10pt % + \if@tempswa% Strich \setpartpreamble{% \noindent\raisebox{\height}[\height]{\rule{\textwidth}{2pt}}% }% - \def\partheadendvskip{% - \medskip\par - } + \advance\DTK@tempdime 3mm % \fi - \ifx\relax#1\relax\else - \setpartpreamble{% + \ifx\relax#1\relax + \else% Präambel + \setbox0=\vbox{% \noindent\raisebox{\height}[\height]{\rule{\textwidth}{2pt}}\par - \usekomafont{section} #1\par + \usekomafont{section} #1\par}% + \settoheight{\DTK@tempdima}{\usebox0}% + \settodepth{\DTK@tempdimb}{\usebox0}% + \advance\DTK@tempdima\DTK@tempdimb + \setpartpreamble{% + \box0 }% + \advance\DTK@tempdime \DTK@tempdima % \fi + \def\partheadendvskip{\vskip \DTK@tempdime\par}% \DTK@tempa \let\partheadendvskip=\DTK@tempb - \bigskip\par + \vskip -5mm % + \leavevmode } \def\partheadstartvskip{% 12.0pt plus 1.0fil |