diff options
author | Karl Berry <karl@freefriends.org> | 2022-10-15 20:25:06 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-10-15 20:25:06 +0000 |
commit | ec281bf8032a69f84b4b584c76158dc2c6ecdb57 (patch) | |
tree | 98c0d66a83e8f15a5f3384d7e6a471ab2ccbfc6a /Master/texmf-dist/tex/latex/docshots | |
parent | 3f6f2deec08918d9165fe4c72bcf4b8380c299c6 (diff) |
docshots (14oct22)
git-svn-id: svn://tug.org/texlive/trunk@64716 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/docshots')
-rw-r--r-- | Master/texmf-dist/tex/latex/docshots/docshots.sty | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/docshots/docshots.sty b/Master/texmf-dist/tex/latex/docshots/docshots.sty new file mode 100644 index 00000000000..a826431e7f6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/docshots/docshots.sty @@ -0,0 +1,90 @@ +%% +%% This is file `docshots.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% docshots.dtx (with options: `package') +%% (The MIT License) +%% +%% Copyright (c) 2021-2022 Yegor Bugayenko +%% +%% Permission is hereby granted, free of charge, to any person obtaining a copy +%% of this software and associated documentation files (the 'Software'), to deal +%% in the Software without restriction, including without limitation the rights +%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +%% copies of the Software, and to permit persons to whom the Software is +%% furnished to do so, subject to the following conditions: +%% +%% The above copyright notice and this permission notice shall be included in all +%% copies or substantial portions of the Software. +%% +%% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +%% SOFTWARE. + + + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{docshots} +[2022-10-14 0.0.1 TeX Samples Next to Their PDF Snapshots in DTX] + + + + + + + + +\RequirePackage{iexec} +\RequirePackage{fancyvrb} +\RequirePackage{xcolor} +\RequirePackage{graphicx} +\RequirePackage{tikz} +\usetikzlibrary{shadows.blur} + +\iexec[log,quiet]{pdflatex --version}% + +\iexec[log,quiet]{pdfcrop --version}% + +\iexec[log,quiet]{gs --version}% + +\iexec[null]{mkdir -p _docshots/\jobname}% + +\newenvironment{docshot} +{\VerbatimEnvironment\begin{VerbatimOut}{_docshots/\jobname/verbatim.tex}} +{\end{VerbatimOut}% + \iexec[null]{perl -i -0777pe "s/(\\n|^)\\x{25} /\\1/g" + _docshots/\jobname/verbatim.tex}% + \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}% + \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}% + \vspace{0pt}% + \VerbatimInput{_docshots/\jobname/\hash.tex}% + \vspace{0pt}% + \end{minipage}% + \par% +} + + + +\endinput +%% +%% End of file `docshots.sty'. |