summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-11-01 22:10:32 +0000
committerKarl Berry <karl@freefriends.org>2018-11-01 22:10:32 +0000
commit7871fabe40409a7420143e8084f639f6173204f9 (patch)
tree54b89cf39168ac92acbab29a4fff70271df739e7
parent15360daf880519448794c8bc606dad9d850bb7a8 (diff)
fancyvrb (1nov18)
git-svn-id: svn://tug.org/texlive/trunk@49045 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/fancyvrb/Changes8
-rw-r--r--Master/texmf-dist/doc/latex/fancyvrb/Makefile67
-rw-r--r--Master/texmf-dist/doc/latex/fancyvrb/README41
-rw-r--r--Master/texmf-dist/doc/latex/fancyvrb/README.contrib57
-rw-r--r--Master/texmf-dist/doc/latex/fancyvrb/fancyvrb-doc.pdfbin0 -> 161750 bytes
-rw-r--r--Master/texmf-dist/doc/latex/fancyvrb/fancyvrb-doc.tex1393
-rw-r--r--Master/texmf-dist/doc/latex/fancyvrb/fancyvrb.pdfbin328136 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/fancyvrb/fvrb-ex.pdfbin190940 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/fancyvrb/t-fvrbex.tex220
-rw-r--r--Master/texmf-dist/source/latex/fancyvrb/fancyvrb.dtx4580
-rw-r--r--Master/texmf-dist/source/latex/fancyvrb/fancyvrb.ins35
-rw-r--r--Master/texmf-dist/source/latex/fancyvrb/fvrb-ex.dtx1564
-rw-r--r--Master/texmf-dist/source/latex/fancyvrb/fvrb-ex.ins41
-rw-r--r--Master/texmf-dist/tex/latex/fancyvrb/fancyvrb-ex.sty (renamed from Master/texmf-dist/tex/latex/fancyvrb/fvrb-ex.sty)119
-rw-r--r--Master/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty156
-rw-r--r--Master/texmf-dist/tex/latex/fancyvrb/hbaw.sty158
-rw-r--r--Master/texmf-dist/tex/latex/fancyvrb/hcolor.sty161
17 files changed, 1492 insertions, 7108 deletions
diff --git a/Master/texmf-dist/doc/latex/fancyvrb/Changes b/Master/texmf-dist/doc/latex/fancyvrb/Changes
index 9658bfd588e..8e791480e68 100644
--- a/Master/texmf-dist/doc/latex/fancyvrb/Changes
+++ b/Master/texmf-dist/doc/latex/fancyvrb/Changes
@@ -1,4 +1,8 @@
--- fancyvrb.sty
+3.0 2018/11/01 - remove the example part from francyvrb (hv)
+2.9 2018/10/31 - made \UseVerb robust (hv)
+2.81 2011/04/06 - added optional argument vspace for the
+ vertical space (default \topsep) (hv)
2.8 2010/05/14 - fixed several trailing spaces (hv)
- changed license to LPPL
2.7a 2008/02/07 - NMM fixed lastline=firstline bug
@@ -9,3 +13,7 @@
v2.5 1998/01/28 - First public release.
v2.0 1994/03/30 - First version personally shown by Timothy
\textsc{van Zandt}
+
+
+--- fancyvrb-ex.sty
+0.01 2018/11/01 - first CTAN version \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/fancyvrb/Makefile b/Master/texmf-dist/doc/latex/fancyvrb/Makefile
deleted file mode 100644
index 8b32c059eb8..00000000000
--- a/Master/texmf-dist/doc/latex/fancyvrb/Makefile
+++ /dev/null
@@ -1,67 +0,0 @@
-
-# `Makefile' for `pst-3dplot.pdf', hv, 2007/03/17
-
-.SUFFIXES : .tex .ltx .dvi .ps .pdf .eps
-
-PACKAGE = fvrb-ex
-
-MAIN = $(PACKAGE)
-
-TDS = ~/PSTricks/PSTricks-TDS
-
-LATEX = latex
-
-ARCHNAME = $(MAIN)-$(shell date +%y%m%d)
-
-ARCHFILES = $(PACKAGE).sty $(PACKAGE).tex $(MAIN).tex README Changes Makefile
-
-all : doc clean
-doc: $(MAIN).pdf
-
-$(MAIN).pdf : $(MAIN).ps
- GS_OPTIONS=-dAutoRotatePages=/None ps2pdf $<
-
-$(MAIN).ps : $(MAIN).dvi
- dvips $<
-
-$(MAIN).dvi : $(MAIN).dtx
- $(LATEX) $<
- makeindex -s gind.ist $(basename $<)
- makeindex -s gglo.ist -o $(basename $<).gls $(basename $<).glo
-# bibtex $(basename $<)
- $(LATEX) $<
- $(LATEX) $<
-
-clean :
- $(RM) $(addprefix $(MAIN), .cb .cb? .log .aux .glg .glo .gls .ilg .idx .ind .tmp .toc .out .blg .bbl )
- $(RM) $(addprefix $(MAIN), .dvi .ps .xcp)
- $(RM) file.txt hello.f90
-
-veryclean : clean
- $(RM) $(addprefix $(MAIN), .pdf .bbl .blg)
-
-arch :
- zip $(ARCHNAME).zip $(ARCHFILES)
-
-tds:
- cp -u Changes $(TDS)/doc/generic/$(PACKAGE)/
- cp -u README $(TDS)/doc/generic/$(PACKAGE)/
- cp -u $(MAIN).pdf $(TDS)/doc/generic/$(PACKAGE)/
-#
- cp -u Changes $(TDS)/tex/latex/$(PACKAGE)/
- cp -u $(PACKAGE).sty $(TDS)/tex/latex/$(PACKAGE)/
-#
- cp -u Changes $(TDS)/tex/generic/$(PACKAGE)/
- cp -u $(PACKAGE).tex $(TDS)/tex/generic/$(PACKAGE)/
-#
- cp -u Changes $(TDS)/dvips/$(PACKAGE)/
- cp -u $(PACKAGE).pro $(TDS)/dvips/$(PACKAGE)/
- cp -u $(PACKAGE).pro ~/Links/dvips-local/
-#
- cp -u Changes $(TDS)/source/$(PACKAGE)/
- cp -u $(MAIN).tex $(TDS)/source/$(PACKAGE)/
- cp -u $(MAIN).bib $(TDS)/source/$(PACKAGE)/
- cp -u Makefile $(TDS)/source/$(PACKAGE)/
-
-
-# EOF
diff --git a/Master/texmf-dist/doc/latex/fancyvrb/README b/Master/texmf-dist/doc/latex/fancyvrb/README
index e074763c32a..e33f473666c 100644
--- a/Master/texmf-dist/doc/latex/fancyvrb/README
+++ b/Master/texmf-dist/doc/latex/fancyvrb/README
@@ -1,8 +1,8 @@
--------------------------------------------------
| `fancyvrb' |
- | Version 2.6 |
- | July 17, 1998 |
+ | Version 2.9 |
+ | Oct 31, 2018 |
| |
| Timothy Van Zandt (Princeton University - USA) |
| <tvz@Princeton.EDU> |
@@ -11,7 +11,7 @@
| Denis Girou (CNRS/IDRIS - France) |
| <Denis.Girou@idris.fr> |
| Sebastian Rahtz (Elsevier - GB) |
- | <s.rahtz@elsevier.co.uk> |
+ | Herbert Voss, Berlin (hvoss@tug.org) |
--------------------------------------------------
@@ -32,35 +32,14 @@ of the version 2.5) but the additional paragraph about it usage to the
typesetting of the "LaTeX Graphics Companion" provide in depth informations
on some usages of `fancyvrb' not described elsewhere.
- The "contrib" subdirectory contain the `fvrb-ex' package (from Denis Girou),
-built above `fancyvrb', which offer some "example" environments showing both
-the code in verbatim mode and the result of it normally formatted.
+ Comments, suggestions and bug reports (with version number and the
+keyword "fancyvrb" in the subject of the message) to <hvoss@tug.org>
- Warning!
- --------
+ The `fancyvrb-ex' package provides some example environments to
+show LaTeX code and output side by side or on top on each other.
- * Support is provided by Denis Girou and Sebastian Rahtz and not by
-Timothy Van Zandt. Do not bother him with questions relative to `fancyvrb'!
- * The standard `color' package must be available, with a correct "color.cfg"
-file defining the dvi converter that must be used.
-
- * If the `changebar' package is available on your platform, the changes
-since the preceding version will be marked by special gray bars printed
-in the margins. But the driver name must be hardcoded in the file.
-So, if you have `changebar' and are not using the "dvips" driver, change this
-name in the line
- {\ChangeBartrue\usepackage[dvips,rightbars]{changebar}}{}
-in fancyvrb.dtx (the other drivers supported by this package are "dvitoln03",
-"dvitops" and "emtex").
- If you really need to desactivate this feature (it must not be the case,
-as there will be no effect if you haven't `changebar', and, if you have it,
-it must work on your platform...) just change the two relevant lines to:
-\IfFileExists{changebar.sty}{}{}
-
-.............................................................................
-
- Comments, suggestions and bug reports (with version number and the
-keyword "fancyvrb" in the subject of the message) to <Denis.Girou@idris.fr>
-and <s.rahtz@elsevier.co.uk>
+%% 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.
diff --git a/Master/texmf-dist/doc/latex/fancyvrb/README.contrib b/Master/texmf-dist/doc/latex/fancyvrb/README.contrib
deleted file mode 100644
index b3f2966f8c8..00000000000
--- a/Master/texmf-dist/doc/latex/fancyvrb/README.contrib
+++ /dev/null
@@ -1,57 +0,0 @@
- -------------------------------------
- | `fvrb-ex' |
- | Version 1.7 |
- | March 27, 1998 |
- | |
- | Denis Girou (CNRS/IDRIS - France) |
- | <Denis.Girou@idris.fr> |
- -------------------------------------
-
-
- This package, built above the `fancyvrb' one (from Timothy van Zandt),
-offer several kinds of the so-called "example" environments to format some
-code both in "verbatim" mode and in the "normal" way, below or on the side.
-The advantage of such environments is that the code itself is included only
-one time in the source code, which allow to be sure of the consistence of the
-two versions shown.
-
- Some other kinds of such environments are specially devoted to graphics,
-allowing to give the size of them. It is also possible in this case to draw
-also a grid.
-
- Warning!
- --------
-
- * You must be aware that it has been reported that this package doesn't work
-at all on some platforms, due to the way the 8 bits characters are managed by
-some TeX systems.
- You can make first the following test (courtesy Sebastian Rahtz):
-
-\documentclass{article}
-\usepackage{moreverb} % CTAN/macros/latex/contrib/supported/moreverb
-\begin{document}
-\begin{verbatimwrite}{test.txt}
- £hello
-\end{verbatimwrite}
-\end{document}
-
- If you got in the file "test.txt" not the exact input line but ^^a3 for
-the first character, this package has no change to really work for you...
-
- Just try to position (courtesy Thomas Esser) LC_CTYPE=C if your system
-accept it and retry the preceding test.
-
- * We suppose here that you already know the `fancyvrb' package. If not, look
-at it own documentation!
-
- * The standard `color' package must be available, with a correct "color.cfg"
-file defining the dvi converter that must be used.
-
- * Some environments, specially devoted to graphics, require PSTricks,
-but `fvrb-ex' desactivate them if PSTricks is not available so it can be used
-without it.
-
-.............................................................................
-
- Comments, suggestions and bug reports (with version number and the
-keyword "fancyvrb" in the subject of the message) to <Denis.Girou@idris.fr>
diff --git a/Master/texmf-dist/doc/latex/fancyvrb/fancyvrb-doc.pdf b/Master/texmf-dist/doc/latex/fancyvrb/fancyvrb-doc.pdf
new file mode 100644
index 00000000000..5bccf8e4b18
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fancyvrb/fancyvrb-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/fancyvrb/fancyvrb-doc.tex b/Master/texmf-dist/doc/latex/fancyvrb/fancyvrb-doc.tex
new file mode 100644
index 00000000000..457a4d26efd
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fancyvrb/fancyvrb-doc.tex
@@ -0,0 +1,1393 @@
+\documentclass{article}
+%\usepackage[T1]{fontenc}
+%\usepackage[charter]{mathdesign}
+\usepackage{libertinus}
+%\usepackage[scaled=0.84]{beramono}
+\setmonofont[Scale=MatchLowercase,FakeStretch=0.9]{AnonymousPro}
+
+\newif\ifChangeBar \ChangeBarfalse
+\usepackage{fancyvrb}
+\usepackage[pstricks]{fancyvrb-ex}
+\usepackage{xurl}
+\usepackage[colorlinks,linktocpage]{hyperref}
+\parskip=3pt plus 1pt minus 1pt
+%
+
+\newcommand\FBoxPackage{`\textsf{fancybox}'}
+\newcommand\FVrbPackage{`\textsf{fancyvrb}'}
+\newcommand\cs[1]{\texttt{\textbackslash#1}}
+%
+% From ltugboat.cls
+%
+% Typeset the name of an environment
+\providecommand\env[1]{\textsf{#1}}
+\providecommand\clsname[1]{\textsf{#1}}
+\providecommand\pkgname[1]{\textsf{#1}}
+\providecommand\optname[1]{\textsf{#1}}
+\providecommand\progname[1]{\textsf{#1}}
+%
+% A list of options for a package/class
+\newenvironment{optlist}{\begin{description}%
+ \renewcommand\makelabel[1]{%
+ \descriptionlabel{\mdseries\optname{##1}}}%
+ \itemsep0.25\itemsep}%
+ {\end{description}}
+%
+% Utility macros
+%
+% Special dashes
+
+\makeatletter
+\def\thinskip{\hskip 0.16667em\relax}
+\def\endash{--}
+\def\emdash{\endash-}
+\def\d@sh#1#2{\unskip#1\thinskip#2\thinskip\ignorespaces}
+\def\dash{\d@sh\nobreak\endash}
+\def\Dash{\d@sh\nobreak\emdash}
+\makeatother
+\newif\ifPostScriptFonts \PostScriptFontstrue
+%
+\setlength{\columnseprule}{0.6pt}
+%
+\newif\ifmulticols
+%\IfFileExists{multicol.sty}{\multicolstrue}{}
+\newif\ifpstricks
+\pstrickstrue
+%
+\title{The `\textsf{fancyvrb}' package\\Fancy Verbatims in \LaTeX}
+\author{Timothy Van Zandt\\Princeton University\\Princeton -- USA\\
+ {\footnotesize \url{tvz@Princeton.EDU}}\\[5mm]
+ {Packaging and documentation by}\\
+ {\footnotesize Denis Girou (CNRS/IDRIS -- France),}\\[-2mm]
+ {\footnotesize Sebastian Rahtz (Elsevier -- GB)}\\[-2mm]
+ {\footnotesize and}\\[-2mm]
+ {\footnotesize Herbert VoƟ\ (FU Berlin -- DE)}
+ }
+\date{Version 3.0\\ \today}
+
+\fvset{frame=single,xrightmargin=0cm,numbers=left,numbersep=3pt,commentchar=Z}
+
+\begin{document}
+\maketitle
+%
+\begin{abstract}
+ This package provides very sophisticated facilities for reading and
+ writing verbatim \TeX{} code. Users can perform common tasks like changing
+ font family and size, numbering lines, framing code examples, colouring
+ text and conditionally processing text.
+\end{abstract}
+
+\vfill
+Thanks to
+Philippe Esperet, %\url{esperet@marie.polytechnique.fr},
+Michael Friendly, %\url{friendly@hotspur.psych.yorku.ca},
+Mario Hassler, %\url{HASSLER@ippnv2.ipp.kfa-juelich.de},
+Mikhail Kolodin, %\url{myke@morrigan.spb.su},
+Andreas Matthias,
+Frank Mittelbach,
+Rolf Niepraschk, %\url{Rolf.Niepraschk@gmx.de},
+Ulrich M. Schwarz,
+Thomas Siegel,% \url{siegel@aix520.informatik.uni-leipzig.de},
+and
+Vladimir Volovich. %\url{vvv@vvv.vsu.ru}.
+\clearpage
+\tableofcontents
+\clearpage
+%\part{\texttt{fancyvrb} package by Timothy Van Zandt}
+
+
+\part{Package \texttt{fancyvrb}}
+
+
+\section{Introduction}
+%
+ \FVrbPackage{} is the development of the \emph{verbatim} macros of the
+\FBoxPackage{} package, Section 11 of \cite{FancyBox}. It offers six kinds
+of extended functionality, compared to the standard \LaTeX{}
+\textsf{verbatim} environment:
+
+\begin{enumerate}
+ \item verbatim commands can be used in footnotes,
+ \item several verbatim commands are enhanced,
+ \item a variety of verbatim environments are provided, with many
+ parameters to change the way the contents are printed; it is also possible
+ to define new customized verbatim environments,
+ \item a way is provided to save and restore verbatim text and environments,
+ \item there are macros to write and read files in verbatim mode, with the
+ usual versatility,
+ \item you can build \emph{example} environments (showing both result and
+ verbatim text), with the same versatility as normal verbatim.
+\end{enumerate}
+
+ The package works by scanning a line at a time from an environment or a
+file. This allows it to pre-process each line, rejecting it, removing
+spaces, numbering it, etc, before going on to execute the body of the line
+with the appropriate catcodes set.
+
+\section{Verbatim material in footnotes}
+
+ After a \cs{VerbatimFootnotes} macro declaration (to use after the
+preamble), it is possible to put verbatim commands and environments
+(the \LaTeX{} or \FVrbPackage{} ones) in footnotes, unlike in standard
+\LaTeX:
+
+\begin{Example}
+ \VerbatimFootnotes
+ We can put verbatim\footnote{\verb+_Yes!_+} text in footnotes.
+\end{Example}
+
+\section{Improved verbatim commands}
+%
+ The \cs{DefineShortVerb} macro allows us to define a special character as
+an abbreviation to enclose verbatim text and the \cs{UndefineShortVerb}
+macro suppresses the special meaning of the specified character (the same
+functionalities are provided in the \LaTeX{} `\textsf{shortvrb}' package):
+
+\fvset{xrightmargin=4.8cm}
+
+\begin{SideBySideExample}
+ \DefineShortVerb{\|}
+ We can simply write \Verb+_verbatim_+
+ material using a single |_delimiter_|
+ \UndefineShortVerb{\|}
+ \DefineShortVerb{\+}
+ And we can +_change_+ the character.
+\end{SideBySideExample}
+
+ To make matters more versatile, we can nominate \emph{escape} characters
+in verbatim text (using the \cs{Verb} macro or with a `shortverb' character
+defined), to perform formatting or similar tasks, using the
+\texttt{commandchars} parameter as shown for environments in paragraph
+\ref{sec:commandchars}.
+
+\section{Verbatim environments}
+
+Several verbatim environments are available, each with a lot of
+parameters to customize them. In the following examples we use the
+\texttt{Verbatim} environment, which is the equivalent of the standard
+\texttt{verbatim}. The parameters can be set globally using the \cs{fvset}
+macro or in an optional argument after the start of the
+environment\footnote{For clarification in this paper, note that we
+generally indent each verbatim line with two
+spaces.}$^,$\footnote{This mechanism uses the
+`\textbf{keyval}' package from the standard \LaTeX{} graphics
+distribution, written by David \textsc{Carlisle}.}.
+
+\begin{SideBySideExample}
+ \begin{Verbatim}
+ First verbatim line.
+ Second verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\subsection{Customization of verbatim environments}
+
+ The appearance of verbatim environments can be changed in many and
+varied ways; here we list the keys that can be set.
+
+\subsubsection{Comments}
+
+\begin{optlist}
+ \item[commentchar (character)]: character to define comments in the
+ verbatim code, so that lines starting with this character will not be
+ printed (\emph{Default: empty}).
+\end{optlist}
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[commentchar=!]
+ A comment
+ Verbatim line.
+ ! A comment that you will not see
+ \end{Verbatim}
+\end{SideBySideExample}
+
+ Take care to a special effect if the comment character is not the first
+non blank one: it is because this character is in fact managed as the \TeX{}
+comment one, that is to say that it gobble the newline character too. So, in
+this case, the current line will be joined with the next one and, more, the
+last one will be lost if it contain a comment, as \FVrbPackage{} print a
+line only after finding it end character, which will never occured in this
+case...
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[commentchar=\%]
+ First line. % First line
+ Second.
+ Third line. % Third line lost...
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\subsubsection{Initial characters to suppress}
+
+\begin{optlist}
+ \item[gobble (integer)]: number of characters to suppress at the beginning
+ of each line (up to a maximum of 9), mainly useful when environments are
+ indented
+ (\emph{Default: empty} \Dash no character suppressed).
+\end{optlist}
+
+\begin{SideBySideExample}
+ \begin{Verbatim}
+ Verbatim line.
+ \end{Verbatim}
+
+ \begin{Verbatim}[gobble=2]
+ Verbatim line.
+ \end{Verbatim}
+
+ \begin{Verbatim}[gobble=8]
+ Verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\subsubsection{Customization of formatting}
+
+\begin{optlist}
+ \item[formatcom (command)]: command to execute before printing verbatim
+ text
+ (\emph{Default: empty}).
+\end{optlist}
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[formatcom=\color{red}]
+ First verbatim line.
+ Second verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\subsubsection{Changing individual line formatting}
+
+ The macro \cs{FancyVerbFormatLine} defines the way each line is formatted.
+Its default value is \verb+\def\FancyVerbFormatLine#1{#1}+, but we can
+redefine it at our convenience (\texttt{FancyVerbLine} is the name of the
+line counter):
+
+{\fvset{fontsize=\small}
+\begin{SideBySideExample}
+ Z\fvset{fontsize=\normalsize}
+ \renewcommand{\FancyVerbFormatLine}[1]{%
+ \makebox[0cm][l]{$\Rightarrow$}#1}
+ \begin{Verbatim}
+ First verbatim line.
+ Second verbatim line.
+ Third verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\begin{SideBySideExample}
+ \renewcommand{\FancyVerbFormatLine}[1]{%
+ \ifodd\value{FancyVerbLine}%
+ \MakeUppercase{#1}\else#1\fi}
+ \begin{Verbatim}
+ First verbatim line.
+ Second verbatim line.
+ Third verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+}
+
+\subsubsection{Fonts}
+
+\begin{optlist}
+ \item[fontfamily (family name)]: font family to use.
+ \texttt{tt}, \texttt{courier} and \texttt{helvetica} are pre-defined
+ (\emph{Default:~tt}).
+\end{optlist}
+
+\ifPostScriptFonts We can guess that PostScript fonts are available
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[fontfamily=helvetica]
+ Verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\else
+\begin{quote}
+ \textbf{\large Warning!} PostScript fonts seems not available on your
+ platform (we are looking for the file \texttt{times.sty}, so we will
+ not show the examplaes using such PostScript fonts.
+\end{quote}
+\fi
+
+\begin{optlist}
+ \item[fontsize (font size)]: size of the font to use
+ (\emph{Default: auto} \Dash the same as the current font). If you use the
+ `\textsf{relsize}' package too, you can require a change of the size
+ proportional to the current one (for instance:
+ \verb+fontsize=\relsize{-2}+).
+\end{optlist}
+
+\ifPostScriptFonts We can guess that PostScript fonts are available
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[fontsize=\small]
+ Verbatim line.
+ \end{Verbatim}
+
+ \begin{Verbatim}[fontfamily=courier,
+ fontsize=\large]
+ Verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\else
+\begin{SideBySideExample}
+ \begin{Verbatim}[fontsize=\small]
+ Verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+\fi
+
+\begin{optlist}
+ \item[fontshape (font shape)]: font shape to use
+ (\emph{Default: auto} \Dash the same as the current font).
+\end{optlist}
+
+\ifPostScriptFonts We can guess that PostScript fonts are available
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[fontfamily=courier,
+ fontshape=it]
+ Verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\else
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[fontshape=it]
+ Verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+\fi
+
+\begin{optlist}
+ \item[fontseries (series name)]: \LaTeX{} font `series' to use
+ (\emph{Default: auto} \Dash the same as the current font).
+\end{optlist}
+
+\ifPostScriptFonts We can guess that PostScript fonts are available
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[fontfamily=courier,
+ fontseries=b]
+ Verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\else
+\begin{SideBySideExample}
+ \begin{Verbatim}[fontseries=b]
+ Verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+\fi
+
+\subsubsection{Types and characteristics of frames}
+
+\begin{optlist}
+ \item[frame
+ (none$\mid$leftline$\mid$topline$\mid$bottomline$\mid$lines$\mid$single)]:
+ type of frame around the verbatim environment
+ (\emph{Default: none} \Dash no frame). With \textsf{leftline} and
+ \textsf{single} modes, a space of a length given by the \LaTeX{}
+ \cs{fboxsep} macro is added between the left vertical line and the text.
+\end{optlist}
+
+ Problem at the top of a page...
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[frame=leftline]
+ Verbatim line.
+ \end{Verbatim}
+
+ \begin{Verbatim}[frame=topline]
+ Verbatim line.
+ \end{Verbatim}
+
+ \begin{Verbatim}[frame=bottomline]
+ Verbatim line.
+ \end{Verbatim}
+
+ \begin{Verbatim}[frame=lines]
+ Verbatim line.
+ \end{Verbatim}
+
+ \begin{Verbatim}[frame=single]
+ Verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\begin{optlist}
+ \item[framerule (dimension)]: width of the rule of the frame
+ (\emph{Default: 0.4pt if framing specified}).
+\end{optlist}
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[frame=single,
+ framerule=1mm]
+ Verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\begin{optlist}
+ \item[framesep (dimension)]: width of the gap between the frame and
+ the text (\emph{Default: \cs{fboxsep}}).
+\end{optlist}
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[frame=single,
+ framesep=5mm]
+ Verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\begin{optlist}
+ \item[rulecolor (color command)]: color of the frame rule, expressed
+ in the standard \LaTeX{} way
+ (\emph{Default: black}).
+\end{optlist}
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[frame=single,
+ rulecolor=\color{red}]
+ Verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\begin{optlist}
+ \item[fillcolor (color command)]: color used to fill the space
+ between the frame and the text (its thickness is given by
+ \texttt{framesep})
+ (\emph{Default: none} \Dash no color).
+\end{optlist}
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[frame=single,
+ framerule=1mm,framesep=3mm,
+ rulecolor=\color{red},
+ fillcolor=\color{yellow}]
+ Verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\subsubsection{Label for the environment}
+
+\begingroup
+\newcommand\Vitem{\SaveVerb[aftersave={\item[\UseVerb{Vitem}]}]{Vitem}}
+\DefineShortVerb{\|}
+
+\begin{optlist}
+ \Vitem|label ({[string]string})|: label(s) to print on top, bottom or
+ both frame lines of the environment to describe it content
+ (\emph{Default: empty} \Dash no label).
+ If the label(s) contains special characters, as a comma or an equal sign,
+ it must be put inside a group. If only one string is given, it will be
+ used for both top and bottom lines (if the two are printed), but if an
+ optional first label is given too, this one will be used for the top line
+ and the second one for the bottom line. Note also that, if another value
+ than \textsf{topline}, \textsf{bottomline}, \textsf{lines} or
+ \textsf{single} is used for the \textsf{frame} parameter, the label(s)
+ will not be printed.
+\end{optlist}
+\endgroup
+
+ Problem at the top of a page...
+
+\begin{SideBySideExample}
+ \fvset{gobble=2}
+ \begin{Verbatim}[frame=single,
+ label=My text]
+ First verbatim line.
+ Second verbatim line.
+ \end{Verbatim}
+
+ \begin{Verbatim}[frame=topline,
+ framesep=4mm,
+ label=\fbox{\Large\emph{The code}}]
+ First verbatim line.
+ Second verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\begin{optlist}
+ \item[labelposition (none$\mid$topline$\mid$bottomline$\mid$all)]:
+ position where to print the label if one is defined, which must be
+ coherent with the kind of frame chosen
+ (\emph{Default: none if the label is empty, topline if one label is
+ defined and all if two are defined}).
+ Of course, some incompatible options (like
+ \textsf{frame=topline,labelposition=bottomline}) will not print the
+ label.
+\end{optlist}
+
+ Problem at the top of a page...
+
+\begin{SideBySideExample}
+ \fvset{gobble=2}
+ \begin{Verbatim}[frame=single,
+ framesep=2mm,
+ label=Text,labelposition=all]
+ First verbatim line.
+ Second verbatim line.
+ \end{Verbatim}
+
+ \begin{Verbatim}[frame=lines,
+ label=Text,labelposition=topline]
+ First verbatim line.
+ Second verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[frame=bottomline,
+ framesep=3mm,
+ label=\textit{Code included},
+ labelposition=bottomline]
+ First verbatim line.
+ Second verbatim line.
+ \end{Verbatim}
+
+ \begin{Verbatim}[frame=lines,
+ framesep=3mm,
+ label={[Beginning of code]End of code}]
+ First verbatim line.
+ Second verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\subsubsection{Line numbering}
+
+\begin{optlist}
+ \item[numbers (none$\mid$left$\mid$right)]: numbering of the verbatim lines
+ (\emph{Default: none} \Dash no numbering). If requested, this numbering is
+ done \emph{outside} the verbatim environment.
+\end{optlist}
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[gobble=2,numbers=left]
+ First verbatim line.
+ Second verbatim line.
+ \end{Verbatim}
+
+ \begin{Verbatim}[gobble=2,
+ numbers=right,numbersep=0pt]
+ First verbatim line.
+ Second verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\begin{optlist}
+ \item[numbersep (dimension)]: gap between numbers and verbatim lines
+ (\emph{Default: 12pt}).
+\end{optlist}
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[gobble=2,
+ numbers=left,numbersep=2pt]
+ First verbatim line.
+ Second verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\begin{optlist}
+ \item[firstnumber (auto$\mid$last$\mid$integer)]: number of the first line
+ (\emph{Default: auto} \Dash numbering starts from 1). \textsf{last} means
+ that the numbering is continued from the previous verbatim environment. If
+ an integer is given, its value will be used to start the numbering.
+\end{optlist}
+
+\begin{SideBySideExample}
+ \fvset{gobble=2,
+ numbers=left,numbersep=3pt}
+ \begin{Verbatim}
+ Verbatim line.
+ \end{Verbatim}
+
+ \begin{Verbatim}[firstnumber=last]
+ Verbatim line.
+ \end{Verbatim}
+
+ \begin{Verbatim}[firstnumber=100]
+ Verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\begin{optlist}
+ \item[stepnumber (integer)]: interval at which line numbers are printed
+ (\emph{Default:~1} \Dash all lines are numbered).
+\end{optlist}
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[gobble=2,numbers=left,
+ numbersep=3pt,stepnumber=2]
+ First verbatim line.
+ Second verbatim line.
+ Third verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+ The macro \cs{theFancyVerbLine} defines the typesetting style of the
+numbering, and the counter used is \texttt{FancyVerbLine}:
+
+\begin{SideBySideExample}
+ \renewcommand{\theFancyVerbLine}{%
+ \textcolor{red}{\small
+ 8.\alph{FancyVerbLine}}}
+ \begin{Verbatim}[gobble=2,
+ numbers=left,numbersep=2pt]
+ First verbatim line.
+ Second verbatim line.
+ Third verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\ifChangeBar\begin{changebar}\fi
+\begin{optlist}
+ \item[numberblanklines (boolean)]: to number or not the empty lines
+ (really empty or containing blank characters only)
+ (\emph{Default: true} \Dash all lines are numbered).
+\end{optlist}
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[gobble=2,numbers=left,
+ numbersep=3pt,
+ numberblanklines=false]
+ First verbatim line.
+
+
+ Second verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+\ifChangeBar\end{changebar}\fi
+%
+\subsubsection{Selection of lines to print}
+
+\begin{optlist}
+ \item[firstline (integer)]: first line to print
+ (\emph{Default: empty} \Dash all lines from the first are printed).
+\end{optlist}
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[gobble=2,firstline=2,
+ numbers=left,numbersep=2pt]
+ First verbatim line.
+ Second verbatim line.
+ Third verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\begin{optlist}
+ \item[lastline (integer)]: last line to print
+ (\emph{Default: empty} \Dash all lines until the last one are printed).
+\end{optlist}
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[gobble=2,lastline=1,
+ numbers=left,numbersep=2pt]
+ First verbatim line.
+ Second verbatim line.
+ Third verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+Instead of specifying a firstline at which to start printing a range
+of lines, you can define a start string; the start of the range is
+the first line that exactly equals the string. (The comparison is made
+before any characters are gobbled off the front of the line.) Similarly for a stop
+string. You can mix line-numbers and strings, e.g.\ start at
+firstline, and end at a stop string. Specifying the strings is a
+bit klunky. Initially you must define the strings with
+\cs{newcommand*} as in:
+
+\begin{SideBySideExample}[gobble=2]
+ \newcommand*\FancyVerbStartString{FROM}
+ \newcommand*\FancyVerbStopString{TO}
+ \begin{Verbatim}
+ First verbatim line.
+ FROM
+ Second verbatim line.
+ TO
+ Third verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\noindent To redefine the strings, you must use \cs{renewcommand*}.
+
+\subsubsection{Spaces and tab characters}
+
+\begin{optlist}
+ \item[showspaces (boolean)]: print a special character representing each
+ space
+ (\emph{Default: false} \Dash spaces not shown).
+\end{optlist}
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[showspaces=true]
+ Verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+ In practice, all verbatim environments have a~\texttt{*} variant, which
+sets \texttt{showspaces=true}:
+
+\begin{SideBySideExample}
+ \begin{Verbatim*}
+ Verbatim line.
+ \end{Verbatim*}
+\end{SideBySideExample}
+
+ There are also some parameters to determine the way tab characters are
+interpreted (using tabs is in fact a rather old-fashioned style of coding):
+
+\begin{optlist}
+ \item[showtabs (boolean)]: explicitly show tab characters
+ (\emph{Default: false} \Dash tab characters not shown).
+\end{optlist}
+
+\begin{optlist}
+ \item[obeytabs (boolean)]: position characters according to the tabs
+ (\emph{Default: false} \Dash tab characters are added to the current
+ position).
+\end{optlist}
+
+\begin{optlist}
+ \item[tabsize (integer)]: number of spaces given by a tab character
+ (\emph{Default:~8}).
+\end{optlist}
+
+\subsubsection{Space between lines}
+
+\begin{optlist}
+ \item[baselinestretch (auto$\mid$dimension)]: value to give to the usual
+ `baselinestretch' \LaTeX{} parameter
+ (\emph{Default: auto} \Dash its current value just before the verbatim
+ command).
+\end{optlist}
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[baselinestretch=2]
+ First verbatim line.
+ Second verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\subsubsection{Escape characters for inserting commands}
+
+\begin{optlist}
+ \item[commandchars (three characters)]: characters which define the
+ character which starts a macro and marks the beginning and end of a group;
+ thus lets us introduce \emph{escape} sequences in verbatim code. Of
+ course, it is better to choose special characters which are not used in
+ the verbatim text! (\emph{Default: empty}).
+ \label{sec:commandchars}
+\end{optlist}
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[commandchars=\\\{\}]
+ \textit{This is a comment}
+ First verbatim line.
+ \fbox{Second} verbatim line.
+ \textcolor{red}{Third} verbatim line.
+ \end{Verbatim}
+
+ \begin{Verbatim}[commandchars=+\[\]]
+ +textit[\textbf{Verbatim} line].
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\ifChangeBar\begin{changebar}\fi
+ Using this way, it is also possible to put labels to be able, later, to
+make reference to some lines of the verbatim environments:
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[commandchars=\\\{\},
+ numbers=left,numbersep=2pt]
+ First verbatim line.
+ Second line.\label{vrb:Important}
+ Third verbatim line.
+ \end{Verbatim}
+
+ As I previously shown
+ line~\ref{vrb:Important}, it is...
+\end{SideBySideExample}
+\ifChangeBar\end{changebar}\fi
+
+\subsubsection{Margins}
+
+\begin{optlist}
+ \item[xleftmargin (dimension)]: indentation to add at the start of each
+ line
+ (\emph{Default:~0pt} \Dash no left margin).
+\end{optlist}
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[frame=single,
+ xleftmargin=5mm]
+ Verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\begin{optlist}
+ \item[xrightmargin (dimension)]: right margin to add after each line
+ (\emph{Default:~0pt} \Dash no right margin).
+\end{optlist}
+
+\begin{SideBySideExample}
+ \begin{Verbatim}[frame=single,
+ xrightmargin=1cm]
+ Verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+
+\begin{optlist}
+ \item[resetmargins (boolean)]: reset the left margin, which is useful if
+ we are inside other indented environments (\emph{Default: false} \Dash no
+ reset of the margin).
+\end{optlist}
+
+{%
+\DefineVerbatimEnvironment{Verbatim}{Verbatim}{gobble=0,numbers=none}
+\begin{SideBySideExample}
+ \begin{itemize}
+ \item First item
+ \begin{Verbatim}[frame=single]
+ Verbatim line.
+ \end{Verbatim}
+ \item Second item
+ \begin{Verbatim}[frame=single,
+ resetmargins=true]
+ Verbatim line.
+ \end{Verbatim}
+ \end{itemize}
+\end{SideBySideExample}
+}
+
+\subsubsection{Overfull box messages}
+
+\begin{optlist}
+ \item[hfuzz (dimension)]: value to give to the \TeX{} \cs{hfuzz} dimension
+ for text to format. This can be used to avoid seeing some unimportant
+ \emph{Overfull box} messages (\emph{Default:~2pt}).
+\end{optlist}
+
+\subsubsection{Page breaks}
+
+\begin{optlist}
+ \item[samepage (boolean)]: in very special circumstances, we may want to
+ make sure that a verbatim environment is not broken, even if it does not
+ fit on the current page. To avoid a page break, we can set the
+ \texttt{samepage} parameter to \emph{true} (\emph{Default: false}).
+\end{optlist}
+
+\subsubsection{Catcode characters}
+
+\begin{optlist}
+ \item[codes (macro)]: to specify \emph{catcode} changes (\emph{Default:
+ empty}).
+\end{optlist}
+
+ For instance, this allows us to include formatted mathematics in verbatim
+text:
+
+{\fvset{fontsize=\small}
+\begin{SideBySideExample}
+ Z\fvset{fontsize=\normalsize}
+ \begin{Verbatim}[commandchars=\\\{\},
+ codes={\catcode`$=3\catcode`^=7}]
+ x=1/sqrt(z**2) ! $\frac{1}{\sqrt{z^2}}$
+ \end{Verbatim}
+\end{SideBySideExample}
+} %$
+
+
+\subsubsection{Active characters}
+
+\begin{optlist}
+ \item[defineactive (macro)]: to define the effect of \emph{active}
+ characters
+ (\emph{Default: empty}).
+\end{optlist}
+
+ This allows us to do some devious tricks: see the example in Section
+\ref{sec:VerbatimInclude} on page~\pageref{sec:VerbatimInclude}.
+
+\subsection{Different kinds of verbatim environments}
+
+\subsubsection{Verbatim environment}
+
+ This is the `normal' verbatim environment which we have been using up to
+now.
+
+\subsubsection{BVerbatim environment}
+
+ This environment puts the verbatim material in a \TeX{} box. Some
+parameters do not work inside this environment (notably the framing ones),
+but two new ones are available:
+
+\begin{optlist}
+ \item[boxwidth (auto$\mid$dimension)]: size of the box used
+ (\emph{Default: auto} \Dash the width of the longest line is used).
+\end{optlist}
+
+\begin{optlist}
+ \item[baseline (b$\mid$c$\mid$t)]: position of the baseline (on the
+ \texttt{baseline}, the \texttt{center} or the \texttt{top} of the box)
+ (\emph{Default: b}).
+\end{optlist}
+
+\begin{SideBySideExample}
+ \fvset{gobble=2}
+ \begin{BVerbatim}
+ First
+ Second
+ \end{BVerbatim}
+ \begin{BVerbatim}[baseline=c]
+ First
+ Second
+ \end{BVerbatim}
+\end{SideBySideExample}
+
+\begin{SideBySideExample}
+ \begin{BVerbatim}[boxwidth=2cm]
+ First
+ Second
+ \end{BVerbatim}
+ \begin{BVerbatim}[boxwidth=2cm,
+ baseline=t]
+ First
+ Second
+ \end{BVerbatim}
+\end{SideBySideExample}
+
+\subsubsection{LVerbatim environment}
+
+ This environment puts verbatim material into \LaTeX{} `LR' mode (the
+so-called \emph{left-to-right} mode, which in fact is the same thing that
+\TeX{} itself calls \emph{restricted horizontal mode}).
+
+\subsubsection{Personalized environments}
+
+\ifChangeBar\begin{changebar}\fi
+\VerbatimFootnotes
+ It is easy to define personal customized environments. You can redefine
+the existing ones using the \cs{RecustomVerbatimEnvironment} macro or create
+your own ones, using the \cs{DefineVerbatimEnvironment} macro\footnote{%
+\ifChangeBar\begin{changebar}\fi
+For verbatim commands, the \cs{CustomVerbatimCommand} and
+\cs{RecustomVerbatimCommand} macros also exist; for instance:
+
+\noindent
+\verb+\RecustomVerbatimCommand{\VerbatimInput}{VerbatimInput}{frame=lines}+
+\ifChangeBar\end{changebar}\fi}.
+In each case, you specify the name of the new environment, the type of
+environment on which it is based, and a set of initial option values. The
+options can be overridden with an optional argument in the normal way:
+
+\begin{SideBySideExample}
+ \RecustomVerbatimEnvironment
+ {Verbatim}{Verbatim}
+ {gobble=2,frame=single}
+ \begin{Verbatim}
+ First verbatim line.
+ Second verbatim line.
+ \end{Verbatim}
+\end{SideBySideExample}
+\ifChangeBar\end{changebar}\fi
+
+\begin{SideBySideExample}
+ \DefineVerbatimEnvironment%
+ {MyVerbatim}{Verbatim}
+ {gobble=2,numbers=left,numbersep=2mm,
+ frame=lines,framerule=0.8mm}
+ \begin{MyVerbatim}
+ First verbatim line.
+ Second verbatim line.
+ \end{MyVerbatim}
+
+ \begin{MyVerbatim}[numbers=none,
+ framerule=1pt]
+ First verbatim line.
+ Second verbatim line.
+ \end{MyVerbatim}
+\end{SideBySideExample}
+
+\section{Saving and restoring verbatim text and environments}
+
+ The \cs{SaveVerb} and \cs{UseVerb} macros allow us to save and restore
+verbatim material. \cs{UseVerb} itself is robust:
+
+% \DefineShortVerb{\|}
+% \SaveVerb{Verb}|_verbatim_|
+\begin{SideBySideExample}
+ \DefineShortVerb{\|}
+ \SaveVerb{Verb}|_verbatim_|
+ I have saved \UseVerb{Verb} and reuse
+ it later as many times as I want
+ \subsection*{Using \UseVerb{Verb}}
+ \UseVerb{Verb}.
+\end{SideBySideExample}
+
+ This also provides a solution to putting verbatim text inside \LaTeX{}
+commands which do not normally permit it: % (used package \texttt{marginnote}):
+
+{\fvset{frame=single,xrightmargin=0cm}
+\begin{Example}
+ \DefineShortVerb{\|}\SaveVerb{Verb}|_OK^| \marginpar{\UseVerb{Verb}}
+\end{Example}
+}
+
+ There is a useful ability to use verbatim text as the item text in a
+description list (something not normally permitted in \LaTeX), using the
+\texttt{aftersave} parameter:
+
+\begin{optlist}
+ \item[aftersave (macro)]: macro to dynamically save some verbatim material
+ (\emph{Default: empty}).
+\end{optlist}
+
+\begin{SideBySideExample}
+ \newcommand{\Vitem}{%
+ \SaveVerb[aftersave={%
+ \item[\UseVerb{Vitem}]}]{Vitem}}
+ \DefineShortVerb{\|}
+ \begin{description}
+ \Vitem|\MyCommand|: my command
+ \end{description}
+\end{SideBySideExample}
+
+ In the same way, we can use and restore (in normal, boxed and LR mode,
+using \cs{UseVerbatim}, \cs{BUseVerbatim} and \cs{LUseVerbatim} respectively)
+entire verbatim environments:
+
+\begin{SideBySideExample}
+ Z\fvset{gobble=0,numbers=none}
+ \begin{SaveVerbatim}{VerbEnv}
+ Verbatim line.
+ \end{SaveVerbatim}
+ \UseVerbatim{VerbEnv}
+ and \UseVerbatim{VerbEnv}
+\end{SideBySideExample}
+
+\begin{SideBySideExample}
+ Z\fvset{gobble=0,numbers=none}
+ \begin{SaveVerbatim}[gobble=5]{VerbEnv}
+ First
+ Second
+ \end{SaveVerbatim}
+
+ \fbox{\BUseVerbatim{VerbEnv}}
+ and \BUseVerbatim{VerbEnv}.
+
+ \LUseVerbatim{VerbEnv} and
+ \LUseVerbatim{VerbEnv}
+\end{SideBySideExample}
+
+\section{Writing and reading verbatim files}
+\label{sec:VerbatimInclude}
+
+ The command \cs{VerbatimInput} (the variants \cs{BVerbatimInput} and
+\cs{LVerbatimInput} also exist) allows inclusion of the contents of a file
+with verbatim formatting. Of course, the various parameters which we have
+described for customizing can still be used:
+
+%The file we will use for \VerbatimInput
+
+\typeout{*************************************}
+\typeout{* Created files: hello.f90, file.txt}
+\typeout{* See fancyhdr.dvi for an explanation}
+\typeout{*************************************}
+
+\begin{VerbatimOut}{hello.f90}
+ ! A "hello" program
+
+ program hello
+ print *,"Hello world"
+ end program hello
+\end{VerbatimOut}
+
+\begin{SideBySideExample}
+ Z\RecustomVerbatimCommand{\VerbatimInput}{VerbatimInput}{gobble=4}
+ \fvset{fontsize=\small}
+ \VerbatimInput{hello.f90}
+
+ \fvset{frame=single,numbers=left,
+ numbersep=3pt}
+ \VerbatimInput{hello.f90}
+
+ \VerbatimInput[firstline=3,
+ rulecolor=\color{green}]
+ {hello.f90}
+
+ \VerbatimInput[frame=lines,
+ fontshape=sl,fontsize=\footnotesize]
+ {hello.f90}
+\end{SideBySideExample}
+
+ We can make use of the `defineactive' parameter to set the comment lines
+ in the program text in a different style:
+
+\begin{SideBySideExample}
+ Z\RecustomVerbatimCommand{\VerbatimInput}{VerbatimInput}{gobble=4}
+ \def\ExclamationPoint{\char33}
+ \catcode`!=\active
+ \VerbatimInput%
+ [defineactive=%
+ \def!{\color{cyan}\itshape
+ \ExclamationPoint}]
+ {hello.f90}
+\end{SideBySideExample}
+
+ It is important to note that if the contents of the file does not fit on
+the page, it will be automatically broken across pages as needed (unless the
+\texttt{samepage} parameter has been set to \texttt{true}).
+
+ There is also a \verb+VerbatimOut+ environment to write verbatim text to an
+output file, in the same way:
+
+\begin{SideBySideExample}
+ \begin{VerbatimOut}{file.txt}
+ I write that.
+ And that too.
+ \end{VerbatimOut}
+
+ \VerbatimInput[frame=single,
+ numbers=left,numbersep=6pt]{file.txt}
+\end{SideBySideExample}
+
+\ifChangeBar\begin{changebar}\fi
+\section{Automatic pretty printing}
+
+ Obviously, automatic \emph{pretty printing} is outside the scope of this
+package. Nevertheless, this is specially interesting for verbatim
+inclusion of programming code files or fragments. In the \LaTeX{} world
+(not speaking of the \emph{literate programming} way), there are software
+for some special languages, as the `\textsf{C++2LaTeX}' package from Norbert
+\textsc{Kiesel}, but mainly two generic ones, which use completely different
+modes (an external preprocessor written in C and a \TeX{} based solution):
+the `\textsf{LGrind}'~\cite{LGrind} system, currently maintened by Michael
+\textsc{Piefel}, and the `\textsf{listings}'~\cite{Listings} package from
+Carsten \textsc{Heinz}.
+
+ Future versions of \FVrbPackage{} and `\textsf{listings}' packages are
+planned to cooperate, which will offer great advantages to both users of the
+two actual packages, and will allow \FVrbPackage{} users to have automatic
+pretty printing of programming codes.
+
+\section{Known problems}
+
+\begin{itemize}
+ \item Vladimir \textsc{Volovich} \verb+<vvv@vvv.vsu.ru>+ reported that the
+ special character \verb+\th+, available with T1 encoding, can't be
+ included as verbatim with \FVrbPackage. It can be true for other special
+ characters too.
+\end{itemize}
+
+\iffalse
+
+\section{Thanks}
+
+ For interesting comments and suggestions, we would like to thank specially
+(alphabetic order): Philippe \textsc{Esperet}
+\url{esperet@marie.polytechnique.fr}, Michael \textsc{Friendly}
+\url{friendly@hotspur.psych.yorku.ca}, Rolf \textsc{Niepraschk}
+\url{niepraschk@gmx.de} and for bug reports Mario \textsc{Hassler}
+\relax\unskip\break
+\url{HASSLER@ippnv2.ipp.kfa-juelich.de}, Mikhail \textsc{Kolodin}
+\relax\unskip\break
+\url{myke@morrigan.spb.su}, Andreas Matthias, Ulrich M. Schwarz, and Vladimir \textsc{Volovich}
+\verb+<vvv@vvv.vsu.ru>+.
+
+
+\fi
+\section{Conclusion}
+
+ There are a few other possibilities that we have not described here.
+Note specially that it is possible to define a customization file
+(\texttt{fancyvrb.cfg}) loaded at the end of the package, to store
+definitions of your customized commands and environments and to redefine
+the attributes of existing ones.
+
+
+\clearpage
+
+
+\part{Package \texttt{fancyvrb-ex}}
+This package defines some example environments which can write input code
+and output side by side or on top of each other. They are all used for this documentation of \texttt{fancyvrb}.
+
+\section{\texttt{Example} environment}
+
+\begin{Verbatim}[gobble=2]
+ \begin{Example}
+ First verbatim line.
+ Second verbatim line.
+ Third verbatim line.
+ \end{Example}
+\end{Verbatim}
+
+\begin{Example}
+ First verbatim line.
+ Second verbatim line.
+ Third verbatim line.
+\end{Example}
+
+\begin{Verbatim}[gobble=2]
+ \begin{Example}[frame=lines,framerule=1mm,
+ numbers=left]
+ First verbatim line.
+ Second verbatim line.
+ Third verbatim line.
+ \end{Example}
+\end{Verbatim}
+
+\begin{Example}[frame=lines,framerule=1mm,numbers=left]
+ First verbatim line.
+ Second verbatim line.
+ Third verbatim line.
+\end{Example}
+
+\newpage
+
+\section{\texttt{CenterExample} environment}
+
+\begin{Verbatim}[gobble=2]
+ \begin{CenterExample}[frame=single,
+ numbers=right]
+ First verbatim line.
+ Second verbatim line.
+ Third verbatim line.
+ \end{CenterExample}
+\end{Verbatim}
+
+\begin{CenterExample}[frame=single,numbers=right]
+ First verbatim line.
+ Second verbatim line.
+ Third verbatim line.
+\end{CenterExample}
+
+
+\section{\texttt{SideBySideExample} environment}
+
+\begin{Verbatim}[gobble=2]
+ \begin{SideBySideExample}[xrightmargin=5cm,
+ frame=lines, numbers=left]
+ First verbatim line.
+ Second verbatim line.
+ Third verbatim line.
+ \end{SideBySideExample}
+\end{Verbatim}
+
+\begin{SideBySideExample}[xrightmargin=5cm,frame=single,numbers=left]
+ First verbatim line.
+ Second verbatim line.
+ Third verbatim line.
+\end{SideBySideExample}
+
+\section{\texttt{PCenterExample} environment}
+
+\begin{Verbatim}
+ \fvset{frame=lines,framerule=0.5mm,numbers=left}
+
+ \begin{PCenterExample}(-0.5,-0.5)(0.5,0.5)
+ \setlength{\unitlength}{1cm}
+ \put(0,0){\circle{1}}
+ \end{PCenterExample}
+
+ \showgrid
+ \begin{PCenterExample}(-1,-1)(1,1)
+ \setlength{\unitlength}{1cm}
+ \put(0,0){\circle{1}}
+ \end{PCenterExample}
+\end{Verbatim}
+
+{\fvset{frame=lines,framerule=0.5mm,numbers=left}
+\begin{PCenterExample}(-0.5,-0.5)(0.5,0.5)
+ \setlength{\unitlength}{1cm}
+ \put(0,0){\circle{1}}
+\end{PCenterExample}
+\showgrid
+\begin{PCenterExample}(-1,-1)(1,1)
+ \setlength{\unitlength}{1cm}
+ \put(0,0){\circle{1}}
+\end{PCenterExample}
+}
+
+\section{\texttt{PSideBySideExample} environment}
+
+\begin{Verbatim}[gobble=2]
+ \fvset{frame=single,xrightmargin=5cm}
+ \begin{PSideBySideExample}(-2,-1)(2,1)
+ \psellipse*[linecolor=yellow](2,1)
+ \end{PSideBySideExample}
+ \showgrid
+ \begin{PSideBySideExample}(-2,-1)(2,1)
+ \psellipse[linestyle=dashed](2,1)
+ \end{PSideBySideExample}
+\end{Verbatim}
+
+{\fvset{frame=single,xrightmargin=5cm}
+\begin{PSideBySideExample}(-2,-1)(2,1)
+ \psellipse*[linecolor=yellow](2,1)
+\end{PSideBySideExample}
+
+\showgrid
+\begin{PSideBySideExample}(-2,-1)(2,1)
+ \psellipse[linestyle=dashed](2,1)
+\end{PSideBySideExample}
+}
+
+\begin{Verbatim}[gobble=2]
+ \fvset{frame=single,xrightmargin=5cm}
+ \begin{PSideBySideExample}(-2,-1)(2,1)
+ \psellipse[linestyle=dashed](2,1)
+ \end{PSideBySideExample}
+ \begin{PSideBySideExample}[numbers=right](-2,-1)(2,1)
+ \psellipse[linestyle=dotted](2,1)
+ \end{PSideBySideExample}
+\end{Verbatim}
+
+{\fvset{frame=single,xrightmargin=5cm}
+\begin{PSideBySideExample}(-2,-1)(2,1)
+ \psellipse[linestyle=dashed](2,1)
+\end{PSideBySideExample}
+
+\begin{PSideBySideExample}[numbers=right](-2,-1)(2,1)
+ \psellipse[linestyle=dotted](2,1)
+\end{PSideBySideExample}
+}
+
+
+
+
+
+
+
+\begin{thebibliography}{1}
+ \bibitem{FancyBox} Timothy \textsc{van Zandt},
+ \textit{Documentation for `fancybox': Box tips and tricks for \LaTeX}.
+ Available from \url{CTAN: macros/latex/contrib/supported/fancybox}, 1993.
+
+ \bibitem{FancyVrb} Timothy \textsc{van Zandt},
+ \textit{`fancyvrb': Fancy Verbatims in \LaTeX}.
+ Available from \url{CTAN: macros/latex/contrib/supported/fancyvrb}, 1998.
+
+ \bibitem{LGrind} Various authors (current maintainer: Michael
+ \textsc{Piefel}),
+ \textit{The `LGrind' package}.
+ Available from \url{CTAN: support/lgrind}, 1998.
+
+ \bibitem{Listings} Carsten \textsc{Heinz},
+ \textit{The `Listings' package}.
+ Available from \url{CTAN: macros/latex/contrib/supported/listings}, 1996-1997.
+\end{thebibliography}
+
+
+
+
+
+
+
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/fancyvrb/fancyvrb.pdf b/Master/texmf-dist/doc/latex/fancyvrb/fancyvrb.pdf
deleted file mode 100644
index 4790d104af7..00000000000
--- a/Master/texmf-dist/doc/latex/fancyvrb/fancyvrb.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/fancyvrb/fvrb-ex.pdf b/Master/texmf-dist/doc/latex/fancyvrb/fvrb-ex.pdf
deleted file mode 100644
index 5ba2d54c27d..00000000000
--- a/Master/texmf-dist/doc/latex/fancyvrb/fvrb-ex.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/fancyvrb/t-fvrbex.tex b/Master/texmf-dist/doc/latex/fancyvrb/t-fvrbex.tex
deleted file mode 100644
index fcc3de7801a..00000000000
--- a/Master/texmf-dist/doc/latex/fancyvrb/t-fvrbex.tex
+++ /dev/null
@@ -1,220 +0,0 @@
-%%
-%% This is file `t-fvrbex.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% fvrb-ex.dtx (with options: `t-fvrbex')
-%%
-%% IMPORTANT NOTICE:
-%%
-%% For the copyright see the source file.
-%%
-%% Any modified versions of this file must be renamed
-%% with new filenames distinct from t-fvrbex.tex.
-%%
-%% For distribution of the original source see the terms
-%% for copying and modification in the file fvrb-ex.dtx.
-%%
-%% This generated file may be distributed as long as the
-%% original source files, as listed above, are part of the
-%% same distribution. (The sources need not necessarily be
-%% in the same archive or directory.)
-%%
-%% Package `fvrb-ex' (`fvrb-ex', `hbaw' and `hcolor')
-%%
-%% COPYING:
-%% 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.0 or, at your option, any later version.
-%%
-%% Denis Girou (CNRS/IDRIS - France) <Denis.Girou@idris.fr> March 27, 1998
-%%
-%% File `t-fvrbex'
-%%
-\documentclass{article}
-
-\usepackage[bawcolor,pstricks]{fvrb-ex}
-\pstrickstrue
-\usepackage[T1]{fontenc}
-\usepackage[latin1]{inputenc}
-\usepackage[charter]{mathdesign}
-\usepackage{url}
-\usepackage{xcolor}
-
-\begin{document}
-
-\title{Test file for the `\textsf{fvrb-ex}' package}
-\author{Denis Girou\\CNRS/IDRIS\\Orsay -- France\\
- {\footnotesize email: Denis.Girou@idris.fr}}
-\date{Version 1.2\\March 27, 1998}
-
-\maketitle
-
-\RecustomVerbatimEnvironment{Verbatim}{Verbatim}
- {gobble=2,commentchar=^^a3,numbers=left,numbersep=3pt,frame=single}
-
-\section{\texttt{Example} environment}
-
-\begin{Verbatim}
- \begin{Example}
- First verbatim line.
- Second verbatim line.
- Third verbatim line.
- \end{Example}
-\end{Verbatim}
-
-\begin{Example}
- First verbatim line.
- Second verbatim line.
- Third verbatim line.
-\end{Example}
-
-\begin{Verbatim}
- \begin{Example}[frame=lines,framerule=1mm,numbers=left]
- First verbatim line.
- Second verbatim line.
- Third verbatim line.
- \end{Example}
-\end{Verbatim}
-
-\begin{Example}[frame=lines,framerule=1mm,numbers=left]
- First verbatim line.
- Second verbatim line.
- Third verbatim line.
-\end{Example}
-
-\section{\texttt{CenterExample} environment}
-
-\begin{Verbatim}
- \begin{CenterExample}[frame=single,numbers=right]
- First verbatim line.
- Second verbatim line.
- Third verbatim line.
- \end{CenterExample}
-\end{Verbatim}
-
-\begin{CenterExample}[frame=single,numbers=right]
- First verbatim line.
- Second verbatim line.
- Third verbatim line.
-\end{CenterExample}
-
-\begin{Verbatim}
- \begin{CenterExample}[frame=lines,numbers=left]
- ^^a7HLa^^b5First^^b6 verbatim line.
- ^^a7HLb^^b5Second^^b6 verbatim line.
- ^^a7HLCBWz^^b5Third^^b6 verbatim line.
- \end{CenterExample}
-\end{Verbatim}
-
-\begin{CenterExample}[frame=lines,numbers=left]
- ^^a7HLa^^b5First^^b6 verbatim line.
- ^^a7HLb^^b5Second^^b6 verbatim line.
- ^^a7HLCBWz^^b5Third^^b6 verbatim line.
-\end{CenterExample}
-
-\section{\texttt{SideBySideExample} environment}
-
-\begin{Verbatim}
- \begin{SideBySideExample}[xrightmargin=5cm,frame=lines,
- numbers=left]
- First verbatim line.
- Second verbatim line.
- Third verbatim line.
- \end{SideBySideExample}
-\end{Verbatim}
-
-\begin{SideBySideExample}[xrightmargin=5cm,frame=single,numbers=left]
- First verbatim line.
- Second verbatim line.
- Third verbatim line.
-\end{SideBySideExample}
-
-\ifpstricks % If PSTricks is available
-
-\section{\texttt{PCenterExample} environment}
-
-\begin{Verbatim}
- \fvset{frame=lines,framerule=0.5mm,numbers=left}
-
- \begin{PCenterExample}(-0.5,-0.5)(0.5,0.5)
- \setlength{\unitlength}{1cm}
- \put(0,0){\circle{1}}
- \end{PCenterExample}
-
- \showgrid
- \begin{PCenterExample}(-1,-1)(1,1)
- \setlength{\unitlength}{1cm}
- \put(0,0){\circle{1}}
- \end{PCenterExample}
-\end{Verbatim}
-
-{\fvset{frame=lines,framerule=0.5mm,numbers=left}
-\begin{PCenterExample}(-0.5,-0.5)(0.5,0.5)
- \setlength{\unitlength}{1cm}
- \put(0,0){\circle{1}}
-\end{PCenterExample}
-\showgrid
-\begin{PCenterExample}(-1,-1)(1,1)
- \setlength{\unitlength}{1cm}
- \put(0,0){\circle{1}}
-\end{PCenterExample}
-}
-
-\section{\texttt{PSideBySideExample} environment}
-
-\begin{Verbatim}
- \fvset{frame=single,xrightmargin=5cm}
- \begin{PSideBySideExample}(-2,-1)(2,1)
- \psellipse*[linecolor=yellow](2,1)
- \end{PSideBySideExample}
- \showgrid
- \begin{PSideBySideExample}(-2,-1)(2,1)
- \psellipse[linestyle=dashed](2,1)
- \end{PSideBySideExample}
-\end{Verbatim}
-
-{\fvset{frame=single,xrightmargin=5cm}
-\begin{PSideBySideExample}(-2,-1)(2,1)
- \psellipse*[linecolor=yellow](2,1)
-\end{PSideBySideExample}
-
-\showgrid
-\begin{PSideBySideExample}(-2,-1)(2,1)
- \psellipse[linestyle=dashed](2,1)
-\end{PSideBySideExample}
-}
-
-\begin{Verbatim}
- \fvset{frame=single,xrightmargin=5cm}
- \begin{PSideBySideExample}(-2,-1)(2,1)
- \psellipse[linestyle=^^a7HLCBWe^^b5dashed^^b6](2,1)
- \end{PSideBySideExample}
- \begin{PSideBySideExample}[numbers=right](-2,-1)(2,1)
- \psellipse[linestyle=^^a7HLe^^b5dotted^^b6](2,1)
- \end{PSideBySideExample}
-\end{Verbatim}
-
-{\fvset{frame=single,xrightmargin=5cm}
-\begin{PSideBySideExample}(-2,-1)(2,1)
- \psellipse[linestyle=^^a7HLCBWe^^b5dashed^^b6](2,1)
-\end{PSideBySideExample}
-\begin{PSideBySideExample}[numbers=right](-2,-1)(2,1)
- \psellipse[linestyle=^^a7HLe^^b5dotted^^b6](2,1)
-\end{PSideBySideExample}
-
-\else % If PSTricks is not available
-\begin{quote}
- \section{\texttt{PCenterExample} and \texttt{PSideBySideExample}
-environments}
-
- \textbf{\large Warning!} These two environments are not demonstrated here,
-because PSTricks was not found on this platform.
-\end{quote}
-\fi
-
-\end{document}
-\endinput
-%%
-%% End of file `t-fvrbex.tex'.
diff --git a/Master/texmf-dist/source/latex/fancyvrb/fancyvrb.dtx b/Master/texmf-dist/source/latex/fancyvrb/fancyvrb.dtx
deleted file mode 100644
index d6f70214c16..00000000000
--- a/Master/texmf-dist/source/latex/fancyvrb/fancyvrb.dtx
+++ /dev/null
@@ -1,4580 +0,0 @@
-% \iffalse meta-comment, etc.
-%%
-%% Package `fancyvrb'
-%%
-%% COPYRIGHT 1992-2010, by Timothy Van Zandt <tvz@zandtwerk.kellogg.nwu.edu>
-%% 2010, 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.0 or, at your option, any later version.
-%%
-%%
-% \fi
-% \changes{v2.8}{2010/05/15}{fixed bug with several trailing spaces (hv)}
-% \changes{v2.7a}{2008/02/07}{NMM fixed lastline=firstline bug}
-% \changes{v2.7}{2000/03/21}{DG/SR changed how fancyvrb.cfg included}
-% \changes{v2.6}{1998/07/17}{. Three bug corrected, options numberblanklines,
-% label, labelposition and leftline added and few
-% precisions.}
-% \changes{v2.5}{1998/01/28}{First public release.}
-% \changes{v2.0 Beta}{1994/03/30}{First version personally shown by Timothy
-% \textsc{van Zandt}.}
-%
-% \newif\ifPostScriptFonts
-% \IfFileExists{times.sty}{\PostScriptFontstrue}{}
-%
-% \DoNotIndex{\\,\^}
-% \DoNotIndex{\@@nil,\@M,\@MM,\@auxout,\@beginparpenalty,\@bsphack}
-% \DoNotIndex{\@currentlabel,\@currenvir,\@currenvline,\@currsize}
-% \DoNotIndex{\@defpar,\@doendpe,\@eha,\@empty,\@endparenv,\@endpefalse}
-% \DoNotIndex{\@endpetrue,\@esphack,\@fooA,\@fooB,\@footnotetext,\@gobble}
-% \DoNotIndex{\@height,\@ifnextchar,\@ifstar,\@ifundefined,\@ignorefalse}
-% \DoNotIndex{\@inlabelfalse}
-% \DoNotIndex{\@input,\@labels,\@listdepth,\@makefntext,\@makeother,}
-% \DoNotIndex{\@minipagefalse,\@namedef,\@nameuse,\@ne,\@newlistfalse,}
-% \DoNotIndex{\@nil,\@nobreakfalse,\@noparlistfalse,\@noparlisttrue}
-% \DoNotIndex{\@parboxrestore,\@sanitize,\@spaces,\@tempa,\@tempb,\@tempboxa}
-% \DoNotIndex{\@tempc,\@tempcnta,\@tempcntb,\@tempdima,\@tempdimb,\@tempdimc}
-% \DoNotIndex{\@tempg,\@temph,\@temptokena,\@thefnmark,\@toodeep}
-% \DoNotIndex{\@topsep,\@topsepadd,\@totalleftmargin,\@warning,\@width}
-% \DoNotIndex{\active,\addpenalty,\addvspace,\advance}
-% \DoNotIndex{\afterassignment,\aftergroup,\arabic}
-% \DoNotIndex{\baselineskip,\baselinestretch,\begin,\begingroup,\bf,\bgroup}
-% \DoNotIndex{\box,\c@FancyVerbLine,\catcode,\ChangeBartrue,\closein}
-% \DoNotIndex{\closeout,\clubpenalty,\CodelineIndex,\columnwidth,\cr,\csname}
-% \DoNotIndex{\date,\DeclareOption,\def,\define@booleankey,\define@key}
-% \DoNotIndex{\divide,\do,\do@noligs,\DocInput,\documentclass,\dp,\dospecials}
-% \DoNotIndex{\edef,\egroup,\else,\EnableCrossrefs,\end,\endcenter}
-% \DoNotIndex{\endcsname,\endgroup,\endinput,\endlrbox,\endpspicture}
-% \DoNotIndex{\enspace,\errhelp,\errmessage,\expandafter}
-% \DoNotIndex{\fancyvrb@loaded,\fboxrule,\fboxsep,\fi,\filedate,\fileversion}
-% \DoNotIndex{\floatingpenalty,\font,\fontdimen,\fontfamily,\fontseries}
-% \DoNotIndex{\fontshape,\footins,\footnote,\footnotesep,\footnotesize}
-% \DoNotIndex{\frenchspacing,\fvset}
-% \DoNotIndex{\gdef,\GetFileInfo,\global,\hbadness,\hbox,\hfil,\hfuzz}
-% \DoNotIndex{\hrule,\hsize,\hss,\ht,\iden,\if,\if@FV@ResetMargins,\if@filesw}
-% \DoNotIndex{\if@inlabel,\if@nobreak,\if@noparlist,\if@noskipsec,\ifcase}
-% \DoNotIndex{\ifChangeBar,\ifeof,\IfFileExists,\ifmmode,\iffalse,\ifnum}
-% \DoNotIndex{\iftrue,\ifvmode,\ifvoid,\ifx,\ignorespaces,\immediate,\input}
-% \DoNotIndex{\insert,\interfootnotelinepenalty,\interlinepenalty,\jobname}
-% \DoNotIndex{\kern,\large,\lccode,\leaders,\leavevmode,\leftmargin,\let}
-% \DoNotIndex{\lineskip,\linewidth,\long,\loop,\lowercase,\lrbox}
-% \DoNotIndex{\m@ne,\m@th,\maketitle,\mathbf,\mathit,\mathnormal}
-% \DoNotIndex{\mathsl,\mathtt,\mbox,\meaning,\message,\mid,\mskip}
-% \DoNotIndex{\multiply,\NeedsTeXFormat,\newbox,\newcommand,\newcount}
-% \DoNotIndex{\newcounter,\newenvironment,\newif,\newpsobject,\newread}
-% \DoNotIndex{\newwrite,\next,\noexpand,\normalsize,\number}
-% \DoNotIndex{\Oldmakeindex,\on@line,\OnlyDescription,\openin,\openout,\or}
-% \DoNotIndex{\outer,\pUseMVerb,\par,\parindent,\parskip,\partopsep}
-% \DoNotIndex{\penalty,\PrintChanges,\PrintIndex,\ProcessOptions,\protect}
-% \DoNotIndex{\protected@edef,\ProvidesPackage,\raise,\rangle,\read}
-% \DoNotIndex{\RecordChanges,\refstepcounter,\relax,\renewcommand}
-% \DoNotIndex{\renewenvironment,\repeat,\RequirePackage,\rightmargin,\rm}
-% \DoNotIndex{\rmfamily,\romannumeral,\rule}
-% \DoNotIndex{\scriptscriptstyle,\scriptstyle,\section,\selectfont,\setbox}
-% \DoNotIndex{\setcounter,\setkeys,\setlength,\small,\smallskip,\space}
-% \DoNotIndex{\splitmaxdepth,\splittopskip,\stepcounter,\string,\strip,\strut}
-% \DoNotIndex{\strutbox,\textbf,\textcolor,\textit,\textsc,\textsf,\textsl}
-% \DoNotIndex{\texttt,\textwidth,\the,\theFancyVerbLine,\tiny,\title,\topsep}
-% \DoNotIndex{\tt,\ttfamily,\ttyin,\tw@,\underline,\unhbox,\unitlength}
-% \DoNotIndex{\unskip,\usepackage,\valign,\vbox,\vcenter}
-% \DoNotIndex{\verbatim@nolig@list,\vfil,\voidb@x,\vrule,\vspace,\vskip}
-% \DoNotIndex{\vtop,\wd,\widowpenalty,\write,\xdef,\z@,\z@skip}
-%
-% \setcounter{IndexColumns}{2}
-%
-% \newcommand{\FBoxPackage}{`\textsf{fancybox}'}
-% \newcommand{\FVrbPackage}{`\textsf{fancyvrb}'}
-%
-% ^^A From ltugboat.cls
-%
-% ^^A Typeset the name of an environment
-% \providecommand\env[1]{\textsf{#1}}
-% \providecommand\clsname[1]{\textsf{#1}}
-% \providecommand\pkgname[1]{\textsf{#1}}
-% \providecommand\optname[1]{\textsf{#1}}
-% \providecommand\progname[1]{\textsf{#1}}
-%
-% ^^A A list of options for a package/class
-% \newenvironment{optlist}{\begin{description}%
-% \renewcommand\makelabel[1]{%
-% \descriptionlabel{\mdseries\optname{##1}}}%
-% \itemsep0.25\itemsep}%
-% {\end{description}}
-%
-% ^^A Utility macros
-%
-% ^^A Special dashes
-% \def\thinskip{\hskip 0.16667em\relax}
-% \def\endash{--}
-% \def\emdash{\endash-}
-% \def\d@sh#1#2{\unskip#1\thinskip#2\thinskip\ignorespaces}
-% \def\dash{\d@sh\nobreak\endash}
-% \def\Dash{\d@sh\nobreak\emdash}
-%
-% ^^A Example macros - adapted from the `fvrb-ex' package
-% ^^A ---------------------------------------------------
-%
-% ^^A Take care that we use here the "Z" character as comment character,
-% ^^A to avoid to use an 8 bit one which can cause portability problems.
-% ^^A But we can't use any more the "Z" into the example environments
-% ^^A of this documentation.
-%
-% \makeatletter
-% \newcommand{\BeginExample}[1][0]{%
-% \parindent=0pt
-% \multiply\topsep by 2
-% \VerbatimEnvironment
-% \begin{VerbatimOut}[gobble=#1]{\jobname.tmp}}
-%
-% \newcommand{\BelowExample}[1]{%
-% \VerbatimInput[gobble=4,commentchar=Z,numbersep=3pt,frame=single,
-% numbers=left]{\jobname.tmp}
-% \catcode`\Z=9\relax%
-% #1\par}
-%
-% \newcommand{\SideBySide@Example}[1]{%
-% \@tempdimb=\FV@XRightMargin
-% \advance\@tempdimb -5mm
-% \vspace{2mm}
-% \begin{minipage}[c]{\@tempdimb}
-% \fvset{xrightmargin=0pt}
-% \catcode`\Z=9\relax%
-% #1
-% \end{minipage}%
-% \@tempdimb=\textwidth
-% \advance\@tempdimb -\FV@XRightMargin
-% \advance\@tempdimb 5mm
-% \begin{minipage}[c]{\@tempdimb}
-% \VerbatimInput[commentchar=Z,numbersep=3pt,frame=single,
-% numbers=left,xleftmargin=5mm,xrightmargin=0pt]{\jobname.tmp}
-% \end{minipage}
-% \vspace{2mm}}
-%
-% \def\Example{%
-% \catcode`\^^M=\active
-% \@ifnextchar[{\catcode`\^^M=5\Example@}{\catcode`\^^M=5\Example@@}}
-% \def\Example@[#1]{\fvset{#1}\Example@@}
-% \def\Example@@{\BeginExample}
-% \def\endExample{%
-% \end{VerbatimOut}%
-% \BelowExample{\input{\jobname.tmp}}}
-%
-% \def\CenterExample{%
-% \catcode`\^^M=\active
-% \@ifnextchar[{\catcode`\^^M=5\CenterExample@}
-% {\catcode`\^^M=5\CenterExample@@}}
-% \def\CenterExample@[#1]{\fvset{#1}\CenterExample@@}
-% \def\CenterExample@@{\BeginExample}
-% \def\endCenterExample{%
-% \end{VerbatimOut}%
-% \center
-% \BelowExample{\input{\jobname.tmp}}
-% \endcenter}
-%
-% \def\SideBySideExample{%
-% \catcode`\^^M=\active
-% \@ifnextchar[{\catcode`\^^M=5\SideBySideExample@}%
-% {\catcode`\^^M=5\SideBySideExample@@}}
-% \def\SideBySideExample@[#1]{\fvset{#1}\SideBySideExample@@}
-% \def\SideBySideExample@@{\BeginExample[4]}
-% \def\endSideBySideExample{%
-% \end{VerbatimOut}%
-% \SideBySide@Example{\input{\jobname.tmp}}}
-% \makeatother
-%
-% ^^A End of example macros from `fvrb-ex'
-%
-% ^^A For the possible index and changes log
-% \setlength{\columnseprule}{0.6pt}
-%
-% ^^A Beginning of the documentation itself
-%
-% \title{The `\textsf{fancyvrb}' package\\Fancy Verbatims in \LaTeX}
-% \author{Timothy Van Zandt\\Princeton University\\Princeton -- USA\\
-% {\footnotesize \url{tvz@Princeton.EDU}}\\[5mm]
-% {Packaging and documentation by}\\
-% {\footnotesize Denis Girou (CNRS/IDRIS -- France),}\\[-2mm]
-% {\footnotesize Sebastian Rahtz (Elsevier -- GB)}\\[-2mm]
-% {\footnotesize and}\\[-2mm]
-% {\footnotesize Herbert Vo\ss\ (FU Berlin -- DE)}
-% }
-% \date{Version 2.8\\ \today\\
-% {\small Documentation revised \today}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% This package provides very sophisticated facilities for reading and
-% writing verbatim \TeX{} code. Users can perform common tasks like changing
-% font family and size, numbering lines, framing code examples, colouring
-% text and conditionally processing text.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Introduction}
-%
-% \FVrbPackage{} is the development of the \emph{verbatim} macros of the
-% \FBoxPackage{} package, Section 11 of \cite{FancyBox}. It offers six kinds
-% of extended functionality, compared to the standard \LaTeX{}
-% \textsf{verbatim} environment:
-%
-% \begin{enumerate}
-% \item verbatim commands can be used in footnotes,
-% \item several verbatim commands are enhanced,
-% \item a variety of verbatim environments are provided, with many
-% parameters to change the way the contents are printed; it is also possible
-% to define new customized verbatim environments,
-% \item a way is provided to save and restore verbatim text and environments,
-% \item there are macros to write and read files in verbatim mode, with the
-% usual versatility,
-% \item you can build \emph{example} environments (showing both result and
-% verbatim text), with the same versatility as normal verbatim.
-% \end{enumerate}
-%
-% The package works by scanning a line at a time from an environment or a
-% file. This allows it to pre-process each line, rejecting it, removing
-% spaces, numbering it, etc, before going on to execute the body of the line
-% with the appropriate catcodes set.
-%
-% \section{Verbatim material in footnotes}
-%
-% \ifChangeBar\begin{changebar}\fi
-% After a \cs{VerbatimFootnotes} macro declaration (to use after the
-% preamble), it is possible to put verbatim commands and environments
-% (the \LaTeX{} or \FVrbPackage{} ones) in footnotes, unlike in standard
-% \LaTeX:
-% \ifChangeBar\end{changebar}\fi
-%
-% \begin{Example}
-% \VerbatimFootnotes
-% We can put verbatim\footnote{\verb+_Yes!_+} text in footnotes.
-% \end{Example}
-%
-% \section{Improved verbatim commands}
-%
-% The \cs{DefineShortVerb} macro allows us to define a special character as
-% an abbreviation to enclose verbatim text and the \cs{UndefineShortVerb}
-% macro suppresses the special meaning of the specified character (the same
-% \ifChangeBar\begin{changebar}\fi
-% functionalities are provided in the \LaTeX{} `\textsf{shortvrb}' package):
-% \ifChangeBar\end{changebar}\fi
-%
-% \fvset{xrightmargin=4.8cm}
-%
-% \begin{SideBySideExample}
-% \DefineShortVerb{\|}
-% We can simply write \Verb+_verbatim_+
-% material using a single |_delimiter_|
-% \UndefineShortVerb{\|}
-% \DefineShortVerb{\+}
-% And we can +_change_+ the character.
-% \end{SideBySideExample}
-%
-% To make matters more versatile, we can nominate \emph{escape} characters
-% in verbatim text (using the \cs{Verb} macro or with a `shortverb' character
-% defined), to perform formatting or similar tasks, using the
-% \texttt{commandchars} parameter as shown for environments in paragraph
-% \ref{sec:commandchars}.
-%
-% \section{Verbatim environments}
-%
-% Several verbatim environments are available, each with a lot of
-% parameters to customize them. In the following examples we use the
-% \texttt{Verbatim} environment, which is the equivalent of the standard
-% \texttt{verbatim}. The parameters can be set globally using the \cs{fvset}
-% macro or in an optional argument after the start of the
-% environment\footnote{For clarification in this paper, note that we
-% generally indent each verbatim line with two
-% spaces.}$^,$\footnote{This mechanism uses the
-% `\textbf{keyval}' package from the standard \LaTeX{} graphics
-% distribution, written by David \textsc{Carlisle}.}.
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}
-% First verbatim line.
-% Second verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% \subsection{Customization of verbatim environments}
-%
-% \ifChangeBar\begin{changebar}\fi
-% The appearance of verbatim environments can be changed in many and
-% varied ways; here we list the keys that can be set.
-% \ifChangeBar\end{changebar}\fi
-%
-% \subsubsection{Comments}
-%
-% \begin{optlist}
-% \item[commentchar (character)]: character to define comments in the
-% verbatim code, so that lines starting with this character will not be
-% printed (\emph{Default: empty}).
-% \end{optlist}
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}[commentchar=!]
-% % A comment
-% Verbatim line.
-% ! A comment that you will not see
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% \ifChangeBar\begin{changebar}\fi
-% Take care to a special effect if the comment character is not the first
-% non blank one: it is because this character is in fact managed as the \TeX{}
-% comment one, that is to say that it gobble the newline character too. So, in
-% this case, the current line will be joined with the next one and, more, the
-% last one will be lost if it contain a comment, as \FVrbPackage{} print a
-% line only after finding it end character, which will never occured in this
-% case...
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}[commentchar=\%]
-% First line. % First line
-% Second.
-% Third line. % Third line lost...
-% \end{Verbatim}
-% \end{SideBySideExample}
-% \ifChangeBar\end{changebar}\fi
-%
-% \subsubsection{Initial characters to suppress}
-%
-% \begin{optlist}
-% \item[gobble (integer)]: number of characters to suppress at the beginning
-% of each line (up to a maximum of 9), mainly useful when environments are
-% indented
-% (\emph{Default: empty} \Dash no character suppressed).
-% \end{optlist}
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}
-% Verbatim line.
-% \end{Verbatim}
-%
-% \begin{Verbatim}[gobble=2]
-% Verbatim line.
-% \end{Verbatim}
-%
-% \begin{Verbatim}[gobble=8]
-% Verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% \subsubsection{Customization of formatting}
-%
-% \begin{optlist}
-% \item[formatcom (command)]: command to execute before printing verbatim
-% text
-% (\emph{Default: empty}).
-% \end{optlist}
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}[formatcom=\color{red}]
-% First verbatim line.
-% Second verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% \subsubsection{Changing individual line formatting}
-%
-% \ifChangeBar\begin{changebar}\fi
-% The macro \cs{FancyVerbFormatLine} defines the way each line is formatted.
-% Its default value is \verb+\def\FancyVerbFormatLine#1{#1}+, but we can
-% redefine it at our convenience (\texttt{FancyVerbLine} is the name of the
-% line counter):
-% \ifChangeBar\end{changebar}\fi
-%
-% {\fvset{fontsize=\small}
-% \begin{SideBySideExample}
-% Z\fvset{fontsize=\normalsize}
-% \renewcommand{\FancyVerbFormatLine}[1]{%
-% \makebox[0cm][l]{$\Rightarrow$}#1}
-% \begin{Verbatim}
-% First verbatim line.
-% Second verbatim line.
-% Third verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% \begin{SideBySideExample}
-% \renewcommand{\FancyVerbFormatLine}[1]{%
-% \ifodd\value{FancyVerbLine}%
-% \MakeUppercase{#1}\else#1\fi}
-% \begin{Verbatim}
-% First verbatim line.
-% Second verbatim line.
-% Third verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-% }
-%
-% \subsubsection{Fonts}
-%
-% \begin{optlist}
-% \item[fontfamily (family name)]: font family to use.
-% \texttt{tt}, \texttt{courier} and \texttt{helvetica} are pre-defined
-% (\emph{Default:~tt}).
-% \end{optlist}
-%
-% \ifPostScriptFonts ^^A We can guess that PostScript fonts are available
-% \begin{SideBySideExample}
-% \begin{Verbatim}[fontfamily=helvetica]
-% Verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-% \else
-% \begin{quote}
-% \textbf{\large Warning!} PostScript fonts seems not available on your
-% platform (we are looking for the file \texttt{times.sty}, so we will
-% not show the examplaes using such PostScript fonts.
-% \end{quote}
-% \fi
-%
-% \ifChangeBar\begin{changebar}\fi
-% \begin{optlist}
-% \item[fontsize (font size)]: size of the font to use
-% (\emph{Default: auto} \Dash the same as the current font). If you use the
-% `\textsf{relsize}' package too, you can require a change of the size
-% proportional to the current one (for instance:
-% \verb+fontsize=\relsize{-2}+).
-% \end{optlist}
-% \ifChangeBar\end{changebar}\fi
-%
-% \ifPostScriptFonts ^^A We can guess that PostScript fonts are available
-% \begin{SideBySideExample}
-% \begin{Verbatim}[fontsize=\small]
-% Verbatim line.
-% \end{Verbatim}
-%
-% \begin{Verbatim}[fontfamily=courier,
-% fontsize=\large]
-% Verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-% \else
-% \begin{SideBySideExample}
-% \begin{Verbatim}[fontsize=\small]
-% Verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-% \fi
-%
-% \begin{optlist}
-% \item[fontshape (font shape)]: font shape to use
-% (\emph{Default: auto} \Dash the same as the current font).
-% \end{optlist}
-%
-% \ifPostScriptFonts ^^A We can guess that PostScript fonts are available
-% \begin{SideBySideExample}
-% \begin{Verbatim}[fontfamily=courier,
-% fontshape=it]
-% Verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-% \else
-% \begin{SideBySideExample}
-% \begin{Verbatim}[fontshape=it]
-% Verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-% \fi
-%
-% \begin{optlist}
-% \item[fontseries (series name)]: \LaTeX{} font `series' to use
-% (\emph{Default: auto} \Dash the same as the current font).
-% \end{optlist}
-%
-% \ifPostScriptFonts ^^A We can guess that PostScript fonts are available
-% \begin{SideBySideExample}
-% \begin{Verbatim}[fontfamily=courier,
-% fontseries=b]
-% Verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-% \else
-% \begin{SideBySideExample}
-% \begin{Verbatim}[fontseries=b]
-% Verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-% \fi
-%
-% \subsubsection{Types and characteristics of frames}
-%
-% \ifChangeBar\begin{changebar}\fi
-% \begin{optlist}
-% \item[frame
-% (none$\mid$leftline$\mid$topline$\mid$bottomline$\mid$lines$\mid$single)]:
-% type of frame around the verbatim environment
-% (\emph{Default: none} \Dash no frame). With \textsf{leftline} and
-% \textsf{single} modes, a space of a length given by the \LaTeX{}
-% \cs{fboxsep} macro is added between the left vertical line and the text.
-% \end{optlist}
-% \ifChangeBar\end{changebar}\fi
-%
-% ^^A Problem at the top of a page...
-% \ifChangeBar\leavevmode\mbox{}\begin{changebar}\fi
-% \begin{SideBySideExample}
-% \begin{Verbatim}[frame=leftline]
-% Verbatim line.
-% \end{Verbatim}
-%
-% \begin{Verbatim}[frame=topline]
-% Verbatim line.
-% \end{Verbatim}
-%
-% \begin{Verbatim}[frame=bottomline]
-% Verbatim line.
-% \end{Verbatim}
-%
-% \begin{Verbatim}[frame=lines]
-% Verbatim line.
-% \end{Verbatim}
-%
-% \begin{Verbatim}[frame=single]
-% Verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-% \ifChangeBar\end{changebar}\fi
-%
-% \begin{optlist}
-% \item[framerule (dimension)]: width of the rule of the frame
-% (\emph{Default: 0.4pt if framing specified}).
-% \end{optlist}
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}[frame=single,
-% framerule=1mm]
-% Verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% \begin{optlist}
-% \item[framesep (dimension)]: width of the gap between the frame and
-% the text (\emph{Default: \cs{fboxsep}}).
-% \end{optlist}
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}[frame=single,
-% framesep=5mm]
-% Verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% \begin{optlist}
-% \item[rulecolor (color command)]: color of the frame rule, expressed
-% in the standard \LaTeX{} way
-% (\emph{Default: black}).
-% \end{optlist}
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}[frame=single,
-% rulecolor=\color{red}]
-% Verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% \begin{optlist}
-% \item[fillcolor (color command)]: color used to fill the space
-% between the frame and the text (its thickness is given by
-% \texttt{framesep})
-% (\emph{Default: none} \Dash no color).
-% \end{optlist}
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}[frame=single,
-% framerule=1mm,framesep=3mm,
-% rulecolor=\color{red},
-% fillcolor=\color{yellow}]
-% Verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% \ifChangeBar\leavevmode\mbox{}\begin{changebar}\fi
-% \subsubsection{Label for the environment}
-%
-% \begingroup
-% \newcommand{\Vitem}{\SaveVerb[aftersave={\item[\UseVerb{Vitem}]}]{Vitem}}
-% \DefineShortVerb{\|}
-% \begin{optlist}
-% \Vitem|label ({[string]string})|: label(s) to print on top, bottom or
-% both frame lines of the environment to describe it content
-% (\emph{Default: empty} \Dash no label).
-% If the label(s) contains special characters, as a comma or an equal sign,
-% it must be put inside a group. If only one string is given, it will be
-% used for both top and bottom lines (if the two are printed), but if an
-% optional first label is given too, this one will be used for the top line
-% and the second one for the bottom line. Note also that, if another value
-% than \textsf{topline}, \textsf{bottomline}, \textsf{lines} or
-% \textsf{single} is used for the \textsf{frame} parameter, the label(s)
-% will not be printed.
-% \end{optlist}
-% \endgroup
-% \ifChangeBar\end{changebar}\fi
-%
-% ^^A Problem at the top of a page...
-% \ifChangeBar\leavevmode\mbox{}\begin{changebar}\fi
-% \begin{SideBySideExample}
-% \fvset{gobble=2}
-% \begin{Verbatim}[frame=single,
-% label=My text]
-% First verbatim line.
-% Second verbatim line.
-% \end{Verbatim}
-%
-% \begin{Verbatim}[frame=topline,
-% framesep=4mm,
-% label=\fbox{\Large\emph{The code}}]
-% First verbatim line.
-% Second verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% \begin{optlist}
-% \item[labelposition (none$\mid$topline$\mid$bottomline$\mid$all)]:
-% position where to print the label if one is defined, which must be
-% coherent with the kind of frame chosen
-% (\emph{Default: none if the label is empty, topline if one label is
-% defined and all if two are defined}).
-% Of course, some incompatible options (like
-% \textsf{frame=topline,labelposition=bottomline}) will not print the
-% label.
-% \end{optlist}
-% \ifChangeBar\end{changebar}\fi
-%
-% ^^A Problem at the top of a page...
-% \ifChangeBar\leavevmode\mbox{}\begin{changebar}\fi
-% \begin{SideBySideExample}
-% \fvset{gobble=2}
-% \begin{Verbatim}[frame=single,
-% framesep=2mm,
-% label=Text,labelposition=all]
-% First verbatim line.
-% Second verbatim line.
-% \end{Verbatim}
-%
-% \begin{Verbatim}[frame=lines,
-% label=Text,labelposition=topline]
-% First verbatim line.
-% Second verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}[frame=bottomline,
-% framesep=3mm,
-% label=\textit{Code included},
-% labelposition=bottomline]
-% First verbatim line.
-% Second verbatim line.
-% \end{Verbatim}
-%
-% \begin{Verbatim}[frame=lines,
-% framesep=3mm,
-% label={[Beginning of code]End of code}]
-% First verbatim line.
-% Second verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-% \ifChangeBar\end{changebar}\fi
-%
-% \subsubsection{Line numbering}
-%
-% \begin{optlist}
-% \item[numbers (none$\mid$left$\mid$right)]: numbering of the verbatim lines
-% (\emph{Default: none} \Dash no numbering). If requested, this numbering is
-% done \emph{outside} the verbatim environment.
-% \end{optlist}
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}[gobble=2,numbers=left]
-% First verbatim line.
-% Second verbatim line.
-% \end{Verbatim}
-%
-% \begin{Verbatim}[gobble=2,
-% numbers=right,numbersep=0pt]
-% First verbatim line.
-% Second verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% \begin{optlist}
-% \item[numbersep (dimension)]: gap between numbers and verbatim lines
-% (\emph{Default: 12pt}).
-% \end{optlist}
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}[gobble=2,
-% numbers=left,numbersep=2pt]
-% First verbatim line.
-% Second verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% \begin{optlist}
-% \item[firstnumber (auto$\mid$last$\mid$integer)]: number of the first line
-% (\emph{Default: auto} \Dash numbering starts from 1). \textsf{last} means
-% that the numbering is continued from the previous verbatim environment. If
-% an integer is given, its value will be used to start the numbering.
-% \end{optlist}
-%
-% \begin{SideBySideExample}
-% \fvset{gobble=2,
-% numbers=left,numbersep=3pt}
-% \begin{Verbatim}
-% Verbatim line.
-% \end{Verbatim}
-%
-% \begin{Verbatim}[firstnumber=last]
-% Verbatim line.
-% \end{Verbatim}
-%
-% \begin{Verbatim}[firstnumber=100]
-% Verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% \begin{optlist}
-% \item[stepnumber (integer)]: interval at which line numbers are printed
-% (\emph{Default:~1} \Dash all lines are numbered).
-% \end{optlist}
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}[gobble=2,numbers=left,
-% numbersep=3pt,stepnumber=2]
-% First verbatim line.
-% Second verbatim line.
-% Third verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% The macro \cs{theFancyVerbLine} defines the typesetting style of the
-% numbering, and the counter used is \texttt{FancyVerbLine}:
-%
-% \begin{SideBySideExample}
-% \renewcommand{\theFancyVerbLine}{%
-% \textcolor{red}{\small
-% 8.\alph{FancyVerbLine}}}
-% \begin{Verbatim}[gobble=2,
-% numbers=left,numbersep=2pt]
-% First verbatim line.
-% Second verbatim line.
-% Third verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% \ifChangeBar\begin{changebar}\fi
-% \begin{optlist}
-% \item[numberblanklines (boolean)]: to number or not the empty lines
-% (really empty or containing blank characters only)
-% (\emph{Default: true} \Dash all lines are numbered).
-% \end{optlist}
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}[gobble=2,numbers=left,
-% numbersep=3pt,
-% numberblanklines=false]
-% First verbatim line.
-%
-%
-% Second verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-% \ifChangeBar\end{changebar}\fi
-%
-% \subsubsection{Selection of lines to print}
-%
-% \begin{optlist}
-% \item[firstline (integer)]: first line to print
-% (\emph{Default: empty} \Dash all lines from the first are printed).
-% \end{optlist}
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}[gobble=2,firstline=2,
-% numbers=left,numbersep=2pt]
-% First verbatim line.
-% Second verbatim line.
-% Third verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% \begin{optlist}
-% \item[lastline (integer)]: last line to print
-% (\emph{Default: empty} \Dash all lines until the last one are printed).
-% \end{optlist}
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}[gobble=2,lastline=1,
-% numbers=left,numbersep=2pt]
-% First verbatim line.
-% Second verbatim line.
-% Third verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% % Instead of specifying a firstline at which to start printing a range
-% of lines, you can define a start string; the start of the range is
-% the first line that exactly equals the string. (The comparison is made
-% before any characters are gobbled off the front of the line.) Similarly for a stop
-% string. You can mix line-numbers and strings, e.g.\ start at
-% firstline, and end at a stop string. Specifying the strings is a
-% bit klunky. Initially you must define the strings with
-% \cs{newcommand*} as in:
-% \begin{SideBySideExample}
-% \newcommand*\FancyVerbStartString{FROM}
-% \newcommand*\FancyVerbStopString{TO}
-% \begin{Verbatim}[gobble=2]
-% First verbatim line.
-% FROM
-% Second verbatim line.
-% TO
-% Third verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% \noindent To redefine the strings, you must use \cs{renewcommand*}.
-
-% \subsubsection{Spaces and tab characters}
-%
-% \begin{optlist}
-% \item[showspaces (boolean)]: print a special character representing each
-% space
-% (\emph{Default: false} \Dash spaces not shown).
-% \end{optlist}
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}[showspaces=true]
-% Verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% In practice, all verbatim environments have a~\texttt{*} variant, which
-% sets \texttt{showspaces=true}:
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim*}
-% Verbatim line.
-% \end{Verbatim*}
-% \end{SideBySideExample}
-%
-% There are also some parameters to determine the way tab characters are
-% interpreted (using tabs is in fact a rather old-fashioned style of coding):
-%
-% \begin{optlist}
-% \item[showtabs (boolean)]: explicitly show tab characters
-% (\emph{Default: false} \Dash tab characters not shown).
-% \end{optlist}
-%
-% \begin{optlist}
-% \item[obeytabs (boolean)]: position characters according to the tabs
-% (\emph{Default: false} \Dash tab characters are added to the current
-% position).
-% \end{optlist}
-%
-% \begin{optlist}
-% \item[tabsize (integer)]: number of spaces given by a tab character
-% (\emph{Default:~8}).
-% \end{optlist}
-%
-% \subsubsection{Space between lines}
-%
-% \begin{optlist}
-% \item[baselinestretch (auto$\mid$dimension)]: value to give to the usual
-% `baselinestretch' \LaTeX{} parameter
-% (\emph{Default: auto} \Dash its current value just before the verbatim
-% command).
-% \end{optlist}
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}[baselinestretch=2]
-% First verbatim line.
-% Second verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% \subsubsection{Escape characters for inserting commands}
-%
-% \begin{optlist}
-% \item[commandchars (three characters)]: characters which define the
-% character which starts a macro and marks the beginning and end of a group;
-% thus lets us introduce \emph{escape} sequences in verbatim code. Of
-% course, it is better to choose special characters which are not used in
-% the verbatim text! (\emph{Default: empty}).
-% \label{sec:commandchars}
-% \end{optlist}
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}[commandchars=\\\{\}]
-% \textit{% This is a comment}
-% First verbatim line.
-% \fbox{Second} verbatim line.
-% \textcolor{red}{Third} verbatim line.
-% \end{Verbatim}
-%
-% \begin{Verbatim}[commandchars=+\[\]]
-% +textit[\textbf{Verbatim} line].
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% \ifChangeBar\begin{changebar}\fi
-% Using this way, it is also possible to put labels to be able, later, to
-% make reference to some lines of the verbatim environments:
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}[commandchars=\\\{\},
-% numbers=left,numbersep=2pt]
-% First verbatim line.
-% Second line.\label{vrb:Important}
-% Third verbatim line.
-% \end{Verbatim}
-%
-% As I previously shown
-% line~\ref{vrb:Important}, it is...
-% \end{SideBySideExample}
-% \ifChangeBar\end{changebar}\fi
-%
-% \subsubsection{Margins}
-%
-% \begin{optlist}
-% \item[xleftmargin (dimension)]: indentation to add at the start of each
-% line
-% (\emph{Default:~0pt} \Dash no left margin).
-% \end{optlist}
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}[frame=single,
-% xleftmargin=5mm]
-% Verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% \begin{optlist}
-% \item[xrightmargin (dimension)]: right margin to add after each line
-% (\emph{Default:~0pt} \Dash no right margin).
-% \end{optlist}
-%
-% \begin{SideBySideExample}
-% \begin{Verbatim}[frame=single,
-% xrightmargin=1cm]
-% Verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-%
-% \begin{optlist}
-% \item[resetmargins (boolean)]: reset the left margin, which is useful if
-% we are inside other indented environments (\emph{Default: false} \Dash no
-% reset of the margin).
-% \end{optlist}
-%
-% {%
-% \DefineVerbatimEnvironment{Verbatim}{Verbatim}{gobble=0,numbers=none}
-% \begin{SideBySideExample}
-% \begin{itemize}
-% \item First item
-% \begin{Verbatim}[frame=single]
-% Verbatim line.
-% \end{Verbatim}
-% \item Second item
-% \begin{Verbatim}[frame=single,
-% resetmargins=true]
-% Verbatim line.
-% \end{Verbatim}
-% \end{itemize}
-% \end{SideBySideExample}
-% }
-%
-% \subsubsection{Overfull box messages}
-%
-% \begin{optlist}
-% \item[hfuzz (dimension)]: value to give to the \TeX{} \cs{hfuzz} dimension
-% for text to format. This can be used to avoid seeing some unimportant
-% \emph{Overfull box} messages (\emph{Default:~2pt}).
-% \end{optlist}
-%
-% \subsubsection{Page breaks}
-%
-% \begin{optlist}
-% \item[samepage (boolean)]: in very special circumstances, we may want to
-% make sure that a verbatim environment is not broken, even if it does not
-% fit on the current page. To avoid a page break, we can set the
-% \texttt{samepage} parameter to \emph{true} (\emph{Default: false}).
-% \end{optlist}
-%
-% \subsubsection{Catcode characters}
-%
-% \begin{optlist}
-% \item[codes (macro)]: to specify \emph{catcode} changes (\emph{Default:
-% empty}).
-% \end{optlist}
-%
-% For instance, this allows us to include formatted mathematics in verbatim
-% text:
-%
-% {\fvset{fontsize=\small}
-% \begin{SideBySideExample}
-% Z\fvset{fontsize=\normalsize}
-% \begin{Verbatim}[commandchars=\\\{\},
-% codes={\catcode`$=3\catcode`^=7}]
-% x=1/sqrt(z**2) ! $\frac{1}{\sqrt{z^2}}$
-% \end{Verbatim}
-% \end{SideBySideExample}
-% }
-%
-% \subsubsection{Active characters}
-%
-% \begin{optlist}
-% \item[defineactive (macro)]: to define the effect of \emph{active}
-% characters
-% (\emph{Default: empty}).
-% \end{optlist}
-%
-% This allows us to do some devious tricks: see the example in Section
-% \ref{sec:VerbatimInclude} on page~\pageref{sec:VerbatimInclude}.
-%
-% \subsection{Different kinds of verbatim environments}
-%
-% \subsubsection{Verbatim environment}
-%
-% This is the `normal' verbatim environment which we have been using up to
-% now.
-%
-% \subsubsection{BVerbatim environment}
-%
-% This environment puts the verbatim material in a \TeX{} box. Some
-% parameters do not work inside this environment (notably the framing ones),
-% but two new ones are available:
-%
-% \begin{optlist}
-% \item[boxwidth (auto$\mid$dimension)]: size of the box used
-% (\emph{Default: auto} \Dash the width of the longest line is used).
-% \end{optlist}
-%
-% \begin{optlist}
-% \item[baseline (b$\mid$c$\mid$t)]: position of the baseline (on the
-% \texttt{baseline}, the \texttt{center} or the \texttt{top} of the box)
-% (\emph{Default: b}).
-% \end{optlist}
-%
-% \begin{SideBySideExample}
-% \fvset{gobble=2}
-% \begin{BVerbatim}
-% First
-% Second
-% \end{BVerbatim}
-% \begin{BVerbatim}[baseline=c]
-% First
-% Second
-% \end{BVerbatim}
-% \end{SideBySideExample}
-%
-% \begin{SideBySideExample}
-% \begin{BVerbatim}[boxwidth=2cm]
-% First
-% Second
-% \end{BVerbatim}
-% \begin{BVerbatim}[boxwidth=2cm,
-% baseline=t]
-% First
-% Second
-% \end{BVerbatim}
-% \end{SideBySideExample}
-%
-% \subsubsection{LVerbatim environment}
-%
-% This environment puts verbatim material into \LaTeX{} `LR' mode (the
-% so-called \emph{left-to-right} mode, which in fact is the same thing that
-% \TeX{} itself calls \emph{restricted horizontal mode}).
-%
-% \subsubsection{Personalized environments}
-%
-% \ifChangeBar\begin{changebar}\fi
-% \VerbatimFootnotes%
-% It is easy to define personal customized environments. You can redefine
-% the existing ones using the \cs{RecustomVerbatimEnvironment} macro or create
-% your own ones, using the \cs{DefineVerbatimEnvironment} macro\footnote{%
-% \ifChangeBar\begin{changebar}\fi
-% For verbatim commands, the \cs{CustomVerbatimCommand} and
-% \cs{RecustomVerbatimCommand} macros also exist; for instance:
-%
-% \noindent%
-% \verb+\RecustomVerbatimCommand{\VerbatimInput}{VerbatimInput}{frame=lines}+
-% \ifChangeBar\end{changebar}\fi}.
-% In each case, you specify the name of the new environment, the type of
-% environment on which it is based, and a set of initial option values. The
-% options can be overridden with an optional argument in the normal way:
-%
-% \begin{SideBySideExample}
-% \RecustomVerbatimEnvironment
-% {Verbatim}{Verbatim}
-% {gobble=2,frame=single}
-% \begin{Verbatim}
-% First verbatim line.
-% Second verbatim line.
-% \end{Verbatim}
-% \end{SideBySideExample}
-% \ifChangeBar\end{changebar}\fi
-%
-% \begin{SideBySideExample}
-% \DefineVerbatimEnvironment%
-% {MyVerbatim}{Verbatim}
-% {gobble=2,numbers=left,numbersep=2mm,
-% frame=lines,framerule=0.8mm}
-% \begin{MyVerbatim}
-% First verbatim line.
-% Second verbatim line.
-% \end{MyVerbatim}
-%
-% \begin{MyVerbatim}[numbers=none,
-% framerule=1pt]
-% First verbatim line.
-% Second verbatim line.
-% \end{MyVerbatim}
-% \end{SideBySideExample}
-%
-% \section{Saving and restoring verbatim text and environments}
-%
-% The \cs{SaveVerb} and \cs{UseVerb} macros allow us to save and restore
-% verbatim material.
-%
-% \begin{SideBySideExample}
-% \DefineShortVerb{\|}
-% \SaveVerb{Verb}|_verbatim_|
-% I have saved \UseVerb{Verb} and reuse
-% it later as many times as I want
-% \UseVerb{Verb}.
-% \end{SideBySideExample}
-%
-% This also provides a solution to putting verbatim text inside \LaTeX{}
-% commands which do not normally permit it:
-%
-% {\fvset{frame=single,xrightmargin=0cm}
-% \begin{Example}
-% \DefineShortVerb{\|}
-% \SaveVerb{Verb}|_OK^|
-% \marginpar{\UseVerb{Verb}}
-% \end{Example}
-% }
-%
-% There is a useful ability to use verbatim text as the item text in a
-% description list (something not normally permitted in \LaTeX), using the
-% \texttt{aftersave} parameter:
-%
-% \begin{optlist}
-% \item[aftersave (macro)]: macro to dynamically save some verbatim material
-% (\emph{Default: empty}).
-% \end{optlist}
-%
-% \begin{SideBySideExample}
-% \newcommand{\Vitem}{%
-% \SaveVerb[aftersave={%
-% \item[\UseVerb{Vitem}]}]{Vitem}}
-% \DefineShortVerb{\|}
-% \begin{description}
-% \Vitem|\MyCommand|: my command
-% \end{description}
-% \end{SideBySideExample}
-%
-% In the same way, we can use and restore (in normal, boxed and LR mode,
-% using \cs{UseVerbatim}, \cs{BUseVerbatim} and \cs{LUseVerbatim} respectively)
-% entire verbatim environments:
-%
-% \begin{SideBySideExample}
-% Z\fvset{gobble=0,numbers=none}
-% \begin{SaveVerbatim}{VerbEnv}
-% Verbatim line.
-% \end{SaveVerbatim}
-% \UseVerbatim{VerbEnv}
-% and \UseVerbatim{VerbEnv}
-% \end{SideBySideExample}
-%
-% \begin{SideBySideExample}
-% Z\fvset{gobble=0,numbers=none}
-% \begin{SaveVerbatim}[gobble=5]{VerbEnv}
-% First
-% Second
-% \end{SaveVerbatim}
-%
-% \fbox{\BUseVerbatim{VerbEnv}}
-% and \BUseVerbatim{VerbEnv}.
-%
-% \LUseVerbatim{VerbEnv} and
-% \LUseVerbatim{VerbEnv}
-% \end{SideBySideExample}
-%
-% \section{Writing and reading verbatim files}
-% \label{sec:VerbatimInclude}
-%
-% The command \cs{VerbatimInput} (the variants \cs{BVerbatimInput} and
-% \cs{LVerbatimInput} also exist) allows inclusion of the contents of a file
-% with verbatim formatting. Of course, the various parameters which we have
-% described for customizing can still be used:
-%
-% ^^A The file we will use for \VerbatimInput
-%
-% \typeout{*************************************}
-% \typeout{* Created files: hello.f90, file.txt}
-% \typeout{* See fancyhdr.dvi for an explanation}
-% \typeout{*************************************}
-%
-% \begin{VerbatimOut}{hello.f90}
-% ! A "hello" program
-%
-% program hello
-% print *,"Hello world"
-% end program hello
-% \end{VerbatimOut}
-%
-% \begin{SideBySideExample}
-% Z\RecustomVerbatimCommand{\VerbatimInput}{VerbatimInput}{gobble=4}
-% \fvset{fontsize=\small}
-% \VerbatimInput{hello.f90}
-%
-% \fvset{frame=single,numbers=left,
-% numbersep=3pt}
-% \VerbatimInput{hello.f90}
-%
-% \VerbatimInput[firstline=3,
-% rulecolor=\color{green}]
-% {hello.f90}
-%
-% \VerbatimInput[frame=lines,
-% fontshape=sl,fontsize=\footnotesize]
-% {hello.f90}
-% \end{SideBySideExample}
-%
-% We can make use of the `defineactive' parameter to set the comment lines
-% in the program text in a different style:
-%
-% \begin{SideBySideExample}
-% Z\RecustomVerbatimCommand{\VerbatimInput}{VerbatimInput}{gobble=4}
-% \def\ExclamationPoint{\char33}
-% \catcode`!=\active
-% \VerbatimInput%
-% [defineactive=%
-% \def!{\color{cyan}\itshape
-% \ExclamationPoint}]
-% {hello.f90}
-% \end{SideBySideExample}
-%
-% It is important to note that if the contents of the file does not fit on
-% the page, it will be automatically broken across pages as needed (unless the
-% \texttt{samepage} parameter has been set to \texttt{true}).
-%
-% There is also a \verb+VerbatimOut+ environment to write verbatim text to an
-% output file, in the same way:
-%
-% \begin{SideBySideExample}
-% \begin{VerbatimOut}{file.txt}
-% I write that.
-% And that too.
-% \end{VerbatimOut}
-%
-% \VerbatimInput[frame=single,
-% numbers=left,numbersep=6pt]{file.txt}
-% \end{SideBySideExample}
-%
-% \ifChangeBar\begin{changebar}\fi
-% \section{Automatic pretty printing}
-%
-% Obviously, automatic \emph{pretty printing} is outside the scope of this
-% package. Nevertheless, this is specially interesting for verbatim
-% inclusion of programming code files or fragments. In the \LaTeX{} world
-% (not speaking of the \emph{literate programming} way), there are software
-% for some special languages, as the `\textsf{C++2LaTeX}' package from Norbert
-% \textsc{Kiesel}, but mainly two generic ones, which use completely different
-% modes (an external preprocessor written in C and a \TeX{} based solution):
-% the `\textsf{LGrind}'~\cite{LGrind} system, currently maintened by Michael
-% \textsc{Piefel}, and the `\textsf{listings}'~\cite{Listings} package from
-% Carsten \textsc{Heinz}.
-%
-% Future versions of \FVrbPackage{} and `\textsf{listings}' packages are
-% planned to cooperate, which will offer great advantages to both users of the
-% two actual packages, and will allow \FVrbPackage{} users to have automatic
-% pretty printing of programming codes.
-%
-% \section{Known problems}
-%
-% \begin{itemize}
-% \item Vladimir \textsc{Volovich} \verb+<vvv@vvv.vsu.ru>+ reported that the
-% special character \verb+\th+, available with T1 encoding, can't be
-% included as verbatim with \FVrbPackage. It can be true for other special
-% characters too.
-% \end{itemize}
-%
-% \section{Thanks}
-%
-% For interesting comments and suggestions, we would like to thank specially
-% (alphabetic order): Philippe \textsc{Esperet}
-% \url{esperet@marie.polytechnique.fr}, Michael \textsc{Friendly}
-% \url{friendly@hotspur.psych.yorku.ca}, Rolf \textsc{Niepraschk}
-% \url{niepraschk@gmx.de} and for bug reports Mario \textsc{Hassler}
-% \relax\unskip\break
-% \url{HASSLER@ippnv2.ipp.kfa-juelich.de}, Mikhail \textsc{Kolodin}
-% \relax\unskip\break
-% \url{myke@morrigan.spb.su}, Andreas Matthias, Ulrich M. Schwarz, and Vladimir \textsc{Volovich}
-% \verb+<vvv@vvv.vsu.ru>+.
-% \ifChangeBar\end{changebar}\fi
-%
-% \section{Conclusion}
-%
-% \ifChangeBar\begin{changebar}\fi
-% There are a few other possibilities that we have not described here.
-% Note specially that it is possible to define a customization file
-% (\texttt{fancyvrb.cfg}) loaded at the end of the package, to store
-% definitions of your customized commands and environments and to redefine
-% the attributes of existing ones.
-% \ifChangeBar\end{changebar}\fi
-%
-% \begin{thebibliography}{1}
-% \bibitem{FancyBox} Timothy \textsc{van Zandt},
-% \textit{Documentation for `fancybox': Box tips and tricks for \LaTeX}.
-% Available from \texttt{CTAN:}
-% \texttt{macros/latex/contrib/supported/fancybox}, 1993.
-%
-% \bibitem{FancyVrb} Timothy \textsc{van Zandt},
-% \textit{`fancyvrb': Fancy Verbatims in \LaTeX}.
-% Available from \texttt{CTAN:}
-% \texttt{macros/latex/contrib/supported/fancyvrb}, 1998.
-%
-% \bibitem{LGrind} Various authors (current maintainer: Michael
-% \textsc{Piefel}),
-% \textit{The `LGrind' package}.
-% Available from \texttt{CTAN:} \texttt{support/lgrind}, 1998.
-%
-% \bibitem{Listings} Carsten \textsc{Heinz},
-% \textit{The `Listings' package}.
-% Available from \texttt{CTAN:}
-% \texttt{macros/latex/contrib/supported/listings}, 1996-1997.
-%\end{thebibliography}
-%
-%
-% ^^A .................... End of the documentation part ....................
-%
-% \section{Driver file}
-%
-% The next bit of code contains the documentation driver file for \TeX{},
-% i.e., the file that will produce the documentation you are currently
-% reading. It will be extracted from this file by the \texttt{docstrip}
-% program.
-%
-% \begin{macrocode}
-%<*driver>
-\documentclass{ltxdoc}
-\GetFileInfo{fancyvrb.dtx}
-\usepackage{color}
-\usepackage{fancyvrb,shortvrb}
-\usepackage[T1]{fontenc}
-\usepackage[latin1]{inputenc}
-\usepackage[charter]{mathdesign}
-\usepackage{url}
-\newif\ifChangeBar
-\IfFileExists{changebar.sty}%
- {\ChangeBartrue\usepackage[dvips,rightbars]{changebar}}{}
-\EnableCrossrefs
-\CodelineIndex
-\RecordChanges
-\OnlyDescription % Comment it for implementation details
-%\Oldmakeindex % Uncomment if your MakeIndex is pre-0.9
-\hbadness=7000 % Over and under full box warnings
-\hfuzz=3pt
-\begin{document}
- \DocInput{fancyvrb.dtx}
-\end{document}
-%</driver>
-% \end{macrocode}
-%
-% \section{\FVrbPackage{} code}
-%
-%<*fancyvrb>
-%
-% \iffalse meta-comment, etc.
-%% COPYRIGHT 1992-1999, by Timothy Van Zandt <tvz@zandtwerk.kellogg.nwu.edu>
-%%
-%% 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.0 or, at your option, any later version.
-%%
-%% DESCRIPTION:
-%% fancyvrb.sty is a LaTeX style option, containing flexible
-%% verbatim environments and commands and extensive documentation.
-%%
-%% This is a companion to the `fancybox' package.
-%%
-% \fi
-%
-% \begin{quote}
-% \emph{\textbf{\large Disclaimer (D.G./S.R.)}: This is the original
-% comments of the code by Timothy \textsc{van Zandt}. We have not change
-% them.}
-% \end{quote}
-%
-% \subsection{Preambule}
-%
-% What we need.
-% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-% \end{macrocode}
-%
-% Who we are.
-% \begin{macrocode}
-\def\fileversion{2.7a, with DG/SPQR fixes, and firstline=lastline fix}
-\def\filedate{2008/02/07}
-\ProvidesPackage{fancyvrb}[\filedate]
-\message{Style option: `fancyvrb' v\fileversion \space <\filedate> (tvz)}
-\csname fancyvrb@loaded\endcsname
-\let\fancyvrb@loaded\endinput
-% \end{macrocode}
-%
-% \subsection{Errors}
-%
-% \begin{macrocode}
-\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.}
-% \end{macrocode}
-%
-% \subsection{Verbatim footnotes}
-%
-% Color has to be protected.
-%
-% \noindent Won't work for some definitions of \cs{@makefntext}.
-% If it weren't for \cs{@makefntext}, I would do this properly by defining a
-% footnote environment.
-%
-% \begin{macro}{\VerbatimFootnotes}
-% \begin{macrocode}
-%% DG/SR modification begin - Jan. 21, 1998
-%% Suggested by Bernard Gaulle to solve a compatibility problem with `french'
-%% (it introduce the restriction to put \VerbatimFootnotes AFTER the preambule)
-%%\def\VerbatimFootnotes{\let\@footnotetext\V@footnotetext}
-\let\V@footnote\footnote
-\def\VerbatimFootnotes{%
-\let\@footnotetext\V@footnotetext%
-\let\footnote\V@footnote}
-%% DG/SR modification end
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\V@footnotetext}
-% \begin{macrocode}
-\long\def\V@footnotetext{%
- \afterassignment\V@@footnotetext
- \let\@tempa}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\V@@footnotetext}
-% \begin{macrocode}
-\def\V@@footnotetext{%
- \insert\footins\bgroup
- \csname reset@font\endcsname
- \footnotesize
- \interlinepenalty\interfootnotelinepenalty
- \splittopskip\footnotesep
- \splitmaxdepth\dp\strutbox
- \floatingpenalty \@MM
- \hsize\columnwidth
- \@parboxrestore
- \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}%
- \@makefntext{}%
- \rule{\z@}{\footnotesep}%
- \bgroup
- \aftergroup\V@@@footnotetext
- \ignorespaces}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\V@@@footnotetext}
-% \begin{macrocode}
-\def\V@@@footnotetext{\strut\egroup}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{key=value}
-%
-% \begin{macrocode}
-\RequirePackage{keyval}
-% \end{macrocode}
-%
-% Extensions to keyval.sty:
-%
-% \verb+\define@booleankey{<family>}{<key>}{<iftrue>}{<iffalse>}+
-%
-% Defines a \verb+<key>+ for \verb+<family>+ that executes:
-%
-% \verb+<iftrue>+ clause when value begins with `t' or `T', or is omitted.
-%
-% \verb+<iffalse>+ clause otherwise.
-%
-% \begin{macro}{\define@booleankey}
-% \begin{macrocode}
-\def\define@booleankey#1#2#3#4{%
- \@namedef{KV@#1@#2@default}{#3}%
- \@namedef{KV@#1@#2@false}{#4}%
- \@namedef{KV@#1@#2}##1{\KV@booleankey{##1}{#1}{#2}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\KV@booleankey}
-% \begin{macrocode}
-\def\KV@booleankey#1#2#3{%
- \edef\@tempa{#1}\expandafter\KV@@booleankey\@tempa\relax\@nil{#2}{#3}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\KV@@booleankey}
-% \begin{macrocode}
-\def\KV@@booleankey#1#2\@nil#3#4{%
- \@nameuse{KV@#3@#4@\if t#1default\else\if T#1default\else false\fi\fi}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@None}
-% \begin{macrocode}
-\def\FV@None{none}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@Auto}
-% \begin{macrocode}
-\def\FV@Auto{auto}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\fvset}
-% \begin{macrocode}
-\def\fvset#1{\setkeys{FV}{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \cs{FV@Command} is for verbatim commands. Example:
-%
-% \verb+\def\VerbatimInput{\FV@Command{}{VerbatimInput}}+
-%
-% \verb+\FV@Command{<key=value>}{<name>}+:
-%
-% \begin{enumerate}
-% \item Defines \cs{FV@KeyValues} to be \verb+<key=value>+.
-% \item Looks for $*$, and adds `showspaces' to \cs{FV@KeyValues} if found.
-% \item Looks for \verb+[<key=value>]+ argument, and adds it to
-% \cs{FV@KeyValues} if found.
-% \item Executes \verb+\FVC@<name>+.
-% \end{enumerate}
-%
-% \begin{macro}{\FV@Command}
-% \begin{macrocode}
-\def\FV@Command#1#2{%
- \@ifstar
- {\def\FV@KeyValues{#1,showspaces}\FV@@Command{#2}}%
- {\def\FV@KeyValues{#1}\FV@@Command{#2}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@@Command}
-% \begin{macrocode}
-\def\FV@@Command#1{%
- \@ifnextchar[%
- {\FV@GetKeyValues{\@nameuse{FVC@#1}}}%
- {\@nameuse{FVC@#1}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@GetKeyValues}
-% \begin{macrocode}
-\def\FV@GetKeyValues#1[#2]{%
- \expandafter\def\expandafter\FV@KeyValues\expandafter{\FV@KeyValues,#2}#1}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@CustomVerbatimCommand}
-% \begin{macrocode}
-\def\@CustomVerbatimCommand#1#2#3#4{%
- \begingroup\fvset{#4}\endgroup % If there are errors, it easier to locate.
-%% DG/SR modification begin - Jan. 13, 1998
-%% \def\@tempa##1##2\@nil{\def\@tempa{##2}}%
-%% \expandafter\@tempa\string#3\@empty\@nil
-%% \@ifundefined{FVC@\@tempa}%
- \@ifundefined{FVC@#3}%
-%% DG/SR modification end
- {\FV@Error{Command `\string#3' is not a FancyVerb command.}\@eha}%
- {#1{#2}{\FV@Command{#4}{#3}}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\CustomVerbatimCommand}
-% \begin{macrocode}
-\def\CustomVerbatimCommand{\@CustomVerbatimCommand\newcommand}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\RecustomVerbatimCommand}
-% \begin{macrocode}
-\def\RecustomVerbatimCommand{\@CustomVerbatimCommand\renewcommand}
-% \end{macrocode}
-% \end{macro}
-%
-% \cs{FV@Environment} is for verbatim environments. Example:
-%
-% \verb+\def\Verbatim{\FV@Environment{}{Verbatim}}+
-%
-% \verb+\@namedef{Verbatim*}{\FV@Environment{showspaces}{Verbatim}}+
-%
-% \verb+\FV@Environment{<key=value>}{<name>}+:
-%
-% \begin{enumerate}
-% \item Defines \cs{FV@KeyValues} to be \verb+<key=value>+.
-% \item Sets \verb+\catcode`\^^M=13+, checks for `[', and resets
-% \verb+\catcode``^^M=5+.
-% \item Reads \verb+[<key=value>]+ and adds it to \cs{FV@KeyValues} if `['
-% was found.
-% \item Executes \verb+\FVB@<name>+.
-% \end{enumerate}
-%
-% \cs{FV@Environment} is like \cs{FV@Command}, except:
-%
-% \begin{itemize}
-% \item It omits step 2 (looking for $*$), and
-% \item It sets \verb+\catcode`\^^M=13+ when checking for the `[' of the
-% optional argument, so that it does not skip over \verb+^^M+ if there
-% is no `['.
-% \end{itemize}
-%
-% \begin{macro}{\FV@Environment}
-% \begin{macrocode}
-\def\FV@Environment#1#2{%
- \def\FV@KeyValues{#1}%
- \catcode`\^^M=\active
- \@ifnextchar[%
- {\catcode`\^^M=5 \FV@GetKeyValues{\@nameuse{FVB@#2}}}%
- {\catcode`\^^M=5 \@nameuse{FVB@#2}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\CustomVerbatimEnvironment}
-% \begin{macrocode}
-\def\CustomVerbatimEnvironment{\@CustomVerbatimEnvironment\newenvironment}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\RecustomVerbatimEnvironment}
-% \begin{macrocode}
-\def\RecustomVerbatimEnvironment{\@CustomVerbatimEnvironment\renewenvironment}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@CustomVerbatimEnvironment}
-% \begin{macrocode}
-\def\@CustomVerbatimEnvironment#1#2#3#4{%
- \begingroup\fvset{#4}\endgroup % If there are errors, it easier to locate.
- \@ifundefined{FVB@#3}%
- {\FV@Error{`#3' is not a FancyVerb environment.}\@eha}%
- {#1{#2}{\FV@Environment{#4}{#3}}{\@nameuse{FVE@#3}}%
- #1{#2*}{\FV@Environment{#4,showspaces}{#3}}{\@nameuse{FVE@#3}}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DefineVerbatimEnvironment}
-% \begin{macrocode}
-\def\DefineVerbatimEnvironment#1#2#3{%
- \@namedef{#1}{\FV@Environment{#3}{#2}}%
- \@namedef{end#1}{\@nameuse{FVE@#2}}%
- \@namedef{#1*}{\FV@Environment{#3,showspaces}{#2}}%
- \@namedef{end#1*}{\@nameuse{FVE@#2}}}
-% \end{macrocode}
-% \end{macro}
-%
-% Then commands or environments set key values with \cs{FV@UseKeyValues},
-% within a group.
-%
-% \begin{macro}{\FV@UseKeyValues}
-% \begin{macrocode}
-\def\FV@UseKeyValues{%
- \ifx\FV@KeyValues\@empty\else
- \def\KV@prefix{KV@FV@}%
- \expandafter\KV@do\FV@KeyValues,\relax,%
- \def\FV@KeyValues{}%
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Scanning}
-%
-% Scanning macros:
-%
-% \begin{itemize}
-% \item read a line at a time from an environment or a file,
-% \item save the line in \cs{FV@Line}, and
-% \item execute \cs{FV@PreProcessLine}.
-% \end{itemize}
-%
-% \noindent\cs{FV@PreProcessLine}:
-%
-% \begin{itemize}
-% \item Determines whether line is in a user-specified ranges, and if so,
-% \item Strips the line of a user-specified no. of tokens, and
-% \item Executes \verb+\FV@ProcessLine{<line>}+.
-% \end{itemize}
-%
-% Two things are common to scanning an environment or reading a file:
-%
-% \begin{itemize}
-% \item \cs{FV@CatCodes} $\Longrightarrow$ Change \verb+\catcode+'s.
-% \item \cs{FV@PreProcessLine} $\Longrightarrow$ See above.
-% \end{itemize}
-%
-% \subsection{Codes}
-%
-% \begin{macro}{\FV@CatCodes}
-% \begin{macrocode}
-\def\FV@CatCodes{%
- \let\do\@makeother\dospecials % The usual stuff.
- \FV@ActiveWhiteSpace % See below.
- \FV@FontScanPrep % See below.
- \FV@CatCodesHook % A style hook.
- \FancyVerbCodes} % A user-defined hook.
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@ActiveWhiteSpace}
-% \begin{macrocode}
-\def\FV@ActiveWhiteSpace{%
- \catcode`\^^M=\active % End of line
- \catcode`\ =\active % Space
- \catcode`\^^I=\active} % Tab
-% \end{macrocode}
-% \end{macro}
-%
-% CM Ligatures:
-%
-% \begin{tabbing}
-% Left-quote: \= \verb+--+ \= \verb+---+ \= fl \= ffi \= ffl \kill
-% Left-quote: \> `` \> !` \> ?` \\
-% Letter f: \> ff \> fi \> fl \> ffi \> ffl \\
-% Hyphen: \> \verb+--+ \> \verb+---+
-% \end{tabbing}
-%
-% \begin{macro}{\FV@CatCodesHook}
-% \begin{macrocode}
-\def\FV@CatCodesHook{}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@AddToHook}
-% \begin{macrocode}
-\def\FV@AddToHook#1#2{%
- \expandafter\def\expandafter#1\expandafter{#1#2\relax}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FancyVerbCodes}
-% \begin{macrocode}
-\define@key{FV}{codes}[]{\def\FancyVerbCodes{#1\relax}}
-\define@key{FV}{codes*}{%
- \expandafter\def\expandafter\FancyVerbCodes\expandafter{%
- \FancyVerbCodes#1\relax}}
-\fvset{codes}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\define@key{FV}{commandchars}[\\\{\}]%
- {\def\@tempa{#1}%
- \ifx\@tempa\FV@None
- \let\FV@CommandChars\relax
- \else
- \FV@DefineCommandChars#1\relax\relax\relax
- \fi}
-% \end{macrocode}
-%
-% \begin{macro}{\FV@DefineCommandChars}
-% \begin{macrocode}
-\def\FV@DefineCommandChars#1#2#3{%
- \def\FV@CommandChars{%
- \catcode`#1=0\relax\catcode`#2=1\relax\catcode`#3=2\relax}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\FV@AddToHook\FV@CatCodesHook\FV@CommandChars
-% \end{macrocode}
-%
-% \begin{macro}{\FV@CommentChar}
-% \begin{macrocode}
-\define@key{FV}{commentchar}[\%]{%
- \def\@tempa{#1}%
- \ifx\@tempa\FV@None
- \let\FV@CommentChar\relax
- \else
- \def\FV@CommentChar{\catcode`#1=14}%
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\FV@AddToHook\FV@CatCodesHook\FV@CommentChar
-% \end{macrocode}
-%
-% \begin{macrocode}
-\fvset{commandchars=none,commentchar=none}
-% \end{macrocode}
-%
-% \subsection{Preprocess line}
-%
-% These is tedious and takes up macro space, but it doesn't slow things
-% down much when the parameters are not used.
-%
-% \noindent\texttt{start}, \texttt{stop} and \texttt{gobble} parameters:
-%
-% \noindent if value is a number, then after the assignment the next token is
-% \cs{relax}.
-%
-% "Preprocessing the line" involves:
-% \begin{itemize}
-% \item Checking whether this line falls in the range specified by start or stop strings.
-% or \texttt{firstline} or \texttt{lastline} line-numbers, or a mixture.
-% \item Gobble'ing initial characters.
-% \end{itemize}
-% \begin{macrocode}
-\define@key{FV}{firstline}{%
- \afterassignment\FV@ParseStart\@tempcnta=0#1\relax\@nil{#1}}
-% \end{macrocode}
-%
-% \begin{macro}{\FV@ParseStart}
-% \begin{macrocode}
-\def\FV@ParseStart#1\relax\@nil#2{%
- \ifx\@nil#1\@nil
- \edef\FancyVerbStartNum{\the\@tempcnta}%
- \let\FancyVerbStartString\relax
- \else
- \edef\FancyVerbStartString{#2}%
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\KV@FV@firstline@default}
-% \begin{macrocode}
-\def\KV@FV@firstline@default{%
- \let\FancyVerbStartNum\z@
- \let\FancyVerbStartString\relax}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\define@key{FV}{lastline}{%
- \afterassignment\FV@ParseStop\@tempcnta=0#1\relax\@nil{#1}}
-% \end{macrocode}
-%
-% \begin{macro}{\FV@ParseStop}
-% \begin{macrocode}
-\def\FV@ParseStop#1\relax\@nil#2{%
- \ifx\@nil#1\@nil
- \edef\FancyVerbStopNum{\the\@tempcnta}%
- \let\FancyVerbStopString\relax
- \else
- \edef\FancyVerbStopString{#2}%
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\KV@FV@lastline@default}
-% \begin{macrocode}
-\def\KV@FV@lastline@default{%
- \let\FancyVerbStopNum\z@
- \let\FancyVerbStopString\relax}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\fvset{firstline,lastline}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\newcount\FV@CodeLineNo
-% \end{macrocode}
-%
-% If \cs{FV@FindStartStop} determines the line should be printed, it
-% executes \cs{FV@@PreProcessLine}
-%
-% \begin{macro}{\FV@PreProcessLine}
-% \begin{macrocode}
-\def\FV@PreProcessLine{%
- \global\advance\FV@CodeLineNo\@ne
- \FV@FindStartStop}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@@PreProcessLine}
-% \begin{macrocode}
-\def\FV@@PreProcessLine{%
- \FV@StepLineNo
- \FV@Gobble
- \expandafter\FV@ProcessLine\expandafter{\FV@Line}}
-% \end{macrocode}
-% \end{macro}
-%
-% The definition of \cs{FV@FindStartStop} changes, so that we don't
-% have to check irrelevant conditions with each line.
-%
-% Here's how it works; for simplicity we assume \texttt{firstline} and \texttt{lastline}
-% have been specified, rather than start or stop strings.
-%
-% The first time \cs{FV@FindStartStop} is called:
-% \begin{enumerate}
-% \item It calls
-% \cs{FV@DefineFindStart}. (The name roughly means "define\\
-% \cs{FV@FindStartStop} to detect when we've reached the \underline{start} of the
-% specified range".) This checks the range parameters that have been
-% specified, and then redefines \cs{FV@FindStartStop} (yes, the
-% function that has called this code) to contain only
-% the necessary checks, for efficiency reasons:
-%
-% \begin{itemize}
-%
-% \item If we haven't printed any lines yet, which is true when\\
-% \cs{FV@FindStartStop} is first called, we only need to check
-% the current line-number against \texttt{firstline}, so we redefine
-% \cs{FV@FindStartStop} to be\\
-% \cs{FV@FindStartNum}.
-%
-% \item If \texttt{firstline} isn't set, we only have to check the
-% current line-number against \texttt{lastline}, so we redefine
-% \cs{FV@FindStartStop} to be \cs{FV@DefineFindStop}.
-% (The name roughly means "define\\
-% \cs{FV@FindStartStop} to detect when we've reached the
-% \underline{stop} (end) of the
-% specified range", but unlike the START case, it includes code
-% (\cs{FV@@PreProcessLine}) to print the current line.)
-%
-% \end{itemize}
-%
-%
-% \item It then calls the newly-defined \cs{FV@FindStartStop} to see
-% if the current line being processed is within the range to be printed.
-%
-% \end{enumerate}
-%
-% \cs{FV@FindStartStop} is redefined once as described above, but it
-% can be redefined again:
-%
-% \begin{enumerate}
-%
-% \item When we have reached \texttt{firstline}, i.e.\ have entered the
-% range to be printed, we redefine
-% \cs{FV@FindStartStop} to be \cs{FV@DefineFindStop}. (We know
-% we've reached the start, so there's no point checking that again on
-% future calls.)
-%
-% \item When we reach \texttt{lastline} and have printed it, we won't
-% want to print any more lines, so we redefine
-% \cs{FV@FindStartStop} to \cs{relax} so we do nothing (and do
-% it efficiently).
-%
-% Note that when \texttt{firstline} = \texttt{lastline} (= 6, say), it is
-% \cs{FV@FindStartNum} (which \cs{FV@FindStartStop} has
-% initially been redefined to) that notices when we reach line
-% 6, and prints it, and redefines \cs{FV@FindStartStop} to be \cs{FV@DefineFindStop}.
-% Then we read line 7, so \cs{FV@DefineFindStop} has to check
-% whether we've passed \texttt{lastline}, and therefore shouldn't print
-% the current line, before
-% redefining \cs{FV@FindStartStop} to \cs{relax} as explained above.
-%
-% By contrast, when \texttt{firstline} is less than \texttt{lastline} (= 6, 8, say), when we
-% reach line 8, \cs{FV@DefineFindStop} sees that we're at the
-% end of the range, and \emph{does} print the line, before
-% redefining \cs{FV@FindStartStop} to \cs{relax} as above.
-%
-% This slight weirdness is because several of the macros are
-% defining themselves and one another, resulting in a slightly weird
-% execution flow.
-%
-% \end{enumerate}
-%
-% \begin{macro}{\FV@FindStartStop}
-% \begin{macrocode}
-\def\FV@FindStartStop{\FV@DefineFindStart\FV@FindStartStop}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%% \def\FV@DefinePreProcessLine{%
-%% \setcounter{FancyVerbLine}{0}%
-%% \FV@DefineFindStart}
-% \end{macrocode}
-%
-% \begin{macro}{\FV@DefineFindStart}
-% \begin{macrocode}
-\def\FV@DefineFindStart{%
- \ifx\FancyVerbStartString\relax
- \ifnum\FancyVerbStartNum<\tw@
- \FV@DefineFindStop
- \else
- \let\FV@FindStartStop\FV@FindStartNum
- \fi
- \else
- \let\FV@FindStartStop\FV@FindStartString
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@FindStartNum}
-% \begin{macrocode}
-\def\FV@FindStartNum{%
- \ifnum\FancyVerbStartNum>\FV@CodeLineNo\else
- \FV@DefineFindStop
- \expandafter\FV@@PreProcessLine
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@FindStartString}
-% \begin{macrocode}
-%% SR modification begin - 1996
-\def\FV@FindStartString{%
- \expandafter\FV@@FindStartString
-{\meaning\FV@Line}%
-{\meaning\FancyVerbStartString}%
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@@FindStartString}
-% \begin{macrocode}
-\def\FV@@FindStartString#1#2{%
-\edef\@fooA{#1}\edef\@fooB{#2}%
- \ifx\@fooA\@fooB
- \FV@DefineFindStop
- \fi
-}
-%% SR modification end
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@DefineFindStop}
-% \begin{macrocode}
-\def\FV@DefineFindStop{%
- \ifx\FancyVerbStopString\relax
- \ifnum\FancyVerbStopNum<\@ne
- \let\FV@FindStartStop\FV@@PreProcessLine
- \else
- \let\FV@FindStartStop\FV@FindStopNum
- \fi
- \else
- \let\FV@FindStartStop\FV@FindStopString
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@FindStopNum}
-% \begin{macrocode}
-\def\FV@FindStopNum{%
- \ifnum\FancyVerbStopNum>\FV@CodeLineNo
- \else
- \let\FV@FindStartStop\relax
- \ifeof\FV@InFile\else
- \immediate\closein\FV@InFile
- \fi
- \fi
- \ifnum\FancyVerbStopNum<\FV@CodeLineNo
- \else
- \FV@@PreProcessLine
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@FindStopString}
-% \begin{macrocode}
-%% SR modification begin - 1996
-\def\FV@FindStopString{%
- \expandafter\FV@@FindStopString
-{\meaning\FV@Line}%
-{\meaning\FancyVerbStopString}%
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@@FindStopString}
-% \begin{macrocode}
-\def\FV@@FindStopString#1#2{%
-\edef\@fooA{#1}\edef\@fooB{#2}%
- \ifx\@fooA\@fooB
- \let\FV@FindStartStop\relax
- \ifeof\FV@InFile\else
- \immediate\closein\FV@InFile
- \fi
- \else
- \expandafter\FV@@PreProcessLine
- \fi}
-%% SR modification end
-% \end{macrocode}
-% \end{macro}
-%
-% Gobblings. \cs{FV@Gobble} does nothing, or strips some tokens from
-% the line and stores the result in \cs{FV@Line} again. We use
-% \LaTeX's \verb+\renewcommand+ to define a command for gobbling up to
-% 9 arguments. This is not the same as removing 9 tokens, but is easier.
-%
-% \begin{macro}{\FV@@Gobble}
-% \begin{macrocode}
-\def\FV@@Gobble{%
- \expandafter\expandafter\expandafter\FV@@@Gobble
- \expandafter\FV@@@@Gobble\FV@Line
- \@nil\@nil\@nil\@nil\@nil\@nil\@nil\@nil\@nil\@nil\@@nil}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@@@Gobble}
-% \begin{macrocode}
-\def\FV@@@Gobble#1\@nil#2\@@nil{\def\FV@Line{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@Gobble}
-% \begin{macrocode}
-\define@key{FV}{gobble}{%
- \@tempcnta=#1\relax
- \ifnum\@tempcnta<\@ne
- \let\FV@Gobble\relax
- \else
- \ifnum\@tempcnta>9
- \FV@Error{gobble parameter must be less than 10}\FV@eha
- \else
- \renewcommand{\FV@@@@Gobble}[\@tempcnta]{}%
- \let\FV@Gobble\FV@@Gobble
- \fi
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@@@@Gobble}
-% \begin{macrocode}
-\def\FV@@@@Gobble{}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\KV@FV@gobble@default}
-% \begin{macrocode}
-\def\KV@FV@gobble@default{\let\FV@Gobble\relax}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\fvset{gobble}
-% \end{macrocode}
-%
-% \subsection{Scanning environments}
-%
-% \begin{macro}{\FV@Scan}
-% \begin{macrocode}
-\def\FV@Scan{%
- \FV@CatCodes
- \VerbatimEnvironment
- \FV@DefineCheckEnd
- \FV@BeginScanning}
-% \end{macrocode}
-% \end{macro}
-%
-% \cs{VerbatimEnvironment}:
-%
-% This saves the name of the current environment as
-% \cs{FV@EnvironName}, if the latter is not already defined.
-% Then \cs{FV@CheckEnd} knows how to find the end as long as either:
-% \begin{itemize}
-% \item \verb+\begin+ and \verb+\end+ are not used within the definition of
-% the environment, OR
-% \item \cs{VerbatimEnvironment} is used in the definition before the first
-% \verb+\begin+.
-% \end{itemize}
-%
-% \begin{macro}{\VerbatimEnvironment}
-% \begin{macrocode}
-\def\VerbatimEnvironment{%
- \ifx\FV@EnvironName\relax\xdef\FV@EnvironName{\@currenvir}\fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\let\FV@EnvironName\relax
-% \end{macrocode}
-%
-%\subsection{Check end}
-%
-% We have to check the argument of the first \verb+\end{}+ in each line,
-% compare it with \cs{FV@EnvironName}, and return \verb+\iftrue+ if it matches
-% and \verb+\iffalse+ otherwise.
-%
-% There are four cases (R=regular):
-%
-% \begin{tabbing}
-% catcode of \verb+{}+ \= : \= R \= 12 \= 12 \= 12 \kill
-% case \> : \> i \> ii \> iii \> iv \\
-% catcode of \verb+\+ \> : \> R \> 12 \> 12 \> R \\
-% catcode of \verb+{}+ \> : \> R \> R \> 12 \> 12
-% \end{tabbing}
-%
-% For uniformity, we use \verb+![]+ instead of \verb+\{}+ in all the
-% definitions.
-%
-% We first set the catcodes of \verb+\{}+ to those in effect in the
-% verbatim environment. Then we define:
-%
-% \verb+!def!FV@CheckEnd#1[!FV@@CheckEnd#1\end{}!@nil]+
-%
-% \noindent If {} have their usual catcodes, we define:
-%
-% \verb+!def!FV@@CheckEnd#1\end#2#3!@nil[!def!@tempa[#2]]+
-%
-% \noindent If {} have catcode 12, we define:
-%
-% \verb+!def!FV@@CheckEnd#1\end{#2}#3!@nil[!def!@tempa[#2]]+
-%
-% \begin{macrocode}
-\begingroup
-\catcode`\!=0
-\catcode`\[=1
-\catcode`\]=2
-% \end{macrocode}
-%
-% Case i:
-%
-% \begin{macrocode}
-!gdef!FV@CheckEnd@i#1[!FV@@CheckEnd#1\end{}!@nil]
-!gdef!FV@@CheckEnd@i#1\end#2#3!@nil[!def!@tempa[#2]!def!@tempb[#3]]
-!gdef!FV@@@CheckEnd@i[\end{}]
-% \end{macrocode}
-%
-% Case ii:
-%
-% \begin{macrocode}
-\catcode`!\=12
-
-!gdef!FV@CheckEnd@ii#1[!FV@@CheckEnd#1\end{}!@nil]
-!gdef!FV@@CheckEnd@ii#1\end#2#3!@nil[!def!@tempa[#2]!def!@tempb[#3]]
-!gdef!FV@@@CheckEnd@ii[\end{}]
-% \end{macrocode}
-%
-% Case iii:
-%
-% \begin{macrocode}
-!catcode`!{=12
-!catcode`!}=12
-
-!gdef!FV@CheckEnd@iii#1[!FV@@CheckEnd#1\end{}!@nil]
-!gdef!FV@@CheckEnd@iii#1\end{#2}#3!@nil[!def!@tempa[#2]!def!@tempb[#3]]
-!gdef!FV@@@CheckEnd@iii[\end{}]
-% \end{macrocode}
-%
-% Case iv:
-%
-% \begin{macrocode}
-!catcode`!\=0
-
-!gdef!FV@CheckEnd@iv#1[!FV@@CheckEnd#1\end{}!@nil]
-!gdef!FV@@CheckEnd@iv#1\end{#2}#3!@nil[!def!@tempa[#2]!def!@tempb[#3]]
-!gdef!FV@@@CheckEnd@iv[\end{}]
-% \end{macrocode}
-%
-% \begin{macrocode}
-\endgroup
-% \end{macrocode}
-%
-% \begin{macro}{\FV@BadCodes}
-% \begin{macrocode}
-\def\FV@BadCodes#1{%
- \FV@Error
- {\string\catcode\space of \expandafter\@gobble\string#1 is wrong:
- \the\catcode`#1}%
- {Only the following catcode values are allowed:
- ^^J\@spaces \expandafter\@gobble\string\\ \space\space --> 0 or 12.
- ^^J\@spaces \string{ \string} --> 1 and 2, resp., or both 12.
- ^^JTo get this error, either you are a hacker or you got bad advice.}%
- \def\FV@CheckEnd##1{\iftrue}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@DefineCheckEnd}
-% \begin{macrocode}
-\def\FV@DefineCheckEnd{%
- \ifnum\catcode`\\=\z@
- \ifnum\catcode`\{=\@ne
- \let\FV@CheckEnd\FV@CheckEnd@i
- \let\FV@@CheckEnd\FV@@CheckEnd@i
- \let\FV@@@CheckEnd\FV@@@CheckEnd@i
- \else
- \ifnum\catcode`\{=12
- \let\FV@CheckEnd\FV@CheckEnd@iv
- \let\FV@@CheckEnd\FV@@CheckEnd@iv
- \let\FV@@@CheckEnd\FV@@@CheckEnd@iv
- \else
- \FV@BadCodes\{%
- \fi
- \fi
- \else
- \ifnum\catcode`\\=12
- \ifnum\catcode`\{=\@ne
- \let\FV@CheckEnd\FV@CheckEnd@ii
- \let\FV@@CheckEnd\FV@@CheckEnd@ii
- \let\FV@@@CheckEnd\FV@@@CheckEnd@ii
- \else
- \ifnum\catcode`\{=12
- \let\FV@CheckEnd\FV@CheckEnd@iii
- \let\FV@@CheckEnd\FV@@CheckEnd@iii
- \let\FV@@@CheckEnd\FV@@@CheckEnd@iii
- \else
- \FV@BadCodes\{%
- \fi
- \fi
- \else
- \FV@BadCodes\\%
- \fi
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Line-by-line scanning}
-%
-% We first skip everything after the beginning of the environment.
-%
-% \begin{macro}{\FV@BeginScanning}
-% \begin{macrocode}
-\begingroup
-\catcode`\^^M=\active
- \gdef\FV@BeginScanning#1^^M{%
- \def\@tempa{#1}\ifx\@tempa\@empty\else\FV@BadBeginError\fi%
- \FV@GetLine}%
-\endgroup
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@BadBeginError}
-% \begin{macrocode}
-\def\FV@BadBeginError#1{%
- \expandafter\@temptokena\expandafter{\@tempa}%
- \FV@Error
- {Extraneous input `\the\@temptokena' between
- \string\begin{\FV@EnvironName}[<key=value>] and line end}%
- {This input will be discarded. Hit <return> to continue.}}
-% \end{macrocode}
-% \end{macro}
-%
-% If \cs{FancyVerbGetLine} does not find a \verb+^^M+, then we are at
-% the end of the file, and \cs{FV@EOF} attempts to terminate the document.
-% Otherwise, \cs{FV@EOF} is gobbled by \cs{FancyVerbGetLine}.
-%
-% \ifChangeBar\begin{changebar}\fi
-% \begin{macro}{\FV@GetLine}
-% \begin{macrocode}
-%% DG/SR modification begin - May. 18, 1998 (added code to turn off ligatures)
-%% \def\FV@GetLine{\expandafter\FV@CheckScan\FancyVerbGetLine}
-\def\FV@GetLine{\@noligs\expandafter\FV@CheckScan\FancyVerbGetLine}
-%% DG/SR modification end
-% \end{macrocode}
-% \end{macro}
-% \ifChangeBar\end{changebar}\fi
-%
-% \begin{macro}{\FancyVerbGetLine}
-% \begin{macrocode}
-\begingroup
-\catcode`\^^M=\active
-\gdef\FancyVerbGetLine#1^^M{%
- \@nil%
- \FV@CheckEnd{#1}%
- \ifx\@tempa\FV@EnvironName% % True if end is found
- \ifx\@tempb\FV@@@CheckEnd\else\FV@BadEndError\fi%
- \let\next\FV@EndScanning%
- \else%
- \def\FV@Line{#1}%
- \def\next{\FV@PreProcessLine\FV@GetLine}%
- \fi%
- \next}%
-\endgroup
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@BadEndError}
-% \begin{macrocode}
-\def\FV@BadEndError{%
- \expandafter\@temptokena\expandafter{\@tempb}%
- \FV@Error
- {Extraneous input `\the\@temptokena' between
- \string\end{\FV@EnvironName} and line end}%
- {This input will be discarded. Type <return> to continue.}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@EndScanning}
-% \begin{macrocode}
-\def\FV@EndScanning{%
- \edef\next{\noexpand\end{\FV@EnvironName}}%
- \global\let\FV@EnvironName\relax
- \next}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\@ifundefined{@currenvline}{\let\@currenvline\@empty}{}
-% \end{macrocode}
-%
-% \begin{macro}{\FV@CheckScan}
-% \begin{macrocode}
-\def\FV@CheckScan#1{\@ifnextchar\@nil{\@gobble}{\FV@EOF}}
-\def\FV@CheckScan#1{\ifx\@nil#1\@empty\else\expandafter\FV@EOF\fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@EOF}
-% \begin{macrocode}
-\def\FV@EOF{%
- \FV@Error{Couldn't find `\string\end{\FV@EnvironName}' to end
- a verbatim environment\@currenvline.}%
- {Probably you mistyped the environment name or included an extraneous
- ^^Jspace, or are using an improperly defined verbatim environment.
- ^^JHit return and I will try to terminate this job.}%
- \FV@EndScanning
- \end{document}}
-% \end{macrocode}
-% \end{macro}
-%
- % \subsection{Input}
-%
-% \begin{macrocode}
-\newread\FV@InFile
-% \end{macrocode}
-%
-% \begin{macro}{\FV@Input}
-% \begin{macrocode}
-\def\FV@Input#1{%
- \immediate\openin\FV@InFile #1\relax
- \ifeof\FV@InFile
- \FV@Error{No verbatim file #1}\FV@eha
- \immediate\closein\FV@InFile
- \else
- \FV@CatCodes
- \expandafter\FV@@Input
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \noindent\TeX{} reports EOF when reading after the last newline character.
-%
-% \noindent Thus, we read to InLine, and if \TeX{} reports EOF:
-% \begin{itemize}
-% \item If InLine=Empty, previous line was last line in file (file ends nl).
-% \item Otherwise, InLine holds last line in file (file doesn't end in nl).
-% \end{itemize}
-% \cs{FV@@Input} handles both cases correctly.
-%
-% \begin{macro}{\FV@@Input}
-% \begin{macrocode}
-\def\FV@@Input{%
- \def\FV@Line{}%
- \FV@ReadLine
- \ifeof\FV@InFile
- \ifx\FV@Line\@empty\else
- \FV@PreProcessLine
- \fi
- \immediate\closein\FV@InFile
- \else
- \FV@PreProcessLine
- \expandafter\FV@@Input
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% We also want to handle true comment characters correctly. This means that
-% we keep accumulating text in InLine until we find a \verb+^^M+ (indicating
-% that the line did not contain a comment character).
-%
-% \begin{macro}{\FV@ReadLine}
-% \begin{macrocode}
-\begingroup
-\catcode`\^^M=\active
-\gdef\FV@ReadLine{%
- \ifeof\FV@InFile\else
- \immediate\read\FV@InFile to\@tempa%
- \expandafter\FV@@ReadLine\@tempa^^M\relax^^M\@nil%
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \verb+#2+ is empty if line ends in \verb+^^M+, \verb+#2=\relax+ otherwise
-%
-% \begin{macro}{\FV@@ReadLine}
-% \begin{macrocode}
-\gdef\FV@@ReadLine#1^^M#2^^M#3\@nil{%
- \expandafter\def\expandafter\FV@Line\expandafter{%
- \FV@Line#1}%
- \ifx\relax#2\@empty\expandafter\FV@ReadLine\fi}%
-\endgroup
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Formatting -- Common components}
-%
-% Some things that are common to all verbatim formatting:
-%
-% \begin{macro}{\FV@FormattingPrep}
-% \begin{macrocode}
-\def\FV@FormattingPrep{%
- \global\FV@CodeLineNo\z@
- \frenchspacing % Cancels special punctuation spacing.
- \FV@SetupFont % See below.
- \FV@DefineWhiteSpace % See below.
- \FancyVerbDefineActive
- \FancyVerbFormatCom} % A user-defined hook (formatcom parameter).
-% \end{macrocode}
-% \end{macro}
-%
-% Fonts
-%
-% \changes{v2.6}{1998/07/17}{Correct a bug for the -- ligature in T1 encoding
-% (reported by Mario Hassler on May 12, 1998).}
-%
-% \begin{macrocode}
-\expandafter\ifx\csname selectfont\endcsname\relax
-% \end{macrocode}
-%
-% \begin{macro}{\FV@SetupFont}
-% \begin{macrocode}
-\def\FV@SetupFont{%
- \FV@BaseLineStretch
- \ifx\@currsize\small\normalsize\else\small\fi\@currsize
- \FV@FontSize
- \FV@FontFamily}
-
-\else
-
-\def\FV@SetupFont{%
- \FV@BaseLineStretch
- \FV@FontSize
- \FV@FontFamily
- \FV@FontSeries
- \FV@FontShape
- \selectfont
-%% DG/SR modification begin - May. 18, 1998 (added code to turn off ligatures)
- \@noligs}
-%% DG/SR modification end
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\fi
-% \end{macrocode}
-%
-% \begin{macro}{\FV@FontSize}
-% \begin{macrocode}
-\define@key{FV}{fontsize}{%
- \def\@tempa{#1}%
- \ifx\@tempa\FV@Auto
- \let\FV@FontSize\relax
- \else
- \def\FV@FontSize{#1}%
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\KV@FV@fontsize@default}
-% \begin{macrocode}
-\def\KV@FV@fontsize@default{\let\FV@FontSize\relax}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@BaseLineStretch}
-% \begin{macrocode}
-\define@key{FV}{baselinestretch}[auto]{%
- \def\@tempa{#1}%
- \ifx\@tempa\FV@Auto
- \let\FV@BaseLineStretch\relax
- \else
- \def\FV@BaseLineStretch{\def\baselinestretch{#1}}%
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\KV@FV@baselinestretch@default}
-% \begin{macrocode}
-\def\KV@FV@baselinestretch@default{\let\FV@BaseLineStretch\relax}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\define@key{FV}{fontfamily}{%
- \@ifundefined{FV@fontfamily@#1}%
- {\def\FV@FontScanPrep{}\def\FV@FontFamily{\fontfamily{#1}}}
- {\csname FV@fontfamily@#1\endcsname}}
-% \end{macrocode}
-%
-% \begin{macro}{\FV@FontSeries}
-% \begin{macrocode}
-\define@key{FV}{fontseries}{%
- \def\@tempa{#1}%
- \ifx\@tempa\FV@Auto
- \let\FV@FontSeries\relax
- \else
- \def\FV@FontSeries{\fontseries{#1}}%
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@FontShape}
-% \begin{macrocode}
-\define@key{FV}{fontshape}{%
- \def\@tempa{#1}%
- \ifx\@tempa\FV@Auto
- \let\FV@FontShape\relax
- \else
- \def\FV@FontShape{\fontshape{#1}}%
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% Font family styles have to define \cs{FV@FontScanPrep} and
-% \cs{FV@FontFamily}.
-%
-% \begin{macro}{\FV@MakeActive}
-% \begin{macrocode}
-\def\FV@MakeActive#1{%
- \catcode`#1=\active
- \def\next##1{\expandafter\def\expandafter\FV@MakeUnActive\expandafter{%
- \FV@MakeUnActive\def##1{\string##1}}}%
- \begingroup\lccode`~=`#1\relax\expandafter\next\expandafter~\endgroup}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@MakeUnActive}
-% \begin{macrocode}
-\def\FV@MakeUnActive{}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\begingroup
-\catcode`\`=\active
-% \end{macrocode}
-%
-% \begin{macro}{\FV@fontfamily@tt}
-% \begin{macrocode}
-\gdef\FV@fontfamily@tt{%
- \def\FV@FontScanPrep{\FV@MakeActive\`}%
-%% SR modification begin - 1995
-%% \def\FV@FontFamily{\tt`{{\string`}}}}
- \def\FV@FontFamily{\ttfamily\edef`{{\string`}}}}
-%% SR modification end
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@fontfamily@cmtt}
-% \begin{macrocode}
-\gdef\FV@fontfamily@cmtt{%
- \def\FV@FontScanPrep{\FV@MakeActive\`}%
- \def\FV@FontFamily{\edef`{{\string`}}\fontfamily{cmtt}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\endgroup
-% \end{macrocode}
-%
-% \begin{macro}{\FV@fontfamily@cmtt-spanish}
-% \begin{macrocode}
-\@namedef{FV@fontfamily@cmtt-spanish}{%
- \def\FV@FontScanPrep{}%
- \def\FV@FontFamily{\fontfamily{cmtt}}}
-% \end{macrocode}
-% \end{macro}
-%
-% Fix me
-%
-% \begin{macro}{\FV@fontfamily@courier}
-% \begin{macrocode}
-\@namedef{FV@fontfamily@courier}{%
- \def\FV@FontScanPrep{}%
-%% SR modification begin - 1995
-%% \def\FV@FontFamily{\fontfamily{rpcr}}}
- \def\FV@FontFamily{\fontfamily{pcr}}}
-%% SR modification end
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@fontfamily@helvetica}
-% \begin{macrocode}
-\@namedef{FV@fontfamily@helvetica}{%
- \def\FV@FontScanPrep{}%
-%% SR modification begin - 1995
-%% \def\FV@FontFamily{\fontfamily{rphv}}}
- \def\FV@FontFamily{\fontfamily{phv}}}
-%% SR modification end
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\fvset{fontfamily=tt,fontsize=auto,fontshape=auto,fontseries=auto,
- baselinestretch=auto}
-% \end{macrocode}
-%
-% \cs{FV@DefineWhiteSpace}
-%
-% We just define the active characters to be ordinary commands, which
-% are easier to redefine. We do with any macros that use verbatim text.
-%
-% \begin{macrocode}
-\begingroup
-\catcode`\ =\active
-\catcode`\^^I=\active
-% \end{macrocode}
-%
-% \begin{macro}{\FV@DefineWhiteSpace}
-% \begin{macrocode}
-\gdef\FV@DefineWhiteSpace{\def {\FV@Space}\def^^I{\FV@Tab}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\endgroup
-% \end{macrocode}
-%
-% \begin{macro}{\FancyVerbDefineActive}
-% \begin{macrocode}
-\define@key{FV}{defineactive}[]{\def\FancyVerbDefineActive{#1\relax}}
-\define@key{FV}{defineactive*}{%
- \expandafter\def\expandafter\FancyVerbDefineActive\expandafter{%
- \FancyVerbDefineActive#1\relax}}
-\fvset{defineactive}
-% \end{macrocode}
-% \end{macro}
-%
-% \cs{FV@Space}:
-%
-% \begin{macro}{\FV@Space}
-% \begin{macrocode}
-\define@booleankey{FV}{showspaces}%
- {\def\FV@Space{{\FancyVerbSpace}}}%
- {\def\FV@Space{\ }}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-{\catcode`\ =12 \gdef\FancyVerbSpace{\tt }}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\fvset{showspaces=false}
-% \end{macrocode}
-%
-% \cs{FV@Tab}:
-%
-% \begin{macro}{\FV@Tab}
-% \begin{macrocode}
-\def\FV@Tab{\hbox to\FancyVerbTabSize\fontdimen2\font{\hss\FV@TabChar}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FancyVerbTabSize}
-% \begin{macrocode}
-\define@key{FV}{tabsize}{%
- \@tempcnta=#1\relax
- \ifnum\@tempcnta>100
- \FV@Error{Tab size too large: `\the\@tempcnta'. (Max size = 100)}\FV@eha
- \else
- \edef\FancyVerbTabSize{\the\@tempcnta}%
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@TabChar}
-% \begin{macrocode}
-\define@booleankey{FV}{showtabs}%
- {\def\FV@TabChar{\FancyVerbTab}}%
- {\let\FV@TabChar\relax}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\fvset{tabsize=8,showtabs=false}
-% \end{macrocode}
-%
-% Here is a weak attempt at a tab character. It may exceed the width
-% of a space character when the verbatim font is small. The only proper way
-% to do this is making it part of the verbatim font.
-%
-% \begin{macro}{\FancyVerbTab}
-% \begin{macrocode}
-\def\FancyVerbTab{%
- \valign{%
- \vfil##\vfil\cr
- \hbox{$\scriptscriptstyle-$}\cr
- \hbox to 0pt{\hss$\scriptscriptstyle\rangle\mskip -.8mu$}\cr
- \hbox{$\scriptstyle\mskip -3mu\mid\mskip -1.4mu$}\cr}}
-% \end{macrocode}
-% \end{macro}
-%
-% Obey Tabs:
-%
-% \begin{macrocode}
-\newbox\FV@TabBox
-% \end{macrocode}
-%
-% \begin{macro}{\FV@@ObeyTabsInit}
-% \begin{macrocode}
-\def\FV@@ObeyTabsInit{%
- \@tempdimb=\FancyVerbTabSize\fontdimen\tw@\font
- \edef\FV@ObeyTabSize{\number\@tempdimb}%
- \advance\@tempdimb\fontdimen\tw@\font
- \advance\@tempdimb-\FancyVerbTabSize sp % Allow for rounding errors.
- \edef\FV@@ObeyTabSize{\number\@tempdimb}%
- \let\FV@ObeyTabs\FV@@ObeyTabs
- \let\FV@Tab\FV@TrueTab}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@@ObeyTabs}
-% \begin{macrocode}
-\def\FV@@ObeyTabs#1{\setbox\FV@TabBox=\hbox{#1}\box\FV@TabBox}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\let\FV@ObeyTabs\relax
-% \end{macrocode}
-%
-% \begin{macro}{\FV@TrueTab}
-% \begin{macrocode}
-\def\FV@TrueTab{%
- \egroup
- \@tempdima=\FV@ObeyTabSize sp\relax
- \@tempcnta=\wd\FV@TabBox
- \advance\@tempcnta\FV@@ObeyTabSize\relax
- \divide\@tempcnta\@tempdima
- \multiply\@tempdima\@tempcnta
- \advance\@tempdima-\wd\FV@TabBox
- \setbox\FV@TabBox=\hbox\bgroup
- \unhbox\FV@TabBox\kern\@tempdima\hbox to\z@{\hss\FV@TabChar}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@ObeyTabsInit}
-% \begin{macrocode}
-\define@booleankey{FV}{obeytabs}%
- {\let\FV@ObeyTabsInit\FV@@ObeyTabsInit}%
- {\let\FV@ObeyTabsInit\relax}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\fvset{obeytabs=false}
-% \end{macrocode}
-%
-% \cs{FancyVerbFormatCom}
-%
-% \begin{macro}{\FancyVerbFormatCom}
-% \begin{macrocode}
-\define@key{FV}{formatcom}[]{\def\FancyVerbFormatCom{#1\relax}}
-\define@key{FV}{formatcom*}{%
- \expandafter\def\expandafter\FancyVerbFormatCom\expandafter{%
- \FancyVerbFormatCom#1\relax}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\fvset{formatcom}
-% \end{macrocode}
-%
-% \begin{macro}{\FancyVerbFormatLine}
-% \begin{macrocode}
-\def\FancyVerbFormatLine#1{\FV@ObeyTabs{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{List environments}
-%
-% Some parameters:
-%
-% \begin{macro}{\FV@XLeftMargin}
-% \begin{macrocode}
-\define@key{FV}{xleftmargin}{\def\FV@XLeftMargin{#1}}
-\let\FV@XLeftMargin\z@
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@XRightMargin}
-% \begin{macrocode}
-\define@key{FV}{xrightmargin}{\def\FV@XRightMargin{#1}}
-\let\FV@XRightMargin\z@
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\if@FV@ResetMargins}
-% \begin{macrocode}
-\define@booleankey{FV}{resetmargins}%
- {\let\if@FV@ResetMargins\iftrue}
- {\let\if@FV@ResetMargins\iffalse}
-\fvset{resetmargins=false}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@ListParameterHook}
-% \begin{macrocode}
-\define@key{FV}{listparameters}{\def\FV@ListParameterHook{#1}}
-\def\FV@ListParameterHook{}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FancyVerbHFuzz}
-% \begin{macrocode}
-\define@key{FV}{hfuzz}{%
- \@tempdima=#1\relax
- \edef\FancyVerbHFuzz{\number\@tempdima sp}}
-\fvset{hfuzz=2pt}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@InterLinePenalty}
-% \begin{macrocode}
-\define@booleankey{FV}{samepage}%
- {\def\FV@InterLinePenalty{\interlinepenalty\@M}}%
- {\let\FV@InterLinePenalty\relax}
-\fvset{samepage=false}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \noindent Lists:
-%
-% \verb+\FV@List{}+ is a rewriting of \verb+\list{}{}\item[]+.
-% The rewrite gives me more control.
-% I might not get the vertical spacing exactly the same, but it
-% is more likely that it will get better than worse.
-%
-% The verbatim environment consists of a series of \verb+\hbox+'s inserted in
-% vertical mode.
-%
-% \noindent We need to take care of the following:
-% \begin{itemize}
-% \item leftmargin
-% \item rightmargin
-% \item topskip
-% \item botskip
-% \item toppenalty
-% \item botpenalty
-% \item interlinepenalties
-% \end{itemize}
-%
-% Note: A verbatim environment immediately after an \verb+\item+ starts on
-% the same line as the \verb+\item+'s label, unless we reset margins.
-% The user can instead have the environment start on a new
-% line by inserting \verb+`\ '+ between \verb+\item+ and the environment.
-%
-% \begin{macro}{\FV@List}
-% \begin{macrocode}
-\def\FV@List#1{%
- \begingroup
- \FV@UseKeyValues
- \FV@LeaveVMode
- \if@inlabel\else\setbox\@labels=\box\voidb@x\fi
- \FV@ListNesting{#1}%
- \FV@ListParameterHook
- \FV@ListVSpace
- \FV@SetLineWidth
- \FV@InterLinePenalty
- \let\FV@ProcessLine\FV@ListProcessLine@i
- \FV@CatCodes
- \FV@FormattingPrep
- \FV@ObeyTabsInit
- \FV@BeginListFrame}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \noindent Cases where we need to leave vmode:
-% \begin{itemize}
-% \item After an in-line section (\verb+\if@noskipsec=T+).
-% \item After an \verb+\item+ command, if we reset margins.
-% \end{itemize}
-%
-% Then we end \verb+\vmode+, using \verb+@noparlist+ as a flag if in vmode.
-% (Not the usual meaning of \verb+@noparlist+.)
-%
-% \begin{macro}{\FV@LeaveVMode}
-% \begin{macrocode}
-\def\FV@LeaveVMode{%
- \if@noskipsec
- \leavevmode
- \else
- \if@FV@ResetMargins\if@inlabel\leavevmode\fi\fi
- \fi
- \ifvmode\@noparlisttrue\else\@noparlistfalse\unskip\par\fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@ListNesting}
-% \begin{macrocode}
-\def\FV@ListNesting#1{%
- \if@FV@ResetMargins
- \@listdepth=\z@
- \else
- \ifnum\@listdepth>5\relax
- \@toodeep
- \else
- \advance\@listdepth\@ne
- \fi
- \fi
- \rightmargin\z@
- \csname @list\romannumeral\the\@listdepth\endcsname
- \ifnum#1=\z@
- \rightmargin\z@
- \leftmargin\z@
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \noindent \cs{FV@ListVSpace} contains selected parts of \cs{@trivlist} and
-% \cs{@item}.
-%
-% \noindent Here are the cases:
-%
-% \noindent Vmode not in label or after \verb+@NOBREAK+:
-% \begin{tabbing}
-% \verb+<toppenalty>+ \= = \kill
-% \verb+<topskip>+ \> = \verb!\topsep + \partopsep + \parskip! \\
-% \verb+<botskip>+ \> = \verb!\topsep + \partopsep! \\
-% \verb+<toppenalty>+ \> = \verb+\@beginparpenalty+ \\
-% \verb+<botpenalty>+ \> = \verb+\@endparpenalty+
-% \end{tabbing}
-%
-% \noindent Vmode in label:
-% \begin{tabbing}
-% \verb+<toppenalty>+ \= = \verb!\topsep + \partopsep! \= \% \kill
-% \verb+<topskip>+ \> = \verb+\parskip+ \> \% Expected
-% anyway. \\
-% \verb+<botskip>+ \> = \verb!\topsep + \partopsep! \> \% Omitted
-% in \LaTeX{} -- a bug? \\
-% \verb+<toppenalty>+ \> = None \\
-% \verb+<botpenalty>+ \> = \verb+\@endparpenalty+ \> \% Ditto.
-% \end{tabbing}
-%
-% \noindent Vmode after \verb+@nobreak+:
-% \begin{tabbing}
-% \verb+<toppenalty>+ \= = \kill
-% \verb+<topskip>+ \> = \verb+\parskip+ \\
-% \verb+<botskip>+ \> = \verb!\topsep + \partopsep! \\
-% \verb+<toppenalty>+ \> = \verb+None+ \\
-% \verb+<botpenatly>+ \> = \verb+\@endparpenalty+
-% \end{tabbing}
-%
-% \noindent Hmode:
-% \begin{tabbing}
-% \verb+<toppenalty>+ \= = \kill
-% \verb+<topskip>+ \> = \verb!\topsep + \parskip! \\
-% \verb+<botskip>+ \> = \verb+\topsep+ \\
-% \verb+<toppenalty>+ \> = \verb+\@beginparpenalty+ \\
-% \verb+<botpenatly>+ \> = \verb+\@endparpenalty+
-% \end{tabbing}
-%
-% \noindent Notes:
-% \begin{itemize}
-% \item Except when in label or after nobreak, \verb+\parskip+ is added with
-% \verb+\addvspace+, so that net space is:
-%
-% \verb!MAX{\topsep (+\partopsep) + \parskip , \lastskip }!
-%
-% (The usual \verb+\@item+ works the same way.)
-% \item \verb+\parskip+ is added afterwards by a new paragraph, if any.
-% \item \verb+<botskip> == \@topsepadd+
-% \end{itemize}
-%
-% \begin{macro}{\FV@ListVSpace}
-% \begin{macrocode}
-\def\FV@ListVSpace{%
- \@topsepadd\topsep
- \if@noparlist\advance\@topsepadd\partopsep\fi
- \if@inlabel
- \vskip\parskip
- \else
- \if@nobreak
- \vskip\parskip
- \clubpenalty\@M
- \else
- \addpenalty\@beginparpenalty
- \@topsep\@topsepadd
- \advance\@topsep\parskip
- \addvspace\@topsep
- \fi
- \fi
- \global\@nobreakfalse
- \global\@inlabelfalse
- \global\@minipagefalse
- \global\@newlistfalse}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{tabbing}
-% \verb+\@totalleftmargin+ \= := \kill
-% \verb+\leftmargin+ \> := totalleftmargin \\
-% \verb+\rightmargin+ \> := totalrightmargin \\
-% \verb+\@totalleftmargin+ \> := totalleftmargin of enclosing environment.
-% \end{tabbing}
-%
-% \begin{macro}{\FV@SetLineWidth}
-% \begin{macrocode}
-\def\FV@SetLineWidth{%
- \if@FV@ResetMargins\else
- \advance\leftmargin\@totalleftmargin
- \fi
- \advance\leftmargin\FV@XLeftMargin\relax
- \advance\rightmargin\FV@XRightMargin\relax
- \linewidth\hsize
- \advance\linewidth-\leftmargin
- \advance\linewidth-\rightmargin
- \hfuzz\FancyVerbHFuzz\relax}
-% \end{macrocode}
-% \end{macro}
-%
-% We have to insert the right interline penalties (\verb+\interlinepenalty+,
-% \verb+\clubpenalty+, \verb+\widowpenalty+). We could process the environment
-% as one long paragraph and let \TeX{} insert the penalties, but this
-% might cause problems for a very long environment.
-%
-% \begin{description}
-% \item[Line 1] : Insert \verb+\@labels+ (maybe) plus current\_line
-% \item[Line 2] : Save current line
-% \item[Line 3] : penalty = interline + club ; Insert last line ;
-% Save current line.
-% \item[Line 4] : penalty = interline ; Insert last line ; Save current line.
-% \end{description}
-%
-% \noindent Then at the end:
-% \begin{description}
-% \item[Next line = 1] : Add null line.
-% \item[Next line = 2] : Nothing.
-% \item[Next line = 3] : penalty = interline + club + widow ;
-% Insert last line.
-% \item[Next line = 4] : penalty = interline + widow ; Insert last line.
-% \end{description}
-%
-% \begin{macro}{\FV@ListProcessLine}
-% \begin{macrocode}
-\def\FV@ListProcessLine#1{%
- \hbox to \hsize{%
- \kern\leftmargin
- \hbox to \linewidth{%
- \FV@LeftListNumber
- \FV@LeftListFrame
- \FancyVerbFormatLine{#1}\hss
-%% DG/SR modification begin - Jan. 28, 1998 (for numbers=right add-on)
-%% \FV@RightListFrame}%
- \FV@RightListFrame
- \FV@RightListNumber}%
-%% DG/SR modification end
- \hss}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@ListProcessLine@i}
-% \begin{macrocode}
-\def\FV@ListProcessLine@i#1{%
- \hbox{%
- \ifvoid\@labels\else
- \hbox to \z@{\kern\@totalleftmargin\box\@labels\hss}%
- \fi
- \FV@ListProcessLine{#1}}%
- \let\FV@ProcessLine\FV@ListProcessLine@ii}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@ListProcessLine@ii}
-% \begin{macrocode}
-\def\FV@ListProcessLine@ii#1{%
- \setbox\@tempboxa=\FV@ListProcessLine{#1}%
- \let\FV@ProcessLine\FV@ListProcessLine@iii}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@ListProcessLine@iii}
-% \begin{macrocode}
-\def\FV@ListProcessLine@iii#1{%
- {\advance\interlinepenalty\clubpenalty\penalty\interlinepenalty}%
- \box\@tempboxa
- \setbox\@tempboxa=\FV@ListProcessLine{#1}%
- \let\FV@ProcessLine\FV@ListProcessLine@iv}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@ListProcessLine@iv}
-% \begin{macrocode}
-\def\FV@ListProcessLine@iv#1{%
- \penalty\interlinepenalty
- \box\@tempboxa
- \setbox\@tempboxa=\FV@ListProcessLine{#1}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@EndList}
-% \begin{macrocode}
-\def\FV@EndList{%
- \FV@ListProcessLastLine
- \FV@EndListFrame
- \@endparenv
- \endgroup
- \@endpetrue}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@ListProcessLastLine}
-% \begin{macrocode}
-\def\FV@ListProcessLastLine{%
- \ifx\FV@ProcessLine\FV@ListProcessLine@iv
- {\advance\interlinepenalty\widowpenalty\penalty\interlinepenalty}%
- \box\@tempboxa
- \else
- \ifx\FV@ProcessLine\FV@ListProcessLine@iii
- {\advance\interlinepenalty\widowpenalty
- \advance\interlinepenalty\clubpenalty
- \penalty\interlinepenalty}%
- \box\@tempboxa
- \else
- \ifx\FV@ProcessLine\FV@ListProcessLine@i
- \FV@Error{Empty verbatim environment}{}%
- \FV@ProcessLine{}%
- \fi
- \fi
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% Verbatim environment:
-%
-% \DescribeEnv{Verbatim}
-% \begin{macrocode}
-\def\FV@VerbatimBegin{\FV@List\z@}
-\def\FV@VerbatimEnd{\FV@EndList}
-% \end{macrocode}
-%
-% \begin{macro}{\FVB@Verbatim}
-% \begin{macrocode}
-\def\FVB@Verbatim{\FV@VerbatimBegin\FV@Scan}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FVE@Verbatim}
-% \begin{macrocode}
-\def\FVE@Verbatim{\FV@VerbatimEnd}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\DefineVerbatimEnvironment{Verbatim}{Verbatim}{}
-% \end{macrocode}
-%
-% With \cs{UseVerbatim}, we have to take care of some of the things
-% \verb+\end{}+ would do.
-%
-% \begin{macro}{\FV@UseVerbatim}
-% \begin{macrocode}
-\def\FV@UseVerbatim#1{%
- \FV@VerbatimBegin#1\FV@VerbatimEnd
- \@doendpe\global\@ignorefalse\ignorespaces}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\VerbatimInput}
-% \begin{macrocode}
-\def\VerbatimInput{\FV@Command{}{VerbatimInput}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FVC@VerbatimInput}
-% \begin{macrocode}
-\def\FVC@VerbatimInput#1{\FV@UseVerbatim{\FV@Input{#1}}}
-% \end{macrocode}
-% \end{macro}
-%
-% LVerbatim environment:
-%
-% \DescribeEnv{LVerbatim}
-% \begin{macrocode}
-\def\FV@LVerbatimBegin{\FV@List\@ne}
-\def\FV@LVerbatimEnd{\FV@EndList}
-% \end{macrocode}
-%
-% \begin{macro}{\FVB@LVerbatim}
-% \begin{macrocode}
-\def\FVB@LVerbatim{\FV@LVerbatimBegin\FV@Scan}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FVE@LVerbatim}
-% \begin{macrocode}
-\def\FVE@LVerbatim{\FV@LVerbatimEnd}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\DefineVerbatimEnvironment{LVerbatim}{LVerbatim}{}
-% \end{macrocode}
-%
-% \begin{macro}{\FV@LUseVerbatim}
-% \begin{macrocode}
-\def\FV@LUseVerbatim#1{%
- \FV@LVerbatimBegin#1\FV@LVerbatimEnd
- \@doendpe\global\@ignorefalse\ignorespaces}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\LVerbatimInput}
-% \begin{macrocode}
-\def\LVerbatimInput{\FV@Command{}{LVerbatimInput}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FVC@LVerbatimInput}
-% \begin{macrocode}
-\def\FVC@LVerbatimInput#1{\FV@LUseVerbatim{\FV@Input{#1}}}
-% \end{macrocode}
-% \end{macro}
-%
-% Frames:
-%
-% \begin{macro}{\FV@Frame@none}
-% \begin{macrocode}
-\def\FV@Frame@none{%
- \let\FV@BeginListFrame\relax
- \let\FV@LeftListFrame\relax
- \let\FV@RightListFrame\relax
- \let\FV@EndListFrame\relax}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@Frame@single}
-% \begin{macrocode}
-\def\FV@Frame@single{%
- \let\FV@BeginListFrame\FV@BeginListFrame@Single
- \let\FV@LeftListFrame\FV@LeftListFrame@Single
- \let\FV@RightListFrame\FV@RightListFrame@Single
- \let\FV@EndListFrame\FV@EndListFrame@Single}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@Frame@lines}
-% \begin{macrocode}
-\def\FV@Frame@lines{%
- \let\FV@BeginListFrame\FV@BeginListFrame@Lines
- \let\FV@LeftListFrame\relax
- \let\FV@RightListFrame\relax
- \let\FV@EndListFrame\FV@EndListFrame@Lines}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@Frame@topline}
-% \begin{macrocode}
-\def\FV@Frame@topline{%
- \let\FV@BeginListFrame\FV@BeginListFrame@Lines
- \let\FV@LeftListFrame\relax
- \let\FV@RightListFrame\relax
- \let\FV@EndListFrame\relax}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@Frame@bottomline}
-% \begin{macrocode}
-\def\FV@Frame@bottomline{%
- \let\FV@BeginListFrame\relax
- \let\FV@LeftListFrame\relax
- \let\FV@RightListFrame\relax
- \let\FV@EndListFrame\FV@EndListFrame@Lines}
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v2.6}{1998/07/17}{Add ``leftline'' value for the ``frame'' parameter
-% (idea taken from a requirement of
-% Christophe Roudet on June 9, 1998).}
-%
-% \ifChangeBar\begin{changebar}\fi
-% \begin{macro}{\FV@Frame@leftline}
-% \begin{macrocode}
-%% To define a frame with only a left line
-\def\FV@Frame@leftline{%
- % To define the \FV@FrameFillLine macro (from \FV@BeginListFrame)
- \ifx\FancyVerbFillColor\relax
- \let\FV@FrameFillLine\relax
- \else
- \@tempdima\FV@FrameRule\relax
- \multiply\@tempdima-\tw@
- \edef\FV@FrameFillLine{%
- {\noexpand\FancyVerbFillColor{\vrule\@width\number\@tempdima sp}%
- \kern-\number\@tempdima sp}}%
- \fi
- \let\FV@BeginListFrame\relax
- \let\FV@LeftListFrame\FV@LeftListFrame@Single
- \let\FV@RightListFrame\relax
- \let\FV@EndListFrame\relax}
-% \end{macrocode}
-% \end{macro}
-% \ifChangeBar\end{changebar}\fi
-%
-% \changes{v2.6}{1998/07/17}{Add the ``label'' and ``labelposition'' parameters
-% (suggested by Michael Friendly on May 15, 1998).}
-%
-% \ifChangeBar\begin{changebar}\fi
-% \begin{macro}{\FV@BeginListFrame@Single}
-% \begin{macrocode}
-\def\FV@BeginListFrame@Single{%
- \lineskip\z@
- \baselineskip\z@
- \ifx\FancyVerbFillColor\relax
- \let\FV@FrameFillLine\relax
- \else
- \@tempdima\FV@FrameRule\relax
- \multiply\@tempdima-\tw@
- \edef\FV@FrameFillLine{%
- {\noexpand\FancyVerbFillColor{\vrule\@width\number\@tempdima sp}%
- \kern-\number\@tempdima sp}}%
- \fi
-%% DG/SR modification begin - May. 19, 1998
-%% \FV@SingleFrameLine
- \FV@SingleFrameLine{\z@}%
-%% DG/SR modification end
- \penalty\@M
- \FV@SingleFrameSep
- \penalty\@M}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@Label}
-% \begin{macrocode}
-%% DG/SR modification begin - May. 19, 1998
-\define@key{FV}{label}{%
- \def\@tempa{#1}%
- \ifx\@tempa\FV@None
- \let\FV@LabelBegin\relax
- \let\FV@LabelEnd\relax
- \else
- \FV@Label@i#1\@nil%
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@Label@i}
-% \begin{macrocode}
-\def\FV@Label@i{\@ifnextchar[{\FV@Label@ii}{\FV@Label@ii[]}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@Label@ii}
-% \begin{macrocode}
-\def\FV@Label@ii[#1]#2\@nil{%
- \def\@tempa{#1}%
- \ifx\@tempa\empty
- \def\FV@LabelBegin{#2}%
- \else
- \def\FV@LabelBegin{#1}%
- \def\FV@LabelPositionBottomLine{\@ne}%
- \fi
- \def\FV@LabelEnd{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\fvset{label=none}
-% \end{macrocode}
-%
-% \begin{macro}{\FV@LabelPosition}
-% \begin{macrocode}
-\define@key{FV}{labelposition}[none]{%
- \@ifundefined{FV@LabelPosition@#1}%
- {\FV@Error{Label position `#1' not defined.}\FV@eha}%
- {\@nameuse{FV@LabelPosition@#1}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@LabelPosition@none}
-% \begin{macrocode}
-\def\FV@LabelPosition@none{%
- \let\FV@LabelPositionTopLine\relax%
- \let\FV@LabelPositionBottomLine\relax}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@LabelPosition@topline}
-% \begin{macrocode}
-\def\FV@LabelPosition@topline{%
- \def\FV@LabelPositionTopLine{\@ne}%
- \let\FV@LabelPositionBottomLine\relax}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@LabelPosition@bottomline}
-% \begin{macrocode}
-\def\FV@LabelPosition@bottomline{%
- \let\FV@LabelPositionTopLine\relax%
- \def\FV@LabelPositionBottomLine{\@ne}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@LabelPosition@all}
-% \begin{macrocode}
-\def\FV@LabelPosition@all{%
- \def\FV@LabelPositionTopLine{\@ne}%
- \def\FV@LabelPositionBottomLine{\@ne}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\fvset{labelposition=topline}
-%% DG/SR modification end
-% \end{macrocode}
-%
-% \begin{macro}{\FV@SingleFrameLine}
-% \begin{macrocode}
-%% DG/SR modification begin - May. 19, 1998
-%% \def\FV@SingleFrameLine{%
-\def\FV@SingleFrameLine#1{%
-%% DG/SR modification end
- \hbox to\z@{%
- \kern\leftmargin
-%% DG/SR modification begin - Jun. 22, 1998
- \ifnum#1=\z@
- \let\FV@Label\FV@LabelBegin
- \else
- \let\FV@Label\FV@LabelEnd
- \fi
- \ifx\FV@Label\relax
-%% DG/SR modification end
- \FancyVerbRuleColor{\vrule \@width\linewidth \@height\FV@FrameRule}%
-%% DG/SR modification begin - Jun. 22, 1998
- \else
- \ifnum#1=\z@
- \setbox\z@\hbox{\strut\enspace\FV@LabelBegin\enspace\strut}%
- \else
- \setbox\z@\hbox{\strut\enspace\FV@LabelEnd\enspace\strut}%
- \fi
- \@tempdimb=\dp\z@
- \advance\@tempdimb -.5\ht\z@
- \@tempdimc=\linewidth
- \advance\@tempdimc -\wd\z@
- \divide\@tempdimc\tw@
- \ifnum#1=\z@ % Top line
- \ifx\FV@LabelPositionTopLine\relax
- \FancyVerbRuleColor{\vrule \@width\linewidth \@height\FV@FrameRule}%
- \else
- \FV@FrameLineWithLabel
- \fi
- \else % Bottom line
- \ifx\FV@LabelPositionBottomLine\relax
- \FancyVerbRuleColor{\vrule \@width\linewidth \@height\FV@FrameRule}%
- \else
- \FV@FrameLineWithLabel
- \fi
- \fi
- \fi
-%% DG/SR modification end
- \hss}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@FrameLineWithLabel}
-% \begin{macrocode}
-%% DG/SR modification begin - May. 19, 1998
-\def\FV@FrameLineWithLabel{%
- \ht\z@\@tempdimb\dp\z@\@tempdimb%
- \FancyVerbRuleColor{%
- \vrule \@width\@tempdimc \@height\FV@FrameRule
- \raise\@tempdimb\box\z@
- \vrule \@width\@tempdimc \@height\FV@FrameRule}}
-%% DG/SR modification end
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@BeginListFrame@Lines}
-% \begin{macrocode}
-\def\FV@BeginListFrame@Lines{%
- \begingroup
- \lineskip\z@skip
-%% DG modification begin - June 18, 1997 (effect of \baselineskip too earlier)
-%% \baselineskip\z@skip
-%% \FV@SingleFrameLine
-%% DG/SR modification begin - May. 19, 1998
-%% \FV@SingleFrameLine
- \FV@SingleFrameLine{\z@}%
-%% DG/SR modification end
- \kern-0.5\baselineskip\relax
- \baselineskip\z@skip
-%% DG modification end
- \kern\FV@FrameSep\relax
- \endgroup}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@EndListFrame@Lines}
-% \begin{macrocode}
-\def\FV@EndListFrame@Lines{%
- \begingroup
- \baselineskip\z@skip
- \kern\FV@FrameSep\relax
-%% DG/SR modification begin - May. 19, 1998
-%% \FV@SingleFrameLine
- \FV@SingleFrameLine{\@ne}%
-%% DG/SR modification end
- \endgroup}
-% \end{macrocode}
-% \end{macro}
-% \ifChangeBar\end{changebar}\fi
-%
-% \begin{macro}{\FV@SingleFrameSep}
-% \begin{macrocode}
-\def\FV@SingleFrameSep{%
- \hbox to \z@{%
- \kern\leftmargin
- \hbox to\linewidth{%
- \FancyVerbRuleColor{%
-%% DG modification begin - June 18, 1997 (\FV@FrameSep missing)
- \ifx\FancyVerbFillColor\relax
- \vrule\@width 0pt\@height\FV@FrameSep\relax
- \fi
-%% DG modification end
- \vrule\@width\FV@FrameRule\relax
- \ifx\FancyVerbFillColor\relax
- \hfil
- \else
- {\FancyVerbFillColor\leaders\hrule\@height\FV@FrameSep\hfil}%
- \fi
-%% DG modification begin - June 18, 1997 (\FV@FrameSep missing)
- \ifx\FancyVerbFillColor\relax
- \vrule\@width 0pt\@height\FV@FrameSep\relax
- \fi
-%% DG modification end
- \vrule\@width\FV@FrameRule\relax}}%
- \hss}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@LeftListFrame@Single}
-% \begin{macrocode}
-\def\FV@LeftListFrame@Single{%
- \strut
- {\FancyVerbRuleColor{\vrule \@width\FV@FrameRule}}%
- \FV@FrameFillLine
-%% DG modification begin - June 18, 1997 (to fill color on left side)
-%% \kern\FV@FrameSep}
- \ifx\FancyVerbFillColor\relax
- \kern\FV@FrameSep
- \else
- {\noexpand\leavevmode\FancyVerbFillColor{\vrule\@width\FV@FrameSep}}%
- \fi}
-%% DG modification end
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@RightListFrame@Single}
-% \begin{macrocode}
-\def\FV@RightListFrame@Single{%
-%% DG modification begin - June 18, 1997 (to fill color on right side)
-%% \kern\FV@FrameSep
- \ifx\FancyVerbFillColor\relax
- \kern\FV@FrameSep
- \else
- {\noexpand\leavevmode\FancyVerbFillColor{\vrule\@width\FV@FrameSep}}%
- \fi
- {\noexpand\leavevmode\FancyVerbRuleColor{\vrule\@width\FV@FrameRule}}}
-%% DG modification end
-% \end{macrocode}
-% \end{macro}
-%
-% \ifChangeBar\begin{changebar}\fi
-% \begin{macro}{\FV@EndListFrame@Single}
-% \begin{macrocode}
-\def\FV@EndListFrame@Single{%
- \penalty\@M
- \FV@SingleFrameSep
- \penalty\@M
-%% DG/SR modification begin - May. 19, 1998
-%% \FV@SingleFrameLine}
- \FV@SingleFrameLine{\@ne}}
-%% DG/SR modification end
-% \end{macrocode}
-% \end{macro}
-% \ifChangeBar\end{changebar}\fi
-%
-% \begin{macro}{\FV@FrameRule}
-% \begin{macrocode}
-\define@key{FV}{framerule}{%
- \@tempdima=#1\relax
- \edef\FV@FrameRule{\number\@tempdima sp\relax}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\KV@FV@framerule@default}
-% \begin{macrocode}
-\def\KV@FV@framerule@default{\let\FV@FrameRule\fboxrule}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@FrameSep}
-% \begin{macrocode}
-\define@key{FV}{framesep}{%
- \@tempdima=#1\relax
- \edef\FV@FrameSep{\number\@tempdima sp\relax}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\KV@FV@framesep@default}
-% \begin{macrocode}
-\def\KV@FV@framesep@default{\let\FV@FrameSep\fboxsep}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\fvset{framerule,framesep}
-% \end{macrocode}
-%
-% \begin{macro}{\FancyVerbRuleColor}
-% \begin{macrocode}
-\define@key{FV}{rulecolor}{%
- \def\@tempa{#1}%
- \ifx\@tempa\FV@None
- \let\FancyVerbRuleColor\relax
- \else
- \let\FancyVerbRuleColor\@tempa
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FancyVerbFillColor}
-% \begin{macrocode}
-\define@key{FV}{fillcolor}{%
- \def\@tempa{#1}%
- \ifx\@tempa\FV@None
- \let\FancyVerbFillColor\relax
- \else
- \let\FancyVerbFillColor\@tempa
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\fvset{rulecolor=none,fillcolor=none}
-% \end{macrocode}
-%
-% \begin{macro}{\FV@Frame@double}
-% \begin{macrocode}
-\def\FV@Frame@double{%
- \let\FV@FrameBegin\FV@FrameBegin@double
- \let\FV@FrameLine\FV@FrameLine@double
- \let\FV@FrameEnd\FV@FrameEnd@double}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\define@key{FV}{frame}[none]{%
- \@ifundefined{FV@Frame@#1}%
- {\FV@Error{Frame style `#1' not defined.}\FV@eha}%
- {\@nameuse{FV@Frame@#1}}}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\fvset{frame=none}
-% \end{macrocode}
-%
-%
-% Code line numbers:
-%
-% \begin{macrocode}
-\newcounter{FancyVerbLine}
-% \end{macrocode}
-%
-% \begin{macro}{\FV@SetLineNo}
-% \begin{macrocode}
-\define@key{FV}{firstnumber}[auto]{%
- \def\@tempa{#1}\def\@tempb{auto}%
- \ifx\@tempa\@tempb
- \def\FV@SetLineNo{%
- \c@FancyVerbLine\FV@CodeLineNo
- \advance\c@FancyVerbLine\m@ne}%
- \else
- \def\@tempb{last}%
- \ifx\@tempa\@tempb
- \let\FV@SetLineNo\relax
- \else
-%% DG/SR modification begin - Jan. 19, 1998
-%% \def\FV@SetLineNo{\c@FancyVerbLine#1}%
- \def\FV@SetLineNo{%
- \c@FancyVerbLine#1
- \advance\c@FancyVerbLine\m@ne}%
-%% DG/SR modification end
- \fi
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v2.6}{1998/07/17}{Add the ``numberblanklines'' parameter to allow
-% to don't number empty lines (suggested by
-% Philippe Esperet on April 25, 1998).}
-%
-% \ifChangeBar\begin{changebar}\fi
-% \begin{macro}{\if@FV@NumberBlankLines}
-% \begin{macrocode}
-\define@booleankey{FV}{numberblanklines}%
- {\let\if@FV@NumberBlankLines\iftrue}
- {\let\if@FV@NumberBlankLines\iffalse}
-\fvset{numberblanklines=true}
-% \end{macrocode}
-% \end{macro}
-% \ifChangeBar\end{changebar}\fi
-%
-% \changes{v2.6}{1998/07/17}{Correct a bug which didn't allow to use the label
-% macro in verbatim env.
-% (reported by Philippe Esperet on May 20, 1998).}
-%
-% \ifChangeBar\mbox{}\begin{changebar}\fi
-% \begin{macro}{\FV@refstepcounter}
-% \begin{macrocode}
-%% DG/SR modification begin - May. 20, 1998
-%%\def\refstepcounter#1{% Adapted from latex.ltx
-\def\FV@refstepcounter#1{%
-%% DG/SR modification end
- \stepcounter{#1}%
- \protected@edef\@currentlabel
- {\csname p@#1\endcsname\arabic{FancyVerbLine}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@StepLineNo}
-% \begin{macrocode}
-\def\FV@StepLineNo{%
- \FV@SetLineNo%
- \def\FV@StepLineNo{%
- \if@FV@NumberBlankLines%
- \FV@refstepcounter{FancyVerbLine}%
- \else%
- \ifx\FV@Line\empty%
- \else%
- \FV@refstepcounter{FancyVerbLine}%
- \fi%
- \fi}%
- \FV@StepLineNo}
-% \end{macrocode}
-% \end{macro}
-% \ifChangeBar\end{changebar}\mbox{}\fi
-%
-% \begin{macro}{\theFancyVerbLine}
-% \begin{macrocode}
-%% DG/SR modification begin - 1995
-%%\def\theFancyVerbLine{\rm\tiny\arabic{FancyVerbLine}}
-\def\theFancyVerbLine{\rmfamily\tiny\arabic{FancyVerbLine}}
-%% DG/SR modification end
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\define@key{FV}{numbers}[none]{%
- \@ifundefined{FV@Numbers@#1}%
- {\FV@Error{Numbers style `#1' not defined.}\FV@eha}%
- {\@nameuse{FV@Numbers@#1}}}
-% \end{macrocode}
-%
-% (D.G. -- Dec. 20, 1995 and Jan. 28, 1998):
-%
-% Add-on to allow a step when printing the lines counter
-% (``\texttt{stepnumber''} keyword)
-%
-% Add-on to allow the counter to be printed on right side
-% (\texttt{numbers=right})
-%
-% \begin{macro}{\FV@Numbers@none}
-% \begin{macrocode}
-%% DG modification begin - Dec. 20, 1995 and Jan. 28, 1998
-%%\def\FV@Numbers@none{\let\FV@LeftListNumber\relax}
-\def\FV@Numbers@none{%
-\let\FV@LeftListNumber\relax
-\let\FV@RightListNumber\relax}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\newcount\FV@StepNumber
-\define@key{FV}{stepnumber}{\FV@StepNumber#1}
-% \end{macrocode}
-%
-% \begin{macro}{\KV@FV@stepnumber@default}
-% \begin{macrocode}
-\def\KV@FV@stepnumber@default{\FV@StepNumber\@ne}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\fvset{stepnumber}
-% \end{macrocode}
-%
-% ^^A `changebar' bug... \ifChangeBar\mbox{}\begin{changebar}\fi
-% \begin{macro}{\FV@Numbers@left}
-% \begin{macrocode}
-%% DG modification begin - Dec. 20, 1995
-%%\def\FV@Numbers@left{%
-%% \def\FV@LeftListNumber{\hbox to\z@{%
-%% \hss\theFancyVerbLine\kern\FV@NumberSep}}}
-\def\FV@Numbers@left{%
-%% DG/SR modification begin - Apr. 28, 1998
- \let\FV@RightListNumber\relax
-%% DG/SR modification end
- \def\FV@LeftListNumber{%
- \@tempcnta=\FV@CodeLineNo
- \@tempcntb=\FV@CodeLineNo
- \divide\@tempcntb\FV@StepNumber
- \multiply\@tempcntb\FV@StepNumber
- \ifnum\@tempcnta=\@tempcntb
-%% DG/SR modification begin - Apr. 28, 1998
-%% \hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}%
- \if@FV@NumberBlankLines
- \hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}%
- \else
- \ifx\FV@Line\empty
- \else
- \hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}%
- \fi
- \fi
-%% DG/SR modification end
- \fi}}
-% \end{macrocode}
-% \end{macro}
-% ^^A `changebar' bug... \ifChangeBar\end{changebar}\fi
-%
-% \ifChangeBar\begin{changebar}\fi
-% \begin{macro}{\FV@Numbers@right}
-% \begin{macrocode}
-\def\FV@Numbers@right{%
-%% DG/SR modification begin - Apr. 28, 1998
- \let\FV@LeftListNumber\relax
-%% DG/SR modification end
- \def\FV@RightListNumber{%
- \@tempcnta=\FV@CodeLineNo
- \@tempcntb=\FV@CodeLineNo
- \divide\@tempcntb\FV@StepNumber
- \multiply\@tempcntb\FV@StepNumber
- \ifnum\@tempcnta=\@tempcntb
-%% DG/SR modification begin - Apr. 28, 1998
-%% \hbox to \z@{\kern\FV@NumberSep\theFancyVerbLine\hss}%
- \if@FV@NumberBlankLines
- \hbox to\z@{\kern\FV@NumberSep\theFancyVerbLine\hss}%
- \else
- \ifx\FV@Line\empty
- \else
- \hbox to\z@{\kern\FV@NumberSep\theFancyVerbLine\hss}%
- \fi
- \fi
-%% DG/SR modification end
- \fi}}
-%% DG modification end
-% \end{macrocode}
-% \end{macro}
-% \ifChangeBar\end{changebar}\fi
-%
-% \begin{macro}{\FV@NumberSep}
-% \begin{macrocode}
-\define@key{FV}{numbersep}{%
- \@tempdima=#1\relax
- \edef\FV@NumberSep{\number\@tempdima sp\relax}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\fvset{numbers=none,numbersep=12pt,firstnumber=auto}
-% \end{macrocode}
-%
-% \subsection{BVerbatim}
-%
-% \DescribeEnv{BVerbatim}
-% \begin{macrocode}
-\def\FV@BVerbatimBegin{%
- \begingroup
- \FV@UseKeyValues
- \FV@BeginVBox
- \let\FV@ProcessLine\FV@BProcessLine
- \FV@FormattingPrep
- \FV@ObeyTabsInit}%
-\def\FV@BVerbatimEnd{\FV@EndVBox\endgroup}
-% \end{macrocode}
-%
-% \begin{macro}{\FV@BeginVBox}
-% \begin{macrocode}
-\def\FV@BeginVBox{%
- \leavevmode
- \hbox\ifx\FV@boxwidth\relax\else to\FV@boxwidth\fi\bgroup
- \ifcase\FV@baseline\vbox\or\vtop\or$\vcenter\fi\bgroup}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@EndVBox}
-% \begin{macrocode}
-\def\FV@EndVBox{\egroup\ifmmode$\fi\hfil\egroup}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@boxwidth}
-% \begin{macrocode}
-\define@key{FV}{boxwidth}{%
- \def\@tempa{#1}\def\@tempb{auto}%
- \ifx\@tempa\@tempb
- \let\FV@boxwidth\relax
- \else
- \@tempdima=#1\relax
- \edef\FV@boxwidth{\number\@tempdima sp}%
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\KV@FV@boxwidth@default}
-% \begin{macrocode}
-\def\KV@FV@boxwidth@default{\let\FV@boxwidth\relax}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@baseline}
-% \begin{macrocode}
-\define@key{FV}{baseline}{%
- \if t#1\@empty\let\FV@baseline\@ne\else
- \if c#1\@empty\let\FV@baseline\tw@\else\let\FV@baseline\z@\fi
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\fvset{baseline=b,boxwidth}
-% \end{macrocode}
-%
-% \begin{macro}{\FV@BProcessLine}
-% \begin{macrocode}
-\def\FV@BProcessLine#1{\hbox{\FancyVerbFormatLine{#1}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FVB@BVerbatim}
-% \begin{macrocode}
-\def\FVB@BVerbatim{\FV@BVerbatimBegin\FV@Scan}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FVE@BVerbatim}
-% \begin{macrocode}
-\def\FVE@BVerbatim{\FV@BVerbatimEnd}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\DefineVerbatimEnvironment{BVerbatim}{BVerbatim}{}
-% \end{macrocode}
-%
-% \begin{macro}{\FV@BUseVerbatim}
-% \begin{macrocode}
-\def\FV@BUseVerbatim#1{\FV@BVerbatimBegin#1\FV@BVerbatimEnd}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\BVerbatimInput}
-% \begin{macrocode}
-\def\BVerbatimInput{\FV@Command{}{BVerbatimInput}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FVC@BVerbatimInput}
-% \begin{macrocode}
-\def\FVC@BVerbatimInput#1{\FV@BUseVerbatim{\FV@Input{#1}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Save verbatim}
-%
-% \DescribeEnv{SaveVerbatim}
-% \begin{macrocode}
-\def\SaveVerbatim{\FV@Environment{}{SaveVerbatim}}
-% \end{macrocode}
-%
-% \begin{macro}{\FVB@SaveVerbatim}
-% \begin{macrocode}
-\def\FVB@SaveVerbatim#1{%
- \@bsphack
- \begingroup
- \FV@UseKeyValues
-%% \FV@BeginVBox
-%% \let\FV@ProcessLine\FV@BProcessLine
-%% \FV@FormattingPrep
-%% \FV@ObeyTabsInit%
-%%
- \def\SaveVerbatim@Name{#1}%
- \gdef\FV@TheVerbatim{}%
- \def\FV@ProcessLine##1{%
- \expandafter\gdef\expandafter\FV@TheVerbatim\expandafter{%
- \FV@TheVerbatim\FV@ProcessLine{##1}}}%
- \gdef\FV@TheVerbatim{}%
- \FV@Scan}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FVE@SaveVerbatim}
-% \begin{macrocode}
-\def\FVE@SaveVerbatim{%
- \expandafter\global\expandafter\let
- \csname FV@SV@\SaveVerbatim@Name\endcsname\FV@TheVerbatim
-%% \expandafter\gdef
-%% \csname FV@SV@\SaveVerbatim@Name\endcsname{\FV@TheVerbatim}
-%% \FV@EndVBox
-%% \endgroup}
- \endgroup\@esphack}
-% \end{macrocode}
-% \end{macro}
-%
-% \DescribeEnv{SaveVerbatim}
-% \begin{macrocode}
-\DefineVerbatimEnvironment{SaveVerbatim}{SaveVerbatim}{}
-% \end{macrocode}
-%
-% \begin{macro}{\FV@CheckIfSaved}
-% \begin{macrocode}
-\def\FV@CheckIfSaved#1#2{%
- \@ifundefined{FV@SV@#1}%
- {\FV@Error{No verbatim text has been saved under name `#1'}\FV@eha}%
- {#2{\csname FV@SV@#1\endcsname}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\UseVerbatim}
-% \begin{macrocode}
-\def\UseVerbatim{\FV@Command{}{UseVerbatim}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FVC@UseVerbatim}
-% \begin{macrocode}
-\def\FVC@UseVerbatim#1{\FV@CheckIfSaved{#1}{\FV@UseVerbatim}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\LUseVerbatim}
-% \begin{macrocode}
-\def\LUseVerbatim{\FV@Command{}{LUseVerbatim}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FVC@LUseVerbatim}
-% \begin{macrocode}
-\def\FVC@LUseVerbatim#1{\FV@CheckIfSaved{#1}{\FV@LUseVerbatim}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\BUseVerbatim}
-% \begin{macrocode}
-\def\BUseVerbatim{\FV@Command{}{BUseVerbatim}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FVC@BUseVerbatim}
-% \begin{macrocode}
-\def\FVC@BUseVerbatim#1{\FV@CheckIfSaved{#1}{\FV@BUseVerbatim}}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Verbatim out}
-%
-% \begin{macrocode}
-\newwrite\FV@OutFile
-% \end{macrocode}
-%
-% \begin{macro}{\VerbatimOut}
-% \begin{macrocode}
-\def\VerbatimOut{\FV@Environment{}{VerbatimOut}}
-% \end{macrocode}
-% \end{macro}
-%
-% \ifChangeBar\begin{changebar}\fi
-% \begin{macro}{\FVB@VerbatimOut}
-% \begin{macrocode}
-\def\FVB@VerbatimOut#1{%
- \@bsphack
- \begingroup
- \FV@UseKeyValues
- \FV@DefineWhiteSpace
- \def\FV@Space{\space}%
- \FV@DefineTabOut
- \def\FV@ProcessLine{\immediate\write\FV@OutFile}%
- \immediate\openout\FV@OutFile #1\relax
- \let\FV@FontScanPrep\relax
-%% DG/SR modification begin - May. 18, 1998 (to avoid problems with ligatures)
- \let\@noligs\relax
-%% DG/SR modification end
- \FV@Scan}
-% \end{macrocode}
-% \end{macro}
-% \ifChangeBar\end{changebar}\fi
-%
-% \begin{macro}{\FVE@VerbatimOut}
-% \begin{macrocode}
-\def\FVE@VerbatimOut{\immediate\closeout\FV@OutFile\endgroup\@esphack}
-% \end{macrocode}
-% \end{macro}
-%
-% \DescribeEnv{VerbatimOut}
-% \begin{macrocode}
-\DefineVerbatimEnvironment{VerbatimOut}{VerbatimOut}{}
-% \end{macrocode}
-%
-% \begin{macro}{\FV@DefineTabOut}
-% \begin{macrocode}
-\def\FV@DefineTabOut{%
- \def\FV@Tab{}%
- \@tempcnta=\FancyVerbTabSize\relax
- \loop\ifnum\@tempcnta>\z@
- \edef\FV@Tab{\FV@Tab\space}%
- \advance\@tempcnta\m@ne
- \repeat}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Short verbatim}
-%
-% \cs{SaveVerb}
-%
-% Note ``\verb+\outer\def^^M{}+''. This is so that verbatim commands report an
-% error when encountering an end-of-line, rather than scanning to
-% the end of the file each time there is a missing verbatim delimiter.
-%
-% If scanning fails (and thus \TeX{} ignores \cs{FV@GetVerb}), \verb+#1+ is
-% defined to be empty, a group is ended, but \cs{FancyVerbAfterSave} is not
-% invoked.
-%
-% \begin{macro}{\FV@Command}
-% \begin{macrocode}
-\def\SaveVerb{\FV@Command{}{SaveVerb}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FVC@SaveVerb}
-% \begin{macrocode}
-\begingroup
-\catcode`\^^M=\active%
-\gdef\FVC@SaveVerb#1#2{%
- \@namedef{FV@SV@#1}{}%
- \begingroup%
- \FV@UseKeyValues%
- \FV@CatCodes%
- \outer\def^^M{\FV@EOL}%
- \global\let\@tempg\FancyVerbAfterSave%
- \catcode`#2=12%
- \def\@tempa{\def\FancyVerbGetVerb####1####2}%
- \expandafter\@tempa\string#2{\endgroup\@namedef{FV@SV@#1}{##2}\@tempg}%
- \FancyVerbGetVerb\FV@EOL}%
-\endgroup
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@EOL}
-% \begin{macrocode}
-\def\FV@EOL{%
- \endgroup
- \FV@Error%
- {Could not find the end delimiter of a short verb command}%
- {You probably just forget the end delimiter of a \string\Verb\space or
- \string\SaveVerb^^J%
- command, or you broke the literal text across input lines.^^J%
- Hit <return> to procede.}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FancyVerbAfterSave}
-% \begin{macrocode}
-\define@key{FV}{aftersave}{\def\FancyVerbAfterSave{#1}}
-\fvset{aftersave=}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FV@UseVerb}
-% \begin{macrocode}
-\def\FV@UseVerb#1{\mbox{\FV@UseKeyValues\FV@FormattingPrep#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\UseVerb}
-% \begin{macrocode}
-\def\UseVerb{\FV@Command{}{UseVerb}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FVC@UseVerb}
-% \begin{macrocode}
-\def\FVC@UseVerb#1{%
- \@ifundefined{FV@SV@#1}%
- {\FV@Error{Short verbatim text never saved to name `#1'}\FV@eha}%
- {\FV@UseVerb{\@nameuse{FV@SV@#1}}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\Verb}
-% \begin{macrocode}
-\def\Verb{\FV@Command{}{Verb}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FVC@Verb}
-% \begin{macrocode}
-\begingroup
-\catcode`\^^M=\active%
-\gdef\FVC@Verb#1{%
- \begingroup%
- \FV@UseKeyValues%
- \FV@FormattingPrep%
- \FV@CatCodes%
- \outer\def^^M{}%
- \catcode`#1=12%
- \def\@tempa{\def\FancyVerbGetVerb####1####2}%
- \expandafter\@tempa\string#1{\mbox{##2}\endgroup}%
- \FancyVerbGetVerb\FV@EOL}%
-\endgroup
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DefineShortVerb}
-% \begin{macrocode}
-\def\DefineShortVerb{\FV@Command{}{DefineShortVerb}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FVC@DefineShortVerb}
-% \begin{macrocode}
-\def\FVC@DefineShortVerb#1{%
- \@ifundefined{FV@CC@\string#1}%
- {\FVC@@DefineShortVerb#1}%
- {\FV@Error{`\expandafter\@gobble\string#1' is already a short
- verb character.}\FV@eha}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FVC@@DefineShortVerb}
-% \begin{macrocode}
-\def\FVC@@DefineShortVerb#1{%
- \begingroup
- \lccode`\~=`#1%
- \lowercase{\gdef\@tempg{\edef~}\global\let\@temph~}%
- \endgroup
- \expandafter\let\csname FV@AC@\string#1\endcsname\@temph
- \expandafter\edef\csname FV@CC@\string#1\endcsname{\the\catcode`#1}%
- \expandafter\let\csname FV@KV@\string#1\endcsname\FV@KeyValues
- \@tempg{%
- \let\noexpand\FV@KeyValues\expandafter\noexpand
- \csname FV@KV@\string#1\endcsname
- \noexpand\FVC@Verb\expandafter\@gobble\string#1}%
- \expandafter\def\expandafter\dospecials\expandafter{\dospecials\do#1}%
- \expandafter\def\expandafter\@sanitize\expandafter{\@sanitize\@makeother#1}%
- \catcode`#1=\active}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\UndefineShortVerb}
-% \begin{macrocode}
-\def\UndefineShortVerb#1{%
- \@ifundefined{FV@CC@\string#1}%
- {\FV@Error{`\expandafter\@gobble\string#1' is not a short
- verb character}\FV@eha}%
- {\FV@UndefineShortVerb#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v2.6}{1998/07/17}{Correct a bug to undefine the macro associated
-% to short verbatim character
-% (reported by Mikhail Kolodin on June 12, 1998).}
-%
-% \ifChangeBar\begin{changebar}\fi
-% \begin{macro}{\FV@UndefineShortVerb}
-% \begin{macrocode}
-\def\FV@UndefineShortVerb#1{%
- \catcode`#1=\csname FV@CC@\string#1\endcsname
-%% DG/SR modification begin - Jun. 12, 1998
- \expandafter\let\csname FV@CC@\string#1\endcsname\relax
-%% DG/SR modification end
- \begingroup
- \lccode`\~=`#1%
- \lowercase{\gdef\@tempg{\let~}}%
- \endgroup
- \expandafter\@tempg\csname FV@AC@\string#1\endcsname
- \def\@tempa##1\do#1##2\@nil##3\@nil##4\@@nil{##3\def\dospecials{##1##2}\fi}%
- \expandafter\@tempa\dospecials\@nil\iftrue\@nil\do#1\@nil\iffalse\@nil\@@nil
- \def\@tempa##1\@makeother#1##2\@nil##3\@nil##4\@@nil{%
- ##3\def\@sanitize{##1##2}\fi}%
- \expandafter\@tempa\@sanitize\@nil\iftrue\@nil\do#1\@nil\iffalse\@nil\@@nil}
-% \end{macrocode}
-% \end{macro}
-% \ifChangeBar\end{changebar}\fi
-%
-% Moving verbatim. Need to worry about using separate identifier
-% for this class of verbatim, and
-%
-% \begin{macro}{\SaveMVerb}
-% \begin{macrocode}
-\def\SaveMVerb{\FV@Command{}{SaveMVerb}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FVC@SaveMVerb}
-% \begin{macrocode}
-\begingroup
-\catcode`\^^M=\active%
-\gdef\FVC@SaveMVerb#1#2{%
- \@ifundefined{FV@SVM@#1}{}%
- {\FV@Error{Moving verbatim name `#1' already used}%
- {I will overwrite the old definition. Hit <return> to continue.}}%
- \global\@namedef{FV@SVM@#1}{}%
- \begingroup%
- \let\FV@SavedKeyValues\FV@KeyValues%
- \FV@UseKeyValues%
- \FV@CatCodes%
- \outer\def^^M{}%
- \global\let\@tempg\FancyVerbAfterSave%
- \catcode`#2=12%
- \def\@tempa{\def\FancyVerbGetVerb####1####2}%
- \expandafter\@tempa\string#2{%
- \if@filesw
- \FV@DefineWhiteSpace%
- \let\FV@Space\space%
- \let\FV@Tab\space%
- \FV@MakeUnActive%
- \let\protect\string
- \immediate\write\@auxout{%
- \noexpand\SaveGVerb[\FV@SavedKeyValues]{#1}\string#2##2\string#2}%
- \fi
- \endgroup%
- \@namedef{FV@SV@#1}{##2}%
- \@tempg}%
- \FancyVerbGetVerb\FV@EOL}%
-\endgroup
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\SaveGVerb}
-% \begin{macrocode}
-\def\SaveGVerb{\FV@Command{}{SaveGVerb}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FVC@SaveGVerb}
-% \begin{macrocode}
-\begingroup
-\catcode`\^^M=\active%
-\gdef\FVC@SaveGVerb#1#2{%
- \global\@namedef{FV@SVG@#1}{}%
- \begingroup%
- \FV@UseKeyValues%
- \FV@CatCodes%
- \outer\def^^M{}%
- \catcode`#2=12%
- \def\@tempa{\def\FancyVerbGetVerb####1####2}%
- \expandafter\@tempa\string#2{\endgroup\global\@namedef{FV@SVG@#1}{##2}}%
- \FancyVerbGetVerb\FV@EOL}%
-\endgroup
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\UseMVerb}
-% \begin{macrocode}
-\def\UseMVerb{\protect\pUseMVerb}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\pUseMVerb}
-% \begin{macrocode}
-\def\pUseMVerb{\FV@Command{}{pUseMVerb}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FVC@pUseMVerb}
-% \begin{macrocode}
-\def\FVC@pUseMVerb#1{%
- \expandafter\ifx \csname FV@SVM@#1\endcsname\relax
- \expandafter\ifx \csname FV@SVG@#1\endcsname\relax
- \@warning{Moving verbatim text not defined for name `#1'}\FV@eha
- {\bf ??}%
- \else
- \FV@UseVerb{\@nameuse{FV@SVG@#1}}%
- \fi
- \else
- \FV@UseVerb{\@nameuse{FV@SVM@#1}}%
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\expandafter\ifx\csname documentclass\endcsname\relax
-% \end{macrocode}
-%
-% \DescribeEnv{lrbox}
-% \begin{macrocode}
- \def\lrbox#1{%
- \edef\@tempa{%
- \endgroup
- \setbox#1\hbox{%
- \begingroup\aftergroup}%
- \def\noexpand\@currenvir{\@currenvir}}%
- %\def\noexpand\@currenvline{\on@line}}%
- \@tempa
- \@endpefalse
- \bgroup
- \ignorespaces}
- \def\endlrbox{\unskip\egroup}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-%% DG/SR modification begin - Mar 21 2000
-%%\@input{fancyvrb.rc}
-\InputIfFileExists{fancyvrb.cfg}{}{}
-%% DG/SR modification end
-% \end{macrocode}
-%
-% \noindent Unused code - don't take care! (DG/SR)
-%
-% \noindent Error messages to void:
-%
-% \iffalse
-% \begin{verbatim}
-% \FV@CheckBadBegin
-% \FV@CheckBadEnd
-%
-% \define@key{FV}{noligs}{%
-% \def\FV@ActiveLigs{}%
-% \def\FV@DefineLigs{}%
-% \@tfor\@tempa:=#1\do{%
-% {\lccode`\~=`#1\relax\lowercase{\gdef\@tempg{~}}}%
-% \expandafter\FV@addtonoligs\@tempg}}
-% \def\FV@addtonoligs#1{%
-% \expandafter\def\expandafter\FV@ActiveLigs\expandafter{%
-% \FV@ActiveLigs\catcode`#1=\active}%
-% \expandafter\def\expandafter\FV@DefineLigs\expandafter{%
-% \FV@DefineLigs\edef#1{{\string#1}}}}
-%
-% \fvset{suppressligs=\'}
-%
-% \fvset{noligs={>,-}}
-% \fvset{suppressligs=\>}
-% \fvset{suppressligs=\<}
-%
-% \def\FV@Error#1#2{%
-% \edef\@tempc{#2}\expandafter\errhelp\expandafter{\@tempc}%
-% \typeout{%
-% ^^J** FancyVerb Error:\space\space
-% Type \space H <return> \space for immediate help. **}%
-% \errmessage{#1^^J}}
-% \end{verbatim}
-% \fi
-%</fancyvrb>
-%
-% \Finale
-%%% \PrintIndex
-% \PrintChanges
-%
-\endinput
-%%
-%% End of file `fancyvrb.dtx'
diff --git a/Master/texmf-dist/source/latex/fancyvrb/fancyvrb.ins b/Master/texmf-dist/source/latex/fancyvrb/fancyvrb.ins
deleted file mode 100644
index 4f6e0bae73d..00000000000
--- a/Master/texmf-dist/source/latex/fancyvrb/fancyvrb.ins
+++ /dev/null
@@ -1,35 +0,0 @@
-%% `fancyvrb.ins'
-%%
-%% Docstrip installation instruction file for docstyle `fancyvrb'
-%%
-%% Timothy Van Zandt (Princeton University - USA) <tvz@Princeton.EDU>
-%% June 24, 1998
-
-\def\batchfile{fancyvrb.ins}
-\input docstrip.tex
-\keepsilent
-\Msg{*** Generating the `fancyvrb' package ***}
-\askforoverwritefalse
-\generate{\file{fancyvrb.sty}{\from{fancyvrb.dtx}{fancyvrb}}}
-
-\ifToplevel{%
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the file}
-\Msg{* fancyvrb.sty searched by TeX.}
-\Msg{*}
-\Msg{* To produce the documentation, run the file `fvrb-ex.dtx'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* If you require the commented code, desactivating the}
-\Msg{* OnlyDescription macro, you must recompile, execute:}
-\Msg{* `makeindex -s PATH/gind.ist fancyvrb'}
-\Msg{* `makeindex -s PATH/gglo.ist -o fancyvrb.gls fancyvrb.glo'}
-\Msg{* and recompile.}
-\Msg{*}
-\Msg{***********************************************************}
-}
-
-\endinput
-%%
-%% End of file `fancyvrb.ins'
diff --git a/Master/texmf-dist/source/latex/fancyvrb/fvrb-ex.dtx b/Master/texmf-dist/source/latex/fancyvrb/fvrb-ex.dtx
deleted file mode 100644
index 65d24f0fd09..00000000000
--- a/Master/texmf-dist/source/latex/fancyvrb/fvrb-ex.dtx
+++ /dev/null
@@ -1,1564 +0,0 @@
-% \iffalse meta-comment, etc.
-%%
-%% Package `fvrb-ex' (`fvrb-ex', `hbaw' and `hcolor')
-%%
-%% COPYING:
-%% 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.0 or, at your option, any later version.
-%%
-%% Denis Girou (CNRS/IDRIS - France) <Denis.Girou@idris.fr> March 27, 1998
-%%
-% \fi
-%
-% \changes{v1.9}{2010/05/16}{Use LPPL as license and fix bug with loading pstricks (hv)}
-% \changes{v1.8}{2010/01/04}{Use ^^ instead of eight-bits chars. [KB/ER]}
-% \changes{v1.7}{1998/03/26}{First public release.}
-% \changes{v0.1}{1995}{First personal version.}
-%
-% \newif\ifmulticols
-% \IfFileExists{multicol.sty}{\multicolstrue}{\multicolsfalse}
-% \newif\ifpstricks
-% \IfFileExists{pstricks.sty}{\pstrickstrue}{\pstricksfalse}
-%
-% \DoNotIndex{\\,\^,\£,\§,\µ,\¶} ^^A Unefficient...
-% \DoNotIndex{\@defpar,\@gobble,\@ifnextchar,\@tempdimb}
-% \DoNotIndex{\active,\advance,\Answer@No,\Answer@Yes,\author}
-% \DoNotIndex{\begin,\begingroup,\box}
-% \DoNotIndex{\catcode,\center,\circle,\CodelineIndex,\color,\ColorVersion}
-% \DoNotIndex{\date,\DeclareOption,\def,\DocInput,\documentclass,\dp}
-% \DoNotIndex{\else,\EnableCrossrefs,\end,\endcenter,\endgroup,\endinput}
-% \DoNotIndex{\endpspicture,\expandafter}
-% \DoNotIndex{\fboxsep,\fcolorbox,\fi,\filedate,\fileversion,\footnotesize}
-% \DoNotIndex{\FV@XRightMargin,\fvset,\GetFileInfo,\hbadness,\hbox,\hfuzz}
-% \DoNotIndex{\iden,\IfFileExists,\ifmmode,\ifpstricks,\ifx,\input}
-% \DoNotIndex{\jobname,\large}
-% \DoNotIndex{\m@th,\maketitle,\mathbf,\mathit,\mathnormal}
-% \DoNotIndex{\mathsl,\mathtt,\message,\mu,\multiply}
-% \DoNotIndex{\NeedsTeXFormat,\newcommand,\newif,\newpsobject,\newread}
-% \DoNotIndex{\Oldmakeindex,\OnlyDescription}
-% \DoNotIndex{\par,\parindent,\pounds,\PrintChanges,\PrintIndex}
-% \DoNotIndex{\ProcessOptions,\ProvidesPackage,\psellipse,\pspicture}
-% \DoNotIndex{\PSTricksLoaded,\pstrickstrue,\put}
-% \DoNotIndex{\Question@Color,\Question@Mark}
-% \DoNotIndex{\read,\RecordChanges,\RecustomVerbatimEnvironment,\relax}
-% \DoNotIndex{\RequirePackage}
-% \DoNotIndex{\section,\setbox,\setlength,\smallskip,\space,\strip}
-% \DoNotIndex{\textbf,\textcolor,\textit,\textsc,\textsf,\textsl,\texttt}
-% \DoNotIndex{\textwidth,\title,\topsep,\ttyin}
-% \DoNotIndex{\underline,\unitlength,\usepackage}
-% \DoNotIndex{\VerbatimEnvironment,\VerbatimInput,\vspace,\z@}
-%
-% \setcounter{IndexColumns}{2}
-%
-% \newcommand{\FVrbPackage}{`\textsf{fancyvrb}'}
-% \newcommand{\FVrbExPackage}{`\textsf{fvrb-ex}'}
-% \newcommand{\HbawPackage}{`\textsf{hbaw}'}
-% \newcommand{\HcolorPackage}{`\textsf{hcolor}'}
-%
-% \title{The `\textsf{fvrb-ex}' package\\
-% Example environments\\with the \FVrbPackage{} package}
-% \author{Denis Girou\\CNRS/IDRIS\\Orsay -- France\\
-% {\footnotesize email: Denis.Girou@idris.fr}}
-% \date{Version 1.9\\\today}
-%
-% \maketitle
-%
-% \begin{abstract}
-% This package, built above the \FVrbPackage{} one (from Timothy
-% \textsc{van Zandt}), offer several kinds of the so-called \emph{example}
-% environments to format some code both in ``verbatim'' mode and in the
-% ``normal'' way, below or on the side. The advantage of such environments
-% is that the code itself is included only one time in the source code,
-% which allow to be sure of the consistence of the two versions shown.
-%
-% Some other kinds of such environments are specially devoted to graphics,
-% allowing to give the size of them. It is possible in this case to draw
-% also a grid.
-% \end{abstract}
-%
-% \ifmulticols
-% \setlength{\columnseprule}{0.6pt}
-% \begin{multicols}{2}
-% {\parskip 0pt ^^A We have to reset \parskip (bug in \LaTeX)
-% \fi
-% \tableofcontents
-% \ifmulticols
-% }
-% \end{multicols}
-% \fi
-%
-% \section{Introduction}
-%
-% These macros are based on some previous work of Timothy \textsc{van
-% Zandt}, adapted and developed to suit my personal needs.
-%
-% This package is built above the \FVrbPackage{} one (from Timothy
-% \textsc{van Zandt}), to offer some \emph{example} environments showing both
-% the code and it result. It main strength is that it allow to use all the
-% power of \FVrbPackage{}, with it great number of customization parameters.
-%
-% These macros can also be used in conjunction with the \HbawPackage{} and
-% \HcolorPackage{} packages, to allow to generate the verbatim code with
-% some \emph{highlighting} attributes to emphasize parts of the text.
-% It can also produce different effects according to the choice of a
-% \emph{colored} or \emph{black and white} version. This last facility was
-% developed for slides, to allow to generate them both in color for
-% projection and in black and white to distribute them as paper copy.
-%
-% Some special environments for graphic drawings allow to define directly
-% the size of them, without requiring to use also a \emph{picture}
-% environment. To be able to use them, the PSTricks package must be available,
-% even if these specialized environments can be used for graphics built with
-% another macro language than PSTricks.
-%
-% \begin{quote}
-% \textbf{\large Warning!} You must be aware that it has been reported
-% that this package doesn't work at all on some platforms, due to the way
-% the 8~bits characters are managed by some \TeX{} systems.
-% \end{quote}
-%
-% \section{User interface}
-%
-% \begin{quote}
-% \textbf{\large Warning!} We suppose here that you already know the
-% \FVrbPackage{} package. If not, look at it own documentation!
-% \end{quote}
-%
-% \subsection{Environments}
-%
-% \noindent Five new environments are defined:
-%
-% \begin{description}
-% \item[Example]: show the verbatim text and the formatted result below.
-% \item[CenterExample]: same than \texttt{Example}, but the result is
-% centered.
-% \item[SideBySideExample]: show the formatted result on the left and the
-% verbatim text on the right. The result is centered vertically according to
-% the text.
-% \item[PCenterExample]: same than \texttt{CenterExample}, but the
-% result is put inside a PSTricks \texttt{pspicture} environment. It is
-% undefined if PSTricks is not available. It is specially devoted to graphic
-% drawings, but not specially built with PSTricks itself. It require to
-% specify the dimensions of the graphic. In fact, it is the same thing than
-% to use the \texttt{CenterExample} environment and to put the material
-% inside a \LaTeX{} \texttt{picture} or PSTricks \texttt{pspicture}
-% environment, but it can be more convenient to have not to specify this
-% one explicitely.
-% \item[PSideBySideExample]: same than \texttt{SideBySideExample}, but the
-% result is put inside a PSTricks \texttt{pspicture} environment. The
-% preceding comments for \texttt{PCenterExample} are of course also valid
-% for it.
-% \end{description}
-%
-% \noindent The syntax of the first three is:
-%
-% \begin{Verbatim}
-% \begin{EnvironmentName}[optional_fancyvrb_arguments]
-% ..................................................
-% \end{EnvironmentName}
-% \end{Verbatim}
-%
-% \noindent and for the two last ones:
-%
-% \begin{Verbatim}
-% \begin{EnvironmentName}[opt_fvrb_args][(x_min,y_min)](x_max,y_max)
-% ................................................................
-% \end{EnvironmentName}
-% \end{Verbatim}
-%
-% In these last cases, default values for \verb+x_min+ and \verb+y_min+ are
-% 0.
-%
-% \subsection{Loading options}
-%
-% \begin{description}
-% \item[baw] : allow highlighting for a \emph{b}lack \emph{a}nd \emph{w}hite
-% version. In this case the \HbawPackage{} will be loaded and it definitions
-% will be active to emphasize texts.
-% \item[color] : allow highlighting for a \emph{color} version. In this case
-% the \HcolorPackage{} will be loaded and it definitions will be active to
-% emphasize texts.
-% \item[bawcolor] : doesn't specify in the file if it will be a \emph{b}lack
-% \emph{a}nd \emph{w}hite or a \emph{color} version to generate. A question
-% will be asked interactively at compile time. This allow to generate at
-% choice one of the two versions without any change in the file.
-% \item[pstricks] : require the loading of PSTricks (which of course must be
-% available on the system) to be able to use the special environments
-% devoted to graphics (but not at all mandatory PSTricks graphics).
-% \end{description}
-%
-% Of course, these three keywords are mutually exclusive. If none of the
-% \texttt{baw}, \texttt{color} or \texttt{bawcolor} keyword is specified,
-% none of the supplementary files will be loaded.
-%
-% \subsection{\FVrbPackage{} options imposed}
-%
-% \noindent The following \FVrbPackage{} parameters are imposed:
-%
-% \begin{description}
-% \item[gobble=2]: each line inside these environments is supposed to be
-% indented by 2 characters. It only concern the aspect of the source code,
-% which will be more readable like that.
-% \item[numbersep=3pt]: it will be effective only if \texttt{numbers=left}
-% or \texttt{numbers=right} will be chosen.
-% \item[commentchar=W]: it is the comment character for the source text,
-% which will not be printed in the verbatim part, but executed in the
-% formatted part. So, it allow to have the example not generated by the code
-% shown, which can be surprising for readers and must be used only with
-% care in special circumstances! Character chosen is 163 (£). If it cannot
-% be used on your system or if you have it inside your verbatim text, you
-% must change it by yourself in the package file.
-% \item[commandchars=XYZ]: respectively the \emph{escape}, \emph{beginning
-% of group} and \emph{end of group} characters, to allow escape sequences
-% (\LaTeX{} commands as font and color changes) to be applied on the
-% verbatim text, using the \HbawPackage{} or \HcolorPackage{} packages.
-% These characters are specially chosen to probably be used by nobody in
-% their codes... Characters chosen are those of codes 167, 181 and 182
-% (§µ¶). If they cannot be used on your system or if you have some of them
-% inside your verbatim text, you must made yourself the relevant changes in
-% the three files of the package.
-% \end{description}
-%
-% \section{Usage examples}
-%
-% \subsection{Usage of the environments}
-%
-% \RecustomVerbatimEnvironment{Verbatim}{Verbatim}
-% {gobble=4,commentchar=£,numbers=left,numbersep=3pt,frame=single}
-%
-% \begin{Verbatim}
-% \begin{Example}
-% First verbatim line.
-% Second verbatim line.
-% Third verbatim line.
-% \end{Example}
-% \end{Verbatim}
-%
-% \begin{Example}
-% First verbatim line.
-% Second verbatim line.
-% Third verbatim line.
-% \end{Example}
-%
-% \vspace{5mm}
-% It is possible to customize the verbatim environments as in the standard
-% way defined by \FVrbPackage{}, locally as argument of the
-% environment\footnote{Take care that you must define these parameters
-% directly for the \texttt{Example}, \texttt{CenterExample} and
-% \texttt{SideBySideExample} environments, but that you must put them inside
-% a \cs{fvset} macro for the \texttt{PCenterExample} and
-% \texttt{PSideBySideExample} ones, as in these cases you can also specify
-% some PSTricks parameters, using the \cs{psset} macro.},
-% or globally using the \cs{fvset} command.
-%
-% \begin{Verbatim}
-% \begin{Example}[frame=lines,framerule=1mm,numbers=left]
-% First verbatim line.
-% Second verbatim line.
-% Third verbatim line.
-% \end{Example}
-% \end{Verbatim}
-%
-% \begin{Example}[frame=lines,framerule=1mm,numbers=left]
-% First verbatim line.
-% Second verbatim line.
-% Third verbatim line.
-% \end{Example}
-%
-% \begin{Verbatim}
-% \begin{CenterExample}[frame=single,numbers=right]
-% First verbatim line.
-% Second verbatim line.
-% Third verbatim line.
-% \end{CenterExample}
-% \end{Verbatim}
-%
-% \begin{CenterExample}[frame=single,numbers=right]
-% First verbatim line.
-% Second verbatim line.
-% Third verbatim line.
-% \end{CenterExample}
-%
-% \newlength\MyLength
-% \MyLength=\textwidth
-% \advance\MyLength -4.7cm
-%
-% \noindent
-% \begin{minipage}{4.7cm}
-% \begin{SideBySideExample}[xrightmargin=3cm,numbers=left]
-% First
-% Second
-% \end{SideBySideExample}
-% \end{minipage}%
-% \begin{minipage}{\MyLength}
-% \begin{Verbatim}
-% \begin{SideBySideExample}
-% [xrightmargin=3cm,numbers=left]
-% First
-% Second
-% \end{SideBySideExample}
-% \end{Verbatim}
-% \end{minipage}
-%
-% \ifpstricks ^^A If PSTricks is available
-% \vspace{5mm}
-% As explained, the \texttt{PCenterExample} and \texttt{PSideBySideExample}
-% environments, specially devoted to graphics, put their contents inside a
-% PSTricks \texttt{pspicture} environment\footnote{The $*$ convention of the
-% \texttt{pspicture} environment is not accepted here.}. So, we must define
-% the size of it.
-%
-% \begin{Verbatim}
-% \fvset{frame=lines,framerule=0.5mm,numbers=left}
-%
-% \begin{PCenterExample}(-0.5,-0.5)(0.5,0.5)
-% \setlength{\unitlength}{1cm}
-% \put(0,0){\circle{1}}
-% \end{PCenterExample}
-% \end{Verbatim}
-%
-% \begin{PCenterExample}[frame=lines,framerule=0.5mm,numbers=left]%
-% (-0.5,-0.5)(0.5,0.5)
-% \setlength{\unitlength}{1cm}
-% \put(0,0){\circle{1}}
-% \end{PCenterExample}
-%
-% \noindent So, it is the same thing than to do:
-%
-% \begin{Verbatim}
-% \fvset{frame=lines,framerule=0.5mm,numbers=left}
-%
-% \begin{CenterExample}
-% \setlength{\unitlength}{1cm}
-% \begin{picture}(1,1)(-0.5,-0.5)
-% \put(0,0){\circle{1}}
-% \end{picture}
-% \end{CenterExample}
-% \end{Verbatim}
-%
-% \begin{CenterExample}[frame=lines,framerule=0.5mm,numbers=left]
-% \setlength{\unitlength}{1cm}
-% \begin{picture}(1,1)(-0.5,-0.5)
-% \put(0,0){\circle{1}}
-% \end{picture}
-% \end{CenterExample}
-%
-% Using the\cs{showgrid} macro, we can require to superpose the graphic
-% above a grid, which can help to built it as desired. The size of the
-% picture must be at least of 1 unit in this case, and the grid is rounded to
-% the next greater integer.
-%
-% \begin{Verbatim}
-% \showgrid
-% \begin{PCenterExample}[frame=single,numbers=left](-1,-1)(1,1)
-% \setlength{\unitlength}{1cm}
-% \put(0,0){\circle{1}}
-% \end{PCenterExample}
-% \end{Verbatim}
-%
-% {\showgrid
-% \begin{PCenterExample}[frame=single,numbers=left](-1,-1)(1,1)
-% \setlength{\unitlength}{1cm}
-% \put(0,0){\circle{1}}
-% \end{PCenterExample}
-% }
-%
-% \begin{Verbatim}
-% \fvset{frame=single,xrightmargin=5cm}
-% \begin{PSideBySideExample}(-2,-1)(2,1)
-% \psellipse*[linecolor=yellow](2,1)
-% \end{PSideBySideExample}
-%
-% \showgrid
-% \begin{PSideBySideExample}(-2,-1)(2,1)
-% \psellipse[linestyle=dashed](2,1)
-% \end{PSideBySideExample}
-% \end{Verbatim}
-%
-% {\fvset{frame=single,xrightmargin=5cm}
-% \begin{PSideBySideExample}(-2,-1)(2,1)
-% \psellipse*[linecolor=yellow](2,1)
-% \end{PSideBySideExample}
-%
-% \showgrid
-% \begin{PSideBySideExample}(-2,-1)(2,1)
-% \psellipse[linestyle=dashed](2,1)
-% \end{PSideBySideExample}
-% }
-%
-% \vspace{5mm}
-% The special £ character defined as the comment for \FVrbPackage{} must be
-% used with care, as it allow to change the code run in the formatted part
-% without showing these changes in the verbatim part. So, the code shown will
-% not correspond any more in this case to the one which produce the result...
-% (we must take care also to do not indent these lines, otherwise we will
-% change the formatting...).
-%
-% Nevertheless, in very special circumstances, it allow to do special tricks.
-%
-% \begin{Verbatim}[commentchar=Z]
-% \begin{CenterExample}[frame=lines,framerule=0.5mm]
-% First verbatim line.
-% £\textit{%
-% Second verbatim line.
-% £}
-% £\LARGE
-% Third verbatim line.
-% \end{CenterExample}
-% \end{Verbatim}
-%
-% \begin{CenterExample}[frame=lines,framerule=0.5mm]
-% First verbatim line.
-% £\textit{%
-% Second verbatim line.
-% £}
-% £\LARGE
-% Third verbatim line.
-% \end{CenterExample}
-%
-% \else ^^A If PSTricks is not available
-% \begin{quote}
-% \textbf{\large Warning!} The \texttt{PCenterExample} and
-% \texttt{PSideBySideExample} are not demonstrated here, because PSTricks
-% was not found on your platform.
-% \end{quote}
-% \fi
-%
-% \subsection{Usage of the \HbawPackage{} and \HcolorPackage{} packages}
-%
-% If the option \texttt{baw}, \texttt{color} or \texttt{bawcolor} is chosen,
-% we can use special commands to emphasize text in the verbatim formatting.
-% It allow mainly to change the font or the color of special parts of the text.
-%
-% \noindent Here we suppose that the package option \texttt{baw} for the
-% \FVrbExPackage{} has been chosen:
-%
-% \begin{Verbatim}
-% \begin{CenterExample}[frame=single,numbers=right]
-% §HLaµFirst¶ verbatim line.
-% §HLbµSecond¶ verbatim line.
-% §HLCBWzµThird¶ verbatim line.
-% \end{CenterExample}
-% \end{Verbatim}
-%
-% \begin{CenterExample}[frame=single,numbers=right]
-% §HLaµFirst¶ verbatim line.
-% §HLbµSecond¶ verbatim line.
-% §HLCBWzµThird¶ verbatim line.
-% \end{CenterExample}
-%
-% \ifpstricks ^^A If PSTricks is available
-% \begin{Verbatim}
-% \fvset{frame=single}
-% \begin{PSideBySideExample}[xrightmargin=5.5cm](-2,-1)(2,1)
-% \psellipse[linestyle=§HLCBWzµdashed¶](2,1)
-% \end{PSideBySideExample}
-%
-% \begin{PSideBySideExample}[xrightmargin=4.5cm](-2,-1)(2,1)
-% \psellipse[linestyle=§HLbµdotted¶](2,1)
-% \end{PSideBySideExample}
-% \end{Verbatim}
-%
-% {\fvset{frame=single}
-% \begin{PSideBySideExample}[xrightmargin=5.5cm](-2,-1)(2,1)
-% \psellipse[linestyle=§HLCBWzµdashed¶](2,1)
-% \end{PSideBySideExample}
-%
-% \begin{PSideBySideExample}[xrightmargin=4.5cm](-2,-1)(2,1)
-% \psellipse[linestyle=§HLbµdotted¶](2,1)
-% \end{PSideBySideExample}
-% }
-% \fi
-%
-% \subsection{Thanks}
-%
-% I thank you Sebastian \textsc{Rahtz} \verb+<s.rahtz@elsevier.co.uk>+,
-% Thomas \textsc{Siegel} \verb+<siegel@aix520.informatik.uni-leipzig.de>+ and
-% Rolf \textsc{Niepraschk}\break\relax \verb+<niepraschk@ptb.de>+ for their
-% tests and comments on preliminary versions of this package.
-%
-%
-% ^^A .................... End of the documentation part ....................
-%
-% \section{Driver file}
-%
-% The next bit of code contains the documentation driver file for \TeX{},
-% i.e., the file that will produce the documentation you are currently
-% reading. It will be extracted from this file by the \texttt{docstrip}
-% program.
-%
-% \begin{macrocode}
-%<*driver>
-\documentclass{ltxdoc}
-\GetFileInfo{fvrb-ex.dtx}
-\usepackage[baw,pstricks]{fvrb-ex}
-\EnableCrossrefs
-\CodelineIndex
-\RecordChanges
-%%\OnlyDescription % Comment it for implementation details
-%\Oldmakeindex % Uncomment if your MakeIndex is pre-0.9
-\hbadness=7000 % Over and under full box warnings
-\begin{document}
- % To be able to use the letter "mu"
- \catcode`\^^b5=\active
- \def^^b5{$\mu$}
- % To be able to use the letter "pound"
- \catcode`\^^a3=\active
- \def^^a3{$\pounds$}
- \DocInput{fvrb-ex.dtx}
-\end{document}
-%</driver>
-% \end{macrocode}
-%
-% \section{\FVrbExPackage{} code}
-%
-%<*fvrb-ex>
-%
-% \iffalse meta-comment, etc.
-%% Package `fvrb-ex'
-%%
-% \fi
-%
-% \subsection{Preambule and options management}
-%
-% What we need.
-% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-% \end{macrocode}
-%
-% Who we are.
-% \begin{macrocode}
-\def\fileversion{1.9}
-\def\filedate{2010/05/16}
-\ProvidesPackage{fvrb-ex}[\filedate]
-\message{`fvrb-ex' v\fileversion, \filedate\space (Denis Girou)}
-% \end{macrocode}
-%
-% Require PSTricks if specified (to define the \texttt{PCenterExample} and
-% \texttt{PSideBySideExample} environments).
-% \begin{macrocode}
-\newif\ifpstricks\pstricksfalse
-\let\LoadPStricks=\relax
-\DeclareOption{pstricks}{\def\LoadPStricks{\RequirePackage{pstricks}}\pstrickstrue}
-% \end{macrocode}
-%
-% Declaration of the explicit black and white version.
-% \begin{macrocode}
-\DeclareOption{baw}{\def\ColorVersion{n}}
-% \end{macrocode}
-%
-% Declaration of the explicit color version.
-% \begin{macrocode}
-\DeclareOption{color}{\def\ColorVersion{y}}
-% \end{macrocode}
-%
-% Declaration option to choose black and white or color version.
-% \begin{macrocode}
-\DeclareOption{bawcolor}{\def\ColorVersion{?}}
-% \end{macrocode}
-%
-% Process the options.
-% \begin{macrocode}
-\ProcessOptions\relax
-\LoadPStricks
-% \end{macrocode}
-%
-% Require the \FVrbPackage{} package.
-% \begin{macrocode}
-\ifpstricks\RequirePackage{pstricks}\fi
-\RequirePackage{fancyvrb}
-% \end{macrocode}
-%
-% To ask an interactive question if necessary (code from `docstrip').
-% \begin{macrocode}
-\newread\ttyin
-\def\iden#1{#1}
-\def\strip#1#2 \@gobble{\def #1{#2}}
-\def\@defpar{\par}
-\def\@gobble#1{}
-\def\Ask#1#2{%
-\message{#2}\read\ttyin to #1\ifx#1\@defpar\def#1{}\else
-\iden{\expandafter\strip\expandafter#1#1\@gobble\@gobble} \@gobble\fi}
-% \end{macrocode}
-%
-% To be able to ask later to choose between color and black and white version.
-% \begin{macro}{\Answer@Yes}
-% \begin{macrocode}
-\def\Answer@Yes{y}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\Answer@No}
-% \begin{macrocode}
-\def\Answer@No{n}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\Question@Mark}
-% \begin{macrocode}
-\def\Question@Mark{?}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\Question@Color}
-% \begin{macrocode}
-\def\Question@Color{Color version? (y=yes)}
-% \end{macrocode}
-% \end{macro}
-%
-% For the highlighting style (color or black and white version), if defined.
-%
-% \begin{macro}{\Highlight@Attributes}
-% \begin{macrocode}
-\def\Highlight@Attributes{} % Default=nothing
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\NoHighlight@Attributes}
-% \begin{macrocode}
-\def\NoHighlight@Attributes{} % Default=nothing
-% \end{macrocode}
-% \end{macro}
-%
-% Forced choice of the \emph{black and white} version.
-% \begin{macrocode}
-\ifx\ColorVersion\Answer@Yes
- \RequirePackage{color} % Standard LaTeX `color' package
- \RequirePackage{hcolor} % Color version
-\fi
-% \end{macrocode}
-%
-% Forced choice of the \emph{color} version.
-% \begin{macrocode}
-\ifx\ColorVersion\Answer@No
- \RequirePackage{color} % Standard LaTeX `color' package
- \RequirePackage{hbaw} % Black and white version
-\fi
-% \end{macrocode}
-%
-% Choice of the highlighting style (color, black and white or nothing).
-% \begin{macrocode}
-\ifx\ColorVersion\Question@Mark
- \Ask\ColorVersion{^^J\Question@Color}
- \ifx\ColorVersion\Answer@Yes
- \RequirePackage{color} % Standard LaTeX `color' package
- \RequirePackage{hcolor} % Color version
- \else
- \RequirePackage{color} % Standard LaTeX `color' package
- \RequirePackage{hbaw} % Black and white version
- \fi
-\fi
-% \end{macrocode}
-%
-% Verbatim example environments must be indented by two spaces, which should
-% be ignored.
-% \begin{macrocode}
-\fvset{gobble=2}
-% \end{macrocode}
-%
-% To decide later if the result must be surimpose on a grid (useful only if
-% PSTricks is available).
-% \begin{macrocode}
-\newif\ifFvrbEx@Grid
-% \end{macrocode}
-%
-% \subsection{The various example environments}
-%
-% \DescribeEnv{Example}
-% \texttt{Example} is an environment to show the verbatim code and
-% the result just below.
-% \begin{macrocode}
-\def\Example{%
-\catcode`\^^M=\active
-\@ifnextchar[{\catcode`\^^M=5\Example@}{\catcode`\^^M=5\Begin@Example}}
-% \end{macrocode}
-%
-% \cs{endExample} is a macro for the \texttt{Example} environment to close
-% the verbatim part and to put the formatted result below.
-% \begin{macrocode}
-\def\endExample{%
-\end{VerbatimOut}%
-\Below@Example{\input{\jobname.tmp}}}
-% \end{macrocode}
-%
-% \begin{macro}{\Example@}
-% \cs{Example@} is an internal macro to set locally the \FVrbPackage{} options
-% if needed (both for the \texttt{Example}, \texttt{CenterExample} and
-% \texttt{SideBySideExample} environments).
-% \begin{macrocode}
-\def\Example@[#1]{\fvset{#1}\Begin@Example}
-% \end{macrocode}
-% \end{macro}
-%
-% \DescribeEnv{CenterExample}
-% \texttt{CenterExample} is an environment to show the verbatim code and
-% the result just below, inside a \texttt{center} environment.
-% \begin{macrocode}
-\def\CenterExample{%
-\catcode`\^^M=\active
-\@ifnextchar[{\catcode`\^^M=5\Example@}{\catcode`\^^M=5\Begin@Example}}
-% \end{macrocode}
-%
-% \begin{macro}{\endCenterExample}
-% \cs{endCenterExample} is a macro for the \texttt{CenterExample}
-% environment to close the verbatim part and to put the formatted result below,
-% centering it.
-% \begin{macrocode}
-\def\endCenterExample{%
-\end{VerbatimOut}%
-\center
-\Below@Example{\input{\jobname.tmp}}
-\endcenter}
-% \end{macrocode}
-% \end{macro}
-%
-% \DescribeEnv{SideBySideExample}
-% \texttt{SideBySideExample} is an environment to show the verbatim code and
-% the result on the left, using a \texttt{minipage} environment.
-% \begin{macrocode}
-\def\SideBySideExample{%
-\catcode`\^^M=\active
-\@ifnextchar[{\catcode`\^^M=5\Example@}%
- {\catcode`\^^M=5\Begin@Example}}
-% \end{macrocode}
-%
-% \begin{macro}{\endSideBySideExample}
-% \cs{endSideBySideExample} is a macro for the \texttt{SideBySideExample}
-% environment to close the verbatim part and to put the formatted result on
-% the left side.
-% \begin{macrocode}
-\def\endSideBySideExample{%
-\end{VerbatimOut}%
-\SideBySide@Example{\input{\jobname.tmp}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{General macros}
-%
-% \begin{macro}{\Begin@Example}
-% \cs{Begin@Example} is an internal macro to start an example environment.
-% \begin{macrocode}
-\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}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\Below@Example}
-% \cs{Below@Example} is an internal macro to insert the verbatim part and
-% to put the formatted result just below. The possible highlighting must
-% be suppressed and the comment character desactivated before to input the
-% formatted part.
-% \begin{macrocode}
-\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}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\SideBySide@Example}
-% \cs{SideBySide@Example} is an internal macro to insert the verbatim part and
-% to put the formatted result on the left side, using a \texttt{minipage}
-% environment. The possible highlighting must be suppressed and the comment
-% character desactivated before to input the formatted part.
-% \begin{macrocode}
-\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}}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Example environments using the \texttt{pspicture} PSTricks one}
-%
-% Of course, PSTricks must be available to be able to use them.
-% \begin{macrocode}
-\ifx\PSTricksLoaded\endinput
-% \end{macrocode}
-%
-% Grid definition (using PSTricks).
-% \begin{macrocode}
- \newcommand{\showgrid}{\FvrbEx@Gridtrue}
- \newpsobject{FvrbExGrid}{psgrid}{subgriddiv=0,griddots=10,gridlabels=7pt}
-% \end{macrocode}
-%
-% \DescribeEnv{PCenterExample}
-% \texttt{PCenterExample} is an environment to show the verbatim code and
-% the result just below, inside a \texttt{center} environment.
-% \begin{macrocode}
- \def\PCenterExample{\@ifnextchar[{\Pst@Example}{\Pst@@Example}}
-% \end{macrocode}
-%
-% \begin{macro}{\endPCenterExample}
-% \cs{endPCenterExample} is a macro for the \texttt{PCenterExample}
-% environment to close the verbatim part and to put the formatted result below,
-% inside a PSTricks \texttt{pspicture} environment, and centering it.
-% \begin{macrocode}
- \def\endPCenterExample{%
- \end{VerbatimOut}%
- \Below@Example{%
- \center
- \expandafter\pspicture\Picture@Size
- \ifFvrbEx@Grid\FvrbExGrid\fi\relax
- \input{\jobname.tmp}%
- \endpspicture
- \endcenter
- \smallskip}}
-% \end{macrocode}
-% \end{macro}
-%
-% \DescribeEnv{PSideBySideExample}
-% \texttt{PSideBySideExample} is an environment to show the verbatim code and
-% to put the formatted result on the left side, inside a PSTricks
-% \texttt{pspicture} environment.
-% \begin{macrocode}
- \def\PSideBySideExample{\@ifnextchar[{\Pst@Example}{\Pst@@Example}}
-% \end{macrocode}
-%
-% \begin{macro}{\endPSideBySideExample}
-% \cs{endPSideBySideExample} is a macro for the \texttt{PSideBySideExample}
-% environment to close the verbatim code and to put the formatted result on
-% the left side, inside a PSTricks \texttt{pspicture} environment.
-% \begin{macrocode}
- \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}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\Pst@Example}
-% \cs{Pst@Example} is an internal macro to set locally the \FVrbPackage{}
-% options if needed (both for \texttt{PCenterExample} and
-% \texttt{PSideBySideExample} environments).
-% \begin{macrocode}
- \def\Pst@Example[#1]{\fvset{#1}\Pst@@Example}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\Pst@@Example}
-% \cs{Pst@@Example} is an internal macro to define the starting point of the
-% \texttt{pspicture} environment to used.
-% \begin{macrocode}
- \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)}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\Pst@@@Example}
-% \cs{Pst@@@Example} is an internal macro to transmit the size of the
-% \texttt{pspicture} environment to used and to call the relevant internal
-% macro to insert the verbatim part.
-% \begin{macrocode}
- \def\Pst@@@Example(#1,#2)(#3,#4){%
- \def\Picture@Size{(#1,#2)(#3,#4)}%
- \Begin@Example}
-% \end{macrocode}
-% \end{macro}
-%
-% End of the code for environments using PSTricks.
-% \begin{macrocode}
-\fi % End \ifx\PSTricksLoaded
-% \end{macrocode}
-%</fvrb-ex>
-%
-% \section{\HbawPackage{} code}
-%
-%<*hbaw>
-%
-% \iffalse meta-comment, etc.
-%% Package `hbaw'
-%%
-% \fi
-%
-% What we need.
-% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-% \end{macrocode}
-%
-% Who we are.
-% \begin{macrocode}
-\def\fileversion{1.4}
-\def\filedate{1998/03/19}
-\ProvidesPackage{hbaw}[\filedate]
-\message{`hbaw' v\fileversion, \filedate\space (Denis Girou)}
-% \end{macrocode}
-%
-% \begin{macro}{\FvrbEx@ColoredBox}
-% \cs{FvrbEx@ColoredBox} is an internal macro to print some text in bold face
-% in a defined color, inside a colored box of another color.
-% \begin{macrocode}
-\newcommand{\FvrbEx@ColoredBox}[3]{%
-\fboxsep=1pt\fcolorbox{#2}{#2}{\textcolor{#3}{\textbf{#1}}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\Highlight@Attributes}
-% \cs{Highlight@Attributes} is an internal macro to define a serie of
-% highlighting macros to emphasize text in a black and white mode.
-% All have a corresponding version in color mode, using the \HcolorPackage{}
-% package. We take care here of possible mathematic material.
-% \begin{macrocode}
-\def\Highlight@Attributes{%
-% \end{macrocode}
-% \end{macro}
-%
-% Some font changes.
-% \begin{macrocode}
-\def\HLa##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi}
-\def\HLb##1{\ifmmode\mathsl{##1}\else\textsl{##1}\fi}
-\def\HLc##1{##1}
-\def\HLd##1{##1}
-\def\HLe##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi}
-\def\HLf##1{##1}
-\def\HLq##1{##1}
-\def\HLr##1{##1}
-\def\HLz##1{##1}
-% \end{macrocode}
-%
-% Bold text.
-% \begin{macrocode}
-\def\HLBFa##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi}
-\def\HLBFb##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi}
-\def\HLBFc##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi}
-\def\HLBFd##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi}
-\def\HLBFe##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi}
-\def\HLBFf##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi}
-\def\HLBFz##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi}
-% \end{macrocode}
-%
-% Italic text (\verb+\textsl+ rather than \verb+\textit+ due to the problem
-% of the coding of the \$ character).
-% \begin{macrocode}
-\def\HLITa##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi}
-\def\HLITb##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi}
-\def\HLITc##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi}
-\def\HLITd##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi}
-\def\HLITe##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi}
-\def\HLITf##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi}
-\def\HLITz##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi}
-% \end{macrocode}
-%
-% Small capitals text.
-% \begin{macrocode}
-\def\HLSCa##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi}
-\def\HLSCb##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi}
-\def\HLSCc##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi}
-\def\HLSCd##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi}
-\def\HLSCe##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi}
-\def\HLSCf##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi}
-\def\HLSCz##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi}
-% \end{macrocode}
-%
-% Teletype writer text.
-% \begin{macrocode}
-\def\HLTTa##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi}
-\def\HLTTb##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi}
-\def\HLTTc##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi}
-\def\HLTTd##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi}
-\def\HLTTe##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi}
-\def\HLTTf##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi}
-\def\HLTTq##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi}
-\def\HLTTr##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi}
-\def\HLTTz##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi}
-% \end{macrocode}
-%
-% Italic and teletype writer text.
-% \begin{macrocode}
-\def\HLITTTa##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi}
-\def\HLITTTb##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi}
-\def\HLITTTc##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi}
-\def\HLITTTd##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi}
-\def\HLITTTe##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi}
-\def\HLITTTf##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi}
-\def\HLITTTz##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi}
-% \end{macrocode}
-%
-% Black text inside a colored box.
-% \begin{macrocode}
-\def\HLCBBa##1{\FvrbEx@ColoredBox{##1}{blue}{black}}
-\def\HLCBBb##1{\FvrbEx@ColoredBox{##1}{cyan}{black}}
-\def\HLCBBc##1{\FvrbEx@ColoredBox{##1}{green}{black}}
-\def\HLCBBd##1{\FvrbEx@ColoredBox{##1}{magenta}{black}}
-\def\HLCBBe##1{\FvrbEx@ColoredBox{##1}{red}{black}}
-\def\HLCBBf##1{\FvrbEx@ColoredBox{##1}{yellow}{black}}
-\def\HLCBBz##1{\FvrbEx@ColoredBox{##1}{black}{black}}
-% \end{macrocode}
-%
-% White text inside a colored box (we replace cyan and yellow by green because
-% these colors are not well seen in black and white mode).
-% \begin{macrocode}
-\def\HLCBWa##1{\FvrbEx@ColoredBox{##1}{blue}{white}}
-\def\HLCBWb##1{\FvrbEx@ColoredBox{##1}{green}{white}}
-\def\HLCBWc##1{\FvrbEx@ColoredBox{##1}{green}{white}}
-\def\HLCBWd##1{\FvrbEx@ColoredBox{##1}{magenta}{white}}
-\def\HLCBWe##1{\FvrbEx@ColoredBox{##1}{red}{white}}
-\def\HLCBWf##1{\FvrbEx@ColoredBox{##1}{green}{white}}
-\def\HLCBWz##1{\FvrbEx@ColoredBox{##1}{black}{white}}
-% \end{macrocode}
-%
-% Underlined text.
-% \begin{macrocode}
-\def\HLSa##1{\underline{##1}}
-\def\HLSb##1{\underline{##1}}
-\def\HLSc##1{\underline{##1}}
-\def\HLSd##1{\underline{##1}}
-\def\HLSe##1{\underline{##1}}
-\def\HLSf##1{\underline{##1}}
-\def\HLSz##1{\underline{##1}}
-% \end{macrocode}
-%
-% Underlined text (same than preceding in this black and white version).
-% \begin{macrocode}
-\def\HLSaa##1{\underline{##1}}
-\def\HLSbb##1{\underline{##1}}
-\def\HLScc##1{\underline{##1}}
-\def\HLSdd##1{\underline{##1}}
-\def\HLSee##1{\underline{##1}}
-\def\HLSef##1{\underline{##1}}
-\def\HLSez##1{\underline{##1}}
-% \end{macrocode}
-%
-% End of \cs{Highlight@Attributes}.
-% \begin{macrocode}
-}
-% \end{macrocode}
-%
-% \begin{macro}{\NoHighlight@Attributes}
-% \cs{NoHighlight@Attributes} is an internal macro to inhibit all
-% the highlighting macros define by \cs{Highlight@Attributes}. It is
-% necessary to call it before to insert the formatted part, as highlighting
-% process must concern only the verbatim part.
-% \end{macro}
-%
-% \begin{macrocode}
-\def\NoHighlight@Attributes{%
-% \end{macrocode}
-%
-% First, we re-establish the active catcodes for the verbatim mode.
-% \begin{macrocode}
-\catcode`\^^a7=0\relax%
-\catcode`\^^b5=1\relax%
-\catcode`\^^b6=2\relax%
-% \end{macrocode}
-%
-% Desactivation of the highlighting macros.
-% \begin{macrocode}
-\def\HLa##1{##1}%
-\def\HLb##1{##1}%
-\def\HLc##1{##1}%
-\def\HLd##1{##1}%
-\def\HLe##1{##1}%
-\def\HLf##1{##1}%
-\def\HLBFa##1{##1}%
-\def\HLBFb##1{##1}%
-\def\HLBFc##1{##1}%
-\def\HLBFd##1{##1}%
-\def\HLBFe##1{##1}%
-\def\HLBFf##1{##1}%
-\def\HLITa##1{##1}%
-\def\HLITb##1{##1}%
-\def\HLITc##1{##1}%
-\def\HLITd##1{##1}%
-\def\HLITe##1{##1}%
-\def\HLITf##1{##1}%
-\def\HLCBBa##1{##1}%
-\def\HLCBBb##1{##1}%
-\def\HLCBBc##1{##1}%
-\def\HLCBBd##1{##1}%
-\def\HLCBBe##1{##1}%
-\def\HLCBBf##1{##1}%
-\def\HLCBBz##1{##1}%
-\def\HLCBWa##1{##1}%
-\def\HLCBWb##1{##1}%
-\def\HLCBWc##1{##1}%
-\def\HLCBWd##1{##1}%
-\def\HLCBWe##1{##1}%
-\def\HLCBWf##1{##1}%
-\def\HLCBWz##1{##1}%
-% \end{macrocode}
-%
-% End of \cs{NoHighlight@Attributes}.
-% \begin{macrocode}
-}
-% \end{macrocode}
-%
-% Activation of the highlighting macros.
-% \begin{macrocode}
-\Highlight@Attributes
-% \end{macrocode}
-%
-%</hbaw>
-%
-% \section{\HcolorPackage{} code}
-%
-%<*hcolor>
-%
-% \iffalse meta-comment, etc.
-%% Package `hcolor'
-%%
-% \fi
-%
-% What we need.
-% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-% \end{macrocode}
-%
-% Who we are.
-% \begin{macrocode}
-\def\fileversion{1.4}
-\def\filedate{1998/03/19}
-\ProvidesPackage{hcolor}[\filedate]
-\message{`hcolor' v\fileversion, \filedate\space (Denis Girou)}
-% \end{macrocode}
-%
-% \begin{macro}{\FvrbEx@ColoredUnderline}
-% \cs{FvrbEx@ColoredUnderline} is an internal macro to underline some text in
-% color.
-% \begin{macrocode}
-\newcommand{\FvrbEx@ColoredUnderline}[3]{%
-$\setbox\z@\hbox{\begingroup#3\endgroup}%
-\dp\z@\z@\m@th\color{#1}\underline{\textcolor{#2}{\box\z@}}$}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FvrbEx@ColoredBox}
-% \cs{FvrbEx@ColoredBox} is an internal macro to print some text in bold face
-% in a defined color, inside a colored box of another color.
-% \begin{macrocode}
-\newcommand{\FvrbEx@ColoredBox}[3]{%
-\fboxsep=1pt\fcolorbox{#2}{#2}{\textcolor{#3}{\textbf{#1}}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\Highlight@Attributes}
-% \cs{Highlight@Attributes} is an internal macro to define a serie of
-% highlighting macros to emphasize text in a black and white mode.
-% All have a corresponding version in black and white mode, using the
-% \HbawPackage{} package. We do not take care here of possible mathematic
-% material, but it can be done...
-% \begin{macrocode}
-\def\Highlight@Attributes{%
-% \end{macrocode}
-% \end{macro}
-%
-% Some font changes.
-% \begin{macrocode}
-\def\HLa##1{\textcolor{blue}{##1}}
-\def\HLb##1{\textcolor{cyan}{##1}}
-\def\HLc##1{\textcolor{green}{##1}}
-\def\HLd##1{\textcolor{magenta}{##1}}
-\def\HLe##1{\textcolor{red}{##1}}
-\def\HLf##1{\textcolor{yellow}{##1}}
-\def\HLq##1{\textcolor{PaleGreen}{##1}}
-\def\HLr##1{\textcolor{SlateBlue}{##1}}
-\def\HLz##1{\textcolor{black}{##1}}
-% \end{macrocode}
-%
-% Colored bold text.
-% \begin{macrocode}
-\def\HLBFa##1{\textcolor{blue}{\textbf{##1}}}
-\def\HLBFb##1{\textcolor{cyan}{\textbf{##1}}}
-\def\HLBFc##1{\textcolor{green}{\textbf{##1}}}
-\def\HLBFd##1{\textcolor{magenta}{\textbf{##1}}}
-\def\HLBFe##1{\textcolor{red}{\textbf{##1}}}
-\def\HLBFf##1{\textcolor{yellow}{\textbf{##1}}}
-\def\HLBFz##1{\textcolor{black}{\textbf{##1}}}
-% \end{macrocode}
-%
-% Colored italic text (\verb+\textsl+ rather than \verb+\textit+ due to the
-% problem of the coding of the \$ character).
-% \begin{macrocode}
-\def\HLITa##1{\textcolor{blue}{\textsl{##1}}}
-\def\HLITb##1{\textcolor{cyan}{\textsl{##1}}}
-\def\HLITc##1{\textcolor{green}{\textsl{##1}}}
-\def\HLITd##1{\textcolor{magenta}{\textsl{##1}}}
-\def\HLITe##1{\textcolor{red}{\textsl{##1}}}
-\def\HLITf##1{\textcolor{yellow}{\textsl{##1}}}
-\def\HLITz##1{\textcolor{black}{\textsl{##1}}}
-% \end{macrocode}
-%
-% Colored small capitals text.
-% \begin{macrocode}
-\def\HLSCa##1{\textcolor{blue}{\textsc{##1}}}
-\def\HLSCb##1{\textcolor{cyan}{\textsc{##1}}}
-\def\HLSCc##1{\textcolor{green}{\textsc{##1}}}
-\def\HLSCd##1{\textcolor{magenta}{\textsc{##1}}}
-\def\HLSCe##1{\textcolor{red}{\textsc{##1}}}
-\def\HLSCf##1{\textcolor{yellow}{\textsc{##1}}}
-\def\HLSCz##1{\textcolor{black}{\textsc{##1}}}
-% \end{macrocode}
-%
-% Colored teletype writer text.
-% \begin{macrocode}
-\def\HLTTa##1{\textcolor{blue}{\texttt{##1}}}
-\def\HLTTb##1{\textcolor{cyan}{\texttt{##1}}}
-\def\HLTTc##1{\textcolor{green}{\texttt{##1}}}
-\def\HLTTd##1{\textcolor{magenta}{\texttt{##1}}}
-\def\HLTTe##1{\textcolor{red}{\texttt{##1}}}
-\def\HLTTf##1{\textcolor{yellow}{\texttt{##1}}}
-\def\HLTTq##1{\textcolor{ForestGreen}{\texttt{##1}}}
-\def\HLTTr##1{\textcolor{PineGreen}{\texttt{##1}}}
-\def\HLTTz##1{\textcolor{black}{\texttt{##1}}}
-% \end{macrocode}
-%
-% Colored italic and teletype writer text.
-% \begin{macrocode}
-\def\HLITTTa##1{\textcolor{blue}{\textsl{\texttt{##1}}}}
-\def\HLITTTb##1{\textcolor{cyan}{\textsl{\texttt{##1}}}}
-\def\HLITTTc##1{\textcolor{green}{\textsl{\texttt{##1}}}}
-\def\HLITTTd##1{\textcolor{magenta}{\textsl{\texttt{##1}}}}
-\def\HLITTTe##1{\textcolor{red}{\textsl{\texttt{##1}}}}
-\def\HLITTTf##1{\textcolor{yellow}{\textsl{\texttt{##1}}}}
-\def\HLITTTz##1{\textcolor{black}{\textsl{\texttt{##1}}}}
-% \end{macrocode}
-%
-% Black text inside a colored box.
-% \begin{macrocode}
-\def\HLCBBa##1{\FvrbEx@ColoredBox{##1}{blue}{black}}
-\def\HLCBBb##1{\FvrbEx@ColoredBox{##1}{cyan}{black}}
-\def\HLCBBc##1{\FvrbEx@ColoredBox{##1}{green}{black}}
-\def\HLCBBd##1{\FvrbEx@ColoredBox{##1}{magenta}{black}}
-\def\HLCBBe##1{\FvrbEx@ColoredBox{##1}{red}{black}}
-\def\HLCBBf##1{\FvrbEx@ColoredBox{##1}{yellow}{black}}
-\def\HLCBBz##1{\FvrbEx@ColoredBox{##1}{black}{black}}
-% \end{macrocode}
-%
-% White text inside a colored box.
-% \begin{macrocode}
-\def\HLCBWa##1{\FvrbEx@ColoredBox{##1}{blue}{white}}
-\def\HLCBWb##1{\FvrbEx@ColoredBox{##1}{cyan}{white}}
-\def\HLCBWc##1{\FvrbEx@ColoredBox{##1}{green}{white}}
-\def\HLCBWd##1{\FvrbEx@ColoredBox{##1}{magenta}{white}}
-\def\HLCBWe##1{\FvrbEx@ColoredBox{##1}{red}{white}}
-\def\HLCBWf##1{\FvrbEx@ColoredBox{##1}{yellow}{white}}
-\def\HLCBWz##1{\FvrbEx@ColoredBox{##1}{black}{white}}
-% \end{macrocode}
-%
-% Colored underlined text.
-% \begin{macrocode}
-\def\HLSa##1{\color{blue}\underline{##1}}
-\def\HLSb##1{\color{cyan}\underline{##1}}
-\def\HLSc##1{\color{green}\underline{##1}}
-\def\HLSd##1{\color{magenta}\underline{##1}}
-\def\HLSe##1{\color{red}\underline{##1}}
-\def\HLSf##1{\color{yellow}\underline{##1}}
-\def\HLSz##1{\color{black}\underline{##1}}
-% \end{macrocode}
-%
-% Colored underlined colored text (with the same color).
-% \begin{macrocode}
-\def\HLSaa##1{\FvrbEx@ColoredUnderline{blue}{black}{##1}}
-\def\HLSbb##1{\FvrbEx@ColoredUnderline{cyan}{black}{##1}}
-\def\HLScc##1{\FvrbEx@ColoredUnderline{green}{black}{##1}}
-\def\HLSdd##1{\FvrbEx@ColoredUnderline{magenta}{black}{##1}}
-\def\HLSee##1{\FvrbEx@ColoredUnderline{red}{black}{##1}}
-\def\HLSef##1{\FvrbEx@ColoredUnderline{yellow}{black}{##1}}
-\def\HLSez##1{\FvrbEx@ColoredUnderline{black}{black}{##1}}
-% \end{macrocode}
-%
-% End of \cs{Highlight@Attributes}.
-% \begin{macrocode}
-}
-% \end{macrocode}
-%
-% \begin{macro}{\NoHighlight@Attributes}
-% \cs{NoHighlight@Attributes} is an internal macro to inhibit all
-% the highlighting macros define by \cs{Highlight@Attributes}. It is
-% necessary to call it before to insert the formatted part, as highlighting
-% process must concern only the verbatim one.
-% \end{macro}
-%
-% \begin{macrocode}
-\def\NoHighlight@Attributes{%
-% \end{macrocode}
-%
-% First, we re-establish the active catcodes for the verbatim mode.
-% \begin{macrocode}
-\catcode`\^^a7=0\relax%
-\catcode`\^^b5=1\relax%
-\catcode`\^^b6=2\relax%
-% \end{macrocode}
-%
-% Desactivation of the highlighting macros.
-% \begin{macrocode}
-\def\HLa##1{##1}%
-\def\HLb##1{##1}%
-\def\HLc##1{##1}%
-\def\HLd##1{##1}%
-\def\HLe##1{##1}%
-\def\HLf##1{##1}%
-\def\HLBFa##1{##1}%
-\def\HLBFb##1{##1}%
-\def\HLBFc##1{##1}%
-\def\HLBFd##1{##1}%
-\def\HLBFe##1{##1}%
-\def\HLBFf##1{##1}%
-\def\HLITa##1{##1}%
-\def\HLITb##1{##1}%
-\def\HLITc##1{##1}%
-\def\HLITd##1{##1}%
-\def\HLITe##1{##1}%
-\def\HLITf##1{##1}%
-\def\HLCBBa##1{##1}%
-\def\HLCBBb##1{##1}%
-\def\HLCBBc##1{##1}%
-\def\HLCBBd##1{##1}%
-\def\HLCBBe##1{##1}%
-\def\HLCBBf##1{##1}%
-\def\HLCBBz##1{##1}%
-\def\HLCBWa##1{##1}%
-\def\HLCBWb##1{##1}%
-\def\HLCBWc##1{##1}%
-\def\HLCBWd##1{##1}%
-\def\HLCBWe##1{##1}%
-\def\HLCBWf##1{##1}%
-\def\HLCBWz##1{##1}%
-% \end{macrocode}
-%
-% End of \cs{NoHighlight@Attributes}.
-% \begin{macrocode}
-}
-% \end{macrocode}
-%
-% Activation of the highlighting macros.
-% \begin{macrocode}
-\Highlight@Attributes
-% \end{macrocode}
-%
-%</hcolor>
-%
-% \section{Test file}
-%
-%<*t-fvrbex>
-% \iffalse meta-comment, etc.
-%% File `t-fvrbex'
-%%
-% \fi
-%
-% \begin{macrocode}
-\documentclass{article}
-
-\usepackage[bawcolor,pstricks]{fvrb-ex}
-\pstrickstrue
-\usepackage[T1]{fontenc}
-\usepackage[latin1]{inputenc}
-\usepackage[charter]{mathdesign}
-\usepackage{url}
-\usepackage{xcolor}
-
-\begin{document}
-
-\title{Test file for the `\textsf{fvrb-ex}' package}
-\author{Denis Girou\\CNRS/IDRIS\\Orsay -- France\\
- {\footnotesize email: Denis.Girou@idris.fr}}
-\date{Version 1.2\\March 27, 1998}
-
-\maketitle
-
-\RecustomVerbatimEnvironment{Verbatim}{Verbatim}
- {gobble=2,commentchar=^^a3,numbers=left,numbersep=3pt,frame=single}
-
-\section{\texttt{Example} environment}
-
-\begin{Verbatim}
- \begin{Example}
- First verbatim line.
- Second verbatim line.
- Third verbatim line.
- \end{Example}
-\end{Verbatim}
-
-\begin{Example}
- First verbatim line.
- Second verbatim line.
- Third verbatim line.
-\end{Example}
-
-\begin{Verbatim}
- \begin{Example}[frame=lines,framerule=1mm,numbers=left]
- First verbatim line.
- Second verbatim line.
- Third verbatim line.
- \end{Example}
-\end{Verbatim}
-
-\begin{Example}[frame=lines,framerule=1mm,numbers=left]
- First verbatim line.
- Second verbatim line.
- Third verbatim line.
-\end{Example}
-
-\section{\texttt{CenterExample} environment}
-
-\begin{Verbatim}
- \begin{CenterExample}[frame=single,numbers=right]
- First verbatim line.
- Second verbatim line.
- Third verbatim line.
- \end{CenterExample}
-\end{Verbatim}
-
-\begin{CenterExample}[frame=single,numbers=right]
- First verbatim line.
- Second verbatim line.
- Third verbatim line.
-\end{CenterExample}
-
-\begin{Verbatim}
- \begin{CenterExample}[frame=lines,numbers=left]
- ^^a7HLa^^b5First^^b6 verbatim line.
- ^^a7HLb^^b5Second^^b6 verbatim line.
- ^^a7HLCBWz^^b5Third^^b6 verbatim line.
- \end{CenterExample}
-\end{Verbatim}
-
-\begin{CenterExample}[frame=lines,numbers=left]
- ^^a7HLa^^b5First^^b6 verbatim line.
- ^^a7HLb^^b5Second^^b6 verbatim line.
- ^^a7HLCBWz^^b5Third^^b6 verbatim line.
-\end{CenterExample}
-
-\section{\texttt{SideBySideExample} environment}
-
-\begin{Verbatim}
- \begin{SideBySideExample}[xrightmargin=5cm,frame=lines,
- numbers=left]
- First verbatim line.
- Second verbatim line.
- Third verbatim line.
- \end{SideBySideExample}
-\end{Verbatim}
-
-\begin{SideBySideExample}[xrightmargin=5cm,frame=single,numbers=left]
- First verbatim line.
- Second verbatim line.
- Third verbatim line.
-\end{SideBySideExample}
-
-\ifpstricks % If PSTricks is available
-
-\section{\texttt{PCenterExample} environment}
-
-\begin{Verbatim}
- \fvset{frame=lines,framerule=0.5mm,numbers=left}
-
- \begin{PCenterExample}(-0.5,-0.5)(0.5,0.5)
- \setlength{\unitlength}{1cm}
- \put(0,0){\circle{1}}
- \end{PCenterExample}
-
- \showgrid
- \begin{PCenterExample}(-1,-1)(1,1)
- \setlength{\unitlength}{1cm}
- \put(0,0){\circle{1}}
- \end{PCenterExample}
-\end{Verbatim}
-
-{\fvset{frame=lines,framerule=0.5mm,numbers=left}
-\begin{PCenterExample}(-0.5,-0.5)(0.5,0.5)
- \setlength{\unitlength}{1cm}
- \put(0,0){\circle{1}}
-\end{PCenterExample}
-\showgrid
-\begin{PCenterExample}(-1,-1)(1,1)
- \setlength{\unitlength}{1cm}
- \put(0,0){\circle{1}}
-\end{PCenterExample}
-}
-
-\section{\texttt{PSideBySideExample} environment}
-
-\begin{Verbatim}
- \fvset{frame=single,xrightmargin=5cm}
- \begin{PSideBySideExample}(-2,-1)(2,1)
- \psellipse*[linecolor=yellow](2,1)
- \end{PSideBySideExample}
- \showgrid
- \begin{PSideBySideExample}(-2,-1)(2,1)
- \psellipse[linestyle=dashed](2,1)
- \end{PSideBySideExample}
-\end{Verbatim}
-
-{\fvset{frame=single,xrightmargin=5cm}
-\begin{PSideBySideExample}(-2,-1)(2,1)
- \psellipse*[linecolor=yellow](2,1)
-\end{PSideBySideExample}
-
-\showgrid
-\begin{PSideBySideExample}(-2,-1)(2,1)
- \psellipse[linestyle=dashed](2,1)
-\end{PSideBySideExample}
-}
-
-\begin{Verbatim}
- \fvset{frame=single,xrightmargin=5cm}
- \begin{PSideBySideExample}(-2,-1)(2,1)
- \psellipse[linestyle=^^a7HLCBWe^^b5dashed^^b6](2,1)
- \end{PSideBySideExample}
- \begin{PSideBySideExample}[numbers=right](-2,-1)(2,1)
- \psellipse[linestyle=^^a7HLe^^b5dotted^^b6](2,1)
- \end{PSideBySideExample}
-\end{Verbatim}
-
-{\fvset{frame=single,xrightmargin=5cm}
-\begin{PSideBySideExample}(-2,-1)(2,1)
- \psellipse[linestyle=^^a7HLCBWe^^b5dashed^^b6](2,1)
-\end{PSideBySideExample}
-\begin{PSideBySideExample}[numbers=right](-2,-1)(2,1)
- \psellipse[linestyle=^^a7HLe^^b5dotted^^b6](2,1)
-\end{PSideBySideExample}
-
-
-\else % If PSTricks is not available
-\begin{quote}
- \section{\texttt{PCenterExample} and \texttt{PSideBySideExample}
-environments}
-
- \textbf{\large Warning!} These two environments are not demonstrated here,
-because PSTricks was not found on this platform.
-\end{quote}
-\fi
-
-\end{document}
-% \end{macrocode}
-%
-%</t-fvrbex>
-%
-% \Finale
-% \PrintIndex
-% \PrintChanges
-%
-\endinput
-%%
-%% End of file `fvrb-ex.dtx'
diff --git a/Master/texmf-dist/source/latex/fancyvrb/fvrb-ex.ins b/Master/texmf-dist/source/latex/fancyvrb/fvrb-ex.ins
deleted file mode 100644
index 37aad57417f..00000000000
--- a/Master/texmf-dist/source/latex/fancyvrb/fvrb-ex.ins
+++ /dev/null
@@ -1,41 +0,0 @@
-%% `fvrb-ex.ins'
-%%
-%% Docstrip installation instruction file for docstyle `fvrb-ex'
-%%
-%% Denis Girou (CNRS/IDRIS - France) <Denis.Girou@idris.fr>
-%% March 26, 1998
-
-\NeedsTeXFormat{LaTeX2e}
-\def\batchfile{fvrb-ex.ins}
-\input docstrip.tex
-\keepsilent
-\Msg{*** Generating the `fvrb-ex' package ***}
-\askforoverwritefalse
-\generate{\catcode`\£=12\catcode`\§=12\catcode`\µ=12\catcode`\¶=12%
- \file{fvrb-ex.sty}{\from{fvrb-ex.dtx}{fvrb-ex}}%
- \file{hbaw.sty}{\from{fvrb-ex.dtx}{hbaw}}%
- \file{hcolor.sty}{\from{fvrb-ex.dtx}{hcolor}}%
- \file{t-fvrbex.tex}{\from{fvrb-ex.dtx}{t-fvrbex}}}
-
-\ifToplevel{%
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the files}
-\Msg{* fvrb-ex.sty, hbaw.sty and hcolor.sty into a directory}
-\Msg{* searched by TeX.}
-\Msg{*}
-\Msg{* To produce the documentation, run the file `fvrb-ex.dtx'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* If you require the commented code, desactivating the}
-\Msg{* OnlyDescription macro, you must recompile, execute:}
-\Msg{* `makeindex -s PATH/gind.ist fvrb-ex'}
-\Msg{* `makeindex -s PATH/gglo.ist -o fvrb-ex.gls fvrb-ex.glo'}
-\Msg{* and recompile.}
-\Msg{*}
-\Msg{***********************************************************}
-}
-
-\endinput
-%%
-%% End of file `fvrb-ex.ins'
diff --git a/Master/texmf-dist/tex/latex/fancyvrb/fvrb-ex.sty b/Master/texmf-dist/tex/latex/fancyvrb/fancyvrb-ex.sty
index e3e1a70c55c..054ede2ada7 100644
--- a/Master/texmf-dist/tex/latex/fancyvrb/fvrb-ex.sty
+++ b/Master/texmf-dist/tex/latex/fancyvrb/fancyvrb-ex.sty
@@ -1,101 +1,71 @@
%%
-%% This is file `fvrb-ex.sty',
-%% generated with the docstrip utility.
+%% This is file `fancyvrb-ex.sty',
%%
-%% The original source files were:
+%% COPYRIGHT 2018-, by Herbert Voss <hvoss@tug.org>
%%
-%% fvrb-ex.dtx (with options: `fvrb-ex')
-%%
-%% IMPORTANT NOTICE:
-%%
-%% For the copyright see the source file.
-%%
-%% Any modified versions of this file must be renamed
-%% with new filenames distinct from fvrb-ex.sty.
-%%
-%% For distribution of the original source see the terms
-%% for copying and modification in the file fvrb-ex.dtx.
-%%
-%% This generated file may be distributed as long as the
-%% original source files, as listed above, are part of the
-%% same distribution. (The sources need not necessarily be
-%% in the same archive or directory.)
-%%
-%% Package `fvrb-ex' (`fvrb-ex', `hbaw' and `hcolor')
-%%
-%% COPYING:
%% 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.0 or, at your option, any later version.
-%%
-%% Denis Girou (CNRS/IDRIS - France) <Denis.Girou@idris.fr> March 27, 1998
+%% Either version 1.3 or, at your option, any later version.
%%
-%% Package `fvrb-ex'
+%% 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{1.9}
-\def\filedate{2010/05/16}
-\ProvidesPackage{fvrb-ex}[\filedate]
-\message{`fvrb-ex' v\fileversion, \filedate\space (Denis Girou)}
-\newif\ifpstricks\pstricksfalse
-\let\LoadPStricks=\relax
-\DeclareOption{pstricks}{\def\LoadPStricks{\RequirePackage{pstricks}}\pstrickstrue}
-\DeclareOption{baw}{\def\ColorVersion{n}}
-\DeclareOption{color}{\def\ColorVersion{y}}
-\DeclareOption{bawcolor}{\def\ColorVersion{?}}
-\ProcessOptions\relax
-\LoadPStricks
-\ifpstricks\RequirePackage{pstricks}\fi
-\RequirePackage{fancyvrb}
-\newread\ttyin
-\def\iden#1{#1}
-\def\strip#1#2 \@gobble{\def #1{#2}}
-\def\@defpar{\par}
-\def\@gobble#1{}
-\def\Ask#1#2{%
-\message{#2}\read\ttyin to #1\ifx#1\@defpar\def#1{}\else
-\iden{\expandafter\strip\expandafter#1#1\@gobble\@gobble} \@gobble\fi}
-\def\Answer@Yes{y}
-\def\Answer@No{n}
-\def\Question@Mark{?}
-\def\Question@Color{Color version? (y=yes)}
+\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
-\ifx\ColorVersion\Answer@Yes
- \RequirePackage{color} % Standard LaTeX `color' package
+\ifEX@color
\RequirePackage{hcolor} % Color version
+\else
+ \RequirePackage{hbaw} % black and white version
\fi
-\ifx\ColorVersion\Answer@No
- \RequirePackage{color} % Standard LaTeX `color' package
- \RequirePackage{hbaw} % Black and white version
-\fi
-\ifx\ColorVersion\Question@Mark
- \Ask\ColorVersion{^^J\Question@Color}
- \ifx\ColorVersion\Answer@Yes
- \RequirePackage{color} % Standard LaTeX `color' package
- \RequirePackage{hcolor} % Color version
- \else
- \RequirePackage{color} % Standard LaTeX `color' package
- \RequirePackage{hbaw} % Black and white version
- \fi
-\fi
-\fvset{gobble=2}
+\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@}%
@@ -103,13 +73,13 @@
\def\endSideBySideExample{%
\end{VerbatimOut}%
\SideBySide@Example{\input{\jobname.tmp}}}
-\newcommand{\Begin@Example}{%
+\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]{%
+\newcommand\Below@Example[1]{%
\VerbatimInput[gobble=0,commentchar=^^a3,commandchars=^^a7^^b5^^b6,numbersep=3pt]%
{\jobname.tmp}
\catcode`\^^a3=9\relax%
@@ -135,7 +105,7 @@
xleftmargin=5mm,xrightmargin=0pt]{\jobname.tmp}
\end{minipage}}
\ifx\PSTricksLoaded\endinput
- \newcommand{\showgrid}{\FvrbEx@Gridtrue}
+ \newcommand\showgrid{\FvrbEx@Gridtrue}
\newpsobject{FvrbExGrid}{psgrid}{subgriddiv=0,griddots=10,gridlabels=7pt}
\def\PCenterExample{\@ifnextchar[{\Pst@Example}{\Pst@@Example}}
\def\endPCenterExample{%
@@ -168,6 +138,7 @@
\def\Picture@Size{(#1,#2)(#3,#4)}%
\Begin@Example}
\fi % End \ifx\PSTricksLoaded
+%%
\endinput
%%
-%% End of file `fvrb-ex.sty'.
+%% End of file `fancyvrb-ex.sty'.
diff --git a/Master/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty b/Master/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
index 5840c7f3df1..c0982956a43 100644
--- a/Master/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
+++ b/Master/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
@@ -1,56 +1,26 @@
%%
%% This is file `fancyvrb.sty',
-%% generated with the docstrip utility.
%%
-%% The original source files were:
-%%
-%% fancyvrb.dtx (with options: `fancyvrb')
-%%
-%% IMPORTANT NOTICE:
-%%
-%% For the copyright see the source file.
-%%
-%% Any modified versions of this file must be renamed
-%% with new filenames distinct from fancyvrb.sty.
-%%
-%% For distribution of the original source see the terms
-%% for copying and modification in the file fancyvrb.dtx.
-%%
-%% This generated file may be distributed as long as the
-%% original source files, as listed above, are part of the
-%% same distribution. (The sources need not necessarily be
-%% in the same archive or directory.)
-%%
-%% Package `fancyvrb'
-%%
-%% COPYRIGHT 1992-2010, by Timothy Van Zandt <tvz@zandtwerk.kellogg.nwu.edu>
-%% 2010, 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.0 or, at your option, any later version.
-%%
-%%
-
%% COPYRIGHT 1992-1999, by Timothy Van Zandt <tvz@zandtwerk.kellogg.nwu.edu>
+%% 2010-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.0 or, at your option, any later version.
+%% 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.
%%
-%% This is a companion to the `fancybox' package.
-%%
\NeedsTeXFormat{LaTeX2e}
-\def\fileversion{2.7a, with DG/SPQR fixes, and firstline=lastline fix}
-\def\filedate{2008/02/07}
+\def\fileversion{3.0}
+\def\filedate{2018/11/01}
\ProvidesPackage{fancyvrb}[\filedate]
\message{Style option: `fancyvrb' v\fileversion \space <\filedate> (tvz)}
\csname fancyvrb@loaded\endcsname
\let\fancyvrb@loaded\endinput
+%\ProcessOptions
+\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}}
@@ -159,9 +129,12 @@
\expandafter\def\expandafter#1\expandafter{#1#2\relax}}
\define@key{FV}{codes}[]{\def\FancyVerbCodes{#1\relax}}
\define@key{FV}{codes*}{%
- \expandafter\def\expandafter\FancyVerbCodes\expandafter{%
- \FancyVerbCodes#1\relax}}
+ \expandafter\def\expandafter\FancyVerbCodes\expandafter{\FancyVerbCodes#1\relax}}
\fvset{codes}
+%
+\define@key{FV}{vspace}[\topsep]{\def\FancyVerbVspace{#1}}
+\fvset{vspace}
+%
\define@key{FV}{commandchars}[\\\{\}]%
{\def\@tempa{#1}%
\ifx\@tempa\FV@None
@@ -242,9 +215,7 @@
}
\def\FV@@FindStartString#1#2{%
\edef\@fooA{#1}\edef\@fooB{#2}%
- \ifx\@fooA\@fooB
- \FV@DefineFindStop
- \fi
+ \ifx\@fooA\@fooB\FV@DefineFindStop\fi
}
%% SR modification end
\def\FV@DefineFindStop{%
@@ -398,7 +369,7 @@
\def\FV@GetLine{\@noligs\expandafter\FV@CheckScan\FancyVerbGetLine}
%% DG/SR modification end
\begingroup
-\catcode`\^^M=\active
+\catcode`\^^M=\active%
\gdef\FancyVerbGetLine#1^^M{%
\@nil%
\FV@CheckEnd{#1}%
@@ -536,33 +507,16 @@
\def\FV@MakeUnActive{}
\begingroup
\catcode`\`=\active
-\gdef\FV@fontfamily@tt{%
- \def\FV@FontScanPrep{\FV@MakeActive\`}%
-%% SR modification begin - 1995
-%% \def\FV@FontFamily{\tt`{{\string`}}}}
- \def\FV@FontFamily{\ttfamily\edef`{{\string`}}}}
-%% SR modification end
-\gdef\FV@fontfamily@cmtt{%
- \def\FV@FontScanPrep{\FV@MakeActive\`}%
- \def\FV@FontFamily{\edef`{{\string`}}\fontfamily{cmtt}}}
+\gdef\FV@fontfamily@tt{\def\FV@FontScanPrep{\FV@MakeActive\`}\def\FV@FontFamily{\ttfamily\edef`{{\string`}}}}
+\gdef\FV@fontfamily@cmtt{\def\FV@FontScanPrep{\FV@MakeActive\`}\def\FV@FontFamily{\edef`{{\string`}}\fontfamily{cmtt}}}
\endgroup
-\@namedef{FV@fontfamily@cmtt-spanish}{%
- \def\FV@FontScanPrep{}%
- \def\FV@FontFamily{\fontfamily{cmtt}}}
-\@namedef{FV@fontfamily@courier}{%
- \def\FV@FontScanPrep{}%
-%% SR modification begin - 1995
-%% \def\FV@FontFamily{\fontfamily{rpcr}}}
- \def\FV@FontFamily{\fontfamily{pcr}}}
-%% SR modification end
-\@namedef{FV@fontfamily@helvetica}{%
- \def\FV@FontScanPrep{}%
-%% SR modification begin - 1995
-%% \def\FV@FontFamily{\fontfamily{rphv}}}
- \def\FV@FontFamily{\fontfamily{phv}}}
-%% SR modification end
-\fvset{fontfamily=tt,fontsize=auto,fontshape=auto,fontseries=auto,
- baselinestretch=auto}
+\@namedef{FV@fontfamily@cmtt-spanish}{\def\FV@FontScanPrep{}\def\FV@FontFamily{\fontfamily{cmtt}}}
+\@namedef{FV@fontfamily@courier}{\def\FV@FontScanPrep{}\def\FV@FontFamily{\fontfamily{pcr}}}
+\@namedef{FV@fontfamily@helvetica}{\def\FV@FontScanPrep{}\let\FV@FontFamily\sffamily}
+% \def\FV@FontFamily{\fontfamily{phv}}}
+\def\myFont{}
+\@namedef{FV@fontfamily@myFont}{\def\FV@FontScanPrep{}\def\FV@FontFamily{\myFont}}
+\fvset{fontfamily=tt,fontsize=auto,fontshape=auto,fontseries=auto,baselinestretch=auto}
\begingroup
\catcode`\ =\active
\catcode`\^^I=\active
@@ -684,7 +638,8 @@
\leftmargin\z@
\fi}
\def\FV@ListVSpace{%
- \@topsepadd\topsep
+% \@topsepadd\topsep
+ \@topsepadd=\FancyVerbVspace
\if@noparlist\advance\@topsepadd\partopsep\fi
\if@inlabel
\vskip\parskip
@@ -956,64 +911,48 @@
\begingroup
\baselineskip\z@skip
\kern\FV@FrameSep\relax
-%% DG/SR modification begin - May. 19, 1998
-%% \FV@SingleFrameLine
\FV@SingleFrameLine{\@ne}%
-%% DG/SR modification end
\endgroup}
\def\FV@SingleFrameSep{%
\hbox to \z@{%
\kern\leftmargin
\hbox to\linewidth{%
\FancyVerbRuleColor{%
-%% DG modification begin - June 18, 1997 (\FV@FrameSep missing)
\ifx\FancyVerbFillColor\relax
\vrule\@width 0pt\@height\FV@FrameSep\relax
\fi
-%% DG modification end
\vrule\@width\FV@FrameRule\relax
\ifx\FancyVerbFillColor\relax
\hfil
\else
{\FancyVerbFillColor\leaders\hrule\@height\FV@FrameSep\hfil}%
\fi
-%% DG modification begin - June 18, 1997 (\FV@FrameSep missing)
\ifx\FancyVerbFillColor\relax
\vrule\@width 0pt\@height\FV@FrameSep\relax
\fi
-%% DG modification end
\vrule\@width\FV@FrameRule\relax}}%
\hss}}
\def\FV@LeftListFrame@Single{%
\strut
{\FancyVerbRuleColor{\vrule \@width\FV@FrameRule}}%
\FV@FrameFillLine
-%% DG modification begin - June 18, 1997 (to fill color on left side)
-%% \kern\FV@FrameSep}
\ifx\FancyVerbFillColor\relax
\kern\FV@FrameSep
\else
{\noexpand\leavevmode\FancyVerbFillColor{\vrule\@width\FV@FrameSep}}%
\fi}
-%% DG modification end
\def\FV@RightListFrame@Single{%
-%% DG modification begin - June 18, 1997 (to fill color on right side)
-%% \kern\FV@FrameSep
\ifx\FancyVerbFillColor\relax
\kern\FV@FrameSep
\else
{\noexpand\leavevmode\FancyVerbFillColor{\vrule\@width\FV@FrameSep}}%
\fi
{\noexpand\leavevmode\FancyVerbRuleColor{\vrule\@width\FV@FrameRule}}}
-%% DG modification end
\def\FV@EndListFrame@Single{%
\penalty\@M
\FV@SingleFrameSep
\penalty\@M
-%% DG/SR modification begin - May. 19, 1998
-%% \FV@SingleFrameLine}
\FV@SingleFrameLine{\@ne}}
-%% DG/SR modification end
\define@key{FV}{framerule}{%
\@tempdima=#1\relax
\edef\FV@FrameRule{\number\@tempdima sp\relax}}
@@ -1052,32 +991,26 @@
\def\@tempa{#1}\def\@tempb{auto}%
\ifx\@tempa\@tempb
\def\FV@SetLineNo{%
- \c@FancyVerbLine\FV@CodeLineNo
+ \c@FancyVerbLine\FV@CodeLineNo%
\advance\c@FancyVerbLine\m@ne}%
- \else
+ \else%
\def\@tempb{last}%
\ifx\@tempa\@tempb
- \let\FV@SetLineNo\relax
- \else
-%% DG/SR modification begin - Jan. 19, 1998
-%% \def\FV@SetLineNo{\c@FancyVerbLine#1}%
+ \let\FV@SetLineNo\relax%
+ \else%
\def\FV@SetLineNo{%
- \c@FancyVerbLine#1
+ \c@FancyVerbLine#1%
\advance\c@FancyVerbLine\m@ne}%
-%% DG/SR modification end
- \fi
+ \fi%
\fi}
\define@booleankey{FV}{numberblanklines}%
{\let\if@FV@NumberBlankLines\iftrue}
{\let\if@FV@NumberBlankLines\iffalse}
\fvset{numberblanklines=true}
-%% DG/SR modification begin - May. 20, 1998
-%%\def\refstepcounter#1{% Adapted from latex.ltx
\def\FV@refstepcounter#1{%
-%% DG/SR modification end
\stepcounter{#1}%
- \protected@edef\@currentlabel
- {\csname p@#1\endcsname\arabic{FancyVerbLine}}}
+ \protected@edef\@currentlabel{\csname p@#1\endcsname\arabic{FancyVerbLine}}%
+}
\def\FV@StepLineNo{%
\FV@SetLineNo%
\def\FV@StepLineNo{%
@@ -1090,16 +1023,11 @@
\fi%
\fi}%
\FV@StepLineNo}
-%% DG/SR modification begin - 1995
-%%\def\theFancyVerbLine{\rm\tiny\arabic{FancyVerbLine}}
\def\theFancyVerbLine{\rmfamily\tiny\arabic{FancyVerbLine}}
-%% DG/SR modification end
\define@key{FV}{numbers}[none]{%
\@ifundefined{FV@Numbers@#1}%
{\FV@Error{Numbers style `#1' not defined.}\FV@eha}%
{\@nameuse{FV@Numbers@#1}}}
-%% DG modification begin - Dec. 20, 1995 and Jan. 28, 1998
-%%\def\FV@Numbers@none{\let\FV@LeftListNumber\relax}
\def\FV@Numbers@none{%
\let\FV@LeftListNumber\relax
\let\FV@RightListNumber\relax}
@@ -1107,22 +1035,14 @@
\define@key{FV}{stepnumber}{\FV@StepNumber#1}
\def\KV@FV@stepnumber@default{\FV@StepNumber\@ne}
\fvset{stepnumber}
-%% DG modification begin - Dec. 20, 1995
-%%\def\FV@Numbers@left{%
-%% \def\FV@LeftListNumber{\hbox to\z@{%
-%% \hss\theFancyVerbLine\kern\FV@NumberSep}}}
\def\FV@Numbers@left{%
-%% DG/SR modification begin - Apr. 28, 1998
\let\FV@RightListNumber\relax
-%% DG/SR modification end
\def\FV@LeftListNumber{%
\@tempcnta=\FV@CodeLineNo
\@tempcntb=\FV@CodeLineNo
\divide\@tempcntb\FV@StepNumber
\multiply\@tempcntb\FV@StepNumber
\ifnum\@tempcnta=\@tempcntb
-%% DG/SR modification begin - Apr. 28, 1998
-%% \hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}%
\if@FV@NumberBlankLines
\hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}%
\else
@@ -1131,12 +1051,9 @@
\hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}%
\fi
\fi
-%% DG/SR modification end
\fi}}
\def\FV@Numbers@right{%
-%% DG/SR modification begin - Apr. 28, 1998
\let\FV@LeftListNumber\relax
-%% DG/SR modification end
\def\FV@RightListNumber{%
\@tempcnta=\FV@CodeLineNo
\@tempcntb=\FV@CodeLineNo
@@ -1281,7 +1198,7 @@
\define@key{FV}{aftersave}{\def\FancyVerbAfterSave{#1}}
\fvset{aftersave=}
\def\FV@UseVerb#1{\mbox{\FV@UseKeyValues\FV@FormattingPrep#1}}
-\def\UseVerb{\FV@Command{}{UseVerb}}
+\DeclareRobustCommand\UseVerb{\FV@Command{}{UseVerb}}
\def\FVC@UseVerb#1{%
\@ifundefined{FV@SV@#1}%
{\FV@Error{Short verbatim text never saved to name `#1'}\FV@eha}%
@@ -1413,11 +1330,10 @@
\ignorespaces}
\def\endlrbox{\unskip\egroup}
\fi
-%% DG/SR modification begin - Mar 21 2000
-%%\@input{fancyvrb.rc}
+%
+%%
\InputIfFileExists{fancyvrb.cfg}{}{}
-%% DG/SR modification end
-%%% \PrintIndex
+%%
\endinput
%%
%% End of file `fancyvrb.sty'.
diff --git a/Master/texmf-dist/tex/latex/fancyvrb/hbaw.sty b/Master/texmf-dist/tex/latex/fancyvrb/hbaw.sty
deleted file mode 100644
index 8c63a2b7e3c..00000000000
--- a/Master/texmf-dist/tex/latex/fancyvrb/hbaw.sty
+++ /dev/null
@@ -1,158 +0,0 @@
-%%
-%% This is file `hbaw.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% fvrb-ex.dtx (with options: `hbaw')
-%%
-%% IMPORTANT NOTICE:
-%%
-%% For the copyright see the source file.
-%%
-%% Any modified versions of this file must be renamed
-%% with new filenames distinct from hbaw.sty.
-%%
-%% For distribution of the original source see the terms
-%% for copying and modification in the file fvrb-ex.dtx.
-%%
-%% This generated file may be distributed as long as the
-%% original source files, as listed above, are part of the
-%% same distribution. (The sources need not necessarily be
-%% in the same archive or directory.)
-%%
-%% Package `fvrb-ex' (`fvrb-ex', `hbaw' and `hcolor')
-%%
-%% COPYING:
-%% 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.0 or, at your option, any later version.
-%%
-%% Denis Girou (CNRS/IDRIS - France) <Denis.Girou@idris.fr> March 27, 1998
-%%
-%% Package `hbaw'
-%%
-\NeedsTeXFormat{LaTeX2e}
-\def\fileversion{1.4}
-\def\filedate{1998/03/19}
-\ProvidesPackage{hbaw}[\filedate]
-\message{`hbaw' v\fileversion, \filedate\space (Denis Girou)}
-\newcommand{\FvrbEx@ColoredBox}[3]{%
-\fboxsep=1pt\fcolorbox{#2}{#2}{\textcolor{#3}{\textbf{#1}}}}
-\def\Highlight@Attributes{%
-\def\HLa##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi}
-\def\HLb##1{\ifmmode\mathsl{##1}\else\textsl{##1}\fi}
-\def\HLc##1{##1}
-\def\HLd##1{##1}
-\def\HLe##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi}
-\def\HLf##1{##1}
-\def\HLq##1{##1}
-\def\HLr##1{##1}
-\def\HLz##1{##1}
-\def\HLBFa##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi}
-\def\HLBFb##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi}
-\def\HLBFc##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi}
-\def\HLBFd##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi}
-\def\HLBFe##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi}
-\def\HLBFf##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi}
-\def\HLBFz##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi}
-\def\HLITa##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi}
-\def\HLITb##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi}
-\def\HLITc##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi}
-\def\HLITd##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi}
-\def\HLITe##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi}
-\def\HLITf##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi}
-\def\HLITz##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi}
-\def\HLSCa##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi}
-\def\HLSCb##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi}
-\def\HLSCc##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi}
-\def\HLSCd##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi}
-\def\HLSCe##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi}
-\def\HLSCf##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi}
-\def\HLSCz##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi}
-\def\HLTTa##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi}
-\def\HLTTb##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi}
-\def\HLTTc##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi}
-\def\HLTTd##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi}
-\def\HLTTe##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi}
-\def\HLTTf##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi}
-\def\HLTTq##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi}
-\def\HLTTr##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi}
-\def\HLTTz##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi}
-\def\HLITTTa##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi}
-\def\HLITTTb##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi}
-\def\HLITTTc##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi}
-\def\HLITTTd##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi}
-\def\HLITTTe##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi}
-\def\HLITTTf##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi}
-\def\HLITTTz##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi}
-\def\HLCBBa##1{\FvrbEx@ColoredBox{##1}{blue}{black}}
-\def\HLCBBb##1{\FvrbEx@ColoredBox{##1}{cyan}{black}}
-\def\HLCBBc##1{\FvrbEx@ColoredBox{##1}{green}{black}}
-\def\HLCBBd##1{\FvrbEx@ColoredBox{##1}{magenta}{black}}
-\def\HLCBBe##1{\FvrbEx@ColoredBox{##1}{red}{black}}
-\def\HLCBBf##1{\FvrbEx@ColoredBox{##1}{yellow}{black}}
-\def\HLCBBz##1{\FvrbEx@ColoredBox{##1}{black}{black}}
-\def\HLCBWa##1{\FvrbEx@ColoredBox{##1}{blue}{white}}
-\def\HLCBWb##1{\FvrbEx@ColoredBox{##1}{green}{white}}
-\def\HLCBWc##1{\FvrbEx@ColoredBox{##1}{green}{white}}
-\def\HLCBWd##1{\FvrbEx@ColoredBox{##1}{magenta}{white}}
-\def\HLCBWe##1{\FvrbEx@ColoredBox{##1}{red}{white}}
-\def\HLCBWf##1{\FvrbEx@ColoredBox{##1}{green}{white}}
-\def\HLCBWz##1{\FvrbEx@ColoredBox{##1}{black}{white}}
-\def\HLSa##1{\underline{##1}}
-\def\HLSb##1{\underline{##1}}
-\def\HLSc##1{\underline{##1}}
-\def\HLSd##1{\underline{##1}}
-\def\HLSe##1{\underline{##1}}
-\def\HLSf##1{\underline{##1}}
-\def\HLSz##1{\underline{##1}}
-\def\HLSaa##1{\underline{##1}}
-\def\HLSbb##1{\underline{##1}}
-\def\HLScc##1{\underline{##1}}
-\def\HLSdd##1{\underline{##1}}
-\def\HLSee##1{\underline{##1}}
-\def\HLSef##1{\underline{##1}}
-\def\HLSez##1{\underline{##1}}
-}
-\def\NoHighlight@Attributes{%
-\catcode`\^^a7=0\relax%
-\catcode`\^^b5=1\relax%
-\catcode`\^^b6=2\relax%
-\def\HLa##1{##1}%
-\def\HLb##1{##1}%
-\def\HLc##1{##1}%
-\def\HLd##1{##1}%
-\def\HLe##1{##1}%
-\def\HLf##1{##1}%
-\def\HLBFa##1{##1}%
-\def\HLBFb##1{##1}%
-\def\HLBFc##1{##1}%
-\def\HLBFd##1{##1}%
-\def\HLBFe##1{##1}%
-\def\HLBFf##1{##1}%
-\def\HLITa##1{##1}%
-\def\HLITb##1{##1}%
-\def\HLITc##1{##1}%
-\def\HLITd##1{##1}%
-\def\HLITe##1{##1}%
-\def\HLITf##1{##1}%
-\def\HLCBBa##1{##1}%
-\def\HLCBBb##1{##1}%
-\def\HLCBBc##1{##1}%
-\def\HLCBBd##1{##1}%
-\def\HLCBBe##1{##1}%
-\def\HLCBBf##1{##1}%
-\def\HLCBBz##1{##1}%
-\def\HLCBWa##1{##1}%
-\def\HLCBWb##1{##1}%
-\def\HLCBWc##1{##1}%
-\def\HLCBWd##1{##1}%
-\def\HLCBWe##1{##1}%
-\def\HLCBWf##1{##1}%
-\def\HLCBWz##1{##1}%
-}
-\Highlight@Attributes
-\endinput
-%%
-%% End of file `hbaw.sty'.
diff --git a/Master/texmf-dist/tex/latex/fancyvrb/hcolor.sty b/Master/texmf-dist/tex/latex/fancyvrb/hcolor.sty
deleted file mode 100644
index 89ee76508bf..00000000000
--- a/Master/texmf-dist/tex/latex/fancyvrb/hcolor.sty
+++ /dev/null
@@ -1,161 +0,0 @@
-%%
-%% This is file `hcolor.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% fvrb-ex.dtx (with options: `hcolor')
-%%
-%% IMPORTANT NOTICE:
-%%
-%% For the copyright see the source file.
-%%
-%% Any modified versions of this file must be renamed
-%% with new filenames distinct from hcolor.sty.
-%%
-%% For distribution of the original source see the terms
-%% for copying and modification in the file fvrb-ex.dtx.
-%%
-%% This generated file may be distributed as long as the
-%% original source files, as listed above, are part of the
-%% same distribution. (The sources need not necessarily be
-%% in the same archive or directory.)
-%%
-%% Package `fvrb-ex' (`fvrb-ex', `hbaw' and `hcolor')
-%%
-%% COPYING:
-%% 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.0 or, at your option, any later version.
-%%
-%% Denis Girou (CNRS/IDRIS - France) <Denis.Girou@idris.fr> March 27, 1998
-%%
-%% Package `hcolor'
-%%
-\NeedsTeXFormat{LaTeX2e}
-\def\fileversion{1.4}
-\def\filedate{1998/03/19}
-\ProvidesPackage{hcolor}[\filedate]
-\message{`hcolor' v\fileversion, \filedate\space (Denis Girou)}
-\newcommand{\FvrbEx@ColoredUnderline}[3]{%
-$\setbox\z@\hbox{\begingroup#3\endgroup}%
-\dp\z@\z@\m@th\color{#1}\underline{\textcolor{#2}{\box\z@}}$}
-\newcommand{\FvrbEx@ColoredBox}[3]{%
-\fboxsep=1pt\fcolorbox{#2}{#2}{\textcolor{#3}{\textbf{#1}}}}
-\def\Highlight@Attributes{%
-\def\HLa##1{\textcolor{blue}{##1}}
-\def\HLb##1{\textcolor{cyan}{##1}}
-\def\HLc##1{\textcolor{green}{##1}}
-\def\HLd##1{\textcolor{magenta}{##1}}
-\def\HLe##1{\textcolor{red}{##1}}
-\def\HLf##1{\textcolor{yellow}{##1}}
-\def\HLq##1{\textcolor{PaleGreen}{##1}}
-\def\HLr##1{\textcolor{SlateBlue}{##1}}
-\def\HLz##1{\textcolor{black}{##1}}
-\def\HLBFa##1{\textcolor{blue}{\textbf{##1}}}
-\def\HLBFb##1{\textcolor{cyan}{\textbf{##1}}}
-\def\HLBFc##1{\textcolor{green}{\textbf{##1}}}
-\def\HLBFd##1{\textcolor{magenta}{\textbf{##1}}}
-\def\HLBFe##1{\textcolor{red}{\textbf{##1}}}
-\def\HLBFf##1{\textcolor{yellow}{\textbf{##1}}}
-\def\HLBFz##1{\textcolor{black}{\textbf{##1}}}
-\def\HLITa##1{\textcolor{blue}{\textsl{##1}}}
-\def\HLITb##1{\textcolor{cyan}{\textsl{##1}}}
-\def\HLITc##1{\textcolor{green}{\textsl{##1}}}
-\def\HLITd##1{\textcolor{magenta}{\textsl{##1}}}
-\def\HLITe##1{\textcolor{red}{\textsl{##1}}}
-\def\HLITf##1{\textcolor{yellow}{\textsl{##1}}}
-\def\HLITz##1{\textcolor{black}{\textsl{##1}}}
-\def\HLSCa##1{\textcolor{blue}{\textsc{##1}}}
-\def\HLSCb##1{\textcolor{cyan}{\textsc{##1}}}
-\def\HLSCc##1{\textcolor{green}{\textsc{##1}}}
-\def\HLSCd##1{\textcolor{magenta}{\textsc{##1}}}
-\def\HLSCe##1{\textcolor{red}{\textsc{##1}}}
-\def\HLSCf##1{\textcolor{yellow}{\textsc{##1}}}
-\def\HLSCz##1{\textcolor{black}{\textsc{##1}}}
-\def\HLTTa##1{\textcolor{blue}{\texttt{##1}}}
-\def\HLTTb##1{\textcolor{cyan}{\texttt{##1}}}
-\def\HLTTc##1{\textcolor{green}{\texttt{##1}}}
-\def\HLTTd##1{\textcolor{magenta}{\texttt{##1}}}
-\def\HLTTe##1{\textcolor{red}{\texttt{##1}}}
-\def\HLTTf##1{\textcolor{yellow}{\texttt{##1}}}
-\def\HLTTq##1{\textcolor{ForestGreen}{\texttt{##1}}}
-\def\HLTTr##1{\textcolor{PineGreen}{\texttt{##1}}}
-\def\HLTTz##1{\textcolor{black}{\texttt{##1}}}
-\def\HLITTTa##1{\textcolor{blue}{\textsl{\texttt{##1}}}}
-\def\HLITTTb##1{\textcolor{cyan}{\textsl{\texttt{##1}}}}
-\def\HLITTTc##1{\textcolor{green}{\textsl{\texttt{##1}}}}
-\def\HLITTTd##1{\textcolor{magenta}{\textsl{\texttt{##1}}}}
-\def\HLITTTe##1{\textcolor{red}{\textsl{\texttt{##1}}}}
-\def\HLITTTf##1{\textcolor{yellow}{\textsl{\texttt{##1}}}}
-\def\HLITTTz##1{\textcolor{black}{\textsl{\texttt{##1}}}}
-\def\HLCBBa##1{\FvrbEx@ColoredBox{##1}{blue}{black}}
-\def\HLCBBb##1{\FvrbEx@ColoredBox{##1}{cyan}{black}}
-\def\HLCBBc##1{\FvrbEx@ColoredBox{##1}{green}{black}}
-\def\HLCBBd##1{\FvrbEx@ColoredBox{##1}{magenta}{black}}
-\def\HLCBBe##1{\FvrbEx@ColoredBox{##1}{red}{black}}
-\def\HLCBBf##1{\FvrbEx@ColoredBox{##1}{yellow}{black}}
-\def\HLCBBz##1{\FvrbEx@ColoredBox{##1}{black}{black}}
-\def\HLCBWa##1{\FvrbEx@ColoredBox{##1}{blue}{white}}
-\def\HLCBWb##1{\FvrbEx@ColoredBox{##1}{cyan}{white}}
-\def\HLCBWc##1{\FvrbEx@ColoredBox{##1}{green}{white}}
-\def\HLCBWd##1{\FvrbEx@ColoredBox{##1}{magenta}{white}}
-\def\HLCBWe##1{\FvrbEx@ColoredBox{##1}{red}{white}}
-\def\HLCBWf##1{\FvrbEx@ColoredBox{##1}{yellow}{white}}
-\def\HLCBWz##1{\FvrbEx@ColoredBox{##1}{black}{white}}
-\def\HLSa##1{\color{blue}\underline{##1}}
-\def\HLSb##1{\color{cyan}\underline{##1}}
-\def\HLSc##1{\color{green}\underline{##1}}
-\def\HLSd##1{\color{magenta}\underline{##1}}
-\def\HLSe##1{\color{red}\underline{##1}}
-\def\HLSf##1{\color{yellow}\underline{##1}}
-\def\HLSz##1{\color{black}\underline{##1}}
-\def\HLSaa##1{\FvrbEx@ColoredUnderline{blue}{black}{##1}}
-\def\HLSbb##1{\FvrbEx@ColoredUnderline{cyan}{black}{##1}}
-\def\HLScc##1{\FvrbEx@ColoredUnderline{green}{black}{##1}}
-\def\HLSdd##1{\FvrbEx@ColoredUnderline{magenta}{black}{##1}}
-\def\HLSee##1{\FvrbEx@ColoredUnderline{red}{black}{##1}}
-\def\HLSef##1{\FvrbEx@ColoredUnderline{yellow}{black}{##1}}
-\def\HLSez##1{\FvrbEx@ColoredUnderline{black}{black}{##1}}
-}
-\def\NoHighlight@Attributes{%
-\catcode`\^^a7=0\relax%
-\catcode`\^^b5=1\relax%
-\catcode`\^^b6=2\relax%
-\def\HLa##1{##1}%
-\def\HLb##1{##1}%
-\def\HLc##1{##1}%
-\def\HLd##1{##1}%
-\def\HLe##1{##1}%
-\def\HLf##1{##1}%
-\def\HLBFa##1{##1}%
-\def\HLBFb##1{##1}%
-\def\HLBFc##1{##1}%
-\def\HLBFd##1{##1}%
-\def\HLBFe##1{##1}%
-\def\HLBFf##1{##1}%
-\def\HLITa##1{##1}%
-\def\HLITb##1{##1}%
-\def\HLITc##1{##1}%
-\def\HLITd##1{##1}%
-\def\HLITe##1{##1}%
-\def\HLITf##1{##1}%
-\def\HLCBBa##1{##1}%
-\def\HLCBBb##1{##1}%
-\def\HLCBBc##1{##1}%
-\def\HLCBBd##1{##1}%
-\def\HLCBBe##1{##1}%
-\def\HLCBBf##1{##1}%
-\def\HLCBBz##1{##1}%
-\def\HLCBWa##1{##1}%
-\def\HLCBWb##1{##1}%
-\def\HLCBWc##1{##1}%
-\def\HLCBWd##1{##1}%
-\def\HLCBWe##1{##1}%
-\def\HLCBWf##1{##1}%
-\def\HLCBWz##1{##1}%
-}
-\Highlight@Attributes
-\endinput
-%%
-%% End of file `hcolor.sty'.