From 73e532350e22af74a12b88229196d425adc0c23f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 7 Jun 2017 21:24:40 +0000 Subject: dtk (7jun17) git-svn-id: svn://tug.org/texlive/trunk@44524 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/dtk/README.md | 2 +- Master/texmf-dist/doc/latex/dtk/doc/beispiel.pdf | Bin 87006 -> 87121 bytes .../doc/latex/dtk/doc/dtk-extern-test.tex | 132 ++++++++++++++++++++- Master/texmf-dist/tex/latex/dtk/dtk-extern.sty | 103 ++++++++++++---- Master/texmf-dist/tex/latex/dtk/dtk-full.clo | 6 +- Master/texmf-dist/tex/latex/dtk/dtk-logos.sty | 4 +- Master/texmf-dist/tex/latex/dtk/dtk.cls | 4 +- 7 files changed, 213 insertions(+), 38 deletions(-) (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/dtk/README.md b/Master/texmf-dist/doc/latex/dtk/README.md index 579be674638..61c46abddc5 100644 --- a/Master/texmf-dist/doc/latex/dtk/README.md +++ b/Master/texmf-dist/doc/latex/dtk/README.md @@ -2,4 +2,4 @@ LaTeX class for the journal »Die TeXnische Komödie« (new implementation). -Rolf Niepraschk, Rolf.Niepraschk@gmx.de +Rolf Niepraschk and Herbert Voss diff --git a/Master/texmf-dist/doc/latex/dtk/doc/beispiel.pdf b/Master/texmf-dist/doc/latex/dtk/doc/beispiel.pdf index 000fadb4d8f..452dfe2abb8 100644 Binary files a/Master/texmf-dist/doc/latex/dtk/doc/beispiel.pdf and b/Master/texmf-dist/doc/latex/dtk/doc/beispiel.pdf differ diff --git a/Master/texmf-dist/doc/latex/dtk/doc/dtk-extern-test.tex b/Master/texmf-dist/doc/latex/dtk/doc/dtk-extern-test.tex index 765c99ab05e..b9151da2060 100644 --- a/Master/texmf-dist/doc/latex/dtk/doc/dtk-extern-test.tex +++ b/Master/texmf-dist/doc/latex/dtk/doc/dtk-extern-test.tex @@ -3,15 +3,42 @@ \usepackage[utf8]{inputenc} \fi -% lualatex --shell-escape dtk-extern-test.tex +\usepackage{dtk-extern} +\makeatletter +\edef\dtkFileversion{\@nameuse{ver@dtk-extern}} +\makeatother +\begin{document} +\title[Externe Dokumente erzeugen]{\dtkFileversion~-- Externe Dokumente aus \LaTeX\ heraus definieren und das Ergebnis einbinden, } +\Author{Herbert}{Voß}{\Email{herbert@dante.de}} +\maketitle + +\section{Syntax} +\begin{verbatim} \usepackage{dtk-extern} +\end{verbatim} + +Das Paket wird standardmäßig bei Verwendung der Klasse \texttt{dtk} geladen. +Externe \LaTeX-, \ConTeXt-, \ldots\ Dokumente lassen sich mit der folgenden +Umgebung erzeugen: + -\begin{document} +\begin{verbatim} +\begin{externalDocument}[]{} +... +Quellcode +... +\end{externalDocument} +\end{verbatim} + +Das Hauptdocument \emph{muss} mit der Option \texttt{-shell-escape} aufgerufen werden. + + +\section{Beispiele} \begin{minipage}{.3\linewidth} -\begin{ErstelleGrafik}[grfOptions={width=0.5\linewidth},compiler=pdflatex]{Roemer1} +\begin{externalDocument}[grfOptions={width=0.5\linewidth},compiler=pdflatex,force,cleanup]{Roemer1} \documentclass{standalone} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} @@ -29,7 +56,7 @@ ] \end{forest} \end{document} -\end{ErstelleGrafik} +\end{externalDocument} \end{minipage} \begin{minipage}{.3\linewidth} \begin{lstlisting} @@ -60,7 +87,8 @@ \begin{minipage}{0.35\textwidth} -\begin{ErstelleGrafik}[grfOptions={width=\linewidth},compiler=xelatex,crop]{Senger3} +\begin{externalDocument}[grfOptions={width=\linewidth},compiler=xelatex, + crop,cleanup,force]{Senger3} \documentclass{article} \usepackage{tikz} \usepackage[hks,pantone,xcolor]{xespotcolor} @@ -80,7 +108,7 @@ \node {\LaTeX}; \end{tikzpicture} \end{document} -\end{ErstelleGrafik} +\end{externalDocument} \end{minipage} \hfill \begin{minipage}{0.64\textwidth} @@ -101,6 +129,98 @@ \end{lstlisting} \end{minipage} + +\section{Optionale Argumente} + + +\begin{verbatim} + code=false,% show Source Code + crop=false,% erzeugte PDF "croppen" + compiler=pdflatex,% zu verwendener Compiler + grfOptions={},% Optionen der einzubindenden Grafik + lstOptions={},% Optionen für das Listing + includegraphic=true,% Grafik einbinden oder User überlassen + runs=1,% Anzahl Compiler-Durchläufe + runsequence={},% Im Moment nicht aktiv + biber=false,% Biber laufen lassen? + force=false,% Compiler, auch wenn PDF existiert? + frame=false,% keinen Rahmen um Abbildung + float=false,% nicht als Gleitumgebung + caption=,% keine Caption + label=,% kein Label + pages=1,% welche Seiten auszugeben sind + docType=latex,% LaTeX example Code +\end{verbatim} + +\begin{externalDocument}[ + grfOptions={width=0.48\linewidth}, + pages={1,3}, + frame,compiler=pdflatex, +% crop, + force,runs=2,code,docType=latex, + frame, + lstOptions={columns=fixed}]{Schubert-A} +%StartVisiblePreamble +\documentclass[chapterprefix=on,parskip=half-,DIV=12,fontsize=12pt]{scrbook} +\DeclareNewSectionCommand[ + style=section, + level=4, + beforeskip=-3.25ex plus -1ex minus -.2ex, + afterskip=1.5ex plus .2ex, + font=\normalsize, + indent=0pt, + counterwithin=subsubsection +]{subsubsubsection} +\RedeclareSectionCommand[ + level=5, + toclevel=5, + tocindent=13em, + tocnumwidth=5.9em, + counterwithin=subsubsubsection +]{paragraph} +\RedeclareSectionCommand[ + level=6, + toclevel=6, + tocindent=15em, + tocnumwidth=6.8em +]{subparagraph} +\setcounter{secnumdepth}{\subsubsubsectionnumdepth} +\setcounter{tocdepth}{\subsubsubsectiontocdepth} +%StopVisiblePreamble +\usepackage[ngerman]{babel} +\usepackage[utf8]{inputenc} +\usepackage{libertine} +\usepackage{blindtext} +\begin{document} +\tableofcontents +\chapter{Einführung} +\section{Ein Abschnitt} +\subsection{Ein Unterabschnitt} +\subsubsection{Ein Unter-Unterabschnitt} +\subsubsubsection{Ein Unter-Unter-Unterabschnitt} +\paragraph{Der normale Paragraph} +\blindtext +\subparagraph{Der normale Unterparagraph} +\blindtext +\blinddocument +\end{document} +\end{externalDocument} + + +\section{Ausgabe des Quellcodes} +Die Ausgabe des Quellcodes erzeugt im Allgemeinen partiell. Die beiden Marker + +\begin{verbatim} +[...] +%StartVisiblePreamble +[... auszugebene Präambelteil] +%StopVisiblePreamble +[...] +\end{verbatim} + +begrenzen den Teil der ausgegeben werden soll. Aus dem Textkörper wird alles +zwischen \verb|\begin{document}| und \verb|\end{document}| ausgegeben. + \end{document} diff --git a/Master/texmf-dist/tex/latex/dtk/dtk-extern.sty b/Master/texmf-dist/tex/latex/dtk/dtk-extern.sty index 54d05cf50c5..29d8672b70e 100644 --- a/Master/texmf-dist/tex/latex/dtk/dtk-extern.sty +++ b/Master/texmf-dist/tex/latex/dtk/dtk-extern.sty @@ -14,16 +14,20 @@ %% version 2005/12/01 or later. \ProvidesFile{dtk-extern}% - [2016/08/04 v0.03 dtk package for running external documents (HV)] + [2017/06/04 v0.06: dtk package for running external documents (HV)] \RequirePackage{shellesc,filecontents,xkeyval,graphicx} \newcounter{dtk@extern@runs} -\define@key{dtk}{compiler}[pdflatex]{\gdef\dtk@extern@compiler{#1}} -\define@key{dtk}{runsequence}[]{\gdef\dtk@extern@runsequence{#1}} +\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}} -\define@key{dtk}{grfOptions}[]{\gdef\dtk@extern@grfOptions{#1}} -\define@key{dtk}{lstOptions}[]{\gdef\dtk@extern@lstOptions{#1}} +\define@key{dtk}{grfOptions}[]{\def\dtk@extern@grfOptions{#1}} +\define@key{dtk}{lstOptions}[]{\def\dtk@extern@lstOptions{#1}} +\define@key{dtk}{docType}[latex]{\def\dtk@extern@docType{#1}} +\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@boolkey{dtk}[dtk@extern@]{code}[true]{} \define@boolkey{dtk}[dtk@extern@]{force}[true]{} \define@boolkey{dtk}[dtk@extern@]{crop}[true]{} @@ -31,20 +35,8 @@ \define@boolkey{dtk}[dtk@extern@]{includegraphic}[true]{} \define@boolkey{dtk}[dtk@extern@]{frame}[true]{} \define@boolkey{dtk}[dtk@extern@]{float}[true]{} -\setkeys{dtk}{ - code=false,% show Code - crop=false,% erzeugte PDF "croppen" - compiler=pdflatex,% zu verwendener Compiler - grfOptions={},% Optionen der einzubindenden Grafik - lstOptions={},% Optionen für das Listing - includegraphic=true,% Grafik einbinden oder User überlassen - runs=1,% Anzahl Compiler-Durchläufe - runsequence={},% Im Moment nicht aktiv - biber=false,% Biber laufen lassen? - force=false,% Compiler, auch wenn PDF existiert? - frame=false,% keinen Rahmen um Abbildung - float=false,% nicht als Gleitumgebung - } +\define@boolkey{dtk}[dtk@extern@]{cleanup}[true]{} + \def\ResetKeys{% \setkeys{dtk}{ code=false,% show Code @@ -59,23 +51,67 @@ force=false,% Compiler, auch wenn PDF existiert? frame=false,% keinen Rahmen um Abbildung float=false,% nicht als Gleitumgebung + caption=,% keine Caption + label=,% kein Label + pages=1,% welche Seiten auszugeben sind + docType=latex,% LaTeX example Code + cleanup=false,% Hilfsdateien nicht löschen } } +\ResetKeys + +{\catcode`\%=12 + \gdef\perCent{%} + \gdef\DoubleperCent{%%} +} + +\newcommand\ExampleType[5]{% + \@namedef{#1@initText}{linerange=#2-#3,includerangemarker=false}% text + \@namedef{#1@initPreamble}{linerange=#4-#5,includerangemarker=false}% code +} + +\ExampleType{latex}% #1 + {begin\string{document\string}}% #2 + {end\string{document\string}}% #3 + {\perCent StartVisiblePreamble}% #4 + {\perCent StopVisiblePreamble}% #5 + +\ExampleType{context} + {\string\starttext} + {\string\stoptext} + {\perCent StartVisiblePreamble} + {\perCent StopVisiblePreamble} + %% %% [#1]: Optionen #2: Dateiname %% \newenvironment{ErstelleGrafik}[2][] {\global\setkeys{dtk}{#1}% \begin \gdef\dtk@extern@dateiname{#2}% - \typeout{Externer Dateiname: \dtk@extern@dateiname}% - \@nameuse{filecontents*}{#2.tex}} + \begingroup + \@nameuse{filecontents*}{#2.tex} + } {\@nameuse{endfilecontents*}% \end + \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@code\expandafter\lstinputlisting\expandafter[\dtk@extern@lstOptions]{\dtk@extern@dateiname}\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} +% + \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} + \fi \expandafter\IfFileExists\expandafter{\dtk@extern@dateiname.pdf}% {\ifdtk@extern@force \ifdtk@extern@biber @@ -89,14 +125,31 @@ \fi }{} \ifdtk@extern@includegraphic - \ifdtk@extern@float\begin{figure}[!htb]\fi + \ifdtk@extern@float\begin{figure}[!htb]\centering\fi \ifdtk@extern@frame - \fbox{\expandafter\includegraphics\expandafter[\dtk@extern@grfOptions]{\dtk@extern@dateiname}}% + \expandafter\@for\expandafter\next\expandafter:\expandafter=\dtk@extern@pages\do{% + \fbox{\expandafter\includegraphics\expandafter[\dtk@extern@grfOptions,page=\next]{\dtk@extern@dateiname}}% + \hspace{5pt}}\hspace*{-5pt} +% \fbox{\expandafter\includegraphics\expandafter[\dtk@extern@grfOptions]{\dtk@extern@dateiname}}% \else - \expandafter\includegraphics\expandafter[\dtk@extern@grfOptions]{\dtk@extern@dateiname}% + \expandafter\@for\expandafter\next\expandafter:\expandafter=\dtk@extern@pages\do{% + \expandafter\includegraphics\expandafter[\dtk@extern@grfOptions,page=\next]{\dtk@extern@dateiname}% + \hspace{5pt}}\hspace*{-5pt} +% \expandafter\includegraphics\expandafter[\dtk@extern@grfOptions]{\dtk@extern@dateiname}% \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 \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}% + \fi \global\ResetKeys} % +\let\externalDocument\ErstelleGrafik +\let\endexternalDocument\endErstelleGrafik +%% \endinput diff --git a/Master/texmf-dist/tex/latex/dtk/dtk-full.clo b/Master/texmf-dist/tex/latex/dtk/dtk-full.clo index dbc5febb551..e9f94ab8655 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}% - [2016/12/06 v0.1h dtk class options for full mode (RN)] + [2017/05/30 v0.1i dtk class options for full mode (RN)] \@ifclasslater{scrbook}{2015/09/29}{}{% \ClassError{dtk2}{% @@ -135,7 +135,9 @@ \newcommand*\DTK@addbibresource[2][]{}% \newcommand*\ORIG@printbibliography{} \let\ORIG@printbibliography=\printbibliography - \renewcommand*\printbibliography[1][]{\ORIG@printbibliography[heading=dtk]} + \renewcommand*\printbibliography[1][]{\ORIG@printbibliography[heading=dtk]% + \global\let\bbx@lasthash=\relax + } \RequirePackage[split,protected]{splitidx} \makeindex \newindex[\AutorenListenName]{autoren}% \newcommand*\AutorenListe{% diff --git a/Master/texmf-dist/tex/latex/dtk/dtk-logos.sty b/Master/texmf-dist/tex/latex/dtk/dtk-logos.sty index 96fd3c83af0..5beb56c5bc7 100644 --- a/Master/texmf-dist/tex/latex/dtk/dtk-logos.sty +++ b/Master/texmf-dist/tex/latex/dtk/dtk-logos.sty @@ -18,9 +18,9 @@ % $Id: deLogos.sty 188 2015-10-08 20:06:29Z herbert $ % % ------------------------------------- -\ProvidesPackage{dtk-logos}[2017/03/20 v. 1.00 Dante Edition: Logos (hv)] +\ProvidesPackage{dtk-logos}[2017/06/07 v. 1.01 Dante Edition: Logos (hv)] % -\RequirePackage{hologo,dantelogo,fontspec} +\RequirePackage{hologo,dantelogo} % \def\HoLogo@La#1{% L% diff --git a/Master/texmf-dist/tex/latex/dtk/dtk.cls b/Master/texmf-dist/tex/latex/dtk/dtk.cls index 0e8c51df339..12d273b2605 100644 --- a/Master/texmf-dist/tex/latex/dtk/dtk.cls +++ b/Master/texmf-dist/tex/latex/dtk/dtk.cls @@ -21,8 +21,8 @@ \HyphSubstIfExists{german-x-latest}{% \HyphSubstLet{german}{german-x-latest}}{} -\def\DTKversion{2.07} -\def\DTKversiondate{2017/04/02} +\def\DTKversion{2.07a} +\def\DTKversiondate{2017/06/07} \ProvidesClass{dtk}[\DTKversiondate v\DTKversion dtk documentclass (RN)] \RequirePackage{ifxetex,ifluatex,ifpdf,ifvtex,luatex85} -- cgit v1.2.3