From 6744192e1aef4986d550041cffd102769d841e9c Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 19 Sep 2007 12:48:52 +0000 Subject: seminar update for fancybox separation (rf, 18sep07) git-svn-id: svn://tug.org/texlive/trunk@4984 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/seminar/fancybox.doc | 1279 ---------------------- Master/texmf-dist/doc/latex/seminar/readme.pst | 204 ---- Master/texmf-dist/tex/latex/seminar/fancybox.sty | 986 ----------------- 3 files changed, 2469 deletions(-) delete mode 100644 Master/texmf-dist/doc/latex/seminar/fancybox.doc delete mode 100644 Master/texmf-dist/doc/latex/seminar/readme.pst delete mode 100644 Master/texmf-dist/tex/latex/seminar/fancybox.sty (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/seminar/fancybox.doc b/Master/texmf-dist/doc/latex/seminar/fancybox.doc deleted file mode 100644 index 0bd8aced4ca..00000000000 --- a/Master/texmf-dist/doc/latex/seminar/fancybox.doc +++ /dev/null @@ -1,1279 +0,0 @@ -%% BEGIN fancybox.doc -%% -%% COPYRIGHT 1992, by Timothy Van Zandt, Timothy.VAN-ZANDT@insead.edu. -%% For copying restrictions, see fancybox.sty. -%% -%% Documentation for fancybox.sty. -%% Run through LaTeX, with or without the NFSS. -%% -%% This file may be distributed and/or modified under the conditions of -%% the LaTeX Project Public License, either version 1.2 of this license -%% or (at your option) any later version. The latest version of this -%% license is in: -%% -%% http://www.latex-project.org/lppl.txt -%% -%% and version 1.2 or later is part of all distributions of LaTeX version -%% 1999/12/01 or later. -%% -%% -\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\\ Timothy.VAN-ZANDT@insead.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\/}} % (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{} -\end{LVerbatim} -sets the diameter of the corners arcs to times the lessor of the width -and height of the box. -\begin{LVerbatim} - \cornersize*{} -\end{LVerbatim} -sets the diameter of the corner arcs to . 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}{}{} - ... - \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 "\\[""]" 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 "\\[]". 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*(,){}{} -\end{LVerbatim} -puts either behind (the default) or in front of (with the "*") .\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 . - -The coordinates "(,)" determine where the center of is -positioned. For example, "(0,0)" puts it at the center of , "(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 , one unit in the vertical direction is half the vertical size of , and one unit in the horizontal direction is half the width of . Thus, and should always be numbers (without units such as -"pt" or "cm"), with one exception: If is "b" or "B", is -positioned vertically at the baseline of . "(,)" 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 to -fine-tune the positioning, and 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*(,){} - \thisfancyput*(,){} -\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{}{} - \thisfancypage{}{} -\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} - {} -\end{LVerbatim} -Thus, 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} - {} -\end{LVerbatim} -The same rules apply to as to . - -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}{} - ... - \end{LandScape} -\end{LVerbatim} -environment. 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}{}{}{} - ... - \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{}{} -\end{LVerbatim} -This is like -\begin{LVerbatim} - {} -\end{LVerbatim} -but 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[]" 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{}" Writes the verbatim text to . - \vitem"SaveVerbatim{}" Saves the verbatim text as . is -defined globally, without checking whether 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{}" Like "\Verbatim". - \vitem"\LVerbatimInput{}" Like "\LVerbatim". - \vitem"\BVerbatimInput[]{}" 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{}" Like "\Verbatim". - \vitem"\LUseVerbatim{}" Like "\LVerbatim". - \vitem"\BUseVerbatim[]{}" 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 " \ \\ - Like \LaTeX's "\verb" command, but it will complain if it encounters a new -line in .\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{}" 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[]{} "\ \\ - This is like "\Verb", but it saves as , and then returns to -the optional argument . Like the "SaveVerbatim" environment, it -defines globally without checking whether 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/doc/latex/seminar/readme.pst b/Master/texmf-dist/doc/latex/seminar/readme.pst deleted file mode 100644 index 8d489f677e7..00000000000 --- a/Master/texmf-dist/doc/latex/seminar/readme.pst +++ /dev/null @@ -1,204 +0,0 @@ - --------------- - | PSTricks 97 | - --------------- - - - ------------------------------------------------------------------------ -PSTricks is the work of Timothy van Zandt - -PSTricks 97 is edited by Denis Girou - and Sebastian Rahtz ------------------------------------------------------------------------ - - - -1 - Copyright - --------- - -COPYRIGHT 1993, 1994, 1999 by Timothy Van Zandt, tvz@nwu.edu. - -This program can be redistributed and/or modified under the terms -of the LaTeX Project Public License Distributed from CTAN -archives in directory macros/latex/base/lppl.txt. - -2 - Introduction - ------------ - -This package is a re-release of PSTricks, incorporating all of the -beta releases and bug fixes made up to March 1997. It is *not* -intended as a full new release of PSTricks, but as a consolidation and -cleaned distribution. Because Timothy van Zandt does not currently have -enough time to work on PSTricks, he gave permission for Denis Girou -and Sebastian Rahtz to produce this interim solution. - -No new features have been added in PST97, except the release of the -small pst-fill package for filling (tiling) arbitrary regions and the -various evolving contributions, but we have merged in all the bug fixes -and beta addons which Timothy produced. - -We have renamed some of the files that make up PSTricks, for consistency. - - -3 - Installation - ------------ - -3.1 - (La)TeX files - - a - You have to move all the files from the "generic" subdirectory -to a directory part of your TEXINPUTS environment variable, or to add it -in your TEXINPUTS list of paths. - - b - If you are a LaTeX user (and not only a plain TeX one), you have -to do the same thing for the "latex" subdirectory, which define LaTeX -wrappers for all the PSTricks files. - -3.2 - PostScript header files - - a - If you use the "dvips" DVI to PostScript converter, you have -to move all the files from the "dvips" subdirectory to a directory part -of your DVIPSHEADERS environment variable, or to add it in your DVIPSHEADERS -list of paths. - - b - If you use the Y&Y's "dvipsone" DVI to PostScript converter, -you have to rename generic/dvipsone.con to generic/pstricks.con and to move -all the files of the "dvips" subdirectory to the TeX input folder. - - c - If you use the MicroPress "VTeX" DVI to PostScript converter, -you have to rename generic/vtex.con to generic/pstricks.con and to move -all the files of the "dvips" subdirectory to the TeX input folder. - - d - If you use the "textures" (version 1.7 or 1.8) DVI to PostScript -converter (for Macintosh), you should proceed as follows: - * create a new folder PSTricks97 (for instance) as a subfolder in -Textures' TeX inputs folder, - * copy the "generic", "dvips", "latex" and "contrib" subfolders -from the "pst97" folder to the newly created "PSTricks97" folder, - * open the "generic" folder and remove the file pstricks.con, -then rename the file textures.con to pstricks.con, - * open the "dvips" folder and change the following line in the file -pstricks.pro (courtesy Michael J. Sharpe ): -/STV { SDict begin normalscale end STP } def -by -/STV { Mag 72.27 72 div mul dup neg scale STP } def - It was also reported that the `pst-text' package (to put text -along paths) doesn't work with the "textures" driver. - Textures's users must also look at the page kindly maintained -by Michael Sharpe: http://math.ucsd.edu/~msharpe/pst-textures.html - - d - If you use another driver than these four ones, you have to adapt -a pstricks.con file for it, if the one for "dvips" doesn't work for it. -You can also look at the instructions of the old obsolete/src/pstricks.con -file. And if nothing work, ask for help on the PSTricks mailing list, -hopping that somebody on the list has the same configuration than you... - -3.3 - Test of the installation - -The file doc/test-pst.tex allow you to test all your installation and the -various components of PSTricks. It is the concatenation of most of the -examples of the PSTricks chapter of "The LaTeX Graphics Companion". -You must take care (mainly if you are "normally" a user of plain TeX only, -that it require LaTeX and some packages of it distribution (namely `calc', -`ifthen' and `graphicx'). It also require the `random' and `subfigure' -packages, which can be found on CTAN or the TeXLive cdrom - see the README -file of the doc subdirectory). - -3.4 - Known pitfalls - - a - To use the standard `color' package (which is available both -for plain TeX and LaTeX) with PSTricks, you must load the `pstcol' extra -package written by David Carlisle, which interface the two packages, -loading them in the right order, and overriding some small parts of PSTricks -to allow it to use the `color' package system for specifying color. -We strongly recommend that you use the `color' package today. - - b - Don't try to load the `color' package if you use `pst-all' -(it is already loaded in the correct order). - - c - If needed, preferably load the `graphics' / `graphicx' package -after PSTricks, and in this case use the `graphics' syntax of \scalebox -(not the one described in the PSTricks documentation). - - d - If you load `graphics' / `graphicx' before PSTricks, you must use -the PSTricks syntax of \scalebox in all cases (not the one described -in the `grfguide' document). - - e - We have rename some package files for consistency. But the reference -documentation in obsolete/doc subdirectory still refer to the old names. -So, take care that `pst2eps' is now `pst-eps', `charpath' is now `pst-char', -`gradient' is now `pst-grad', `textpath' is now `pst-text' and `pstree' is -now `pst-tree'. - - -4 - Contents - -------- - -4.1 - Subdirectories - -The distribution contain the following subdirectories: - -contrib : various contributions -doc : documentations (up to date ones - the obsolete/doc subdirectory - contain the reference documentation for the version 0.93a and - the additional old Beta material, which is still necessary to use...) -dvips : PostScript header files -generic : TeX generic sources -latex : LaTeX wrappers -obsolete: documentation and sources for the version 0.93a and the - additional old Beta material - -4.2 - PSTricks core files - -The generic subdirectory contain the core files of PSTricks (and the latex -subdirectory contain the corresponding wrapper files). By alphabetic order: - -multido : loop facility for Generic TeX (in fact independant of PSTricks) -pst-3d : 3d projections -pst-char: stroking and filling character paths -pst-coil: coils and zigzags -pst-eps : conversion of PSTricks graphics to EPS files -pst-fill: fillings and tilings -pst-grad: gradients -pst-node: nodes and node connections -pst-plot: plots -pst-text: texts along a path -pst-tree: trees - -In addition, there is a LaTeX package `pst-all' in the latex subdirectory, -which loads all of the PSTricks components, plus `pstcol', in one go -(`pstcol' require also a color.cfg file defined; make sure you do _not_ load -the `color' package by itself). The only reason for _not_ using this is that -it uses extra memory for facilities you might not need. - - -5 - Documentation - ------------- - -There is NOT a complete up to date _reference_ documentation for PSTricks 97. -You must still refer to the reference documentation of the version 0.93a and -the additional old Beta material, available in the obsolete/doc subdirectory -(it was put in the "obsolete" subdirectory to clearly show that it is not up -to date nor supported by actual mainteners). Take care to notice what has -changed in additional old Beta documents (betadoc?.ps files) comparing to the -ones for 0.93a version (pst-usr?.ps files). - -Denis Girou maintain a list of known errors in both version 0.93a and -additional old Beta documentations, in obsolete/doc/pst-doc.err - -A large chapter of "The LaTeX Graphics Companion", by Goossens, Rahtz and -Mittelbach, Addison Wesley 1997, is dedicated to PSTricks, and this -currently forms the only systematic description of the integration of -the basic PSTricks and the beta additions of 1993. The source of all examples -from that book is also on CTAN/info/lgc and most of them in the doc/lgc -subdirectory of the PST97 distribution. - -There is also a supporting set of Web pages, actually maintained -by Denis Girou, on http://www.tug.org/applications/PSTricks with various -pointers and examples classified by categories. - -And there is also a mailing list devoted to discussions on PSTricks usage. -The informations to subscribe to this list and to consult the archives can -be found on the Web page. - --- -Denis Girou and Sebastian Rahtz (updated May 5, 1999) diff --git a/Master/texmf-dist/tex/latex/seminar/fancybox.sty b/Master/texmf-dist/tex/latex/seminar/fancybox.sty deleted file mode 100644 index 6d1d75a1529..00000000000 --- a/Master/texmf-dist/tex/latex/seminar/fancybox.sty +++ /dev/null @@ -1,986 +0,0 @@ -%% BEGIN fancybox.sty -%% -%% With corrections and suggestions from: -%% - Marcin Wolinski -%% - Heiko Oberdiek -%% -\def\fileversion{1.3} -\def\filedate{2000/09/19} -% DG/SR modification begin - September 19, 2000 -% (suggested by Heiko Oberdiek ) -\@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, Timothy.VAN-ZANDT@insead.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. -%% -%% This file may be distributed and/or modified under the conditions of -%% the LaTeX Project Public License, either version 1.2 of this license -%% or (at your option) any later version. The latest version of this -%% license is in: -%% -%% http://www.latex-project.org/lppl.txt -%% -%% and version 1.2 or later is part of all distributions of LaTeX version -%% 1999/12/01 or later. -%% -%% -%% 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 and -% Heiko Oberdiek ) - \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 -- cgit v1.2.3