diff options
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/latex/fancybox/artistic.txt | 131 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/fancybox/fancybox.doc | 1268 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/fancybox/fancybox.sty | 982 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/fancybox.tlpsrc | 2 |
5 files changed, 0 insertions, 2384 deletions
diff --git a/Master/texmf-dist/doc/latex/fancybox/artistic.txt b/Master/texmf-dist/doc/latex/fancybox/artistic.txt deleted file mode 100644 index 49be276f20d..00000000000 --- a/Master/texmf-dist/doc/latex/fancybox/artistic.txt +++ /dev/null @@ -1,131 +0,0 @@ -Preamble - - The intent of this document is to state the conditions under which a - Package may be copied, such that the Copyright Holder maintains some - semblance of artistic control over the development of the package, - while giving the users of the package the right to use and distribute - the Package in a more-or-less customary fashion, plus the right to - make reasonable modifications. - -Definitions - - "Package" refers to the collection of files distributed by the Copyright - Holder, and derivatives of that collection of files created through - textual modification. - - "Standard Version" refers to such a Package if it has not been modified, - or has been modified in accordance with the wishes of the Copyright - Holder as specified below. - - "Copyright Holder" is whoever is named in the copyright or copyrights - for the package. - - "You" is you, if you're thinking about copying or distributing this - Package. - - "Reasonable copying fee" is whatever you can justify on the basis - of media cost, duplication charges, time of people involved, and so - on. (You will not be required to justify it to the Copyright Holder, - but only to the computing community at large as a market that must - bear the fee.) - - "Freely Available" means that no fee is charged for the item itself, - though there may be fees involved in handling the item. It also - means that recipients of the item may redistribute it under the same - conditions they received it. - -1. You may make and give away verbatim copies of the source form of the - Standard Version of this Package without restriction, provided that - you duplicate all of the original copyright notices and associated - disclaimers. - -2. You may apply bug fixes, portability fixes and other modifications - derived from the Public Domain or from the Copyright Holder. A Package - modified in such a way shall still be considered the Standard Version. - -3. You may otherwise modify your copy of this Package in any way, - provided that you insert a prominent notice in each changed file - stating how and when you changed that file, and provided that you do - at least ONE of the following: - - a. place your modifications in the Public Domain or otherwise - make them Freely Available, such as by posting said modifications - to Usenet or an equivalent medium, or placing the modifications - on a major archive site such as uunet.uu.net, or by allowing the - Copyright Holder to include your modifications in the Standard - Version of the Package. - - b. use the modified Package only within your corporation or - organization. - - c. rename any non-standard executables so the names do not - conflict with standard executables, which must also be provided, - and provide a separate manual page for each non-standard - executable that clearly documents how it differs from the - Standard Version. - - d. make other distribution arrangements with the Copyright - Holder. - -4. You may distribute the programs of this Package in object code or - executable form, provided that you do at least ONE of the following: - - a. distribute a Standard Version of the executables and library - files, together with instructions (in the manual page or - equivalent) on where to get the Standard Version. - - b. accompany the distribution with the machine-readable source of - the Package with your modifications. - - c. give non-standard executables non-standard names, and clearly - document the differences in manual pages (or equivalent), - together with instructions on where to get the Standard Version. - - d. make other distribution arrangements with the Copyright Holder. - -5. You may charge a reasonable copying fee for any distribution of - this Package. You may charge any fee you choose for support of this - Package. You may not charge a fee for this Package itself. However, - you may distribute this Package in aggregate with other (possibly - commercial) programs as part of a larger (possibly commercial) - software distribution provided that you do not advertise this Package - as a product of your own. You may embed this Package's interpreter - within an executable of yours (by linking); this shall be construed - as a mere form of aggregation, provided that the complete Standard - Version of the interpreter is so embedded. - -6. The scripts and library files supplied as input to or produced as - output from the programs of this Package do not automatically fall - under the copyright of this Package, but belong to whomever generated - them, and may be sold commercially, and may be aggregated with this - Package. If such scripts or library files are aggregated with this - Package via the so-called "undump" or "unexec" methods of producing - a binary executable image, then distribution of such an image shall - neither be construed as a distribution of this Package nor shall it - fall under the restrictions of Paragraphs 3 and 4, provided that you - do not represent such an executable image as a Standard Version of - this Package. - -7. C subroutines (or comparably compiled subroutines in other - languages) supplied by you and linked into this Package in order to - emulate subroutines and variables of the language defined by this - Package shall not be considered part of this Package, but are the - equivalent of input as in Paragraph 6, provided these subroutines do - not change the language in any way that would cause it to fail the - regression tests for the language. - -8. Aggregation of this Package with a commercial distribution is always - permitted provided that the use of this Package is embedded; that - is, when no overt attempt is made to make this Package's interfaces - visible to the end user of the commercial distribution. Such use - shall not be construed as a distribution of this Package. - -9. The name of the Copyright Holder may not be used to endorse or - promote products derived from this software without specific prior - written permission. - -10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED - WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF - MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. - -The End diff --git a/Master/texmf-dist/doc/latex/fancybox/fancybox.doc b/Master/texmf-dist/doc/latex/fancybox/fancybox.doc deleted file mode 100644 index 43a7e46295b..00000000000 --- a/Master/texmf-dist/doc/latex/fancybox/fancybox.doc +++ /dev/null @@ -1,1268 +0,0 @@ -%% BEGIN fancybox.doc -%% -%% COPYRIGHT 1992, by Timothy Van Zandt, tvz@Princeton.EDU. -%% For copying restrictions, see fancybox.sty. -%% -%% Documentation for fancybox.sty. -%% Run through LaTeX, with or without the NFSS. -%% -\def\FileVersion{1.3} -\def\FileDate{2000/09/19} -%% -%% This creates two temporary files: \jobname.ex1 and \jobname.tmp - -\documentclass[12pt]{article} - -\makeatletter - -%% INPUT FANCYBOX.STY HERE TO CHECK FILE VERSION. - -\usepackage{fancybox} - -\ifx\FileVersion\fileversion\else - \@latexerr{Fancybox style file and documentation do not have the same - version}\@ehd -\fi - -%% DATES, VERSIONS AND TITLES: - -\def\expanddate#1/#2/#3/{\year=#1 \month=#2 \day=#3} -\begingroup - \expandafter\expanddate\filedate/ - \xdef\thefiledate{\today} -\endgroup - -\title{Documentation for fancybox.sty:\\ - Box tips and tricks for \LaTeX} -\author{Timothy Van Zandt\\ tvz@Princeton.EDU} -\date{Version \fileversion\\ \thefiledate} - -\def\@maketitle{% - \begin{center} - {\Large\bf \@title \par} - \vskip 1.2em {\lineskip .5em - \begin{tabular}[t]{c}\@author\end{tabular}\par} - \vskip .8em {\@date}% - \end{center} - \par - \vskip .5em} - -%% PAGE STYLE: - -\pagestyle{myheadings} -\if@twoside - \markboth{Documentation for fancybox.sty}% - {Version \fileversion, \thefiledate}% -\else - \markright{fancybox.sty, Version \fileversion} -\fi - -%% PAGE PARAMETERS: - -% Paragraphs are marked by large space rather than indentation: -\parindent 0pt -\parskip 7pt plus 1pt minus 1pt - -\setlength{\topmargin}{0pt} -\setlength{\headheight}{12pt} % height of running head -\setlength{\headsep}{30pt} % distance between header and text -\setlength{\textheight}{8.2in} % height of text on page - -%% TABLE OF CONTENTS - -\newskip\myskip - -\def\tableofcontents{% - \par\vfill - \begin{quote} - \begin{center} \Large\bf Contents \end{center} - \def\numberline##1{\hbox to 0pt{\hss##1\hskip 1em}}% - \let\oldaddvspace\addvspace - \def\addvspace##1{% - \myskip##1\relax - \oldaddvspace{.5\myskip}} - \@starttoc{toc}% - \end{quote} - \thispagestyle{empty} - \vfill - \clearpage} - - -%% VERBATIM HACKS: - -\VerbatimFootnotes - -% Short meta (works in verbatim. Can't use < for other purposes. -\catcode`\<=13 \def<#1>{{\rm\it #1\/}} % <meta> (works in verbatim) - -% Short verbatim. " can appear in verbatim environments. -\def\temp{\Verb"} -\expandafter\def\expandafter\dospecials\expandafter{\dospecials\do\"} -\catcode`\"=13 -\let"\temp - -% Verbatim item: -\newcommand{\vitem}{\SaveVerb[{\def\bf{}\item[\UseVerb{\MyTemp}]}]{\MyTemp}} - -%% EXAMPLES: - -\setlength{\fboxsep}{6pt} - -\begin{VerbatimOut}{\jobname.ex1} -% 1. Save example verbatim to \jobname.tmp, -% 2. Input verbatim with \catcode`\"=14 (" is a comment). -% 3. Input again with \catcode\`"=9 (" is ignored). - -\renewcommand{\EveryVerbatimLine}[2]{} - -\renewcommand{\EveryVerbOutLine}[2]{} - -\newcommand{\BeginExample}{% - \VerbatimEnvironment\begin{VerbatimOut}{\jobname.tmp}} - -\newcommand{\EndExample}{% - \end{VerbatimOut}%. - \renewcommand{\EveryVerbatimLine}{}% - \renewcommand{\EveryVerbatimCodes}{\catcode`\"=14}% - \LVerbatimInput{\jobname.tmp}% - \catcode`\"=9} - -\newenvironment{example}{\BeginExample}{\EndExample - \begin{center}\input{\jobname.tmp}\end{center}} - -\newenvironment{example*}{\BeginExample}% - {\EndExample \input{\jobname.tmp}} - -\newenvironment{example**}{\BeginExample}% - {\EndExample \globaldefs=1 \input{\jobname.tmp}} - -\end{VerbatimOut} - -\input{\jobname.ex1} - -%% END PREAMBLE: -\makeatother - -\begin{document} -\setcounter{page}{0} -\maketitle -\begin{quote} -"fancybox.sty", together with its documentation, gives extensive answers to -and solutions for many questions about how to frame or rotate this or that in -\LaTeX. It also contains commands for shadow, double and oval frames. -\end{quote} - -\tableofcontents - -\section{Fancy frames} - -"fancybox.sty" has five variants of \LaTeX's "\fbox" command: -\begin{quote}\raggedright -"\shadowbox", "\doublebox", "\ovalbox" (with "\thinlines") and "\Ovalbox" -(with "\thicklines"). -\end{quote} -Here are examples:\footnote{In this documentation, the default value of -"\fboxsep" has been changed from 3pt to 6pt.} -\begin{example} - \shadowbox{\large\bf New Glarus Birdwatch} -\end{example} -\begin{example} - \doublebox{\large\bf New Glarus Birdwatch} -\end{example} -\begin{example} - \ovalbox{\large\bf New Glarus Birdwatch} -\end{example} -\begin{example} - \Ovalbox{\large\bf New Glarus Birdwatch} -\end{example} - -The distance between the box and the frame is "\fboxsep", as with \LaTeX's -"\fbox" command. The commands use other parameters as well: -\begin{description} -\vitem"\shadowbox" The width of the frame is "\fboxrule" (the same as with -"\fbox"). The width of the shadow is "\shadowsize" (default: "4pt"). - -\vitem"\doublebox" The width of the inner frame is .75"\fboxrule", and the -width of the outer frame is 1.5"\fboxrule". The distance between the two -frames is 1.5"\fboxrule" plus .5pt. - -\vitem"\ovalbox" The width of the frame is set by the "\thinlines" -declaration. The diameter of the corner arcs is set with the "\cornersize" -command. -\begin{LVerbatim} - \cornersize{<num>} -\end{LVerbatim} -sets the diameter of the corners arcs to <num> times the lessor of the width -and height of the box. -\begin{LVerbatim} - \cornersize*{<dim>} -\end{LVerbatim} -sets the diameter of the corner arcs to <dim>. This is all approximate, -because \LaTeX\ has a limited range of arc sizes to choose from. The default -is -\begin{LVerbatim} - \cornersize{.5} -\end{LVerbatim} - -\vitem"\Ovalbox" This is like "\ovalbox", except that the width of the lines -is set by the "\thicklines" declaration. -\end{description} - -There are no analogs to \LaTeX's "\framebox" command, which has various -optional arguments not supported by "\fbox". You can get the exact same -functionality by putting the argument of the above framing commands in a -"\makebox". - -There is also a variant "\fancyoval" of \LaTeX's "\oval" picture object. The -difference is that "\oval" always makes the diameter of the corner arcs as -large as possible, and "\fancyoval" uses the "\cornersize" command to set the -diameter. - -\section{A short course on boxes} - -\begingroup\sloppy -The "\shadowbox", "\doublebox", "\ovalbox" and "\Ovalbox" commands described -in the previous section are examples of LR-box commands, meaning that their -argument is processed in LR mode. \LaTeX\ LR-box commands include "\mbox", -"\makebox", "\fbox", "\framebox", "\sbox" and "\savebox". All the PSTricks -commands whose argument is text are LR-box commands, including, e.g, the -framing, rotating, scaling and positioning commands, and some of the node -commands. Any rotation command is an LR-box command. - -\endgroup - -The purpose of the rest of this documentation is to provide answers to, and -solutions for, frequently asked questions about using LR-box commands with -\LaTeX. I will use "\fbox" for the leading example of a box framing -command,\footnote{In the examples using "\fbox", be aware that the default -value of "\fboxsep" has been changed in this documentation from 3pt to 6pt.} -and "\rotateleft" for the leading example of a box rotation command. -("fancybox.sty" does not contain a "\rotateleft" command, as this must be -implemented via "\special"'s, but there are numerous box-rotation style files -around.) However, most of what is said here applies to any LR-box command. - -In each LR-box command, the text is processed in restricted horizontal mode, -which is referred to as ``LR-mode'' in Lamport's {\em \LaTeX: User's Guide and -Reference Manual}. In restricted horizontal mode, the input, consisting of -regular characters and boxes, is made into one (long or short) line. There is -no line-breaking, nor can there be vertical mode material such as an entire -displayed equation. However, the fact that you can include another box means -that this isn't really a restriction. - -For one thing, alignment environments such as \LaTeX's "tabular" are just -boxes, and thus present no problem. Picture environments and the LR-box -commands themselves are also just boxes. Entire paragraphs or other vertical -mode material such as displayed equations can be nested in a "\parbox" or -"minipage". - -\section{Defining LR-box environments} - -To frame a "minipage", you have to write -\begin{LVerbatim} - \fbox{% - \begin{minipage}{3in} - blah - \end{minipage}} -\end{LVerbatim} -You might want to define an environment "fminipage" that frames its contents, -but you can't use -\begin{LVerbatim} - \newenvironment{fminipage}% - {\fbox{\begin{minipage}}% - {\end{minipage}}} -\end{LVerbatim} -because the braces are not balanced in the definition. - -"fancybox.sty" contains an "Sbox" environment that makes it easy to define -your own LR-box environments. It is a variant of \LaTeX's "\sbox" command that -saves the contents of the environment in a storage bin that can be retrieved -with the command "\TheSbox".\footnote{The difference between -\begin{LVerbatim} - \begin{Sbox} - blah - \end{Sbox} - \TheSbox -\end{LVerbatim} -and -\begin{LVerbatim} - \newsavebox{\mybox} - \sbox{\mybox}{blah} - \usebox{\mybox} -\end{LVerbatim} -is that "Sbox" saves the contents globally, and "\TheSbox" erases the contents -globally.} -For example, here is a framed minipage: -\begin{LVerbatim} - \begin{Sbox} - \begin{minipage}{3in} - blah - \end{minipage} - \end{Sbox} - \fbox{\TheSbox} -\end{LVerbatim} -and here is an "fminipage" environment that works: -\begin{example**} - \newenvironment{fminipage}% - {\begin{Sbox}\begin{minipage}}% - {\end{minipage}\end{Sbox}\fbox{\TheSbox}} -\end{example**} -Let's see that it really works: -\begin{example} - \begin{fminipage}{2in} - Since the former doesn't use braces to delimit - the contents of the box, $\ldots$ - \end{fminipage} -\end{example} - - -\section{Math} - -In-line math, or pieces of a displayed equation (as opposed to a whole -equation), are horizontal mode material, but most LR-box commands switch out -of math mode when they occur in math mode. Thus, you have to explicitly switch -back in to math mode when desired.\footnote{This is {\em not} true for the -PSTricks LR-box commands.} -For example: -\begin{example} - $x + y = \fbox{$\Omega$}$ -\end{example} - -You also have to explicitly write -\begin{quote} - "\scriptstyle", "\scriptscriptstyle" or "\displaystyle" -\end{quote} -if you want one of these special math styles. For example, here I will frame -an equation, but not the equation number: -\begin{example*} - \begin{equation} - \fbox{$\displaystyle - \int_{\Omega_0} \zeta(\omega) d\omega - \geq \bar{r}$} - \end{equation} -\end{example*} - -Entire displayed equations or "eqnarray" environments work differently because -they are vertical mode material. Thus, they have to go inside a "\parbox" or -"minipage". E.g., -\begin{example*} - \newlength{\mylength} - \[ - \setlength{\fboxsep}{15pt} - \setlength{\mylength}{\linewidth} - \addtolength{\mylength}{-2\fboxsep} - \addtolength{\mylength}{-2\fboxrule} - \fbox{% - \parbox{\mylength}{ - \setlength{\abovedisplayskip}{0pt} - \setlength{\belowdisplayskip}{0pt} - \begin{equation} - x + y = z - \end{equation}}} - \] -\end{example*} -The outer "\[" "\]" are just used to display the boxed equation, rather than -actually switch into math mode. Note how I set the width of the "\parbox" so -that the displayed box would exactly have width "\linewidth".\footnote{That is -what "\mylength" is for. It is better to define a single scratch length that -you reuse rather than creating a new one each time.} - - I also set the display skips to "0pt" and increased the size of "\fboxsep" so -that I would have the same distance all around between the equation and the -frame. - -This is again a mouthful, and so I might instead define:\footnote{The reason -for using "\minipage" instead of "\begin{minipage}", and so on, is that with -AmS-\LaTeX, "\begin" and "\end" cannot appear in the definition of a new -equation environment.} -\begin{example**} - \newenvironment{FramedEqn}% - {\setlength{\fboxsep}{15pt} - \setlength{\mylength}{\linewidth}% - \addtolength{\mylength}{-2\fboxsep}% - \addtolength{\mylength}{-2\fboxrule}% - \Sbox - \minipage{\mylength}% - \setlength{\abovedisplayskip}{0pt}% - \setlength{\belowdisplayskip}{0pt}% - \equation}% - {\endequation\endminipage\endSbox - \[\fbox{\TheSbox}\]} -\end{example**} -"fancybox.sty" doesn't bother defining any such environments, because there -are too many possible designs. But let's see if the one above works: -\begin{example*} - \begin{FramedEqn} - \Rightarrow P\sim\xi(P_\gamma)- \frac{1}{3} - \end{FramedEqn} -\end{example*} - -"fancybox.sty" contains a "Beqnarray" environment, which is like the -"eqnarray" environment but it is not vertical mode material. Instead, it -produces a box just large enough to hold all the equations. For example: -\begin{example} - \fbox{% - \begin{Beqnarray*} - x & = & y\\ - y & > & x \\ - \int_4^5 f(x)dx & = & \sum_{i\in F} x_i - \end{Beqnarray*}} -\end{example} -The unstarred version produces standard equation numbers on the right (even -with the "leqno" style option and AmS-\LaTeX). It might not work with special -equation numbering macros. - - -\section{Floats}\label{floats} - -A common mistake is to put a whole "table", "figure" or other float -environment inside an LR-box command. Instead, you should put everything that -is {\em inside} the environment (including the "\caption", if you want that -boxed too) inside a "minipage" of the desired width, and then put the -"minipage" inside the LR-box command. - -For example: -\begin{example*} - \begin{table}[h] - \begin{center} - \fbox{% - \begin{minipage}{.8\textwidth} - \begin{center} - \begin{tabular}{rl} - foo & bar - \end{tabular} - \end{center} - \caption{A table of foo and bar.} - \end{minipage}} - \end{center} - \end{table} -\end{example*} -Note how I had to use "center" twice: once to center the framed box, and again -to center the stuff inside the box. - -That is a mouthful, and so I might define a "FramedTable" environment like the -following, which sets the size of the "minipage" so that the framed box is -exactly the width of the page (no need for the first "center" environment this -time): -\begin{example**} - \newenvironment{FramedTable}% - {\begin{table}[h] - \begin{Sbox}% - \setlength{\mylength}{\textwidth}% - \addtolength{\mylength}{-2\fboxsep}% - \addtolength{\mylength}{-2\fboxrule}% - \begin{minipage}{\mylength}}% - {\end{minipage}\end{Sbox}\fbox{\TheSbox}\end{table}}% -\end{example**} -Now let's see if it works: -\begin{example*} - \begin{FramedTable} - \begin{center} - \begin{tabular}{rl} - foo & bar - \end{tabular} - \end{center} - \caption{A table of foo and bar.} - \end{FramedTable} -\end{example*} - -The most common reason to want to rotate an entire float, caption and all, is -to put it on a page by itself in landscape mode, centered both horizontally -and vertically. Compared to the table framing we did above, we just have to -replace "\fbox" by our box rotation command (e.g., "\rotateleft" or whatever), -set the width of the minipage to "\textheight" (if you want to use the full -size of the page), and use the float position specifier "[p]". "fancybox.sty" -contains an environment, -\begin{LVerbatim} - \begin{landfloat}{<float>}{<rotation command>} - ... - \end{landfloat} -\end{LVerbatim} -that automates this. It has two arguments: the name of the floating -environment, and your rotation command. For example, if "\rotateleft{foo}" -rotates "foo" by 90 degrees, and you want a landscape mode "table", then try -\begin{LVerbatim} - \begin{landfloat}{table}{\rotateleft} - ... - \end{landfloat} -\end{LVerbatim} -If the whole document is in landscape mode, then "landfloat" gives you a -portrait-mode float---good for a table that is too tall to fit in landscape -mode. - -If you don't add a caption to a float, it doesn't matter much what floating -environment you use (e.g., "table", "figure" or whatever). Thus, you can put -anything in a landscape float. For example, suppose I have a very wide -equation. Then I can write: -\begin{LVerbatim} - \begin{landfloat}{table}{\rotateleft} - \begin{equation} - ... - \end{equation} - \end{landfloat} -\end{LVerbatim} -"fancybox.sty" defines a generic caption, "\GenericCaption", that doesn't -affect the numbering of floats, doesn't make an entry in a list of floats, and -doesn't add anything to the argument you give. I could have used this if I -wanted to add a caption to the previous example. - -\section{Center, flushleft and flushright} - -There are two ways to box a "center", "flushleft" or "flushright" environment. -If you have long lines and you want \TeX\ to do the line breaking, then put -the environment inside a "minipage".\footnote{List and other such environments -work best inside a "minipage" environment rather than a "\parbox".} If you -have short lines and you want the frame to adjust itself to the size of the -longest line, then use "fancybox.sty"'s -\begin{quote} - "Bcenter", "Bflushleft" or "Bflushright" -\end{quote} -environment instead. - -These are basically just "tabular" environments with a single column, and so -each line should end with "\\", or "\\["<dim>"]" to insert extra space, and -the text on each line must be balanced. Also, each line is sitting in its own -group, and so, e.g., if you want to change the font for the whole environment, -you should do this before the environment rather than after. -Like the "tabular" environment, the box that is produced has the baseline at -the center, unless you include an optional argument "[t]" to align the box -with the top line or "[b]" to align the box with the bottom line. - -For example: -\begin{example} - \setlength{\fboxsep}{10pt}% - \fbox{% - \begin{Bcenter} - Love of life\\ - and other short stories\\ - by Policarpa Salabarrieta - \end{Bcenter}} -\end{example} -Compare this with: -\begin{example} - \setlength{\fboxsep}{10pt}% - \fbox{% - \begin{minipage}{6cm} - \begin{center} - Love of life and other short stories - by Policarpa Salabarrieta - \end{center} - \end{minipage}} -\end{example} - -In either case, if we want the resulting framed box centered, we have to -include it inside another "center" environment. - -Here is another example: -\begin{example} - My list: \fbox{% - \begin{Bflushleft}[b] - Galanga root\\ - Coconut\\ - Tempeh - \end{Bflushleft}} -\end{example} - - -\section{Lists} - -There are again two ways to box a list environment such as -\begin{quote} - "itemize", "enumerate" or "description". -\end{quote} -You can put it in a "minipage" of pre-determined size and let \TeX\ do the -line breaking, or you can use -\begin{quote} - "Bitemize", "Benumerate" or "Bdescription" -\end{quote} -instead, and let the box adjust to the size of the longest line. - -For example. -\begin{example} - \fbox{% - \begin{Bitemize} - \item Groceries - \item Clean hamster cages - \item Pick up Peter - \end{Bitemize}} -\end{example} - - Most of the usual list parameters are irrelevant except for "\itemsep" and -"\labelsep". These environments are also based on the "tabular" environment, -and so each item should be balanced text. You can't write "\vspace{4pt}" -either, but you can insert an extra amount of space before an item by writing -"\item(4pt)" (or "\item(4pt)[label]" if you have a label). Also, you can break -lines within an item using "\\" or "\\[<dim>]". For example: -\begin{example} - \fbox{% - \begin{Bdescription} - \item[David] Groceries - \item[Eli] Hamster cages\\ - Surreal numbers - \item(3pt)[Doris] Pick up Peter - \end{Bdescription}} -\end{example} - -These environments also have an optional argument, "[t]" to align the box with -the top line, and "[b]" to align the box with the bottom line. -\begin{example} - To do: - \fbox{\setlength{\itemsep}{0pt}% - \begin{Benumerate}[t] - \item Groceries - \item Hamster cages - \item Pick up Peter - \end{Benumerate}} -\end{example} - -There is also a generic "\Blist" command that is analogous to \LaTeX's -"\list". It has the same two obligatory arguments, plus a third optional -"[t]" or "[b]" argument for changing the alignment. - -\section{Superimposing boxes} - -The command -\begin{LVerbatim} - \boxput*(<x>,<y>){<LR stuff1>}{<LR stuff2>} -\end{LVerbatim} -puts <LR stuff1> either behind (the default) or in front of (with the "*") <LR -stuff2>.\footnote{You will only notice the difference between "\boxput" and -"\boxput*" if you are using color implemented by "\special"'s} The resulting -box has the dimensions of <LR stuff2>. - -The coordinates "(<x>,<y>)" determine where the center of <LR stuff1> is -positioned. For example, "(0,0)" puts it at the center of <LR stuff2>, "(0,1)" -puts it at the center-top, and "(-1,-1)" puts it in the bottom-left corner. - -More generally, the origin of the coordinate system is at the center of <LR -stuff2>, one unit in the vertical direction is half the vertical size of <LR -stuff2>, and one unit in the horizontal direction is half the width of <LR -stuff2>. Thus, <x> and <y> should always be numbers (without units such as -"pt" or "cm"), with one exception: If <y> is "b" or "B", <LR stuff1> is -positioned vertically at the baseline of <LR stuff2>. "(<x>,<y>)" is -optional---the default is "(0,0)". - -Except for the funny coordinate system, "\boxput" is like the "\put" command -in a "picture". In particular, you can use "\makebox" in <LR stuff1> to -fine-tune the positioning, and <LR-stuff1> can contain a "picture" -environment. - -You might use "\boxput" to put a ``water mark'' in the background of a box, or -to put a label next to a box, when you don't want this label to take up any -space. Here is a lazy example: -\begin{example} - \boxput{\makebox(0,0){\Huge Censored!}}{\parbox{3in}{% - The origin of the coordinate system is at the center of - {\em LR stuff2}, and one unit in the x-direction - is half the width of {\em LR stuff2}.}} -\end{example} - -This would be a lot more interesting using PSTricks, with ``Censored!'' in the -foreground, rotated 30 degrees, and red: -\begin{LVerbatim} - \boxput*{\rput{30}{\Huge\red Censored}}{\parbox{3in}{% - blah blah}} -\end{LVerbatim} - -Here is another example using PSTricks: -\begin{LVerbatim} - \newcommand{\titledframe}[2]{% - \boxput*(0,1){\psframebox*{#1}}% - {\psframebox[framesep=12pt]{#2}}} -\end{LVerbatim} -\newcommand{\titledframe}[2]{% - \boxput*(0,1){#1}% - {\fboxsep=12pt \fbox{#2}}} -The following example illustrated roughly how it works, but ``My title'' does -not blot out the frame behind it because this documentation does not use -PSTricks. \begin{example} - \titledframe{My title}{% - \parbox{2in}{The title is superimposed - on the top part of the frame.}} -\end{example} - -\section{Framing a whole page} - -The commands -\begin{LVerbatim} - \fancyput*(<x>,<y>){<LR stuff>} - \thisfancyput*(<x>,<y>){<LR stuff>} -\end{LVerbatim} -are pretty much like "\put" commands in a \LaTeX\ picture environment whose -origin is 1 inch down and to the right from the top left corner of the -page.\footnote{Don't blame me for \TeX's peculiar 1 inch margins.} The only -differences are that (i) that any LR-mode material is permitted (including -\LaTeX\ "picture" environment, of course), (ii) the coordinate is optional -"(0pt,0pt)" is substituted by default), and (iii) if the coordinate is -included, you {\em must} specify the units. - -"\thisfancyput" affects only the current page, and is a global declaration -(analogous to "\thispagestyle"). - -If you include the optional "*", then the command adds to, rather than -replaces, other things that have been inserted with "\fancyput" or -"\thisfancyput". - -These commands are particularly useful for framing a page, because you can get -a frame that is, e.g., 1 inch from each side of the physical page without -having to worry about what margins you are using for the document. Here is an -example: -\begin{example*} - \thisfancyput(3.25in,-4.5in){% - \setlength{\unitlength}{1in}\fancyoval(7,9.5)} -\end{example*} -You could also use "\fancyput" to add some kind of ``watermark'' or background -image (e.g., a light gray ``DRAFT''). - -There are other commands that directly frame or in some other way box the page -of text: -\begin{LVerbatim} - \fancypage{<cmds1>}{<cmds2>} - \thisfancypage{<cmds1>}{<cmds2>} -\end{LVerbatim} - -Each finished page, before adding the headers and footers, (and thus having -width and height "\textwidth" and "\textheight", is boxed with -\begin{LVerbatim} - <cmds1>{<pagebox>} -\end{LVerbatim} -Thus, <cmds1> should be, or should end with, a command whose argument can be a -box, such as "\fbox" or "\rotateleft". - -Then the headers and footers are added, using the new width of the page, and -this is boxed with -\begin{LVerbatim} - <cmds2>{<pagebox>} -\end{LVerbatim} -The same rules apply to <cmds2> as to <cmds1>. - -Here is an example: -\begin{example*} - \thisfancypage{% - \setlength{\fboxsep}{8pt}% - \setlength{\shadowsize}{8pt}% - \shadowbox}{} -\end{example*} - -{\bf Warning:} The commands described in this section change \LaTeX's output -routine, and may not work with document styles that do the same. Also, bad -arguments can cause serious errors with uninformative error messages. - -\section{Switching to landscape mode midstream} - -The most common reason to switch to landscape mode midstream is to rotate a -float, such as a table or figure. This was discussed in Section \ref{floats}. - -If you want to rotate one or more pages, without rotating the headers and -footers, use the -\begin{LVerbatim} - \begin{LandScape}{<cmd>} - ... - \end{LandScape} -\end{LVerbatim} -environment. <cmd> should be the command for rotating the page 90 degrees to -the left or right. (E.g., "\rotateleft", or "\rotate[l]".) - -If you want to rotate the headers, footers and margins as well, use the -\begin{LVerbatim} - \begin{Landscape}{<paperwidth>}{<paperheight>}{<cmd>} - ... - \end{Landscape} -\end{LVerbatim} -environment (the small "s" makes the difference) to rotate the pages left -(counterclockwise), and use the "Landscape*" environment (same arguments) to -rotate the pages right (clockwise). The three arguments are the width of the -paper, the height of the paper, and the rotation command you are using. For -example, if I have a portrait mode document using the US 8.5in by 11in paper, -and if "\rotateleft{foo}" rotates "foo" 90 degrees counterclockwise, then I -can write -\begin{LVerbatim} - \begin{Landscape}{8.5in}{11in}{\rotateleft} -\end{LVerbatim} - -You can use "\LandScape", "\Landscape" and "\Landscape*", rather then the -"LandScape", "Landscape" and "Landscape*" environments, if you want the rest -of the document to be in landscape mode. - -If your document is being printed in landscape mode, then these environments -switch to portrait mode. - -For example, suppose I have a landscape mode document, and I want to switch to -portrait mode for the rest of the document, rotating the pages to the -``right'' with "\rotateright". Then I would write -\begin{LVerbatim} - \Landscape*{11in}{8.5in}{\rotateright} -\end{LVerbatim} - -These environments switch the text width and height, leaving the margins -exactly as they were before. It is quite possible that you want to make other -changes to the page parameters after switching to landscape mode, but as -Lamport points out the \LaTeX\ {\em User's Guide and Reference Manual}, this -generally doesn't work right in the middle of the document. "fancybox.sty" has -a command "\UsePageParameters" which gets around this. It should be used right -after you change the page parameters (and the page parameter changes should -come right after the beginning of the landscape environment, or "\clearpage"). - -{\bf Warning:} The commands and environments described in this section change -\LaTeX's output routine, and may not work with document styles that do the -same. Also, bad arguments can cause serious errors with uninformative error -messages. - -\section{Verbatim} - -If you try to frame some verbatim text by typing -\begin{LVerbatim} - \fbox{% - \begin{minipage}{5cm} - \begin{verbatim} - \My \Program \Listing - if { foo } { bar } fi - \end{verbatim} - \end{minipage}} -\end{LVerbatim} -you will get nonsense at best. This is because the argument to "\fbox" is read -before the "\begin{verbatim}" is processed. But then it is too late for \TeX\ -to go back and interpret the contents of the verbatim environment literally -rather than as special \TeX\ commands and characters. - -One solution is to use the "Sbox" environment: -\begin{example} - \begin{Sbox} - \begin{minipage}{5cm} - \begin{verbatim} - \My \Program \Listing - if { foo } { bar } fi - \end{verbatim} - \end{minipage} - \end{Sbox} - \setlength{\fboxsep}{8pt} - \fbox{\TheSbox} -\end{example} - -"fancybox.sty" also contains a command that ``fixes'' \LaTeX's LR-box commands -for use with verbatim text: -\begin{LVerbatim} - \VerbBox{<cmd>}{<LR stuff>} -\end{LVerbatim} -This is like -\begin{LVerbatim} - <cmd>{<LR stuff>} -\end{LVerbatim} -but <LR stuff> can contain verbatim text.\footnote{Or other tricks that -involve "\catcode" changes, as occurs with some foreign language macros.} For -example: -\begin{example} - \VerbBox{\fbox}{\verb+\foo{bar}+} -\end{example} - -For footnotes, put the command "\VerbatimFootnotes" in the preamble, and then -you can use verbatim commands or environments in the argument of "\footnote". -This is an optional feature because it might conflict with somebody else's -modification of the footnote system. - -If you try to define your own framed verbatim environment with -\begin{LVerbatim} - \newenvironment{FramedVerb}% - {\begin{Sbox}\begin{minipage}{5in}\begin{verbatim}} - {\end{verbatim}\end{minipage}\end{Sbox} - \setlength{\fboxsep}{8pt}\fbox{\TheSbox}} -\end{LVerbatim} -and then type -\begin{LVerbatim} - \begin{FramedVerb} - if { foo } { bar } fi - \end{FramedVerb} -\end{LVerbatim} -you will again run into trouble because after the "\begin{verbatim}", \LaTeX\ -is searching for the literal string "\end{verbatim}" as the end of the -verbatim text. It just skips right over the "\end{FramedVerb}" and may well -continue to the end of the file or until it throws up. - -"fancybox.sty" contains some verbatim environments that get around this -problem and that have other advantages for LR-boxing verbatim listings, when -compared to the standard \LaTeX\ "verbatim" environment. Admittedly, many of -their special features have nothing to do with boxes. - -Here are the basic verbatim environments: -\begin{description} - \vitem"Verbatim" Works pretty much like \LaTeX's "verbatim". - \vitem"LVerbatim" Like "Verbatim", but "list" rather than "trivlist" is used -to display the listing, and so it is indented from the left margin. (This is -what I am using for verbatim listings in this document.) - \vitem"BVerbatim[<pos>]" Produces a box with the same width as the longest -verbatim line. The baseline is in the center, unless you include the optional -argument "[t]" for alignment with the top line or "[b]" for alignment with the -bottom line. - \vitem"VerbatimOut{<file>}" Writes the verbatim text to <file>. - \vitem"SaveVerbatim{<cmd>}" Saves the verbatim text as <cmd>. <cmd> is -defined globally, without checking whether <cmd> is already defined. Use -obviously innocuous names like "\MyTemp". -\end{description} - -{\bf Important:} For any of these verbatim environments, or new verbatim -environments you define yourself (see below), nothing should come after -"\begin{Verbatim}" or before "\end{Verbatim}" on the same line --- not even -spaces!% - \footnote{If you need to allow something to come before "\end{Verbatim}", -then you have two options: - \begin{itemize} - \item Put the command "\AltGetVerbatim" in the preamble. This switches to a -scheme where anything preceding "\end{Verbatim}" is simply ignored. This can -cause problems if you do really weird things with active characters or other -commands within the verbatim environment (e.g., active conditionals that are -not balanced within a line of verbatim text), but in this case you are -probably a good enough hacker to use the next option. - \item "\EndVerbatimTokens" is a token register that you can set to the -tokens that should precede "\end{Verbatim}" on the same line, with their -verbatim "\catcode"'s. - \end{itemize}} -If you put something after "\begin{Verbatim}" on the same line, it is simply -ignored. However, if you put something after "\end{Verbatim}" on the same -line, or if you misspell "\end{Verbatim}", you will get an error such as -\begin{LVerbatim} - ! File ended while scanning use of \Verbatim. -\end{LVerbatim} -and the document will end at that point. - -You can define new verbatim environments using "\newenvironment". You just -have to start the definition with -\begin{LVerbatim} - \VerbatimEnvironment -\end{LVerbatim} - For example, here is the framed verbatim environment we tried earlier: -\begin{example**} - \newenvironment{FramedVerb}% - {\VerbatimEnvironment - \begin{Sbox}\begin{minipage}{5cm}\begin{Verbatim}}% - {\end{Verbatim}\end{minipage}\end{Sbox} - \setlength{\fboxsep}{8pt}\fbox{\TheSbox}} -\end{example**} -Let's give it a try: -\begin{example} - \begin{FramedVerb} - if { foo } { bar } fi - \end{FramedVerb} -\end{example} - -Here are three commands for inputting a whole file verbatim. The file must end -with a new line. -\begin{description} - \vitem"\VerbatimInput{<file>}" Like "\Verbatim". - \vitem"\LVerbatimInput{<file>}" Like "\LVerbatim". - \vitem"\BVerbatimInput[<pos>]{<file>}" Like "\BVerbatim". -\end{description} - -Here are three commands for making use of verbatim text that has been saved to -a command: -\begin{description} - \vitem"\UseVerbatim{<cmd>}" Like "\Verbatim". - \vitem"\LUseVerbatim{<cmd>}" Like "\LVerbatim". - \vitem"\BUseVerbatim[<pos>]{<cmd>}" Like "\BVerbatim". -\end{description} -The "SaveVerbatim" environment and the "\UseVerbatim" commands are useful for -including verbatim text in the argument of "\marginpar", "\fbox" and other -commands. For example, here is another way to define the "FramedVerb" -environment: -\begin{LVerbatim} - \newenvironment{FramedVerb}% - {\VerbatimEnvironment - \begin{SaveVerbatim}{\MyTemp}}% - {\end{SaveVerbatim}% - \setlength{\fboxsep}{8pt}% - \fbox{\begin{minipage}{5cm}\UseVerbatim{\MyTemp} - \end{minipage}}} -\end{LVerbatim} - -Here are some verbatim commands for short-pieces of (in-line) verbatim text: -\begin{description} - \vitem"\Verb<char> <literal> <char>" \ \\ - Like \LaTeX's "\verb" command, but it will complain if it encounters a new -line in <literal>.\footnote{Be careful that your word processing does not -insert one for you.} For example: -\begin{example*} - "\begin{quote} - The main use for the \Verb+SaveVerbatim+ - environment and the \Verb+\UseVerbatim+ - commands is to include $\ldots$ - "\end{quote} -\end{example*} - \vitem"\UseVerb{<cmd>}" Like "\UseVerbatim", but without any particular -formatting. It is intended for including short pieces of literal text saved -with "\SaveVerb" (below).\footnote{But it can also be used for multiple lines -saved with the "SaveVerbatim" environment if you want to do the formatting -yourself. E.g., try this in a tabbing environment with "\VerbatimTab" -appropriately defined.} - \vitem"\SaveVerb[<whatever>]{<cmd>}<char> <literal> <char>"\ \\ - This is like "\Verb", but it saves <literal> as <cmd>, and then returns to -the optional argument <whatever>. Like the "SaveVerbatim" environment, it -defines <cmd> globally without checking whether <cmd> is already defined. -Without the optional argument, the most common use is for including verbatim -text in a "\marginpar", "\section" or other command argument. - - The optional argument can be used for special tricks. For example, all the -listings of commands in this documentation use "\vitem" in a "description" -environment, where "\vitem" is defined by:\footnote{The braces enclosing the -optional argument of "\SaveVerb" prevent the "]" inside the argument from -being mistaken for the end of the argument.} -\begin{LVerbatim} - \newcommand{\vitem}% - {\SaveVerb[{\item[\UseVerb{\MyTemp}]}]{\MyTemp}} -\end{LVerbatim} -Whereas -\begin{LVerbatim} - \item[\Verb"\foo"] -\end{LVerbatim} -would not work because after "\item" reads its argument it is too late to -interpret "\foo" literally, -\begin{LVerbatim} - \vitem"foo" -\end{LVerbatim} -does work because it is equivalent to -\begin{LVerbatim} - \SaveVerb{\MyTemp}"foo"\item[\UseVerb{\MyTemp}] -\end{LVerbatim} -\end{description} - - -These environments and commands use various parameters that make it easy to -customize their behavior. However, until you want to find the need for such -customization, you might as well ignore the rest of this section. - -Internally, "fancybox.sty" separates the reading and formatting of verbatim -text. Most of the environments and commands perform both functions, but -"SaveVerbatim" and "\SaveVerb" only read the text, while "UseVerbatim" (and -company) and "\UseVerb" only format the text. "VerbatimOut" gets special -treatment. The parameters that apply to each class of verbatim environment or -command is listed in Table \ref{verbtable}. - -\begin{table} -\begin{center} -\renewcommand{\arraystretch}{0} -\setlength{\tabcolsep}{7pt} -\newcommand{\vs}{& \\[\tabcolsep]} -\newcommand{\VS}{\\ \vs \hline \vs} -\begin{tabular}{|l|l|} -\hline \vs -{\em Where} & {\em What} -\\ \vs \hline -\hline \vs - \begin{Bflushleft} - Environments\\ - that format - \end{Bflushleft} -& - \begin{Bflushleft} - "\VerbatimSpace"\\ - "\VerbatimTab"\\ - "\VerbatimFont"\\ - "\VerbatimFuzz"\\ - "\EveryVerbatimLine"\\ - "\EveryVerbatim"\\ - "\ThisVerb" - \end{Bflushleft} -\VS - \begin{Bflushleft} - Environments\\ - that read - \end{Bflushleft} -& - \begin{Bflushleft} - "\EveryVerbatimCodes"\\ - "\ThisVerbCodes" - \end{Bflushleft} -\VS - \begin{Bflushleft} - "\Verb" and\\ - "\UseVerb" - \end{Bflushleft} -& - \begin{Bflushleft} - "\VerbSpace"\\ - "\VerbTab"\\ - "\VerbFont"\\ - "\EveryVerb"\\ - "\ThisVerb" - \end{Bflushleft} -\VS - \begin{Bflushleft} - "\Verb" and\\ - "\SaveVerb" - \end{Bflushleft} -& - \begin{Bflushleft} - "\EveryVerbCodes"\\ - "\ThisVerbCodes" - \end{Bflushleft} -\VS - \begin{Bflushleft} - "VerbatimOut" - \end{Bflushleft} -& - \begin{Bflushleft} - "\EveryVerbOutCodes"\\ - "\ThisVerbCodes"\\ - "\EveryVerbOutLine"\\ - "\ThisVerb" - \end{Bflushleft} -\\ \vs \hline -\end{tabular} -\caption{Parameters for the verbatim environments and -commands.\label{verbtable}} -\end{center} -\end{table} - -All the parameters, including "\VerbatimFuzz", are ordinary commands, and -should be changed with "\renewcommand". - -Here is a description of each of the parameters for environments that format -the verbatim text: -\begin{description} - \vitem"\VerbatimSpace" The insertion text for spaces. The default is "\ ", -which produces a blank space. Change it to "\ttspace" to get \ttspace. - \vitem"\VerbatimTab" The insertion text for tabs. The default is -\begin{LVerbatim} - \ \ \ \ \ \ \ \ -\end{LVerbatim} - \vitem"\VerbatimFont" The font to use for verbatim text. The default is -"\tt" - \vitem"\VerbatimFuzz" This is the amount by which lines can be too long in a -"Verbatim" or "LVerbatim" environment before you get overfull "\hbox" -warnings. This threshold is usually .1pt, but the default definition of -"\VerbatimFuzz" is "2pt" because verbatim lines won't break and are therefore -often too long. - \vitem"\EveryVerbatimLine" This is inserted at the beginning of each line of -verbatim environments or verbatim files. By default it does nothing. I like to -indent each line in the verbatim environment in the input file by 2 spaces, so -I define -\begin{LVerbatim} - \renewcommand{\EveryVerbatimLine}[2]{} -\end{LVerbatim} -to eat those spaces. (But I have to remember to put in two spaces or space -markers for blank lines too.) You might also use it to number the lines. For -example: -\begin{example} - \newcounter{VerbLineNo} - \renewcommand{\EveryVerbatimLine}% - {\makebox[10pt][r]{% - \stepcounter{VerbLineNo}% - \tiny\rm\arabic{VerbLineNo}}% - \hspace{10pt}} - \renewcommand{\EveryVerbatim}% - {\setcounter{VerbLineNo}{0}} - \begin{SaveVerbatim}{\MyTemp} - \setlength{\fboxsep}{15pt} - \setlength{\mylength}{\linewidth} - \end{SaveVerbatim} - \fbox{\BUseVerbatim{\MyTemp}} -\end{example} - \vitem"\EveryVerbatim" Whatever else you want to say before formatting the -verbatim text. By default, it does nothing. - \vitem"\ThisVerb" This is executed before any of the commands above, and -then its value is cleared. Use this to customize a single verbatim formatting -environment. -\end{description} - -Here is a description of the parameters for environments that read the -verbatim text: -\begin{description} - \vitem"\EveryVerbatimCodes" This command is inserted just before reading the -verbatim text. Use it to play with "\catcode"'s (see the {\em \TeX book}). For -example, I might type -\begin{LVerbatim} - \renewcommand{\EveryVerbatimCodes}{\catcode`\"=14} -\end{LVerbatim} -if I want to use \Verb+"+ as a comment character in verbatim text.% -%% The use of SaveVerbatim and \SaveVerb is not necessary here because -%% \VerbatimFootnotes is in effect. This is just a test. -\begin{SaveVerbatim}{\MyTemp} - \def\MyQuote{"} % \MyQuote is now the character ", - \def\temp{\Verb"} % in case I need it. - \catcode`\"=13 % Now " is like a command. - \let"\temp % Now "foo" is like \Verb"foo" - \def\do{\noexpand\do\noexpand} % Now " can be used in verbatim - \edef\dospecials{\dospecials\do\"} % environments anyway. -\end{SaveVerbatim}\SaveVerb{\Foo}+"+\SaveVerb{\FFoo}+\Verb"foo"+% -\footnote{Here is another "\catcode" trick. We make \UseVerb{\Foo} a short -verbatim command, so that we can say \UseVerb{\Foo foo\Foo} instead of -\UseVerb{\FFoo}: -\LUseVerbatim{\MyTemp}} - \vitem"\ThisVerbCodes" This command is executed before "\EveryVerbCodes", -and then it is cleared. Use this to fool with the "\catcode"`s of a single -verbatim environment. -\end{description} - -The parameters for "\Verb", "\UseVerb" and "\SaveVerb" and the "VerbatimOut" -environment are analogous to the similar commands for other environments. - -Here is an example of the use of "\ThisVerb" to define a variant of "\Verb" -that uses \ttspace\ to mark spaces: -\begin{LVerbatim} - \newcommand{\SVerb}{% - \renewcommand{\ThisVerb}% - {\renewcommand{\VerbatimSpace}{\ttspace}}% - \Verb} -\end{LVerbatim} - -Finally, without further comment, here are the definitions of the "example" -and "example*" environments that were used for the examples in this document: -{\renewcommand{\EveryVerbatimLine}{}\LVerbatimInput{\jobname.ex1}} - -\section{Changes} -\raggedright - -\paragraph*{Version 0.9, November 23, 1992} First release. - -\paragraph*{Version 0.91, November 25, 1992} -\begin{enumerate} - \item "\shadowsize" is now a length, to be set with "\setlength" or -"\addtolength". - \item "\fancypage" split into "\fancypage" and "\fancyput" -\end{enumerate} - -\paragraph*{Version 0.92, December 20, 1992} -\begin{enumerate} - \item New "\boxput" command for superimposing boxes. - \item New "\VerbatimFootnotes" command. - \item New "\VerbBox" command for verbatim boxes. - \item New "Sbox" environment. Makes "\beginsbox" and "\endsbox" - obsolete, but the latter have been retained for compatibility. -\end{enumerate} - -\paragraph{Version 0.93, January 20, 1993} -\begin{enumerate} - \item New "\EndVerbatimTokens" for tokens that precede "\end{Verbatim}". - \item New "\AltGetVerbatim", to allow any tokens to precede -"\end{Verbatim}". - \item Fixed bug in "\BVerbatimInput" that caused second line to be repeated. - \item New "LandScape" environment, for rotating pages without rotating -headers and footers. - \item Slide frames "Oval", "oval", "shadow" and "double" are defined when -"seminar.sty" v0.93 (and maybe later) is loaded. -\end{enumerate} - -\paragraph{Version 1.0, February 10, 1993} -\begin{enumerate} - \item Fixed bugs in "\boxput". - \item New "Beqnarray" environment. -\end{enumerate} - -\paragraph{Version 1.1, 1997 (D.G./S.R.)} -\begin{enumerate} - \item Minimal adaptations for \LaTeX{} 2e compatibility (macros - "\fancypage", "\thisfancypage", "\fancyput", "\thisfancyput", - "\@Landscape", "\LandScape"). -\end{enumerate} - -\paragraph{Version 1.2, February 27, 1998 (D.G./S.R.)} -\begin{enumerate} - \item Other adaptations for \LaTeX{} 2e. -\end{enumerate} - -\paragraph{Version 1.3, September 19, 2000 (D.G./S.R.)} -\begin{enumerate} - \item Corrections of the output routine for \LaTeX{} 2e compatibility - (from Marcin Wolinski and Heiko Oberdiek). - \item Add a "\ProvidesPackage" command (from Heiko Oberdiek). -\end{enumerate} - -\end{document} -%% END fancybox.doc diff --git a/Master/texmf-dist/tex/latex/fancybox/fancybox.sty b/Master/texmf-dist/tex/latex/fancybox/fancybox.sty deleted file mode 100644 index 3c32386708a..00000000000 --- a/Master/texmf-dist/tex/latex/fancybox/fancybox.sty +++ /dev/null @@ -1,982 +0,0 @@ -%% BEGIN fancybox.sty -%% -%% With corrections and suggestions from: -%% - Marcin Wolinski <wolinski@melkor.mimuw.edu.pl> -%% - Heiko Oberdiek <oberdiek@ruf.uni-freiburg.de> -%% -\def\fileversion{1.3} -\def\filedate{2000/09/19} -% DG/SR modification begin - September 19, 2000 -% (suggested by Heiko Oberdiek <oberdiek@ruf.uni-freiburg.de>) -\@ifundefined{ProvidesPackage}{}{% - \ProvidesPackage{fancybox}[\filedate\space\fileversion]} -% DG/SR modification end -% DG/SR modification begin - May 16, 1997 -\providecommand\@begindvi{} % For rather old versions of LaTeX 2e -% DG/SR modification end -% DG/SR modification begin - Feb. 27, 1997 -% Now defined only in latex209.def -\def\@lquote{\leavevmode{\kern\z@}`} -% DG/SR modification end -%% -%% COPYRIGHT 1993, by Timothy Van Zandt, tvz@Princeton.EDU -%% -%% DESCRIPTION: -%% fancybox.sty is a LaTeX style option, consisting of: -%% * Variants of \fbox: \shadowbox, \doublebox, \ovalbox, \Ovalbox. -%% * Helpful tools for using box macros. -%% * Extensive documentation about how to use box macros. -%% * Flexible verbatim macros. -%% -%% INSTALLATION: -%% Put this file where your TeX looks for inputs. -%% -%% DOCUMENTATION: -%% See fancybox.doc, which might be appended to this file. -%% -%% COPYING: -%% The files of this package "fancybox" are released under the Artistic -%% License. A copy of that license is included in the file atristic.txt. -%% The package consists of the following files: -%% fancybox.doc -%% fancybox.sty -%% -%% CODE: -\expandafter\ifx\csname fb@framepage\endcsname\relax\else - \expandafter\endinput -\fi -\typeout{Style option: `fancybox' v\fileversion \space <\filedate> (tvz)} - -\newbox\@fancybox -\@ifundefined{@tempdimc}{\newdimen\@tempdimc}{} - -%% \shadowbox - -\newdimen\shadowsize -\shadowsize 4pt - -\def\shadowbox{\VerbBox\@shadowbox} -\def\@shadowbox#1{% - \setbox\@fancybox\hbox{\fbox{#1}}% - \leavevmode\vbox{% - \offinterlineskip - \dimen@=\shadowsize - \advance\dimen@ .5\fboxrule - \hbox{\copy\@fancybox\kern-.5\fboxrule\lower\shadowsize\hbox{% - \vrule \@height\ht\@fancybox \@depth\dp\@fancybox \@width\dimen@}}% - \vskip-\dimen@ - \moveright\shadowsize\vbox{% - \hrule \@width\wd\@fancybox \@height\dimen@}}} - -% \fancyoval - -\def\cornersize{\@ifstar{\@cornersize}{\@@cornersize}} -\def\@cornersize#1{% - \@tempdima=#1\relax - \edef\the@cornersize{\number\@tempdima sp}} -\def\@@cornersize#1{% - \edef\the@cornersize{#1\noexpand\@tempdimb}} -\cornersize{.5} - -% This is just a simple change to \oval, making use of the \cornersize -% parameter instead of making the corner arcs are large as possible. - -\def\fancyoval(#1,#2){\@ifnextchar[{\fancy@oval(#1,#2)}{\fancy@oval(#1,#2)[]}} - -\def\fancy@oval(#1,#2)[#3]{% - \begingroup - \fancy@@oval{#1\unitlength}{#2\unitlength}{#3}% - \@put{-.5\wd\@tempboxa}{-.5\ht\@tempboxa}{\ht\@tempboxa=\z@\box\@tempboxa}% - \endgroup} - -\def\fancy@@oval#1#2#3{% - \boxmaxdepth \maxdimen - \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue - \@tfor\@tempa :=#3\do{\csname @ov\@tempa false\endcsname}% - \@ovxx#1\relax - \advance\@ovxx-\@wholewidth - \@ovyy#2\relax - \advance\@ovyy-\@wholewidth - \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi - \advance\@tempdimb-2\p@ - \ifdim\@tempdimb>\the@cornersize\relax - \@tempdimb=\the@cornersize - \fi - \@getcirc\@tempdimb - \@ovro\ht\@tempboxa \@ovri\dp\@tempboxa - \@ovdx\@ovxx \advance\@ovdx-\@tempdima \divide\@ovdx \tw@ - \@ovdy\@ovyy \advance\@ovdy-\@tempdima \divide\@ovdy \tw@ - \@circlefnt - \setbox\@tempboxa\hbox{% - \if@ovr \@ovvert32\kern -\@tempdima \fi - \if@ovl \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx \fi - \if@ovt \@ovhorz \kern -\@ovxx \fi - \if@ovb \raise \@ovyy \@ovhorz \fi}% - \advance\@ovdx\@ovro - \advance\@ovdy\@ovro - \advance\@ovxx\@wholewidth - \wd\@tempboxa=\@ovxx - \dp\@tempboxa=\z@} - -% \ovalbox - -\def\ovalbox{\VerbBox{\@ovalbox\thinlines}} -\def\Ovalbox{\VerbBox{\@ovalbox\thicklines}} -\def\@ovalbox#1#2{% - \begingroup - #1\relax - \setbox\@fancybox\hbox{{#2}}% - \@tempdimc\fboxsep \advance\@tempdimc\@wholewidth - \@tempdima\ht\@fancybox \advance\@tempdima\dp\@fancybox - \advance\@tempdima2\@tempdimc - \@tempdimb\wd\@fancybox \advance\@tempdimb2\@tempdimc - \fancy@@oval\@tempdimb\@tempdima{}% - \@tempdima\dp\@fancybox \advance\@tempdima\@tempdimc - \wd\@tempboxa=\z@ - \leavevmode\hbox{% - \lower\@tempdima\box\@tempboxa - \kern\@tempdimc\box\@fancybox\kern\@tempdimc}% - \endgroup} - -% \doublebox - -\def\doublebox{\VerbBox\@doublebox} -\def\@doublebox#1{% - \begingroup - \setbox\@fancybox\hbox{{#1}}% - \fboxrule=.75\fboxrule - \setbox\@fancybox\hbox{\fbox{\box\@fancybox}}% - \fboxrule=2\fboxrule - \fboxsep=\fboxrule - \advance\fboxsep .5pt - \fbox{\box\@fancybox}% - \endgroup} - -% Frames for seminar.sty: - -\@ifundefined{newslideframe}{}{% - \newslideframe{shadow}{\shadowbox{#1}} - \newslideframe{double}{\doublebox{#1}} - \newslideframe{oval}{\ovalbox{#1}} - \newslideframe{Oval}{\Ovalbox{#1}}} - -% Sbox environment - -\newbox\@Sbox - -\def\Sbox{\global\setbox\@Sbox\hbox\bgroup\ignorespaces} - -\def\endSbox{% - \@testtrue\ifhmode\ifinner\@testfalse\fi\fi - \if@test\@latexerr{Misplaced \string\endSbox! Should be in LR mode}\@ehd\fi - \egroup} - -\def\TheSbox{% - \ifvoid\@Sbox - \@latexerr{\string\TheSbox\space is empty!}\@ehd - \else - \box\@Sbox - \fi} - -\def\beginsbox#1{\setbox#1\hbox\bgroup\ignorespaces} - -\def\endsbox{\endSbox} - -% \VerbBox - -\newtoks\do@VerbBox - -\def\VerbBox#1{% - \do@VerbBox{#1}% - \afterassignment\begin@VerbBox - \setbox\@fancybox=\hbox} -\def\begin@VerbBox{\aftergroup\end@VerbBox} -\def\end@VerbBox{\the\do@VerbBox{\box\@fancybox}}% - -% \Btrivlist - -\def\@Blistrestore{% - \let\par\relax - \let\-\@dischyph \let\'\@acci \let\`\@accii \let\=\@acciii - \lineskip\normallineskip \baselineskip\normalbaselineskip} - -\def\Btrivlist#1{\@ifnextchar[{\@Btrivlist{#1}}{\@Btrivlist{#1}[]}} -\def\@Btrivlist#1[#2]{% - \@Blistrestore - \let\\=\@Btrivlistcr - \fb@beginvbox{#2}% - \halign\bgroup - \if#1l\else\@empty\hfil\fi - \ignorespaces##\unskip - \if#1r\@empty\else\hfil\fi\cr} -\def\endBtrivlist{\crcr\egroup\egroup\if@pboxsw$\fi} - -\def\fb@beginvbox#1{% - \leavevmode - \@pboxswfalse - \if#1b\@empty\vbox\else\if#1t\@empty\vtop\else - \ifmmode\vcenter\else\@pboxswtrue$\vcenter\fi - \fi\fi\bgroup} - -\def\@Btrivlistcr{\@ifstar - {\@ifnextchar[{@@Btrivlistcr}{\cr}}{\@ifnextchar[{\@@Btrivlistcr}{\cr}}} -\def\@@Btrivlistcr[#1]{\cr\noalign{\vskip #1}} - -\def\Bcenter{\Btrivlist{c}} -\def\endBcenter{\endBtrivlist} - -\def\Bflushleft{\Btrivlist{l}} -\def\endBflushleft{\endBtrivlist} - -\def\Bflushright{\Btrivlist{r}} -\def\endBflushright{\endBtrivlist} - -% \Blist - -\def\Blist#1#2{\@ifnextchar[{\@Blist{#1}{#2}}{\@Blist{#1}{#2}[]}} - -\def\@Blist#1#2[#3]{% - \ifnum\@listdepth>5 - \@toodeep - \else - \global\advance\@listdepth\@ne - \fi - \itemindent\z@ - \csname @list\romannumeral\the\@listdepth\endcsname - \def\@itemlabel{#1}% - \let\makelabel\@mklab - \@nmbrlistfalse - \@Blistrestore - \let\\=\@Blistcr - \let\item\Bitem - \@Bitemswfalse - #2\relax - \fb@beginvbox{#3}% - \halign\bgroup - \ignorespaces##&\hskip\labelsep\ignorespaces##\unskip\hfil\cr} - -\def\endBlist{\endBtrivlist\global\advance\@listdepth\m@ne} - -\newif\if@Bitemsw - -\def\Bitem{\@ifnextchar({\@Bitemcr\Bitem@skip}{\@Bitemcr\@Bitem}} - -\def\@Bitemcr{% - \if@Bitemsw - \def\next{\cr\noalign{\vskip\itemsep}}% - \else - \def\next{\global\@Bitemswtrue}% - \fi - \next} - -\def\Bitem@skip(#1){\noalign{\vskip #1}\@Bitem} - -\def\@Bitem{\@ifnextchar[{\Bitem@label}{\Bitem@nolabel}} - -\def\Bitem@label[#1]{\makelabel{#1}&} - -\def\Bitem@nolabel{% - \if@nmbrlist - \expandafter\advance\csname c@\@listctr\endcsname1 \fi - \makelabel{\@itemlabel}% - &% - \if@nmbrlist\refstepcounter{\@listctr}\fi} - -\def\@Blistcr{\@ifstar - {\@ifnextchar[{@@Blistcr}{\cr&}}{\@ifnextchar[{\@@Blistcr}{\cr&}}} - -\def\@@Blistcr[#1]{\cr\noalign{\vskip #1}&} - -% \Bitemize - -\def\Bitemize{% - \ifnum\@itemdepth>3 - \@toodeep - \else - \advance\@itemdepth\@ne - \fi - \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% - \Blist{\csname\@itemitem\endcsname}{\def\makelabel####1{\hfil####1}}} -\def\endBitemize{\endBlist} - -% \Bdescription - -\def\Bdescription{\Blist{}{\def\makelabel####1{\bf####1\hfil}}} -\def\endBdescription{\endBlist} - -% \Benumerate - -\def\Benumerate{% - \ifnum\@enumdepth>3 - \@toodeep - \else - \advance\@enumdepth\@ne - \fi - \edef\@enumctr{enum\romannumeral\the\@enumdepth}% - \Blist{\csname label\@enumctr\endcsname}% - {\usecounter{\@enumctr}\def\makelabel####1{\hfil####1}}} -\def\endBenumerate{\endBlist} - -% Beqnarray - -\def\Beqnarray{% - \stepcounter{equation}% - \let\@currentlabel\theequation - \def\@eqnnum{{\csname reset@font\endcsname\rm (\theequation)}}% - \global\@eqnswtrue\m@th - \global\@eqcnt\z@ - \tabskip\@centering - \let\\\@eqncr - \vbox\bgroup - \halign\bgroup - \@eqnsel - \hskip\@centering - $\displaystyle\tabskip\z@{##}$% - &\global\@eqcnt\@ne - \hskip 2\arraycolsep - \hfil${##}$\hfil - &\global\@eqcnt\tw@ - \hskip 2\arraycolsep - $\displaystyle\tabskip\z@{##}$% - \hfil - \tabskip\@centering - &\if@eqnsw\hskip 1em\fi - \hfil{##}\tabskip\z@ - \cr} - -\def\endBeqnarray{% - \@@eqncr - \egroup - \global\advance\c@equation\m@ne - \egroup - \global\@ignoretrue} - -\@namedef{Beqnarray*}{\def\@eqncr{\nonumber\@seqncr}\Beqnarray} -\@namedef{endBeqnarray*}{\nonumber\endBeqnarray} - -% \fb@outputage - -% Here we insert various hooks for rotating or framing the page. -% Otherwise, it is the usual \@outputpage - -\def\fb@outputpage{% - \begingroup - \catcode`\ =10 - \let\-\@dischyph - \let\'\@acci - \let\`\@accii - \let\=\@acciii - \if@specialpage - \global\@specialpagefalse\@nameuse{ps@\@specialstyle}% - \fi - \if@twoside - \ifodd\count\z@ - \let\@thehead\@oddhead - \let\@thefoot\@oddfoot - \let\@themargin\oddsidemargin - \else - \let\@thehead\@evenhead - \let\@thefoot\@evenfoot - \let\@themargin\evensidemargin - \fi - \fi - \csname reset@font\endcsname - \normalsize - \baselineskip\z@ - \lineskip\z@ - \let\par\@@par - \ifx\this@fancypage\@empty\else - \this@fancypage - \gdef\this@fancypage{}% - \fi - \ifx\the@fancypage\@empty\else - \setbox\@outputbox\hbox{\the@fancypage{\box\@outputbox}}% - \fi - \ifx\fb@@rotatepage\@empty\else - \setbox\@outputbox\hbox{\fb@@rotatepage{\box\@outputbox}}% - \fi - \setbox\@outputbox\vbox{% - \@tempdima=\wd\@outputbox - \setbox\@tempboxa=\hbox to\@tempdima{% - \let\label\@gobble - \let\index\@gobble - \let\glossary\@gobble - \@thehead}% - \ht\@tempboxa\headheight - \dp\@tempboxa\z@ - \box\@tempboxa - \vskip\headsep - \box\@outputbox - \baselineskip\footskip - \hbox to\@tempdima{% - \let\label\@gobble - \let\index\@gobble - \let\glossary\@gobble - \@thefoot}} - \ifx\the@@fancypage\@empty\else - \setbox\@outputbox\hbox{\the@@fancypage{\box\@outputbox}}% - \fi - \setbox\@outputbox\vbox{% - \ifnum\fancyput@flag>-1 \do@fancyput\fi - \vskip\topmargin - \moveright\@themargin\box\@outputbox}% - \ifx\fb@rotatepage\@empty\else - \setbox\@outputbox\hbox{\lower\ht\@outputbox\box\@outputbox}% - \dp\@outputbox\z@ - \wd\@outputbox\z@ - \setbox\@outputbox\hbox{\fb@rotatepage{\box\@outputbox}}% - \expandafter\fb@setoffsets\fb@theoffsets - \fi -% DG/SR modification begin - September 19, 2000 -% (suggested by Marcin Wolinski <wolinski@melkor.mimuw.edu.pl> and -% Heiko Oberdiek <oberdiek@ruf.uni-freiburg.de>) - \let\protect\noexpand -% DG/SR modification end - \shipout\box\@outputbox - \global\@colht\textheight - \endgroup - \stepcounter{page}% - \let\firstmark\botmark} - -% \fancypage - -\def\the@fancypage{} -\def\the@@fancypage{} -\def\this@fancypage{} - -\def\fancypage#1#2{% -% DG/SR modification begin - May 16, 1997 - \@begindvi % Need today by LaTeX 2e -% DG/SR modification end - \def\the@fancypage{#1}% - \def\the@@fancypage{#2}% - \def\@outputpage{\fb@outputpage}} - -\def\thisfancypage#1#2{% -% DG/SR modification begin - May 16, 1997 - \@begindvi % Need today by LaTeX 2e -% DG/SR modification end - \gdef\@outputpage{\fb@outputpage}% - \gdef\this@fancypage{\def\the@fancypage{#1}\def\the@@fancypage{#2}}} - -% \fancyput - -% Token registers used to make it easier to put definitions in argument. -% Boxes not processed until output so that contents can depend, e.g., on -% current page or marks or whatever. This makes everything slightly more -% complicated than one would expect. - -\newtoks\the@fancyput -\newtoks\this@fancyput -\def\fancyput@flag{-1}% - -% \fancyput@flag=-1 if no fancyput, 0 if regular fancyput, 1 if thisfancyput. - -\def\fancyput{% -% DG/SR modification begin - May 16, 1997 - \@begindvi % Need today by LaTeX 2e -% DG/SR modification end - \def\@outputpage{\fb@outputpage} - \@ifstar{\@testtrue\@fancyput}{\@testfalse\@fancyput}} -\def\@fancyput{\@ifnextchar({\@@fancyput}{\@@fancyput(\z@,\z@)}} -\def\@@fancyput(#1,#2)#3{% - \if@test - \expandafter\the@fancyput\expandafter{\the\the@fancyput\do{#1}{#2}{#3}}% - \else - \the@fancyput{\do{#1}{#2}{#3}}% - \fi - \gdef\fancyput@flag{\z@}} - -\def\thisfancyput{% -% DG/SR modification begin - May 16, 1997 - \@begindvi % Need today by LaTeX 2e -% DG/SR modification end - \gdef\@outputpage{\fb@outputpage} - \@ifstar{\@testtrue\@thisfancyput}{\@testfalse\@thisfancyput}} -\def\@thisfancyput{\@ifnextchar({\@@thisfancyput}{\@@thisfancyput(\z@,\z@)}} -\def\@@thisfancyput(#1,#2)#3{% - \if@test - \ifnum\fancyput@flag=\z@ - \expandafter\global\expandafter\this@fancyput\expandafter{% - \the\this@fancyput\do{#1}{#2}{#3}}% - \else - \expandafter\global\expandafter\this@fancyput\expandafter{% - \the\the@fancyput\do{#1}{#2}{#3}}% - \fi - \else - \global\this@fancyput{\do{#1}{#2}{#3}}% - \fi - \gdef\fancyput@flag{1}} - -\def\do@fancyput{% - \def\do##1##2##3{\raise##2\hbox to\z@{\kern##1\relax##3\hss}}% - \setbox\@tempboxa=\hbox to\z@{% - \kern-\hoffset - \raise\voffset\hbox{% - \ifnum\fancyput@flag=\z@\the\the@fancyput\else\the\this@fancyput\fi}% - \hss}% - \ht\@tempboxa=\z@ \dp\@tempboxa=\z@ - \box\@tempboxa - \gdef\fancyput@flag{\z@}% - \global\this@fancyput{}} - -% \Landscape - -\def\UsePageParameters{% - \clearpage - \global\@colht\textheight - \onecolumn} - -\def\fb@rotatepage{} - - -\def\Landscape{\@ifstar{\@testtrue\@Landscape}{\@testfalse\@Landscape}} -\def\@Landscape#1#2#3{% -% DG/SR modification begin - May 16, 1997 - \@begindvi % Need today by LaTeX 2e -% DG/SR modification end - \clearpage - \def\fb@rotatepage{#3}% - \def\@outputpage{\fb@outputpage}% - \@tempdima#1\relax - \@tempdimb#2\relax - \if@test - \edef\fb@theoffsets{{\voffset}{\hoffset}{\number\@tempdima sp}}% - \else - \edef\fb@theoffsets{{\hoffset}{\voffset}{\number\@tempdimb sp}}% - \fi - \advance\@tempdimb-\@tempdima - \advance\textwidth\@tempdimb - \advance\textheight-\@tempdimb - \UsePageParameters} -\def\endLandscape{\clearpage\aftergroup\UsePageParameters} - -\def\fb@setoffsets#1#2#3{% - \@tempdima#1% - \advance#1#2% - #2#3 - \advance#2-2in - \advance#2-\@tempdima} - -\@namedef{Landscape*}{\@testtrue\@Landscape} -\@namedef{endLandscape*}{\endLandscape} - -% \LandScape - -\def\fb@@rotatepage{} - -\def\LandScape#1{% -% DG/SR modification begin - May 16, 1997 - \@begindvi % Need today by LaTeX 2e -% DG/SR modification end - \clearpage - \def\fb@@rotatepage{#1}% - \def\@outputpage{\fb@outputpage}% - \@tempdima\textheight - \textheight\textwidth - \textwidth\@tempdima - \UsePageParameters} -\def\endLandScape{\clearpage\aftergroup\UsePageParameters} - -% \GenericCaption - -\def\GenericCaption#1{% - \par - \begingroup - \@parboxrestore - \normalsize - \vskip 10\p@ - \setbox\@tempboxa\hbox{#1}% - \ifdim\wd\@tempboxa>\hsize - #1\par - \else - \hbox to\hsize{\hfil\box\@tempboxa\hfil}% - \fi - \endgroup - \par} - -% \landfloat - -\def\landfloat#1#2{% - \gdef\curr@landfloat{#1}% - \gdef\float@rotation{#2}% - \begin{#1}[p]% - \setbox\@tempboxa\vbox\bgroup - \hsize\@colht - \@parboxrestore} -\def\endlandfloat{% - \par\vskip\z@ - \egroup - \setbox\@tempboxa\hbox{\float@rotation{\box\@tempboxa}}% - \centerline{\box\@tempboxa}% - \expandafter\end\expandafter{\curr@landfloat}} - -% \boxput - -\def\boxput{\@ifstar{\@testtrue\@boxput}{\@testfalse\@boxput}} -\def\@boxput{\@ifnextchar({\@@boxput}{\@@boxput(0,0)}} -\long\def\@@boxput(#1,#2)#3#4{% - \setbox\@fancybox\hbox{{#4}}% - \setbox\@tempboxa\vbox to\z@{\vss\hbox to\z@{\hss{#3}\hss}\vss}% - \@tempdima=#1\wd\@fancybox - \advance\@tempdima\wd\@fancybox - \divide\@tempdima 2 - \ifcat a#2\relax - \@tempdimb=\z@ - \else - \@tempdimb=.5\ht\@fancybox - \advance\@tempdimb.5\dp\@fancybox - \@tempdimc=\@tempdimb - \advance\@tempdimc-\dp\@fancybox - \@tempdimb=#2\@tempdimb - \advance\@tempdimb\@tempdimc - \fi - \setbox\@tempboxa\hbox to \z@{% - \if@test\kern-\wd\@fancybox\fi - \kern\@tempdima\raise\@tempdimb\box\@tempboxa\hss}% - \ht\@tempboxa=\z@ \dp\@tempboxa=\z@ - \leavevmode - \if@test - \hbox{\box\@fancybox\box\@tempboxa}% - \else - \hbox{\box\@tempboxa\box\@fancybox}% - \fi} - -% \Vfootnotes - -\def\VerbatimFootnotes{\let\@footnotetext\V@footnotetext} - -\long\def\V@footnotetext{% - \afterassignment\V@@footnotetext - \let\@tempa} -\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} -\def\V@@@footnotetext{\strut\egroup} - -% Verbatim - -% The main idea is to separate the reading and formatting of the -% verbatim listing. It's pretty simple. - -\def\Verbatim@Codes{% - \let\do\@makeother - \dospecials - \Verbatim@ObeyThings - \ThisVerbCodes\relax\gdef\ThisVerbCodes{}} - -\def\EveryVerbatimCodes{} - -% \Verbatim is redefined temporarilly in \Get@Verbatim to scan the -% verbatim text. \Verbatim is used so that error messages are more -% enlightening. \next checks whether \Verbatim found its argument, -% and attempts to recover if not. -% -% Heuristically, if current environment is `foo' and argument of -% \Get@Verbatim is \The@Verbatim, then definition of \Verbatim is -% -% \def\Verbatim#1^^M#2^^M\the\EndVerbatimTokens\end{foo}{% -% \xdef\The@Verbatim{\noexpand\Every@VerbatimLine#2}% -% \endgroup\end{foo}} -% -% \The@Verbatim is then equal to the verbatim text, with spaces -% replaced by \Verbatim@Space, tabs replaced by \Verbatim@Tab, -% and ` replaced by \@lquote. In addition, each line begins with -% \Every@VerbatimLine, and each line but the last ends with -% \Verbatim@Par. It is then possible to redefine these when formatting -% the verbatim text. To insert each line as an argument to \foo, use -% \def\Every@VerbatimLine#1\Verbatim@Par{\foo{#1}} -% \The@Verbatim\Verbatim@Par -% -\newtoks\EndVerbatimTokens -\begingroup - \catcode`\|=0 - \catcode`\[=1 - \catcode`\]=2 - \catcode`\{=12 - \catcode`\}=12 - \catcode`\^^M=13% - \catcode`\\=12% - |gdef|Get@Verbatim#1[% - |begingroup% - |Verbatim@Codes|EveryVerbatimCodes% - |let|protect|noexpand% - |VerbatimEnvironment% - |edef|next[|noexpand|def|noexpand|Verbatim####1|noexpand^^M####2% - |noexpand^^M|the|EndVerbatimTokens\end{|@VerbEnvir}]% - |edef|endVerbatim[|noexpand|endgroup|noexpand|end[|@VerbEnvir]]% - |global|let|@VerbEnvir|relax% - |next[|@nil|xdef#1[|noexpand|Every@VerbatimLine##2]|endVerbatim]% - |def|next[|@ifnextchar|@nil[|@gobble]% If \@nil is there, then - [|gdef#1[]|endVerbatim|end[document]]]% \Verbatim found its argument. - |expandafter|next|Verbatim]% Otherwise, try to recover. - |gdef|AltGet@Verbatim#1[% - |begingroup% - |Verbatim@Codes|EveryVerbatimCodes% - |def^^M##1^^M##2[% - |ifx|@nil##2|@empty|else% - |noexpand|Verbatim@Par|noexpand|Every@VerbatimLine##1% - |expandafter^^M|expandafter##2% - |fi]% - |let|protect|noexpand% - |VerbatimEnvironment% - |edef|next[|noexpand|def|noexpand|Verbatim####1|noexpand^^M####2% - \end{|@VerbEnvir}]% - |edef|endVerbatim[|noexpand|endgroup|noexpand|end[|@VerbEnvir]]% - |global|let|@VerbEnvir|relax% - |next[|@nil|xdef#1[|noexpand|Every@VerbatimLine##2^^M|@nil]|endVerbatim]% - |def|next[|@ifnextchar|@nil[|@gobble]% - [|gdef#1[]|endVerbatim|end[document]]]% - |expandafter|next|Verbatim]% -|endgroup -\def\AltGetVerbatim{\let\Get@Verbatim\AltGet@Verbatim} - -% It is enough to not use \begin or \end when defining new verbatim -% environments, as the default is for \Get@Verbatim to look for the -% end of the current environment, but using \VerbatimEnvironment -% is easier to explain to users. - -\def\VerbatimEnvironment{% - \ifx\@VerbEnvir\relax\xdef\@VerbEnvir{\@currenvir}\fi} - -\let\@VerbEnvir\relax - -\def\The@VerbatimErr{% - \gdef\The@Verbatim{\@latexerr{Misplaced \string\end{Verbatim}}\@ehd}} -\The@VerbatimErr - -\begingroup -\catcode`\^^M=\active% -\catcode`\ =\active% -\catcode`\^^I=\active% -\gdef\Verbatim@ObeyThings{% -\catcode`\^^M=\active% -\catcode`\ =\active% -\catcode`\^^I=\active% -\catcode``=\active% -\def^^M{\noexpand\Verbatim@Par\noexpand\Every@VerbatimLine}% -\def^^I{\noexpand\Verbatim@Tab}% -\def {\noexpand\Verbatim@Space}% -\Verbatim@NoLigs}% -\gdef\Verbatim@DontObeyLines{\outer\def^^M{}}% -\endgroup - -\def\SaveVerbatim{\@bsphack\Get@Verbatim} - -\def\endSaveVerbatim{\@esphack} - -{\catcode``13 \gdef\Verbatim@NoLigs{\def`{\noexpand\@lquote}}} - -\def\Verbatim@Prep{% - \frenchspacing - \ThisVerb\relax\gdef\ThisVerb{}% - \VerbatimFont - \EveryVerbatim - \let\Every@VerbatimLine\EveryVerbatimLine - \def\Verbatim@Space{\leavevmode\penalty\@M\VerbatimSpace}% - \def\Verbatim@Tab{\leavevmode\penalty\@M\VerbatimTab}}% - -\def\Verb@Prep{% - \frenchspacing - \ThisVerb\relax\gdef\ThisVerb{}% - \VerbFont - \EveryVerb - \let\Every@VerbatimLine\EveryVerbatimLine - \def\Verbatim@Space{\leavevmode\penalty\@M\VerbSpace}% - \def\Verbatim@Tab{\leavevmode\penalty\@M\VerbTab}}% - -\def\Verbatim@Par{\leavevmode\null\@@par\penalty\interlinepenalty} - -% Parameter initialization: - -\def\VerbatimSpace{\ } - -{\catcode`\ =12\gdef\ttspace{{\tt }}} - -\def\VerbSpace{\ } - -\def\VerbatimTab{\ \ \ \ \ \ \ \ } - -\def\VerbTab{\ } - -\def\EveryVerbatim{} - -\def\EveryVerb{} - -\def\ThisVerb{} - -\def\EveryVerbatimLine{}% - -\def\EveryVerbOutLine{} - -\def\VerbatimFont{\tt} - -\def\VerbFont{\tt} - -\def\VerbatimFuzz{2pt}% - -\def\EveryVerbatimCodes{} - -\def\EveryVerbCodes{} - -\def\EveryVerbOutCodes{} - -\def\ThisVerbCodes{} - -\def\Verbatim@List#1{% - \if@minipage\else\vskip\parskip\fi - \leftskip\@totalleftmargin - \@rightskip\@flushglue \rightskip\@rightskip - \parindent\z@ - \parskip\z@ - \parfillskip\@flushglue - \hfuzz\VerbatimFuzz\relax - \@@par - \global\@inlabelfalse %Prevents vspace from being inserted when - \Verbatim@Prep %first line exceeds \hsize. - #1% - \Verbatim@Par}% - -\def\UseVerbatim#1{% - \begingroup\trivlist\item[]\Verbatim@List{#1}\endtrivlist\endgroup} - -\def\Verbatim{\Get@Verbatim\The@Verbatim} -\def\endVerbatim{\UseVerbatim\The@Verbatim\The@VerbatimErr} - -\def\LUseVerbatim#1{% - \begingroup\list{}{}\item[]\Verbatim@List{#1}\endlist\endgroup} - -\def\LVerbatim{\Get@Verbatim\The@Verbatim} -\def\endLVerbatim{\LUseVerbatim\The@Verbatim\The@VerbatimErr} - -\def\BUseVerbatim{% - \@ifnextchar[{\@BUseVerbatim}{\@BUseVerbatim[]}} -\def\@BUseVerbatim[#1]#2{% - \begingroup - \Verbatim@Prep - \let\Verbatim@Par\@Btrivlistcr - \@Btrivlist{l}[#1]% - #2% - \endBtrivlist - \endgroup}% - -\def\BVerbatim{% - \catcode`\^^M=13\relax - \@ifnextchar[{\@BVerbatim}{\@BVerbatim[]}} -\def\@BVerbatim[#1]{\def\@tempa{[#1]}\Get@Verbatim\The@Verbatim} -\def\endBVerbatim{ - \expandafter\@BUseVerbatim\@tempa\The@Verbatim\The@VerbatimErr} - -\newwrite\Verbatim@Outfile -\def\VerbatimOut#1{% - \@bsphack - \begingroup - \immediate\openout\Verbatim@Outfile #1\relax - \def\EveryVerbatimCodes{\EveryVerbOutCodes}% - \Get@Verbatim\The@Verbatim} -\def\endVerbatimOut{% - \Verbatim@ObeyThings - \def\Verbatim@Par{^^J}% - \def\Verbatim@Space{\space}% - \def\Verbatim@Tab{\space}% - \def\@lquote{\string`}% - \ThisVerb\relax\gdef\ThisVerb{}% - \let\Every@VerbatimLine\EveryVerbOutLine - \immediate\write\Verbatim@Outfile{\The@Verbatim}% - \immediate\closeout\Verbatim@Outfile - \endgroup - \The@VerbatimErr - \@esphack} - -% This one is a little tricky because: -% * we want to ignore the ^^M at the end of the last line, -% * we want to handle files that end with newline and files that don't -% * we want comment characters to work properly, -% * we want to expand each line before inserting \Every@VerbatimLine and -% \Verbatim@Par, -% -% \The@GVerbatim is used as scratch with global redefinition. -\newread\Verbatim@Infile -\def\Verbatim@Input#1#2{% - \begingroup - \Verbatim@Codes\EveryVerbatimCodes - \immediate\openin\Verbatim@Infile #1\relax - \ifeof\Verbatim@Infile - \@latexerr{No verbatim file #1}\@ehd - \else - \def\The@GVerbatim{}\Verbatim@NextLine - \ifeof\Verbatim@Infile - \@latexerr{Verbatim file #1 is empty}\@ehd - \else - \let\The@Verbatim\The@GVerbatim - \def\The@GVerbatim{}\Verbatim@NextLine - #2{\Verbatim@@Input}% - \fi - \fi - \immediate\closein\Verbatim@Infile - \endgroup} -\def\Verbatim@@Input{% - \let\protect\noexpand - \edef\The@Verbatim{% - \noexpand\Every@VerbatimLine - \The@Verbatim - \ifeof\Verbatim@Infile\else\noexpand\Verbatim@Par\fi}% - \let\protect\relax - \The@Verbatim - \ifeof\Verbatim@Infile\else - \let\The@Verbatim\The@GVerbatim - \def\The@GVerbatim{}\Verbatim@NextLine - \expandafter\Verbatim@@Input - \fi}% -\begingroup\catcode`\^^M=\active% -\gdef\Verbatim@NextLine{% - \ifeof\Verbatim@Infile\else% - \immediate\read\Verbatim@Infile to\@tempa% - \expandafter\Verbatim@@NextLine\@tempa^^M\relax^^M\@nil% - \fi}% -% #2 is empty if line ends in ^^M, #2=\relax otherwise. -\gdef\Verbatim@@NextLine#1^^M#2^^M#3\@nil{% - \expandafter\gdef\expandafter\The@GVerbatim\expandafter{\The@GVerbatim#1}% - \ifx#2\@empty\@empty\else\expandafter\Verbatim@NextLine\fi}% -\endgroup% - -\def\UseVerb#1{\begingroup\Verb@Prep#1\endgroup} - -\def\SaveVerb{\@ifnextchar[{\Save@Verb}{\Save@Verb[]}} - -\long\def\Save@Verb[#1]#2{% - \begingroup - \Verbatim@Codes\Verbatim@DontObeyLines\EveryVerbCodes - \Save@@Verb{#1}{#2}} - -\long\def\Save@@Verb#1#2#3{% - \let\protect\noexpand - \def\next{\@ifnextchar\@nil{\@gobble}{\endgroup}}% - \long\def\Verb##1#3{\@nil\xdef#2{##1}\endgroup#1}% - \expandafter\next\Verb} - -\def\Verb{\Save@Verb[\UseVerb{\The@Verbatim}]{\The@Verbatim}} - -\def\VerbatimInput#1{\begingroup\Verbatim@Input{#1}\UseVerbatim\endgroup} - -\def\LVerbatimInput#1{\begingroup\Verbatim@Input{#1}\LUseVerbatim\endgroup} - -\def\BVerbatimInput{\@ifnextchar[{\@BVerbatimInput}{\@BVerbatimInput[]}} -\def\@BVerbatimInput[#1]#2{% - \begingroup\Verbatim@Input{#2}{\@BUseVerbatim[#1]}\endgroup} - -\endinput -%% END fancybox.sty diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc index 7c918d58e18..bbbbcf548c2 100644 --- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc @@ -152,7 +152,6 @@ depend Package/expdlist depend Package/export depend Package/extract depend Package/facsimile -depend Package/fancybox depend Package/fancynum depend Package/fancytooltips depend Package/fax diff --git a/Master/tlpkg/tlpsrc/fancybox.tlpsrc b/Master/tlpkg/tlpsrc/fancybox.tlpsrc deleted file mode 100644 index 1f1b62c5bb7..00000000000 --- a/Master/tlpkg/tlpsrc/fancybox.tlpsrc +++ /dev/null @@ -1,2 +0,0 @@ -name fancybox -category Package |