From 8bef47547f86e14494c02edeaf377bac25279156 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 16 Oct 2022 20:13:35 +0000 Subject: docshots (16oct22) git-svn-id: svn://tug.org/texlive/trunk@64722 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/docshots/docshots.sty | 75 ++++++++++++++++++----- 1 file changed, 58 insertions(+), 17 deletions(-) (limited to 'Master/texmf-dist/tex/latex/docshots/docshots.sty') diff --git a/Master/texmf-dist/tex/latex/docshots/docshots.sty b/Master/texmf-dist/tex/latex/docshots/docshots.sty index a826431e7f6..44abfe234f9 100644 --- a/Master/texmf-dist/tex/latex/docshots/docshots.sty +++ b/Master/texmf-dist/tex/latex/docshots/docshots.sty @@ -31,7 +31,16 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{docshots} -[2022-10-14 0.0.1 TeX Samples Next to Their PDF Snapshots in DTX] +[2022-10-16 0.0.2 TeX Samples Next to Their PDF Snapshots in DTX] + + + + + + + + + @@ -47,35 +56,67 @@ \RequirePackage{tikz} \usetikzlibrary{shadows.blur} -\iexec[log,quiet]{pdflatex --version}% +\RequirePackage{pgfopts} +\pgfkeys{ + /docshots/.cd, + dtx/.store in=\docshots@dtx, + pdflatex/.store in=\docshots@pdflatex, + pdflatex/.default=pdflatex, + gs/.store in=\docshots@gs, + gs/.default=gs, + pdfcrop/.store in=\docshots@pdfcrop, + pdfcrop/.default=pdfcrop, + margin/.store in=\docshots@margin, + margin/.default=5, + hspace/.store in=\docshots@hspace, + hspace/.default=1.8em, + left/.store in=\docshots@left, + left/.default=.3\linewidth, + right/.store in=\docshots@right, + right/.default=.65\linewidth, + pdflatex,gs,pdfcrop,margin,hspace,left,right +} +\ProcessPgfOptions{/docshots} + +\iexec[log,quiet]{\docshots@pdflatex\space --version}% -\iexec[log,quiet]{pdfcrop --version}% +\iexec[log,quiet]{\docshots@pdfcrop\space --version}% -\iexec[log,quiet]{gs --version}% +\iexec[log,quiet]{\docshots@gs\space --version}% \iexec[null]{mkdir -p _docshots/\jobname}% \newenvironment{docshot} -{\VerbatimEnvironment\begin{VerbatimOut}{_docshots/\jobname/verbatim.tex}} +{\VerbatimEnvironment\begin{VerbatimOut} + {_docshots/\jobname/verbatim.tex}} {\end{VerbatimOut}% - \iexec[null]{perl -i -0777pe "s/(\\n|^)\\x{25} /\\1/g" - _docshots/\jobname/verbatim.tex}% + \ifdefined\docshots@dtx% + \iexec[null]{perl -i -0777pe "s/(\\n|^)\\x{25} /\\1/g" + _docshots/\jobname/verbatim.tex}% + \fi% \def\hash{\pdfmdfivesum file {_docshots/\jobname/verbatim.tex}}% - \message{^^Jdocshots: name set to "\hash"^^J}% - \iexec[log,quiet]{cp _docshots/\jobname/verbatim.tex - _docshots/\jobname/\hash.tex}% - \iexec[log,quiet]{(cd _docshots/\jobname; - pdflatex -interaction=batchmode -shell-escape \hash.tex)}% - \iexec[log,quiet]{pdfcrop --margins 5 _docshots/\jobname/\hash.pdf - _docshots/\jobname/\hash.crop.pdf}% + \IfFileExists{_docshots/\jobname/\hash.pdf} + {\message{won't render, the PDF already exists: _docshots/\jobname/\hash.pdf^^J}} + {\iexec[log,quiet]{cp _docshots/\jobname/verbatim.tex + _docshots/\jobname/\hash.tex}% + \iexec[log,quiet]{cd _docshots/\jobname; + \docshots@pdflatex\space -interaction=batchmode + -shell-escape \hash.tex}}% + \IfFileExists{_docshots/\jobname/\hash.crop.pdf} + {\message{won't pdfcrop, the PDF already exists: _docshots/\jobname/\hash.crop.pdf^^J}} + {\iexec[log,quiet]{\docshots@pdfcrop\space + --margins \docshots@margin\space + _docshots/\jobname/\hash.pdf + _docshots/\jobname/\hash.crop.pdf}}% \fvset{frame=leftline,numbers=left,numbersep=3pt, framerule=.4pt,rulecolor=\color{gray}, samepage=true}% \par% \tikz[baseline=(a.north)] \node[draw=gray] (a) - {\includegraphics[width=.3\linewidth]{_docshots/\jobname/\hash.crop.pdf}};% - \hspace{1.8em}% - \begin{minipage}[t]{.65\linewidth}% + {\includegraphics[width=\docshots@left] + {_docshots/\jobname/\hash.crop.pdf}};% + \hspace{\docshots@hspace}% + \begin{minipage}[t]{\docshots@right}% \vspace{0pt}% \VerbatimInput{_docshots/\jobname/\hash.tex}% \vspace{0pt}% -- cgit v1.2.3