diff options
author | Karl Berry <karl@freefriends.org> | 2017-04-10 22:03:23 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-04-10 22:03:23 +0000 |
commit | 84257410e10a4046498dce5ad800d2a72c314b4c (patch) | |
tree | ad78f4f70858fd25f593eada146661096d23e663 /Master/texmf-dist/tex/latex/dtk/dtk-extern.sty | |
parent | bfd2694030c142af2dcd607342951bfe5728e53c (diff) |
dtk
git-svn-id: svn://tug.org/texlive/trunk@43744 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/dtk/dtk-extern.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/dtk/dtk-extern.sty | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/dtk/dtk-extern.sty b/Master/texmf-dist/tex/latex/dtk/dtk-extern.sty new file mode 100644 index 00000000000..54d05cf50c5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/dtk/dtk-extern.sty @@ -0,0 +1,102 @@ +%% This is file `dtk-extern.sty', +%% +%% LaTeX package for ``Die TeXnische Komoedie''. +%% +%% Copyright (C) 2016- +%% Rolf Niepraschk, Herbert Voss +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. + +\ProvidesFile{dtk-extern}% + [2016/08/04 v0.03 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}{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@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@]{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 + } +\def\ResetKeys{% + \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 + } +} +%% +%% [#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}} + {\@nameuse{endfilecontents*}% \end + \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 + \expandafter\IfFileExists\expandafter{\dtk@extern@dateiname.pdf}% + {\ifdtk@extern@force + \ifdtk@extern@biber + \ShellEscape{biber \dtk@extern@dateiname}% NAch biber nochmal latex + \ShellEscape{\dtk@extern@compiler\space\dtk@extern@dateiname}% + \fi + \ifdtk@extern@crop + \ShellEscape{pdfcrop \dtk@extern@dateiname}% + \ShellEscape{mv \dtk@extern@dateiname-crop.pdf \dtk@extern@dateiname.pdf}% + \fi + \fi + }{} + \ifdtk@extern@includegraphic + \ifdtk@extern@float\begin{figure}[!htb]\fi + \ifdtk@extern@frame + \fbox{\expandafter\includegraphics\expandafter[\dtk@extern@grfOptions]{\dtk@extern@dateiname}}% + \else + \expandafter\includegraphics\expandafter[\dtk@extern@grfOptions]{\dtk@extern@dateiname}% + \fi + \ifdtk@extern@float\end{figure}\fi + \fi + \global\ResetKeys} +% +\endinput |