summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/fancyvrb/latex/fancyvrb-ex.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/fancyvrb/latex/fancyvrb-ex.sty')
-rw-r--r--macros/latex/contrib/fancyvrb/latex/fancyvrb-ex.sty144
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'.