diff options
Diffstat (limited to 'macros/latex/contrib/fancyvrb/latex/fancyvrb-ex.sty')
-rw-r--r-- | macros/latex/contrib/fancyvrb/latex/fancyvrb-ex.sty | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/macros/latex/contrib/fancyvrb/latex/fancyvrb-ex.sty b/macros/latex/contrib/fancyvrb/latex/fancyvrb-ex.sty new file mode 100644 index 0000000000..054ede2ada --- /dev/null +++ b/macros/latex/contrib/fancyvrb/latex/fancyvrb-ex.sty @@ -0,0 +1,144 @@ +%% +%% This is file `fancyvrb-ex.sty', +%% +%% COPYRIGHT 2018-, by Herbert Voss <hvoss@tug.org> +%% +%% This package may be distributed under the terms of the LaTeX Project Public +%% License, as described in lppl.txt in the base LaTeX distribution. +%% Either version 1.3 or, at your option, any later version. +%% +%% DESCRIPTION: +%% fancyvrb.sty is a LaTeX style option, containing flexible +%% verbatim environments and commands and extensive documentation. +%% it is based on the work of Denis Girou +%% +\NeedsTeXFormat{LaTeX2e} +\def\fileversion{0.01} +\def\filedate{2018/11/01} +\ProvidesPackage{fancyvrb-ex}[\filedate] +\message{Style option: `fancyvrb-ex' v\fileversion \space <\filedate> (tvz)} +\csname fancyvrb-ex@loaded\endcsname +\expandafter\let\csname fancyvrb-ex@loaded\endcsname\endinput +\newif\ifEX@pstricks \EX@pstricksfalse +\DeclareOption{pstricks}{\EX@pstrickstrue} +\newif\ifEX@color\EX@colorfalse +\DeclareOption{color}{\global\EX@colortrue} +\ProcessOptions +\RequirePackage{fancyvrb} % Standard LaTeX `color' package +\RequirePackage{xcolor} % Standard LaTeX `color' package +\def\FV@Error#1#2{% + \edef\@tempc{#2}\expandafter\errhelp\expandafter{\@tempc}% + \errmessage{FancyVerb Error:^^J\space\space #1^^J}} + +\def\FV@eha{Your command was ignored. Type <return> to continue.} + +% The exa part of fancyvrb +% +\def\Highlight@Attributes{} % Default=nothing +\def\NoHighlight@Attributes{} % Default=nothing +\ifEX@color + \RequirePackage{hcolor} % Color version +\else + \RequirePackage{hbaw} % black and white version +\fi +\ifEX@pstricks\RequirePackage{pstricks}\fi +% +%\fvset{gobble=0} +\newif\ifFvrbEx@Grid +% +\def\Example{% +\catcode`\^^M=\active +\@ifnextchar[{\catcode`\^^M=5\Example@}{\catcode`\^^M=5\Begin@Example}} +% +\def\endExample{% +\end{VerbatimOut}% +\Below@Example{\input{\jobname.tmp}}} +% +\def\Example@[#1]{\fvset{#1}\Begin@Example} +% +\def\CenterExample{% +\catcode`\^^M=\active +\@ifnextchar[{\catcode`\^^M=5\Example@}{\catcode`\^^M=5\Begin@Example}} +% +\def\endCenterExample{% +\end{VerbatimOut}% +\center +\Below@Example{\input{\jobname.tmp}} +\endcenter} +% +\def\SideBySideExample{% +\catcode`\^^M=\active +\@ifnextchar[{\catcode`\^^M=5\Example@}% + {\catcode`\^^M=5\Begin@Example}} +\def\endSideBySideExample{% +\end{VerbatimOut}% +\SideBySide@Example{\input{\jobname.tmp}}} +\newcommand\Begin@Example{% +\parindent=0pt +\multiply\topsep by 2 +\VerbatimEnvironment +\begin{VerbatimOut}[codes={\catcode`\^^a3=12\catcode`\^^a7=12\catcode`\^^b5=12% + \catcode`\^^b6=12}]{\jobname.tmp}} +\newcommand\Below@Example[1]{% +\VerbatimInput[gobble=0,commentchar=^^a3,commandchars=^^a7^^b5^^b6,numbersep=3pt]% + {\jobname.tmp} +\catcode`\^^a3=9\relax% +\NoHighlight@Attributes % To suppress possible highlighting +\ifFvrbEx@Grid\vspace{5pt}\fi +#1% +\ifFvrbEx@Grid\vspace{5pt}\fi +\par} +\newcommand{\SideBySide@Example}[1]{% +\@tempdimb=\FV@XRightMargin +\advance\@tempdimb -5mm +\begin{minipage}[c]{\@tempdimb} + \fvset{xrightmargin=0pt} + \catcode`\^^a3=9\relax% + \NoHighlight@Attributes % To suppress possible highlighting + #1 +\end{minipage}% +\@tempdimb=\textwidth +\advance\@tempdimb -\FV@XRightMargin +\advance\@tempdimb 5mm +\begin{minipage}[c]{\@tempdimb} + \VerbatimInput[gobble=0,commentchar=^^a3,commandchars=^^a7^^b5^^b6,numbersep=3pt, + xleftmargin=5mm,xrightmargin=0pt]{\jobname.tmp} +\end{minipage}} +\ifx\PSTricksLoaded\endinput + \newcommand\showgrid{\FvrbEx@Gridtrue} + \newpsobject{FvrbExGrid}{psgrid}{subgriddiv=0,griddots=10,gridlabels=7pt} + \def\PCenterExample{\@ifnextchar[{\Pst@Example}{\Pst@@Example}} + \def\endPCenterExample{% + \end{VerbatimOut}% + \Below@Example{% + \center + \expandafter\pspicture\Picture@Size + \ifFvrbEx@Grid\FvrbExGrid\fi\relax + \input{\jobname.tmp}% + \endpspicture + \endcenter + \smallskip}} + \def\PSideBySideExample{\@ifnextchar[{\Pst@Example}{\Pst@@Example}} + \def\endPSideBySideExample{% + \end{VerbatimOut}% + \SideBySide@Example{% + \ifFvrbEx@Grid\vspace{5pt}\fi + \expandafter\pspicture\Picture@Size + \ifFvrbEx@Grid\FvrbExGrid\fi\relax + \input{\jobname.tmp}% + \endpspicture + \ifFvrbEx@Grid\vspace{5pt}\fi + \smallskip}} + \def\Pst@Example[#1]{\fvset{#1}\Pst@@Example} + \def\Pst@@Example#1(#2,#3){% + \catcode`\^^M=\active + \@ifnextchar({\catcode`\^^M=5\Pst@@@Example(#2,#3)} + {\catcode`\^^M=5\Pst@@@Example(0,0)(#2,#3)}} + \def\Pst@@@Example(#1,#2)(#3,#4){% + \def\Picture@Size{(#1,#2)(#3,#4)}% + \Begin@Example} +\fi % End \ifx\PSTricksLoaded +%% +\endinput +%% +%% End of file `fancyvrb-ex.sty'. |