From b3e62d595cd3282078f660e96b7b8a7e1458efb3 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 5 Apr 2019 21:13:17 +0000 Subject: dtk (5apr19) git-svn-id: svn://tug.org/texlive/trunk@50789 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/dtk/dtk-author.clo | 4 +- Master/texmf-dist/tex/latex/dtk/dtk-extern.sty | 150 +++++++++++++++------ Master/texmf-dist/tex/latex/dtk/dtk-full.clo | 147 ++++++++++++++++---- Master/texmf-dist/tex/latex/dtk/dtk-logos.sty | 49 ++++--- .../texmf-dist/tex/latex/dtk/dtk-new-engines.clo | 17 ++- Master/texmf-dist/tex/latex/dtk/dtk-url.sty | 20 +-- Master/texmf-dist/tex/latex/dtk/dtk.bbx | 3 +- Master/texmf-dist/tex/latex/dtk/dtk.cls | 119 ++++++++++++---- 8 files changed, 378 insertions(+), 131 deletions(-) (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/latex/dtk/dtk-author.clo b/Master/texmf-dist/tex/latex/dtk/dtk-author.clo index 767b5f7a671..5a9142af742 100644 --- a/Master/texmf-dist/tex/latex/dtk/dtk-author.clo +++ b/Master/texmf-dist/tex/latex/dtk/dtk-author.clo @@ -14,12 +14,12 @@ %% version 2005/12/01 or later. \ProvidesFile{dtk-author.clo}% - [2016/02/15 v0.1b dtk class options for author mode (RN)] + [2017/12/16 v0.1c dtk class options for author mode (RN)] \newcommand*\keywords[1]{} \newcommand*\AutorenListe{} \let\maketitle=\DTK@maketitle -\let\tableofcontents=\relax +%\let\tableofcontents=\relax \let\DTK@@Author=\DTK@Author@article diff --git a/Master/texmf-dist/tex/latex/dtk/dtk-extern.sty b/Master/texmf-dist/tex/latex/dtk/dtk-extern.sty index 29d8672b70e..cd3396a5cb0 100644 --- a/Master/texmf-dist/tex/latex/dtk/dtk-extern.sty +++ b/Master/texmf-dist/tex/latex/dtk/dtk-extern.sty @@ -2,7 +2,7 @@ %% %% LaTeX package for ``Die TeXnische Komoedie''. %% -%% Copyright (C) 2016- +%% Copyright (C) 2016-19 %% Rolf Niepraschk, Herbert Voss %% %% It may be distributed and/or modified under the @@ -14,11 +14,13 @@ %% version 2005/12/01 or later. \ProvidesFile{dtk-extern}% - [2017/06/04 v0.06: dtk package for running external documents (HV)] + [2018/12/01 v0.12: dtk package for running external documents (HV)] -\RequirePackage{shellesc,filecontents,xkeyval,graphicx} +\RequirePackage{shellesc,filecontents,xkeyval,graphicx,marginnote,fancyvrb} \newcounter{dtk@extern@runs} +\newlength\dtk@extern@mpwidth \setlength\dtk@extern@mpwidth{\z@} + \define@key{dtk}{compiler}[pdflatex]{\def\dtk@extern@compiler{#1}} \define@key{dtk}{runsequence}[]{\def\dtk@extern@runsequence{#1}} \define@key{dtk}{runs}[1]{\setcounter{dtk@extern@runs}{#1}} @@ -28,17 +30,26 @@ \define@key{dtk}{caption}[]{\def\dtk@extern@caption{#1}} \define@key{dtk}{label}[]{\def\dtk@extern@label{#1}} \define@key{dtk}{pages}[1]{\def\dtk@extern@pages{#1}} +\define@key{dtk}{mpwidth}[0pt]{\setlength\dtk@extern@mpwidth{#1}} +\define@boolkey{dtk}[dtk@extern@]{usefancyvrb}[true]{} +\define@boolkey{dtk}[dtk@extern@]{showFilename}[true]{} \define@boolkey{dtk}[dtk@extern@]{code}[true]{} \define@boolkey{dtk}[dtk@extern@]{force}[true]{} \define@boolkey{dtk}[dtk@extern@]{crop}[true]{} \define@boolkey{dtk}[dtk@extern@]{biber}[true]{} +\define@boolkey{dtk}[dtk@extern@]{xindex}[true]{} +\define@key{dtk}{xindexOptions}[]{\def\dtk@extern@xindexOptions{#1}} \define@boolkey{dtk}[dtk@extern@]{includegraphic}[true]{} \define@boolkey{dtk}[dtk@extern@]{frame}[true]{} \define@boolkey{dtk}[dtk@extern@]{float}[true]{} \define@boolkey{dtk}[dtk@extern@]{cleanup}[true]{} +\define@boolkey{dtk}[dtk@extern@]{copyToExampleDir}[true]{} +\define@key{dtk}{align}[\centering]{\def\dtk@extern@align{#1}} +\define@key{dtk}{ExamplesDir}[Examples]{\def\dtk@extern@ExamplesDir{#1}} \def\ResetKeys{% \setkeys{dtk}{ + showFilename=false,% Dateinamen im Rand angeben code=false,% show Code crop=false,% erzeugte PDF "croppen" compiler=pdflatex,% zu verwendener Compiler @@ -48,6 +59,8 @@ runs=1,% Anzahl Compiler-Durchläufe runsequence={},% Im Moment nicht aktiv biber=false,% Biber laufen lassen? + xindex=false,% xindex laufen lassen? + xindexOptions={},% options for xindex force=false,% Compiler, auch wenn PDF existiert? frame=false,% keinen Rahmen um Abbildung float=false,% nicht als Gleitumgebung @@ -56,6 +69,11 @@ pages=1,% welche Seiten auszugeben sind docType=latex,% LaTeX example Code cleanup=false,% Hilfsdateien nicht löschen + copyToExampleDir,% Kopie nach ExamplesDir + ExamplesDir=Examples,% Unterverzeichnis für Beispiele + align=\centering,% Ausgabe zentrieren + mpwidth=0pt,% no minipage + usefancyvrb=false,% use VerbatimInput instead of listings } } \ResetKeys @@ -65,14 +83,21 @@ \gdef\DoubleperCent{%%} } +\newcounter{dtk@example@counter} + \newcommand\ExampleType[5]{% - \@namedef{#1@initText}{linerange=#2-#3,includerangemarker=false}% text - \@namedef{#1@initPreamble}{linerange=#4-#5,includerangemarker=false}% code + \ifdtk@extern@usefancyvrb + \@namedef{#1@initText}{\gdef\FancyVerbStartString{#2}\gdef\FancyVerbStopString{#3}}% text + \@namedef{#1@initPreamble}{\gdef\FancyVerbStartString{#4}\gdef\FancyVerbStopString{#5}}% code + \else + \@namedef{#1@initText}{linerange=#2-#3,includerangemarker=false}% text + \@namedef{#1@initPreamble}{linerange=#4-#5,includerangemarker=false}% code + \fi } \ExampleType{latex}% #1 - {begin\string{document\string}}% #2 - {end\string{document\string}}% #3 + {\string\begin\string{document\string}}% #2 + {\string\end\string{document\string}}% #3 {\perCent StartVisiblePreamble}% #4 {\perCent StopVisiblePreamble}% #5 @@ -85,69 +110,118 @@ %% %% [#1]: Optionen #2: Dateiname %% -\newenvironment{ErstelleGrafik}[2][] - {\global\setkeys{dtk}{#1}% \begin - \gdef\dtk@extern@dateiname{#2}% +\newenvironment{ErstelleGrafik}[2][]{% + \xdef\dtkExternDateiname{#2-\arabic{dtk@example@counter}}% + \typeout{Externer Dateiname: \dtkExternDateiname}% + \global\setkeys{dtk}{#1}% \begin + \expandafter\IfFileExists\expandafter{\dtkExternDateiname.pdf}{}{\setkeys{dtk}{force}}% \begingroup - \@nameuse{filecontents*}{#2.tex} + \@nameuse{filecontents*}{\dtkExternDateiname.tex} } {\@nameuse{endfilecontents*}% \end + \ifdtk@extern@copyToExampleDir + \ShellEscape{cp\space\dtkExternDateiname.tex \dtk@extern@ExamplesDir/}% + \fi + \global\stepcounter{dtk@example@counter}% \endgroup - \loop\ifnum\thedtk@extern@runs>0 - \typeout{Run: \thedtk@extern@runs\space \dtk@extern@compiler\space\dtk@extern@dateiname}% - \ShellEscape{\dtk@extern@compiler\space\dtk@extern@dateiname}% - \addtocounter{dtk@extern@runs}{-1}% - \repeat + \ifdtk@extern@force + \loop\ifnum\thedtk@extern@runs>0 + \typeout{Run: \thedtk@extern@runs\space \dtk@extern@compiler\space\dtkExternDateiname}% + \ShellEscape{\dtk@extern@compiler\space\dtkExternDateiname}% + \addtocounter{dtk@extern@runs}{-1}% + \repeat + \fi \ifdtk@extern@code - \expandafter\edef\expandafter\dtk@lst@options@preamble\expandafter{% - \@nameuse{\dtk@extern@docType @initPreamble}, - \dtk@extern@lstOptions, - backgroundcolor=\noexpand\color{black!12}}% - \expandafter\lstinputlisting\expandafter[\dtk@lst@options@preamble]{\dtk@extern@dateiname} + \ifdim\dtk@extern@mpwidth>\z@ \minipage[t]{\dtk@extern@mpwidth}\vspace{0pt}\fi + \expandafter\edef\expandafter\dtk@lst@options@preamble\expandafter{% + \@nameuse{\dtk@extern@docType @initPreamble}, + \dtk@extern@lstOptions, + backgroundcolor=\noexpand\color{black!12}}% + \ifdtk@extern@usefancyvrb + \expandafter\VerbatimInput\expandafter[\dtk@lst@options@preamble]{\dtkExternDateiname}% + \else + \expandafter\lstinputlisting\expandafter[\dtk@lst@options@preamble]{\dtkExternDateiname}% + \fi + \ifdtk@extern@showFilename + \marginnote{\rotatebox{90}{\dtkExternDateiname}}%[-15mm]% + \fi % \expandafter\edef\expandafter\dtk@lst@options@text\expandafter{% \@nameuse{\dtk@extern@docType @initText}, \dtk@extern@lstOptions, backgroundcolor=\noexpand\color{black!8}}% - \typeout{\dtk@lst@options@text} - \expandafter\lstinputlisting\expandafter[\dtk@lst@options@text]{\dtk@extern@dateiname} +% \typeout{\dtk@lst@options@text} + \ifdtk@extern@usefancyvrb + \expandafter\VerbatimInput\expandafter[\dtk@lst@options@text]{\dtkExternDateiname}% + \else + \expandafter\lstinputlisting\expandafter[\dtk@lst@options@text]{\dtkExternDateiname}% + \fi + \ifdim\dtk@extern@mpwidth > \z@\relax \endminipage\fi \fi - \expandafter\IfFileExists\expandafter{\dtk@extern@dateiname.pdf}% + \expandafter\IfFileExists\expandafter{\dtkExternDateiname.pdf}% {\ifdtk@extern@force \ifdtk@extern@biber - \ShellEscape{biber \dtk@extern@dateiname}% NAch biber nochmal latex - \ShellEscape{\dtk@extern@compiler\space\dtk@extern@dateiname}% + \ShellEscape{biber \dtkExternDateiname}% NAch biber nochmal latex + \ShellEscape{\dtk@extern@compiler\space\dtkExternDateiname}% + \fi + \ifdtk@extern@xindex + \ShellEscape{xindex \dtk@extern@xindexOptions\space \dtkExternDateiname.idx}% NAch xindex nochmal latex + \ShellEscape{\dtk@extern@compiler\space\dtkExternDateiname}% \fi \ifdtk@extern@crop - \ShellEscape{pdfcrop \dtk@extern@dateiname}% - \ShellEscape{mv \dtk@extern@dateiname-crop.pdf \dtk@extern@dateiname.pdf}% + \ShellEscape{pdfcrop \dtkExternDateiname}% + \ShellEscape{mv \dtkExternDateiname-crop.pdf \dtkExternDateiname.pdf}% \fi \fi }{} + \ifdtk@extern@code\else + \ifdtk@extern@showFilename + \marginnote{\rotatebox{90}{\dtkExternDateiname}}% + \fi + \fi +% \ifdtk@extern@includegraphic - \ifdtk@extern@float\begin{figure}[!htb]\centering\fi + \ifdtk@extern@float + \begin{figure}[!htb] + \else + \ifdim\dtk@extern@mpwidth>\z@ + \hfill\minipage[t]{\dimexpr\linewidth-\dtk@extern@mpwidth-1em\relax}\vspace{0pt} + \else + \par\begingroup + \fi + \fi + \dtk@extern@align \ifdtk@extern@frame \expandafter\@for\expandafter\next\expandafter:\expandafter=\dtk@extern@pages\do{% - \fbox{\expandafter\includegraphics\expandafter[\dtk@extern@grfOptions,page=\next]{\dtk@extern@dateiname}}% + \fbox{\expandafter\includegraphics\expandafter[\dtk@extern@grfOptions,page=\next]{\dtkExternDateiname}}% \hspace{5pt}}\hspace*{-5pt} -% \fbox{\expandafter\includegraphics\expandafter[\dtk@extern@grfOptions]{\dtk@extern@dateiname}}% +% \fbox{\expandafter\includegraphics\expandafter[\dtk@extern@grfOptions]{\dtkExternDateiname}}% \else \expandafter\@for\expandafter\next\expandafter:\expandafter=\dtk@extern@pages\do{% - \expandafter\includegraphics\expandafter[\dtk@extern@grfOptions,page=\next]{\dtk@extern@dateiname}% + \expandafter\includegraphics\expandafter[\dtk@extern@grfOptions,page=\next]{\dtkExternDateiname}% \hspace{5pt}}\hspace*{-5pt} -% \expandafter\includegraphics\expandafter[\dtk@extern@grfOptions]{\dtk@extern@dateiname}% +% \expandafter\includegraphics\expandafter[\dtk@extern@grfOptions]{\dtkExternDateiname}% \fi \ifx\dtk@extern@caption\@empty\else\caption{\dtk@extern@caption}\fi \ifx\dtk@extern@label\@empty\else\label{\dtk@extern@label}\fi - \ifdtk@extern@float\end{figure}\fi + \ifdtk@extern@float + \end{figure} + \else + \ifdim\dtk@extern@mpwidth>\z@ + \endminipage + \else + \par\endgroup + \fi + \fi \fi \ifdtk@extern@cleanup - \ShellEscape{rm \dtk@extern@dateiname.log}% - \ShellEscape{rm \dtk@extern@dateiname.aux}% - \ShellEscape{rm \dtk@extern@dateiname.toc}% -% \ShellEscape{rm \dtk@extern@dateiname.log}% + \ShellEscape{rm \dtkExternDateiname.log}% + \ShellEscape{rm \dtkExternDateiname.aux}% + \ShellEscape{rm \dtkExternDateiname.toc}% +% \ShellEscape{rm \dtkExternDateiname.log}% \fi \global\ResetKeys} +\stepcounter{dtk@example@counter}% % \let\externalDocument\ErstelleGrafik \let\endexternalDocument\endErstelleGrafik 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 diff --git a/Master/texmf-dist/tex/latex/dtk/dtk-logos.sty b/Master/texmf-dist/tex/latex/dtk/dtk-logos.sty index 5beb56c5bc7..3672dd2f0c7 100644 --- a/Master/texmf-dist/tex/latex/dtk/dtk-logos.sty +++ b/Master/texmf-dist/tex/latex/dtk/dtk-logos.sty @@ -4,7 +4,7 @@ %% %% LaTeX Class for ``Die TeXnische Komoedie''. %% -%% Copyright (C) 2017 +%% Copyright (C) 2018 %% Herbert Voss %% %% It may be distributed and/or modified under the @@ -15,12 +15,22 @@ %% and version 1.3c or later is part of all distributions of LaTeX %% version 2005/12/01 or later. % -% $Id: deLogos.sty 188 2015-10-08 20:06:29Z herbert $ % % ------------------------------------- -\ProvidesPackage{dtk-logos}[2017/06/07 v. 1.01 Dante Edition: Logos (hv)] +\ProvidesPackage{dtk-logos}[2018/10/19 v. 1.06 Dante Edition: Logos (hv)] % -\RequirePackage{hologo,dantelogo} +\newif\if@dtk@newengine \@dtk@newenginetrue +\RequirePackage{ifluatex,ifxetex} +% +\ifluatex\else\ifxetex\else\@dtk@newenginefalse\fi\fi +% +\RequirePackage{fetamont} +\RequirePackage{hologo,dantelogo,xspace} +\if@dtk@newengine + \RequirePackage{unicode-math} + \setmathfont{LatinModernMath-Regular} + \setmathfont[version=XITS]{XITSMath-Regular.otf} +\fi % \def\HoLogo@La#1{% L% @@ -43,9 +53,10 @@ \endgroup } \def\LaTeXTeX{\hologo{(La)TeX}} -\def\AmSLaTeX{\hologo{AmSLaTeX}} -\def\AmSTeX{\hologo{AmSTeX}} +\def\AmSLaTeX{\mbox{\textsf{AMS}-\hologo{LaTeX}}} +\def\AmSTeX{\mbox{\textsf{AMS}-\hologo{TeX}}} \def\biber{\hologo{biber}} +\def\Biber{\Hologo{biber}} \def\BibTeX{\hologo{BibTeX}} \def\BibTeXacht{\hologo{BibTeX8}} \def\ConTeXt{\hologo{ConTeXt}} @@ -67,7 +78,7 @@ \def\LyX{\hologo{LyX}} \def\METAFONT{\hologo{METAFONT}} \let\MF\METAFONT -\def\MetaFun{\hologo{MetaFun}} +\def\MetaFun{\textffm{METAFUN}} \def\METAPOST{\hologo{METAPOST}} \def\MetaPost{\hologo{MetaPost}} \let\MP\METAPOST @@ -76,7 +87,7 @@ \def\OzMF{\hologo{OzMF}} \def\OzMP{\hologo{OzMP}} \def\OzTeX{\hologo{OzTeX}} -\def\OzTtH{\hologo{OzTth}} +\def\OzTtH{\hologo{OzTtH}} \def\PCTeX{\hologo{PCTeX}} \def\pdfTeX{\hologo{pdfTeX}} \let\pdftex\pdfTeX @@ -97,10 +108,12 @@ \def\XeLaTeX{\hologo{XeLaTeX}} \def\XeTeX{\hologo{XeTeX}} %% +\def\AmS{{\ifluatex\mathversion{XITS}\fi% + $\mathcal{A}$\kern-.1667em\lower.5ex\hbox{$\mathcal{M}$}\kern-.125em$\mathcal{S}$}}% $ +% \newcommand\BibTool{\textsc{Bib\hskip-.1em T\hskip-.15emo\hskip-.05emo\hskip-.05eml}\xspace} \providecommand\tikz{\textsf{Ti\textit{k}Z}} -\def\pgf/tikz{\textsf{pgf/Ti\textit{k}Z}} \def\ALEPH{\ensuremath{\aleph}} \let\TikZ\tikz @@ -114,17 +127,23 @@ \providecommand\TUGboat{\textsl{TUGboat}} \let\DANTE\dantelogo \def\pgf/tikz{\textsf{pgf/Ti\textit{k}Z}} -\def\TeXLive{\TeX{}Live} +\def\TeXLive{\TeX{}Live\xspace} \def\BibLaTeX{Bib\hologo{LaTeX}} \let\biblatex\BibLaTeX \def\CTAN{\texttt{CTAN}\xspace} -\iffalse -\newfontfamily\LinWikipedia{LinLibertine_R_G}[Extension=.ttf, - Path=/usr/local/texlive/texmf-local/fonts/opentype/libertine/] -\def\WikipediA{{\LinWikipedia\char"E02F\textsc{ikipediA}}} % dezimal -\let\wikipedia\WikipediA +\def\PSTricks{\textsf{PSTricks}\xspace} +\let\pstricks\PSTricks + +\if@dtk@newengine + \newfontfamily\dtk@LinWikipedia{Linux Libertine O}% + \def\WikipediA{{\dtk@LinWikipedia\char"E02F\textsc{ikipediA}}} % hexadezimal +\else + \def\WikipediA{WikipediA}% \fi +\let\wikipedia\WikipediA +% +\def\macOS{\textsf{macOS}\xspace} \endinput diff --git a/Master/texmf-dist/tex/latex/dtk/dtk-new-engines.clo b/Master/texmf-dist/tex/latex/dtk/dtk-new-engines.clo index 9a10f99ab1c..97836a98d43 100644 --- a/Master/texmf-dist/tex/latex/dtk/dtk-new-engines.clo +++ b/Master/texmf-dist/tex/latex/dtk/dtk-new-engines.clo @@ -41,15 +41,14 @@ * File `dtk-fonts.cfg' used.^^J% *************************************}% }{% - \RequirePackage[lining=true]{libertine}% - \def\DTKrmFontName{Linux Libertine}% - \def\DTKsfFontName{Linux Biolinum}% - \setmathfont{XITSMath}[Scale=0.9,math-style=TeX,bold-style=TeX]% - \def\DTKmathFontName{XITS Math}% - \setmonofont{AnonymousPro}[Scale=0.955,FakeStretch=0.87]% - \def\DTKttFontName{Anonymous Pro}% - %\setmonofont{DejaVuSansMono}[Scale=0.81,FakeStretch=0.9]% - %\def\DTKttFontName{DejaVu Mono}% + \RequirePackage{libertinus-otf}% + \def\DTKrmFontName{Libertinus Serif}% + \def\DTKsfFontName{Libertinus Sans Serif}% +% \setmathfont{XITSMath}[Scale=0.9,math-style=TeX,bold-style=TeX]% + \def\DTKmathFontName{Libertinus Math}% + \setmonofont{AnonymousPro}[Scale=MatchLowercase,FakeStretch=0.87, + RawFeature=-tlig]% + \def\DTKttFontName{Anonymous Pro}% } \endinput diff --git a/Master/texmf-dist/tex/latex/dtk/dtk-url.sty b/Master/texmf-dist/tex/latex/dtk/dtk-url.sty index d14ceb4f147..2f30ef0bbea 100644 --- a/Master/texmf-dist/tex/latex/dtk/dtk-url.sty +++ b/Master/texmf-dist/tex/latex/dtk/dtk-url.sty @@ -146,15 +146,17 @@ \let\embedfilefinish\relax \AfterLastShipout{% \immediate\closeout\DTK@UrlHandle - \embedfile[% - mimetype=text/plain,% - stringmethod=escape,% - desc={% - List of URLs found in % - \@backslashchar url and \@backslashchar ctanurl% - },% - ]{\DTK@UrlFile}% - \DTK@embedfilefinish + \IfFileExists{\DTK@UrlFile}{% + \embedfile[% + mimetype=text/plain,% + stringmethod=escape,% + desc={% + List of URLs found in % + \@backslashchar url and \@backslashchar ctanurl% + },% + ]{\DTK@UrlFile}% + \DTK@embedfilefinish + }{} }% \else \let\DTK@UrlWrite\@gobbletwo diff --git a/Master/texmf-dist/tex/latex/dtk/dtk.bbx b/Master/texmf-dist/tex/latex/dtk/dtk.bbx index bff4c92c484..a77f0e84d16 100644 --- a/Master/texmf-dist/tex/latex/dtk/dtk.bbx +++ b/Master/texmf-dist/tex/latex/dtk/dtk.bbx @@ -8,7 +8,7 @@ %% See http://www.latex-project.org/lppl.txt %% --------------------------------------------------------------- %% -\ProvidesFile{dtk.bbx}[2016/04/04 v0.11 biblatex bibliography style for DTK] +\ProvidesFile{dtk.bbx}[2018/07/11 v0.12 biblatex bibliography style for DTK] % Load the standard style to avoid copy-pasting unnecessary material \RequireBibliographyStyle{chem-angew} @@ -37,6 +37,7 @@ % biblabel = parens, sorting = nyvt, dashed = true, + datezeros = false, } diff --git a/Master/texmf-dist/tex/latex/dtk/dtk.cls b/Master/texmf-dist/tex/latex/dtk/dtk.cls index 12d273b2605..816af176367 100644 --- a/Master/texmf-dist/tex/latex/dtk/dtk.cls +++ b/Master/texmf-dist/tex/latex/dtk/dtk.cls @@ -14,6 +14,13 @@ %% version 2005/12/01 or later. \listfiles + +\InputIfFileExists{dtk-requirepackages.tex}{% + \typeout{*************************************^^J% + * File `dtk-requirepackages.tex' used.^^J% + *************************************}% +}{}% + \NeedsTeXFormat{LaTeX2e}[1999/12/01] \RequirePackage{hyphsubst}% Trennregeln austauschen \HyphSubstIfExists{ngerman-x-latest}{% @@ -21,8 +28,8 @@ \HyphSubstIfExists{german-x-latest}{% \HyphSubstLet{german}{german-x-latest}}{} -\def\DTKversion{2.07a} -\def\DTKversiondate{2017/06/07} +\def\DTKversion{2.08a} +\def\DTKversiondate{2019/01/31} \ProvidesClass{dtk}[\DTKversiondate v\DTKversion dtk documentclass (RN)] \RequirePackage{ifxetex,ifluatex,ifpdf,ifvtex,luatex85} @@ -56,6 +63,10 @@ \newlength\DTK@tempdimb \newlength\DTK@tempdimc \newlength\DTK@tempdimd +\newlength\DTK@tempdime + +\newlength\Linewidth +\AtBeginDocument{\Linewidth=\dimexpr\linewidth-2\fboxsep-2\fboxrule} \newcommand*\journalname{Die \protect\TeX{}nische Kom\"odie} @@ -164,7 +175,7 @@ \ClassError{dtk2}{% Eines der Makros `\string\DTKrmFontName', `\string\DTKsfFontName', \MessageBreak - `\string\DTKttFontName`' oder `\string\DTKmathFontName' + `\string\DTKttFontName' oder `\string\DTKmathFontName' \MessageBreak ist nicht korrekt definiert% }{}% @@ -180,6 +191,9 @@ \input{dtk-new-engines.clo}% LuaTeX oder XeTeX \fi +\@ifpackagelater{csquotes}{2018/02/11}{}{% + \def\@inpenc@undefined{} +} \RequirePackage[autostyle=true,german=guillemets,maxlevel=3]{csquotes}% \MakeAutoQuote{»}{«} \defineshorthand{"`}{\openautoquote}% @@ -256,6 +270,11 @@ \let\DTK@thispagestyle=\thispagestyle +\newcommand*\DTK@Author@list@content{} +\newcommand\DTK@Author@list@exec{% + \DTK@Author@list@content + \global\let\DTK@Author@list@content=\@empty +} \newcommand\DTK@maketitle[1][]{% \begingroup \dimen0=\textheight @@ -265,19 +284,20 @@ \fi \endgroup \def\and{\end{tabular}, \begin{tabular}[t]{@{}c@{}}}% - \chapter[\@@title]{\@title}% - %%%\ifx\@author\@empty\else\addsec*{\@author}\fi + \leavevmode% erzwingt \everypar (speziell: \DTK@Author@list@exec) + \vspace*{-8mm}% + \addchap[\@@title]{\@title}% \begingroup \usekomafont{author}\lineskip 0.75em % - \begin{tabular}[t]{@{}c@{}}\@author\end{tabular}\par + \begin{tabular}[t]{@{}c@{}}\@author\end{tabular}\par\medskip \endgroup - \DTK@thispagestyle{plain.scrheadings}% \@thanks \global\let\@thanks=\@empty \global\let\@title=\@empty \global\let\@author=\@empty \global\let\@thanks=\@empty \global\let\and\relax + \global\let\DTK@license=\@empty } \renewcaptionname{ngerman}{\bibname}{Literatur und Software} @@ -286,12 +306,44 @@ \RequirePackage[automark,draft=false]{scrlayer-scrpage} \pagestyle{scrheadings} \clearpairofpagestyles -\ihead{\headmark} -\ohead{\pagemark} +% https://komascript.de/node/2177 +\ihead{\ifstr{\righttopmark}{\rightbotmark}{\leftmark}{}} +\ohead{\ifstr{\righttopmark}{\rightbotmark}{\pagemark}{}} \ofoot*{\normalsize\DTKcorrVersion} \ifoot*{\journalname~~\DTKdate} \automark[chapter]{chapter} +\newcommand*\DTK@license{} +\newcommand*\license[1]{% + \gdef\DTK@license{#1}% +} +\iffalse +\RedeclareSectionCommand[% + ,style=part + %,indent=\z@ + ,beforeskip=40mm + ,afterskip=60mm % + ,pagestyle=plain.scrheadings + %,innerskip=\z@ +]{part} +\fi + +\RedeclareSectionCommand[% + ,style=section + ,indent=\z@ + ,beforeskip=-2\baselineskip \@plus -.2\baselineskip \@minus -.2\baselineskip + ,afterskip=.4\baselineskip \@plus .04\baselineskip \@minus .04\baselineskip +]{chapter} + +\RedeclareSectionCommand[% + ,beforeskip=-2.4ex \@plus -1ex \@minus -.2ex % Betrag ist von Bedeutung! + ,afterskip=0.8ex \@plus .1ex \@minus .1ex % +]{section} + +\RedeclareSectionCommand[% + ,afterskip=0.8ex \@plus .1ex % +]{subsection} + \RequirePackage{xcolor} \ifDTKcolor @@ -354,7 +406,8 @@ \def\bibliography#1{% \ClassError{dtk2}{% Das Makro `\string\bibliography' wird nicht unterstützt!\MessageBreak - Verwende stattdessen `\string\addbibresource\string{#1.bib\string}'\MessageBreak + Verwende stattdessen `\string\addbibresource\string{#1.bib\string}' + \MessageBreak und `\string\printbibliography' (siehe biblatex-Dokumentation) }{}% }% @@ -362,10 +415,11 @@ %%%\ifDTKrecord \expandafter \endinput \fi % lohnt es? -\addtokomafont{caption}{\RaggedRight\small} +\addtokomafont{caption}{%\RaggedRight + \small} \setkomafont{captionlabel}{\sffamily} \setcapindent{0pt} -\setcapwidth[c]{\textwidth} +%\setcapwidth[c]{\textwidth} \renewcaptionname{ngerman}{\figurename}{Abb.} \renewcaptionname{ngerman}{\tablename}{Tab.} \def\thefigure{\@arabic\c@figure} @@ -373,22 +427,6 @@ \def\theequation{\@arabic\c@equation} \def\thelstlisting{\@arabic\c@lstlisting} -\RedeclareSectionCommand[% - ,beforeskip=-2.4ex \@plus -1ex \@minus -.2ex % Betrag ist von Bedeutung! - ,afterskip=0.8ex \@plus .1ex \@minus .1ex % -]{section} - -\RedeclareSectionCommand[% - ,afterskip=0.8ex \@plus .1ex % -]{subsection} - -\RedeclareSectionCommand[% - ,style=section - ,indent=\z@ - ,beforeskip=-2\baselineskip \@plus -.2\baselineskip \@minus -.2\baselineskip - ,afterskip=1\baselineskip \@plus .1\baselineskip \@minus .1\baselineskip -]{chapter} - \setkomafont{disposition}{\normalfont\sffamily} \setkomafont{part}{\usekomafont{disposition}\huge} \setkomafont{chapter}{\usekomafont{disposition}\Large} @@ -398,6 +436,20 @@ \setkomafont{pagefoot}{\footnotesize\sffamily\slshape}% \itshape? \setkomafont{author}{\usekomafont{section}} +\RequirePackage{marginnote} +\renewcommand*{\marginfont}{\normalfont\itshape\small} +\renewcommand*{\sectionlinesformat}[4]{% + % reagiert auf \addchap in \maketitle (wegen "style=section") + \@hangfrom{% + \ifx\DTK@license\@empty\else + \marginnote{\rotatebox{90}{\makebox[.5em][r]{% + Lizenz:~\DTK@license + }}}% + \fi + \hskip #2#3% + }{#4}% +} + %\addtokomafont{footnote}{\RaggedRight} \deffootnote[1.2em]{1.2em}{1.2em}{\textsuperscript{\thefootnotemark}\,} \newcommand*\DTK@footnote{} @@ -409,6 +461,7 @@ \def\footnote{% \@ifstar\DTK@@footnote\DTK@footnote } +%\setfootnoterule{.15\textwidth} \RequirePackage{enumitem} \setlist{leftmargin=*,nosep} @@ -423,6 +476,16 @@ % Listings \newcommand*\DTKlstfont{\small\ttfamily} +\let\lstlisting=\relax +\let\lstlisting@=\relax +% Correct wrong vertical spaces +\lstnewenvironment{lstlisting}[2][]{% + %%%%\leavevmode% + \lst@TestEOLChar{#2}% + \lstset{#1}% + \csname\@lst @SetFirstNumber\endcsname +}{\csname\@lst @SaveFirstNumber\endcsname} + % siehe ggf.: https://github.com/jez/latex-solarized \lstdefinestyle{DTKlstSimple0}{% -- cgit v1.2.3