From 5c2154214afee3119a591c6a9f9447a652d2ef4c Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 13 Jan 2006 00:40:05 +0000 Subject: ltxmisc git-svn-id: svn://tug.org/texlive/trunk@1476 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/ltxmisc/askinclude.sty | 103 +++++ Master/texmf-dist/tex/latex/ltxmisc/cancel.sty | 174 +++++++++ Master/texmf-dist/tex/latex/ltxmisc/capt-of.sty | 30 ++ Master/texmf-dist/tex/latex/ltxmisc/cases.sty | 187 +++++++++ Master/texmf-dist/tex/latex/ltxmisc/chappg.sty | 191 ++++++++++ Master/texmf-dist/tex/latex/ltxmisc/endnotes.sty | 417 +++++++++++++++++++++ Master/texmf-dist/tex/latex/ltxmisc/flashcard.cls | 177 +++++++++ Master/texmf-dist/tex/latex/ltxmisc/ftcap.sty | 75 ++++ Master/texmf-dist/tex/latex/ltxmisc/ifmtarg.sty | 66 ++++ Master/texmf-dist/tex/latex/ltxmisc/mitpress.sty | 33 ++ Master/texmf-dist/tex/latex/ltxmisc/morefloats.sty | 51 +++ Master/texmf-dist/tex/latex/ltxmisc/nextpage.sty | 54 +++ Master/texmf-dist/tex/latex/ltxmisc/notoccite.sty | 43 +++ 13 files changed, 1601 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/ltxmisc/askinclude.sty create mode 100644 Master/texmf-dist/tex/latex/ltxmisc/cancel.sty create mode 100644 Master/texmf-dist/tex/latex/ltxmisc/capt-of.sty create mode 100644 Master/texmf-dist/tex/latex/ltxmisc/cases.sty create mode 100644 Master/texmf-dist/tex/latex/ltxmisc/chappg.sty create mode 100644 Master/texmf-dist/tex/latex/ltxmisc/endnotes.sty create mode 100644 Master/texmf-dist/tex/latex/ltxmisc/flashcard.cls create mode 100644 Master/texmf-dist/tex/latex/ltxmisc/ftcap.sty create mode 100644 Master/texmf-dist/tex/latex/ltxmisc/ifmtarg.sty create mode 100644 Master/texmf-dist/tex/latex/ltxmisc/mitpress.sty create mode 100644 Master/texmf-dist/tex/latex/ltxmisc/morefloats.sty create mode 100644 Master/texmf-dist/tex/latex/ltxmisc/nextpage.sty create mode 100644 Master/texmf-dist/tex/latex/ltxmisc/notoccite.sty diff --git a/Master/texmf-dist/tex/latex/ltxmisc/askinclude.sty b/Master/texmf-dist/tex/latex/ltxmisc/askinclude.sty new file mode 100644 index 00000000000..c4a6ffb617c --- /dev/null +++ b/Master/texmf-dist/tex/latex/ltxmisc/askinclude.sty @@ -0,0 +1,103 @@ +% askinclude.sty - interactive asking of included files +% +% VERSION 1.2e November 11, 1994 +% +% (c) 1991 by Pablo A. Straub. Permission is granted to copy and use this +% in any way and for any purpose, except direct commercial advantage, +% provided that you retain this copyright notice. +% +% HISTORY +% +% 0.95 11/05/91 First beta-test version (asked two questions) +% 0.99 11/05/91 Second beta-test version (asks one question; uses * and -.) +% 1.0 11/07/91 Changed prompts (sent to comp.text.tex) +% 1.2e 11/02/94 Two small changes to run under LaTeX2e [RF]; +% additional documentation [TRS] +% +% Please send enhancements and corrections to straub@cs.umd.edu. +% +% USAGE +% +% Here's an example root file (see pp.72--74 in the LaTeX book): +% +% % File: main.tex +% % +% \documentclass[...]{book} +% \usepackage{askinclude} +% % ^^^^^^^^^^ +% % Initialization: +% \input{preamble} +% % +% \begin{document} +% % +% % Title page: +% \include{titlepg} +% % +% % Chapters: +% \include{chapter0} +% \include{chapter1} +% \include{chapter2} +% ... +% % +% \end{document} +% +% Each \include causes a page break and so askinclude probably only makes +% sense in the context of larger documents such as books. +% +% HOW IT WORKS +% +% The askinclude package asks the user which files to include. If +% the user presses return, the files from the previous run are included +% automatically (except on the first run, in which case all files are +% included); if the answer is * all files are included; if the answer +% is - no files are included; otherwise the specified files (separated +% by commas, with no embedded spaces) are included. +% +% RESTRICTIONS +% +% This file redefines \document, the command executed with \begin{document}. +% It may be incompatible with other styles that also redefine \document. +% +% The user's input is not validated. Anything that is not a * or a - or an +% empty line is passed to \includeonly. +% +% ACKNOWLEDGEMENT +% +% Tom Scavo (scavo@cie.uoregon.edu) suggested saving the include file list +% from the previous run and a simplified user interface. + + +\def\@includeonly{\@gobble} % assume we do not include from last run +\def\@inputs{*} % assume all files included + +% determine which files to include + +\def\@star{*} % constant for comparison purposes +\def\@minussign{-} % " " " " + +\typeout { } +\typeout {Enter file(s) to include (separated by commas and no spaces),} +\typeout {or enter * for all files, or enter - for none, or} +\typein [\inputfiles]{press Return if this run is the same as the last.} + +\ifx\inputfiles\@star % all files included + % do nothing +\else \ifx\inputfiles\@minussign % no files included + \includeonly{} + \def\@inputs{} +\else \ifx\inputfiles\empty % include according to previous run + \def\@includeonly#1{% + \gdef\@inputs{#1} + \ifx\@inputs\@star \else \global\@partswtrue\global\edef\@partlist{#1}\fi} +\else + \def\@inputs{\inputfiles} % include these files + \includeonly{\inputfiles} +\fi\fi\fi + + +\AtBeginDocument{\if@filesw + \immediate\write\@mainaux{\string\@includeonly\string{\@inputs + \string}}% + \def\@includeonly{}\fi} + +% END OF FILE askinclude.sty diff --git a/Master/texmf-dist/tex/latex/ltxmisc/cancel.sty b/Master/texmf-dist/tex/latex/ltxmisc/cancel.sty new file mode 100644 index 00000000000..0aac2f61a0b --- /dev/null +++ b/Master/texmf-dist/tex/latex/ltxmisc/cancel.sty @@ -0,0 +1,174 @@ +% cancel.sty version 2.1 12-Mar-2000. +% Donald Arseneau asnd@triumf.ca +% I contribute this software to the public domain. No rights reserved. +% +% Commands: +% ~~~~~~~~~ +% \cancel draws a diagonal line (slash) through its argument. +% \bcancel uses the negative slope (a backslash). +% \xcancel draws an X (actually \cancel plus \bcancel). +% \cancelto{}{} draws a diagonal arrow through the +% expression, pointing to the value. +% +% The first three work in math and text mode, but \cancelto is only +% for math mode. +% The slope of the line or arrow depends on what is being cancelled. +% +% Options: +% ~~~~~~~~ +% Bt default, none of these commands affects the horizontal spacing, +% so they might over-print neighboring parts of the formula (or text). +% They do add their height to the expression, so there should never be +% unintended vertical overlap. There is a package option [makeroom] to +% increase the horizontal spacing to make room for the cancellation value. +% +% If you use the color package, then you can declare +% \renewcommand{\CancelColor}{} +% and the cancellation marks will be printed in that color (e.g., \blue). +% However, if you are using color, I recommend lightly shaded blocks rather +% than diagonal arrows for cancelling. +% +% The option [thicklines] asks for heavier lines and arrows. This may be +% useful when the lines are colored a light shade. +% +% The size (math style) of the \cancelto value depends on package options +% according to this table: +% +% Current style [samesize] [smaller] [Smaller] +% ------------- ---------------- ---------------- ---------------- +% \displaystyle \displaystyle \textstyle \scriptstyle +% \textstyle \textstyle \scriptstyle \scriptstyle +% \scriptstyle \scriptstyle \scriptscriptstyle \scriptscriptstyle +% \scriptscriptstyle \scriptscriptstyle \scriptscriptstyle \scriptscriptstyle +% +% ("smaller" is the default behavior. It gives textstyle limits in +% displaystyle, whereas "Smaller" gives scriptstyle limits.) +% +% This package is provided without guarantees or support. Drawing slashes +% through math to indicate "cancellation" is poor design. I don't recommend +% that you use this package at all. + +\ProvidesPackage{cancel}[2000/03/12 v2.1 Cancel math terms] + +\newcommand{\CancelColor}{} +\newcommand{\cancelto}{1}% default option = smaller +\let\canto@fil\hidewidth +\let\canc@thinlines\thinlines + +\DeclareOption{samesize}{\def\cancelto{999}} +\DeclareOption{smaller}{\def\cancelto{1}} +\DeclareOption{Smaller}{\def\cancelto{0}} +\DeclareOption{makeroom}{\def\canto@fil{\hfil}} +\DeclareOption{overlap}{\let\canto@fil\hidewidth} +\DeclareOption{thicklines}{\let\canc@thinlines\thicklines} + +\ProcessOptions + +\DeclareRobustCommand\cancel[1]{\ifmmode + \mathpalette{\@cancel{\@can@slash{}}}{#1}\else + \@cancel{\@can@slash{}}\hbox{#1}\fi} +\DeclareRobustCommand\bcancel[1]{\ifmmode + \mathpalette{\@cancel{\@can@slash{-}}}{#1}\else + \@cancel{\@can@slash{-}}\hbox{#1}\fi} +\DeclareRobustCommand\xcancel[1]{\ifmmode + \mathpalette{\@cancel{\@can@slash{+}\@can@slash{-}}}{#1}\else + \@cancel{\@can@slash{+}\@can@slash{-}}\hbox{#1}\fi} + +\newcommand\@cancel[3]{% +\@begin@tempboxa\hbox{\m@th$#2{#3}$}% +\dimen@\height +\setbox\@tempboxa\hbox{$\m@th\vcenter{\box\@tempboxa}$}% +\advance\dimen@-\height % the difference in height +\unitlength\p@ \canc@thinlines +{\/\raise\dimen@\hbox{\ooalign{#1\hfil\box\@tempboxa\hfil \cr}}}% +\@end@tempboxa +} + +\def\@can@slash#1{\canto@fil$\m@th \CancelColor\vcenter{\hbox{% +\dimen@\width \@min@pt\dimen@ 2\@min@pt\totalheight6% +\ifdim\totalheight<\dimen@ % wide + \@min@pt\dimen@ 8% + \@tempcnta\totalheight \multiply\@tempcnta 5 \divide\@tempcnta\dimen@ + \advance\dimen@ 2\p@ % "+2" + \edef\@tempa{(\ifcase\@tempcnta 6,#11\or 4,#11\or 2,#11\or 4,#13\else 1,#11\fi + ){\strip@pt\dimen@}}% +\else % tall + \@min@pt\totalheight8% + \advance\totalheight2\p@ % "+2" + \@tempcnta\dimen@ \multiply\@tempcnta 5 \divide\@tempcnta\totalheight + \dimen@ \ifcase\@tempcnta .16\or .25\or .5\or .75\else 1\fi \totalheight + \edef\@tempa{(\ifcase\@tempcnta 1,#16\or 1,#14\or 1,#12\or 3,#14\else 1,#11\fi + ){\strip@pt\dimen@}}% +\fi +\expandafter\line\@tempa}}$\canto@fil \cr} + +\ifcase\cancelto + \def\cancelto#1#2{\mathchoice % Smaller option + {\@cancelto\scriptstyle{#1}\displaystyle{#2}}% + {\@cancelto\scriptstyle{#1}\textstyle{#2}}% + {\@cancelto\scriptscriptstyle{#1}\scriptstyle{#2}}% + {\@cancelto\scriptscriptstyle{#1}\scriptscriptstyle{#2}}% + } +\or + \def\cancelto#1#2{\mathchoice % smaller option (default) + {\@cancelto\textstyle{#1}\displaystyle{#2}}% + {\@cancelto\scriptstyle{#1}\textstyle{#2}}% + {\@cancelto\scriptscriptstyle{#1}\scriptstyle{#2}}% + {\@cancelto\scriptscriptstyle{#1}\scriptscriptstyle{#2}}% + } +\else + \def\cancelto#1#2{\mathchoice % samesize option + {\@cancelto\textstyle{#1}\displaystyle{#2}}% + {\@cancelto\textstyle{#1}\textstyle{#2}}% + {\@cancelto\scriptstyle{#1}\scriptstyle{#2}}% + {\@cancelto\scriptscriptstyle{#1}\scriptscriptstyle{#2}}% + } +\fi + +\newcommand\@cancelto[4]{% +\@begin@tempboxa\hbox{\m@th$#3{#4}$}% +\dimen@\width % wide +\@min@pt\dimen@ 2\@min@pt\totalheight4 +\ifdim\totalheight<\dimen@ + \@tempcnta\totalheight \multiply\@tempcnta 5 \divide\@tempcnta\dimen@ + \@tempdimb 3\p@ % extra width for arrowhead ("+2") + \advance\dimen@ \ifcase\@tempcnta 5\or 5\or 4\or 3\else 2\fi \p@ + \@min@pt\dimen@9\advance\dimen@\p@ + \edef\@tempa{\ifcase\@tempcnta 5441\or 5441\or 5421\or 4443\else 3611\fi + {\strip@pt\dimen@}{\strip@pt\@tempdimb}}% + \def\@tempb{Cancel #4 to #2; case wide }% +\else % tall + \advance\totalheight3\p@ % "+2" + \@tempcnta\dimen@ \multiply\@tempcnta 5 \divide\@tempcnta\totalheight + \advance\totalheight3\p@ % "+2" + \dimen@ \ifcase\@tempcnta .25\or .25\or .5\or .75\else 1\fi \totalheight + \@tempdimb \ifcase\@tempcnta .8\or .8\or 1.2\or 1.5\else 2\fi \p@ + \edef\@tempa{\ifcase\@tempcnta 0814\or 0814\or 1812\or 2734\else 3611\fi + {\strip@pt\dimen@}{\strip@pt\@tempdimb}}% +\fi +\dimen@\height +\setbox\@tempboxa\hbox{$\m@th\vcenter{\box\@tempboxa}$}% +\advance\dimen@-\height % the difference in height +\unitlength\p@ \canc@thinlines +{\/\raise\dimen@\hbox{\expandafter\canto@vector\@tempa{#1}{#2}}}% +\@end@tempboxa +} + +% #1, #2 offset of label #6 extra width to clear arrowhead +% #3, #4 vector direction #7 superscript label style +% #5 vector width #8 superscript label +\def\canto@vector#1#2#3#4#5#6#7#8{% + \dimen@.5\p@ + \setbox\z@\vbox{\boxmaxdepth.5\p@ + \hbox{\kern-1.2\p@\kern#1\dimen@$#7{#8}\m@th$}}% + \ifx\canto@fil\hidewidth \wd\z@\z@ \else \kern-#6\unitlength \fi + \ooalign{% + \canto@fil$\m@th \CancelColor + \vcenter{\hbox{\dimen@#6\unitlength \kern\dimen@ + \multiply\dimen@#4\divide\dimen@#3 \vrule\@depth\dimen@\@width\z@ + \vector(#3,#4){#5}% + }}^{\raise#2\dimen@\copy\z@\kern-\scriptspace}$% + \canto@fil \cr + \hfil \box\@tempboxa \kern\wd\z@ \hfil \cr}} + +\def\@min@pt#1#2{\ifdim#1<#2\p@ #1#2\p@ \relax\fi} diff --git a/Master/texmf-dist/tex/latex/ltxmisc/capt-of.sty b/Master/texmf-dist/tex/latex/ltxmisc/capt-of.sty new file mode 100644 index 00000000000..cdd006de550 --- /dev/null +++ b/Master/texmf-dist/tex/latex/ltxmisc/capt-of.sty @@ -0,0 +1,30 @@ +% CAPT-OF.STY v0.1 +% Copyright 1996, 1999 Robin Fairbairns (rf10@cam.ac.uk) +% +% This program can redistributed and/or modified under the terms +% of the LaTeX Project Public License Distributed from CTAN +% archives in directory macros/latex/base/lppl.txt; either +% version 1 of the License, or (at your option) any later version. +% +% This short package permits you to have things with apparently +% `proper' captions in the body of your text. This is sometimes +% convenient in documents that only have small `figure's or `table's +% (or small numbers of them) and you don't need to hassle yourself +% dealing with floats (\begin{figure|table}...) +% +% Usage: \captionof{type}[move]{caption} +% type is `figure' or `table' (or some type you've defined with +% float.sty) +% move is the optional moving argument of \caption (the thing +% that goes to the listoftables/figures) +% caption is the text of the caption +% +% It's probably best to use \captionof within an enclosing group +% (e.g., \begin{center} fig \captionof{figure}{blah blah} \end{center}) +% +% CAVEAT: If you _do_ have `real' (floating) figures or tables in your +% document, you may find this package causes the figures\tables to get +% out of order. You are (as far as I'm concerned) `on your own' if +% you use this package in such circumstances. + +\newcommand\captionof[1]{\def\@captype{#1}\caption} diff --git a/Master/texmf-dist/tex/latex/ltxmisc/cases.sty b/Master/texmf-dist/tex/latex/ltxmisc/cases.sty new file mode 100644 index 00000000000..b82f010a02a --- /dev/null +++ b/Master/texmf-dist/tex/latex/ltxmisc/cases.sty @@ -0,0 +1,187 @@ +% C A S E S . S T Y ver 2.5 May 2002 +% +% Copyright (C) 1993,1994,1995,2000,2002 by Donald Arseneau +% asnd@triumf.ca +% These macros may be freely transmitted, reproduced, or modified +% provided that this notice is left intact. Sub-equation numbering +% is based on subeqn.sty by Stephen Gildea; most of the rest is based +% on LaTeX's \eqnarray by Leslie Lamport and the LaTeX3 team. +% +% This provides a LaTeX environment {numcases} to produce multi-case +% equations with a separate equation number for each case. There is +% also {subnumcases} which numbers each case with the overall equation +% number plus a letter [8a, 8b, etc.]. The syntax is +% +% \begin{numcases}{left_side} +% case_1 & explanation_1 \\ +% case_2 & explanation_2 \\ +% ... +% case_n & explanation_n +% \end{numcases} +% +% Each case is a math formula, and each explanation is a piece of lr mode +% text (which may contain math mode in \(...\) or $...$). The explanations +% are optional. Equation numbers are inserted automatically, just as for +% the eqnarray environment. In particular, the \nonumber command suppresses +% an equation number and the \label command allows reference to a particular +% case. In a subnumcases environment, a \label in the left_side of the +% equation gives the overall equation number, without any letter. +% +% To use this package, +% include "\usepackage{cases}" after \documentclass. You may also +% specify "\usepackage[subnum]{cases}" to force *all* numcases +% environments to be treated as subnumcases. +% +% Question: Is there a {numcases*} environment for unnumbered cases? +% Answer: There is a {cases} environment in AMS-LaTeX, but it is just as +% convenient to stick with the canonical LaTeX array: +% \[ left side = \left\{ \begin{array}...\end{array} \right. \] +% +% Speaking of AMS-math, they use an entirely different system of equation +% numbering, and this package uses ordinary LaTeX numbering. +% +% - - - - - +% A simple example is: +% \begin{numcases}{|x|=} +% x, & for $x \geq 0$\\ +% -x, & for $x < 0$ +% \end{numcases} +% +% Giving: +% / x for x > 0 (1) +% |x| = < - +% \ -x for x < 0 (2) +% +% - - - - - +% +% Another example is calculating the square root of $c+id$. First compute +% \begin{subnumcases}{\label{w} w\equiv} +% 0 & $c = d = 0$\label{wzero}\\ +% \sqrt{|c|}\,\sqrt{\frac{1 + \sqrt{1+(d/c)^2}}{2}} & $|c| \geq |d|$ \\ +% \sqrt{|d|}\,\sqrt{\frac{|c/d| + \sqrt{1+(c/d)^2}}{2}} & $|c| < |d|$ +% \end{subnumcases} +% Then, using $w$ from eq.~(\ref{w}), the square root is +% \begin{subnumcases}{\sqrt{c+id}=} +% 0 & $w=0$ (case \ref{wzero})\\ +% w+i\frac{d}{2w} & $w \neq 0$, $c \geq 0$ \\ +% \frac{|d|}{2w} + iw & $w \neq 0$, $c < 0$, $d \geq 0$ \\ +% \frac{|d|}{2w} - iw & $w \neq 0$, $c < 0$, $d < 0$ +% \end{subnumcases} +% +% - - - begin definitions - - - + +\ProvidesPackage{cases}[2002/05/02 ver 2.5 ] + +\newenvironment{numcases}[1]% +{$$\numc@opts \setbox\z@\hbox + {\advance\c@equation\@ne\def\@currentlabel{\p@equation\theequation}% local + $\displaystyle {#1\null}\m@th$}% + \numc@setsub + \setbox\tw@\vbox\bgroup + \stepcounter{equation}\def\@currentlabel{\p@equation\theequation}% + \global\@eqnswtrue\m@th \everycr{}\tabskip\numc@left\let\\\@eqncr + \halign to\dimen@ii \bgroup \kern\wd\z@ \kern14\p@ % assume width of brace + \tabskip\z@skip \global\@eqcnt\@ne $\displaystyle{##}$\hfil + &\global\@eqcnt\tw@ \skip@10\p@ \advance\skip@\tw@\arraycolsep \hskip\skip@ + ##\unskip\hfil\tabskip\@centering% \unskip removes space if no explanations + &\global\@eqcnt\thr@@\hbox to\z@\bgroup\hss##\egroup\tabskip\z@skip\cr +}{\@@eqncr \egroup % end \halign, which does not contain first column or brace + \global\advance\c@equation\m@ne +%Measure the natural width of the alignment + \unskip\unpenalty\unskip\unpenalty \setbox\z@\lastbox % grab last line + \nointerlineskip \copy\z@ % then put it back + \global\dimen@i\wd\z@ + \setbox\z@\hbox{\hskip-\numc@left\unhbox\z@}% Measure its natural width + \ifdim \wd\z@<\dimen@i \global\dimen@i\wd\z@ \fi +\egroup% end \vbox (box\tw@, box\z@ is restored to LHS) +\hbox to\dimen@ii{\m@th % assemble the whole equation + \hskip\numc@left + \hbox to\dimen@i{$\displaystyle \box\z@ % parameter #1 + \dimen@\ht\tw@ \advance\dimen@\dp\tw@ % get size of brace + \left\{\vcenter to\dimen@{\vfil}\right.\n@space % make brace + $\hfil}\hskip\@centering % finished first part (filled whole line) + \kern-\dimen@ii % backspace the full width + $\vcenter{\box\tw@}$% overlay the alignment + }% end the \hbox to\dimen@ii +\numc@resetsub +$$\global\@ignoretrue} + +\let\numc@setsub\relax +\let\numc@resetsub\relax + +\def\subnumcases{\let\numc@setsub\subequations + \let\numc@resetsub\endsubequations \numcases} +\let\endsubnumcases\endnumcases + +% declare subequations -- either defining them following the style of +% Gildea's subeqn.sty, or using the syntax of AMS-LaTeX if that is loaded. + +\@ifundefined{c@parentequation}{% No AMS, define subequations from scratch: +% +% These versions of subequations follow the style of Gildea's subeqn.sty, +% but are thoroughly rewritten. +% +% You can change the labelling by redefining \thesubequation, but the names +% of the counters may be confusing: The sub-number is given by counter +% {equation}, while the overall equation number is given by {mainequation}. +% There are two ways to reference the overall equation number: +% through the value of \c@mainequation, as in \Roman{mainequation}, or +% through \themainequation, which gives the text of the normal \theequation. +% Refer to the local sub-number with \c@equation, as in \alph{equation}. +% The default numbering is like 13c, given by: +% +\def\thesubequation{\themainequation\alph{equation}} +% +% Some alternatives: +% \def\thesubequation{\themainequation.\Alph{equation}} % 13.C +% \def\thesubequation{\themainequation-\roman{equation}} % 13-iii +% \def\thesubequation{(\arabic{mainequation}\alph{equation})} % (13c) +% The third alternative should be used if a document style has +% declared \renewcommand{\@eqnnum}{\theequation} and +% \renewcommand{\theequation}{(\arabic{equation})}, which makes +% \ref put parentheses around regular equation numbers automatically. +% +\def\subequations{\refstepcounter{equation}% + \mathchardef\c@mainequation\c@equation + \let\@tempa\protect % * added protection + \def\protect{\noexpand\protect\noexpand}% * + \edef\themainequation{\theequation}\let\theequation\thesubequation + \let\protect\@tempa % * + \global\c@equation\z@} +% +\def\endsubequations{% + \global\c@equation\c@mainequation + \global\@ignoretrue} +% +% \begin{subeqnarray} works like \begin{subequations}\begin{eqnarray}, +% with the added feature that a \label command given given at the very +% beginning of the first entry defines a label for the overall equation +% number. +% +\def\subeqnarray{\subequations\eqnarray\@ifnextchar\label{\@lab@subeqnarray}{}} +\def\endsubeqnarray{\endeqnarray\endsubequations} +\def\@lab@subeqnarray#1#2{\begingroup + \let\@currentlabel\themainequation #1{#2}\endgroup} +% +}{}% AMS \subequations already defined + +\def\numc@left{\@centering} +\def\numc@opts{\dimen@ii\displaywidth} + +\DeclareOption{subnum}{ + \let\numc@setsub\subequations + \let\numc@resetsub\endsubequations } + +\DeclareOption{fleqn}{ + \def\numc@left{\mathindent} + \def\numc@opts{\displaywidth\linewidth + \dimen@ii\linewidth } +} +\ProcessOptions + +\endinput + +% Send problem reports to asnd@triumf.ca + +Test file integrity: ASCII 32-57, 58-126: !"#$%&'()*+,-./0123456789 +:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ diff --git a/Master/texmf-dist/tex/latex/ltxmisc/chappg.sty b/Master/texmf-dist/tex/latex/ltxmisc/chappg.sty new file mode 100644 index 00000000000..943cf041424 --- /dev/null +++ b/Master/texmf-dist/tex/latex/ltxmisc/chappg.sty @@ -0,0 +1,191 @@ +% Define \thepage to output chapter-page (such as 1-3, 5-2, etc.) +% and have each chapter's page number begin on 1. +% +% Largely reimplemented for use as a LaTeX2e package, taking account +% of \mainmatter, etc., and providing various extra capabilities, +% Robin Fairbairns , from an original by +% Max Hailperin , who asserted that the original +% source was TeXMaG Vol. 5, No. 3 (part 1) +% +% See documentation after \endinput +% +% This program may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.1 +% 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.1 or later is part of all distributions of LaTeX +% version 1999/06/01 or later. +% +% This program consists of the file chappg.sty + +\NeedsTeXFormat{LaTeX2e}% Seems to work with any version +\ProvidesPackage{chappg}[2000/05/24 v2.0d page numbering by chapter] + +% +% reset page number when chapter number is stepped +\@addtoreset{page}{chapter} + +\renewcommand\pagenumbering[2][\@chappg@thechapter]{% + \global\c@page\@ne + \protected@xdef\thepage{% + \expandafter\noexpand\csname @#2\endcsname + \noexpand\c@page + }% + \gdef\@chappg@prefix{#1}% +} + +% This is the command used by \pagenumbering{bychapter} to actually +% create the page number +\newcommand\@bychapter[1]{% + \@chappg@prefix\chappgsep\@arabic#1% + \ifx\@chappg@prefix\@chappg@surprise + \if@chappgsurprised\else + \xdef\@chappg@surprise@line{\the\inputlineno}% + \global\@chappgsurprisedtrue + \fi + \fi +} + +% output a chapter number if there have been any chapters; otherwise +% gobble the following thing, which will be \chappgsep +\def\@chappg@thechapter{% + \ifnum\c@chapter=0 + \expandafter\@gobble + \else + \thechapter + \fi +} + +% separator in the above +\providecommand\chappgsep{-} + +% +% select default: this will be hacked by \frontmatter if the author +% uses it +\pagenumbering{bychapter} + +% +% Hack at \mainmatter so that it restores bychapter numbering if +% there's been a \frontmatter command +\let\@@mainmatter\mainmatter +\def\mainmatter{\@@mainmatter + \pagenumbering{bychapter}% +} + +% +% Hack at \backmatter so that it warns the user of possibly surprising +% results if \pagenumbering[whatever]{bychapter} hasn't been used +\let\@@backmatter\backmatter +\def\backmatter{\@@backmatter + \let\@chappg@prefix\@chappg@surprise +} +\def\@chappg@surprise{\textbf{??}} +\newif\if@chappgsurprised \@chappgsurprisedfalse + +\AtEndDocument{\if@chappgsurprised + \PackageWarningNoLine{chappg}{Possibly surprising page numbering in + \string\backmatter + \MessageBreak + Use \string\pagenumbering[prefix]{bychapter}% + \MessageBreak + to select alternative before line \@chappg@surprise@line + } + \fi +} + +%% +%% command to hack at an environment to cause it to behave prettily +%% #1->environment name, #2->prefix for page numbers +%\newcommand\bychapterenv[2]{% +% \@ifundefined{@@#1}{% +% \expandafter\let\csname @@#1\expandafter\endcsname +% \csname#1\endcsname +% }{}% +% \expandafter\edef\csname#1\endcsname{% +% \expandafter\noexpand\csname @@#1\endcsname +% \global\let\noexpand\@@bychapter\noexpand\@bychapter +% \noexpand\pagenumbering[\noexpand#2]{bychapter}% +% }% +% \@ifundefined{@@end#1}{% +% \expandafter\let\csname @@end#1\expandafter\endcsname +% \csname end#1\endcsname +% }{}% +% \expandafter\edef\csname end#1\endcsname{% +% \expandafter\noexpand\csname @@end#1\endcsname +% \global\let\noexpand\@bychapter\noexpand\@@bychapter +% }% +%} +% +%% +%% Specific cases: set up for dealing with bibliography, index, and (if +%% it's defined) glossary +%\bychapterenv{thebibliography}\bibname +%\bychapterenv{theindex}\indexname +%\@ifundefined{theglossary}{}{% +% \bychapterenv{theglossary}{Glossary}% +%} + +% +% The next magic makes the page counter be reset to one rather than zero +\renewcommand\@stpelt[1]{% + \global\csname c@#1\endcsname + \expandafter\ifx \csname c@#1\endcsname \c@page + \@ne + \else + \z@ + \fi +} +\endinput + +chappg.sty: number pages by chapter + +Basic operation of the package is to redefine \thepage to be +\thechapter-\arabic{page}, and to cause the page number to be reset +(to 1) at the start of each chapter. So the pages of chapter 3 will +be numbered 3-1, 3-2, ..., and the pages of appendix B will be +numbered B-1, B-2, ... + +The package assumes the environment of the standard report or book +classes (or classes derived from them by inclusion or copying). + +The package's effect is achieved by defining a new \pagenumbering +style `bychapter', and using it. The package changes \pagenumbering +to take an optional argument, which is the `prefix' to the page +number. Ordinarily, this will be the chapter number, but a user may +care to say (for example): + + \chapter*{Preface} + \pagenumbering[Preface]{bychapter} + +in her document somewhere, and the pages of the preface will be +numbered Preface-1, Preface-2, ... + +The separator between the chapter and page numbers (hyphen above, but +I can imagine people wanting it to be an en-dash) is \chappgsep, which +en-dash-lovers may redefine (after loading the package); for example: + + \renewcommand{\chappgsep}{--}% + +Havoc is wreaked with this structure in the LaTeX \frontmatter and +\mainmatter commands (which both explicitly use \pagenumbering and +therefore destroy the changed definition of \thepage + +My design decision was to assume that \frontmatter is indeed to be in +\pagenumbering{roman}, and to restore the chapter-numbering in +\mainmatter. Chapters in the frontmatter can not be numbered `by' +their chapters, since the chapters don't actually have numbers. If +the author wishes to have some special treatment of part of the +frontmatter, the analogue of the above is + + \chapter{Preface} + \pagenumbering[Preface]{bychapter} + +The conception breaks down again in \backmatter; again, the \chapter +commands don't number the chapters, so that the pages will all be +numbered as if they were `within' the last real chapter. Therefore, +if by-chapter page numbering is still enabled while in the backmatter, +and the user hasn't issued a new \pagenumbering[prefix]{bychapter} +since the \backmatter command, the package rewrites the prefix as +{\bf??}, and produces a warning at the end of the document. + diff --git a/Master/texmf-dist/tex/latex/ltxmisc/endnotes.sty b/Master/texmf-dist/tex/latex/ltxmisc/endnotes.sty new file mode 100644 index 00000000000..d3ef6514baa --- /dev/null +++ b/Master/texmf-dist/tex/latex/ltxmisc/endnotes.sty @@ -0,0 +1,417 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% **************************************** +% * ENDNOTES * +% **************************************** +% +% Date of this version: 15 January 2003. +% +%% Copyright 2002 John Lavagnino +%% +%% 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. +% +% Based on the FOOTNOTES section of +% LATEX.TEX (VERSION 2.09 - RELEASE OF 19 April 1986), with +% "footnote" changed to "endnote" and "fn" changed to "en" (where +% appropriate), with all the minipage stuff pulled out, and with +% some small changes for the different operation of endnotes. +% Subsequently updated to follow the code for +% LaTeX2e <2000/06/01>. +% +% Uses an extra external file, with .ent extension, to hold the +% text of the endnotes. This may be deleted after the run; a new +% version is generated each time--it doesn't require information +% collected from the previous run. +% +% This code does not obey \nofiles. Perhaps it should. +% +% John Lavagnino (John.Lavagnino@kcl.ac.uk) +% Centre for Computing in the Humanities, King's College London +% +% To turn all the footnotes in your documents into endnotes, say +% +% \let\footnote=\endnote +% +% in your preamble, and then add something like +% +% \newpage +% \begingroup +% \parindent 0pt +% \parskip 2ex +% \def\enotesize{\normalsize} +% \theendnotes +% \endgroup +% +% as the last thing in your document. (But \theendnotes all +% by itself will work.) +% +% **************************************** +% * CHANGE LOG * +% **************************************** +% +% JL Modified to include \addtoendnotes. JL, 10/22/89. +% +% JK Modification by J"org Knappen 25. 2. 1991: +% JK +% JK Introduced \notesname in the spirit of international \LaTeX. +% JK \notesname is set per default to be {Notes}, but can easily +% JK be redifined, e.g. for german language +% JK \renewcommand{\notesname}{Anmerkungen} +% +% DW Modification by Dominik Wujastyk, London, 19 September 1991: +% DW +% DW Moved the line +% DW \edef\@currentlabel{\csname p@endnote\endcsname\@theenmark} +% DW out of the definition of \@endnotetext and into the definition +% DW of \@doanenote so that \label and \ref commands work correctly in +% DW endnotes. Otherwise, the \label just pointed to the last section +% DW heading (or whatever) preceding the \theendnotes command. +% +% JL Revised documentation and macros. 24 Sept 1991. +% +% modified by --bg (B.Gaulle) 09/14/94 for: +% 1) replace » (why a 8bit char here?) by ^ as a default. +% 2) force \catcode of > to be 12 (implied by \@doanenote). +% by --bg again 03/22/95 for: +% 3) reseting appropriate catcode of > in case it were +% used as an active char before \@endanenote (was +% pointed by Ch. Pallier). +% +% John Lavagnino, 12 January 2003: a number of small updates: +% +% JL Incorporate change suggested by Frank Mittelbach to +% JL \enoteheading, so that first note has paragraph indentation. +% JL Frank's note: +% the idea of this code is to fix the problem that without it +% the first endnote after the heading will not be indented thus looking +% somewhat strange. Problem however is that since there is no +% indentation \leavemode\par will make an absolutely empty pargraph so +% that no baseline calculation is done. therefore \vskip-\baselineskip +% will put the first endnote directly below the heading without the +% usual spaccing. using \mbox insead will cure this defect. +% +% JL Also incorporated Frank's suggestion to define +% JL \makeenmark and \theenmark, so that users can change more of the +% JL layout without using \makeatletter. \makeenmark defaults to +% JL \@makeenmark, so old code is still supported; and \theenmark is +% JL just syntactic sugar for \@theenmark, which is still the real +% JL value (and shouldn't be directly modified by user code). +% +% JL Definition of \ETC. also dropped: surely nobody is still +% JL using TeX 2.992. (If you are, you need to upgrade it or +% JL endnotes longer than 1000 characters will be truncated.) +% +% JL Update much of the code to track the current LaTeX2e code more +% JL closely. Clean up \theendnotes. +% +% John Lavagnino, 15 January 2003: fix my garbled version of +% Frank's updates. +% +% +% **************************************** +% * ENDNOTE COMMANDS * +% **************************************** +% +% +% \endnote{NOTE} : User command to insert a endnote. +% +% \endnote[NUM]{NOTE} : User command to insert a endnote numbered +% NUM, where NUM is a number -- 1, 2, +% etc. For example, if endnotes are numbered +% *, **, etc. within pages, then \endnote[2]{...} +% produces endnote '**'. This command does not +% step the endnote counter. +% +% \endnotemark[NUM] : Command to produce just the endnote mark in +% the text, but no endnote. With no argument, +% it steps the endnote counter before generating +% the mark. +% +% \endnotetext[NUM]{TEXT} : Command to produce the endnote but no +% mark. \endnote is equivalent to +% \endnotemark \endnotetext . +% +% \addtoendnotes{TEXT} : Command to add text or commands to current +% endnotes file: for inserting headings, +% pagebreaks, and the like into endnotes +% sections. TEXT a moving argument: +% \protect required for fragile commands. +% +% **************************************** +% * ENDNOTE USER COMMANDS * +% **************************************** +% +% Endnotes use the following parameters, similar to those relating +% to footnotes: +% +% \enotesize : Size-changing command for endnotes. +% +% \theendnote : In usual LaTeX style, produces the endnote number. +% +% \theenmark : Holds the current endnote's mark--e.g., \dag or '1' or 'a'. +% (You don't want to set this yourself, as it comes +% either from the autonumbering of notes or from +% the optional argument to \endnote. But you'll need +% to use it if you define your own \makeenmark.) +% +% \makeenmark : A macro to generate the endnote marker from \theenmark +% The default definition is \hbox{$^\theenmark$}. +% +% \@makeentext{NOTE} : +% Must produce the actual endnote, using \theenmark as the mark +% of the endnote and NOTE as the text. It is called when effectively +% inside a \parbox, with \hsize = \columnwidth. For example, it might +% be as simple as +% $^{\theenmark}$ NOTE +% +% +% **************************************** +% * ENDNOTE PSEUDOCODE * +% **************************************** +% +% \endnote{NOTE} == +% BEGIN +% \stepcounter{endnote} +% \@theenmark :=G eval (\theendnote) +% \@endnotemark +% \@endnotetext{NOTE} +% END +% +% \endnote[NUM]{NOTE} == +% BEGIN +% begingroup +% counter endnote :=L NUM +% \@theenmark :=G eval (\theendnote) +% endgroup +% \@endnotemark +% \@endnotetext{NOTE} +% END +% +% \@endnotetext{NOTE} == +% BEGIN +% write to \@enotes file: "\@doanenote{ENDNOTE MARK}" +% begingroup +% \next := NOTE +% set \newlinechar for \write to \space +% write to \@enotes file: \meaning\next +% (that is, "macro:->NOTE) +% endgroup +% END +% +% \addtoendnotes{TEXT} == +% BEGIN +% open endnotes file if not already open +% begingroup +% let \protect to \string +% set \newlinechar for \write to \space +% write TEXT to \@enotes file +% endgroup +% END +% +% \endnotemark == +% BEGIN \stepcounter{endnote} +% \@theenmark :=G eval(\theendnote) +% \@endnotemark +% END +% +% \endnotemark[NUM] == +% BEGIN +% begingroup +% endnote counter :=L NUM +% \@theenmark :=G eval(\theendnote) +% endgroup +% \@endnotemark +% END +% +% \@endnotemark == +% BEGIN +% \leavevmode +% IF hmode THEN \@x@sf := \the\spacefactor FI +% \makeenmark % put number in main text +% IF hmode THEN \spacefactor := \@x@sf FI +% END +% +% \endnotetext == +% BEGIN \@theenmark :=G eval (\theendnote) +% \@endnotetext +% END +% +% \endnotetext[NUM] == +% BEGIN begingroup counter endnote :=L NUM +% \@theenmark :=G eval (\theendnote) +% endgroup +% \@endnotetext +% END +% +% **************************************** +% * ENDNOTE MACROS * +% **************************************** +% + +\@definecounter{endnote} +\def\theendnote{\@arabic\c@endnote} + +\def\@makeenmark{\hbox{\@textsuperscript{\normalfont\@theenmark}}} +\def\makeenmark{\@makeenmark} + +\def\theenmark{\@theenmark} + +\newdimen\endnotesep + +\def\endnote{\@ifnextchar[\@xendnote{\stepcounter{endnote}% + \protected@xdef\@theenmark{\theendnote}% + \@endnotemark\@endnotetext}} + +\def\@xendnote[#1]{% + \begingroup + \c@endnote=#1\relax + \unrestored@protected@xdef\@theenmark{\theendnote}% + \endgroup + \@endnotemark\@endnotetext} + +% Here begins a section of endnote code that's really different from +% the footnote code of LaTeX. + +\let\@doanenote=0 +\let\@endanenote=0 + +\newwrite\@enotes +\newif\if@enotesopen \global\@enotesopenfalse + +\def\@openenotes{\immediate\openout\@enotes=\jobname.ent\relax + \global\@enotesopentrue} + +% The stuff with \next and \meaning is a trick from the TeXbook, 382, +% there intended for setting verbatim text, but here used to avoid +% macro expansion when the footnote text is written. \next will have +% the entire text of the footnote as one long line, which might well +% overflow limits on output line length; the business with \newlinechar +% makes every space become a newline in the \@enotes file, so that all +% of the lines wind up being quite short. + +\long\def\@endnotetext#1{% + \if@enotesopen \else \@openenotes \fi + \immediate\write\@enotes{\@doanenote{\@theenmark}}% + \begingroup + \def\next{#1}% + \newlinechar='40 + \immediate\write\@enotes{\meaning\next}% + \endgroup + \immediate\write\@enotes{\@endanenote}} + +% \addtoendnotes works the way the other endnote macros probably should +% have, requiring the use of \protect for fragile commands. + +\long\def\addtoendnotes#1{% + \if@enotesopen \else \@openenotes \fi + \begingroup + \newlinechar='40 + \let\protect\string + \immediate\write\@enotes{#1}% + \endgroup} + +% End of unique endnote code + +\def\endnotemark{% + \@ifnextchar[\@xendnotemark + {\stepcounter{endnote}% + \protected@xdef\@theenmark{\theendnote}% + \@endnotemark}} + +\def\@xendnotemark[#1]{% + \begingroup + \c@endnote #1\relax + \unrestored@protected@xdef\@theenmark{\theendnote}% + \endgroup + \@endnotemark} + +\def\@endnotemark{% + \leavevmode + \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi + \makeenmark + \ifhmode\spacefactor\@x@sf\fi + \relax} + +\def\endnotetext{% + \@ifnextchar [\@xendnotenext + {\protected@xdef\@theenmark{\theendnote}% + \@endnotetext}} + +\def\@xendnotenext[#1]{\begingroup \c@endnote=#1\relax + \xdef\@theenmark{\theendnote}\endgroup \@endnotetext} + +\def\@xendnotenext[#1]{% + \begingroup + \c@endnote=#1\relax + \unrestored@protected@xdef\@theenmark{\theendnote}% + \endgroup + \@endnotetext} + + +% \theendnotes actually prints out the endnotes. + +% The user may want separate endnotes for each chapter, or a big +% block of them at the end of the whole document. As it stands, +% either will work; you just say \theendnotes wherever you want the +% endnotes so far to be inserted. However, you must add +% \setcounter{endnote}{0} after that if you want subsequent endnotes +% to start numbering at 1 again. + +% \enoteformat is provided so user can specify some special formatting +% for the endnotes. It needs to set up the paragraph parameters, start +% the paragraph, and print the label. The \mbox stuff in \enoteheading +% is to make and undo a dummy paragraph, to get around the games \section* +% plays with paragraph indenting and instead give us uniform +% indenting for all notes. + +\def\notesname{Notes}% +\def\enoteheading{\section*{\notesname + \@mkboth{\MakeUppercase{\notesname}}{\MakeUppercase{\notesname}}}% + \mbox{}\par\vskip-\baselineskip} + +\def\enoteformat{\rightskip\z@ \leftskip\z@ \parindent=1.8em + \leavevmode\llap{\makeenmark}} + +\def\enotesize{\footnotesize} + +\def\theendnotes{\immediate\closeout\@enotes \global\@enotesopenfalse + \begingroup + \makeatletter + % + % The machinery with \@ResetGT and > here ensures that + % \@doanenote works properly even if > is an active character + % at the point where \theendnotes is invoked. > needs to have + % catcode 12 when the arguments of \@doanenote are scanned, so + % that the > in the string "macro:->" is matched. The actual + % footnote text is not an argument to \@doanenote, but just + % follows it in the .ent file; so \@ResetGT can reset the + % category code for > that should be used when processing + % that text. That resetting takes place within a + % \begingroup-\endgroup block set up by \@doanenote and + % \@endanenote, so the catcode for > is back to 12 for the + % next note. + % + \edef\@tempa{`\string >}% + \ifnum\catcode\@tempa=12% + \let\@ResetGT\relax + \else + \edef\@ResetGT{\noexpand\catcode\@tempa=\the\catcode\@tempa}% + \@makeother\>% + \fi + \def\@doanenote##1##2>{\def\@theenmark{##1}\par\begingroup + \@ResetGT + \edef\@currentlabel{\csname p@endnote\endcsname\@theenmark}% + \enoteformat} + \def\@endanenote{\par\endgroup}% + \enoteheading + \enotesize + \input{\jobname.ent}% + \endgroup} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/latex/ltxmisc/flashcard.cls b/Master/texmf-dist/tex/latex/ltxmisc/flashcard.cls new file mode 100644 index 00000000000..ed91ada914d --- /dev/null +++ b/Master/texmf-dist/tex/latex/ltxmisc/flashcard.cls @@ -0,0 +1,177 @@ +%an experimental documentclass for flashcards. +%Use only with the understanding it may not work at all. +%More documentation after \endinput +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{flashcard} + [2000/25/01 document class for flashcards] +\newcommand\@ptsize{} +\DeclareOption{a4paper} + {\setlength\paperheight {297mm}% + \setlength\paperwidth {210mm}} +\DeclareOption{letterpaper} + {\setlength\paperheight {11in}% + \setlength\paperwidth {8.5in}} +\DeclareOption{landscape} + {\setlength\@tempdima {\paperheight}% + \setlength\paperheight {\paperwidth}% + \setlength\paperwidth {\@tempdima}} +\DeclareOption{centering}{\def\flashcardformat{\centering}} +\DeclareOption{raggedright}{\def\flashcardformat{\raggedright}} +\DeclareOption{raggedleft}{\def\flashcardformat{\raggedleft}} +\DeclareOption{justify}{\def\flashcardformat{\relax}} +\DeclareOption{10pt}{\renewcommand\@ptsize{0}} +\DeclareOption{11pt}{\renewcommand\@ptsize{1}} +\DeclareOption{12pt}{\renewcommand\@ptsize{2}} +\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} +\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} +\DeclareOption{draft}{\setlength\overfullrule{5pt}} +\DeclareOption{final}{\setlength\overfullrule{0pt}} +\ExecuteOptions{10pt,oneside,justify,final} +\ProcessOptions\relax +\ifdim\paperwidth=0pt +\ClassError{Flashcard}{No papersize specified} + {Please specify one of `a4paper' or `letterpaper' \MessageBreak + as a option to the documentclass} +\fi +\RequirePackage{calc} +\input{size1\@ptsize.clo} +\setlength\lineskip{1\p@} +\setlength\normallineskip{1\p@} +\renewcommand\baselinestretch{} +\setlength\parskip{0pt} +\setlength\parindent{0pt} +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal} +\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal} +\def\today{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year} +\setlength\columnsep{10\p@} +\setlength\columnseprule{0\p@} +\interlinepenalty=10000 +\pagestyle{empty} +\newsavebox\flashcardi +\newsavebox\flashcardii +\newsavebox\flashcardiii +\newsavebox\flashcardiv +\newsavebox\flashcardv +\newsavebox\flashcardvi +\newsavebox\flashcardvii +\newsavebox\flashcardviii +\newcounter{flashcard} +\setcounter{flashcard}{1} +\newlength\flashcardwidth +\newlength{\flashcardheight} +\newlength{\halfflashcardwidth} +\setlength{\flashcardwidth}{0.5\textwidth-0.5\columnsep-2\fboxrule} +\setlength{\flashcardheight}{0.25\textheight-2\fboxrule-0.5\columnsep} +\setlength{\halfflashcardwidth}{0.5\flashcardwidth - 4pt} + + +\newcommand{\FC@pvbox}[1]{\fboxsep=2pt\fboxrule=0pt\fbox{\vbox{#1}}} +\newcommand\FC@nopadfbox{\fboxsep=0pt\fbox} +\newcommand{\flashcardtopic}[1]{\gdef\theflashcardtopic{#1}} +\flashcardtopic{} + +\providecommand{\flashcardfrontword}{Question} +\providecommand{\flashcardbackword}{Answer} + +\newcommand\flashcard{\@ifnextchar[{\@flashcardx}{\@flashcardx[]}} +\long\def\@flashcardx[#1]{\@ifnextchar[% + {\@flashcardy[#1]} + {\@flashcardy[#1][\theflashcardtopic]}} +\long\def\@flashcardy[#1][#2]#3#4{% +\noindent\FC@nopadfbox{% + \vbox to \flashcardheight{\@parboxrestore + \setlength{\hsize}{\flashcardwidth-4pt}% + \hbox to \flashcardwidth{\strut\FC@pvbox{% + \hsize=\halfflashcardwidth + \leavevmode\raggedright #1}% + \hss\vrule\hss + \FC@pvbox{ + \hsize=\halfflashcardwidth + \leavevmode\raggedleft #2}}% + \hrule + \vss + \FC@pvbox{\advance\hsize by -4pt\flashcardformat #3}% + \vss + \hrule + \hbox to \flashcardwidth{\strut\hfill\FC@pvbox{\flashcardfrontword}}}}% +\ifodd\c@flashcard + \hskip\columnsep +\else + \hfill + \par +\fi +\expandafter\setbox\csname flashcard\romannumeral\c@flashcard\endcsname +\hbox{% +\FC@nopadfbox{% + \vbox to \flashcardheight{\@parboxrestore + \setlength{\hsize}{\flashcardwidth-4pt}% + \hbox to \flashcardwidth{\strut\FC@pvbox{% + \hsize=\halfflashcardwidth + \leavevmode\raggedright #1}% + \hss\vrule\hss + \FC@pvbox{% + \hsize=\halfflashcardwidth + \leavevmode\raggedleft #2}}% + \hrule + \vss + \FC@pvbox{\advance\hsize by -4pt\flashcardformat #4}% + \vss + \hrule + \hbox to \flashcardwidth{\strut\hfill\FC@pvbox{\flashcardbackword}}}}}% + \ifnum\value{flashcard}=8\relax + \vfill + \pagebreak + \noindent\hfill\unhbox\flashcardii\hskip\columnsep\unhbox\flashcardi\par + \noindent\hfill\unhbox\flashcardiv\hskip\columnsep\unhbox\flashcardiii\par + \noindent\hfill\unhbox\flashcardvi\hskip\columnsep\unhbox\flashcardv\par + \noindent\hfill\unhbox\flashcardviii\hskip\columnsep\unhbox\flashcardvii\par\par\vfill\pagebreak + \setcounter{flashcard}{1}% + \else + \stepcounter{flashcard}% + \fi\ignorespaces} + +\AtEndDocument{\flushflashcards} +\newcommand\flushflashcards{% + \loop\ifnum\value{flashcard}>1\@flashcardy[][]{}{}\repeat} + +%\newcount\@@endlinechar +%\@@endlinechar=\endlinechar +\endlinechar=32 %pars must be explicit. + +\endinput + +The use of this class is as follows: + +\documentclass[a4paper]{flashcard} +\renewcommand{\flashcardformat}{\centering\LARGE} +\renewcommand{\flashcardbackword}{Solution} +\flashcardtopic{The Holy Grail} + +\begin{document} +\flashcard{Who rescues Sir Galahad from the Castle Anthrax?}{Sir +Lancelot} +\flashcard[Ni!]{What is the one word the Knights of Ni can't hear?}{It} +\flashcard[][Credits]{What once bit the narrator's sister?}{A Moose} +\flashcard{How does King Arthur defeat the killer rabbit?}{Uses the Holy +Hand Grenade of Antioch} +\flashcard{What majority is required by the peasants council for +external matters?}{2/3} +\flashcard{What initial punishment is to be given to Zut for her setting +off the beacon?}{A spanking} +\flashcard{How much does it cost to `bring out your dead'}{Nine pence} +\flashcard{Who's last words are recorded in the cave?}{Joseph of +Arimathea} +\flashcard{What is the name of the enchanter}{There are some that call +him Tim} +\flashcard{What shape has the earth been proven to be?}{Banana shaped} +\end{document} diff --git a/Master/texmf-dist/tex/latex/ltxmisc/ftcap.sty b/Master/texmf-dist/tex/latex/ltxmisc/ftcap.sty new file mode 100644 index 00000000000..a9d190486f1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/ltxmisc/ftcap.sty @@ -0,0 +1,75 @@ +% hans.steffani@e-technik.tu-chemnitz.de (Hans Friedrich Steffani) +% Copyright (C) 1999 Hans Friedrich Steffani + +% This program is free software; you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation; either version 2 of the License, or +% (at your option) any later version. + +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. + +% You should have received a copy of the GNU General Public License +% along with this program; see the file COPYING. If not, write to +% the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +% Boston, MA 02111-1307, USA. + + + +% Version: 1.4 Die optionalen Parameter von table sollten nun gehen +% Version: 1.3 Einige Versuche rueckgaengig gemacht +% Version: 1.2 Es heisst nun \ProvidesPackage{ftcap} ohne sty +% ausserdem stimmt das Datum +% Version: 1.1 + + +\ProvidesPackage{ftcap}[1999/10/16 ..captionskip richtig setzen] + +% Lamport places the \caption below tables and figures. That is ok +% for figures but not for tables, as tables may be longer than one +% page. In this case the reader has to search for the \verb|\caption| +% until he finds it after a couple of pages. If you have the +% \verb|\caption| at the top of the table there is no such problem. +% And as the \caption of a table should always be at the same place, +% we have to place the \verb|\caption| \emph{always} at the top of +% the table If you want \verb|\caption| above tabular, you cannot +% use the normal \verb|\caption|, because the spaces above and below +% \verb|\caption| are wrong. Some stys (e.g. topcapt.sty) recommend +% to have a special makro like \verb|\topcaption| for captions above +% an object. I prefer to have ONE caption and changing the spaces +% whenever we are within a table environment. That's what this sty +% does. + +% Lamport plaziert seine \verb|\caption| ueber Tabellen und Bildern. +% Bei Bildern ist das ok. Bei mehrseitigen Tabellen muss man +% allerdings nach der \verb|\caption| suchen, so dass es guenstiger +% erscheint, die \verb|\caption| \emph{oberhalb} der Tabelle zu +% setzen. Und das sollte natuerlich um der Einheitlichkeit willen +% dann auch bei kuerzeren Tabellen so sein. +% Wenn die \verb|\caption| bei Tabellen ueber der Tabelle, bei +% Bildern aber daruntersteht, braucht man verschiedene Werte fuer +% \verb|\abovecaptionskip| und \verb|\belowcaptionskip|. +% Gelegentlich werden dazu zwei makros, \verb|\tablecaption und +% \verb|\figurecaption| oder auch \verb|\topcaption| vorgeschlagen, +% aber das finde ich umstaendlich und fehleranfaellig. +% \verb|\caption| ist \verb|\caption| und der Nutzer soll sich nicht +% um Details kuemmern. Daher also: + +% from book.cls +%% \renewenvironment{figure} +%% {\@float{figure}} +%% {\end@float} + +%% \newenvironment{table} +%% {\@float{table}} +%% {\end@float} + +\newcommand{\@ldtable}{} +\let\@ldtable\table +\renewcommand{\table}{% + \setlength{\@tempdima}{\abovecaptionskip}% + \setlength{\abovecaptionskip}{\belowcaptionskip}% + \setlength{\belowcaptionskip}{\@tempdima}% + \@ldtable}% diff --git a/Master/texmf-dist/tex/latex/ltxmisc/ifmtarg.sty b/Master/texmf-dist/tex/latex/ltxmisc/ifmtarg.sty new file mode 100644 index 00000000000..1c489af34c2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/ltxmisc/ifmtarg.sty @@ -0,0 +1,66 @@ +% ifmtarg.sty +% +% Provides an if-then-else command for an empty macro argument +% (empty = zero or more spaces only) +% Use as \@ifmtarg{arg1}{Code for arg1 empty}{Code for arg1 not empty} +% +% author: Peter Wilson (CUA) +% (now at peter.r.wilson@boeing.com) +% Copyright Peter Wilson, 1996 +% Copyright Peter Wilson and Donald Arseneau, 2000 +% Released under the LaTeX Project Public License +% +% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{ifmtarg}[2000/03/24 v1.2 check for an empty argument] + +%% Commands by Donald Arseneau +\begingroup +\catcode`\Q=3 +\long\gdef\@ifmtarg#1{\@xifmtarg#1QQ\@secondoftwo\@firstoftwo\@nil} +\long\gdef\@xifmtarg#1#2Q#3#4#5\@nil{#4} +\long\gdef\@ifnotmtarg#1{\@xifmtarg#1QQ\@firstofone\@gobble\@nil} +\endgroup + +\endinput + +% +% The \@ifmtarg command takes 3 arguments and \@ifnotmtarg takes 2 arguments. +% \@ifnotmtarg is slightly more efficient when code is only required +% for a non-empty argument. +% +% Example usages: +% \newcommand{\isempty}{1]{% +% \@ifmtarg{#1}{\typeout{YES}}{\typeout{NO}}} +% +% \isempty{} -> YES +% \isempty{ } -> YES +% \isempty{E} -> NO +% \isempty{ E } -> NO +% +% \newcommand{\isnotempty}[1]{% +% \@ifnotmtarg{#1}{\typeout{YES}}} +% +% \isnotempty{} -> +% \isnotempty{ } -> +% \isnotempty{E} -> YES +% \isnotempty{ E } -> YES +% +% In an Email to me on 13 March 2000, Donald Arseneau pointed out some +% failings with my original definition of the \@ifmtarg command: +% \newcommand{\@ifmtarg}[3]{% +% \edef\@mtarg{\zap@space#1 \@empty}% +% \ifx\@empty\@mtarg\relax #2\else #3\fi} +% +% It works most of the time correctly but Donald showed that it can +% give unexpected results +% under conditions that I had not thought of. He suggested the coding +% that now appears in the package above for the \@ifmtarg and +% \@ifnotmtarg commands. For a discussion on detecting empty arguments +% see CTAN/info/aro-bend/answer.002 +% +% Peter W. +% + + + diff --git a/Master/texmf-dist/tex/latex/ltxmisc/mitpress.sty b/Master/texmf-dist/tex/latex/ltxmisc/mitpress.sty new file mode 100644 index 00000000000..ec6307d24f1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/ltxmisc/mitpress.sty @@ -0,0 +1,33 @@ +% mitpress.sty +\typeout{LaTeX style for MIT Press format.} +% Use it as \documentstyle[mitpress,...]{article} +\textheight 21.6cm +\textwidth 12.9cm +% latex.ltx defines arraycolsep as a dimension, so use \setlength (gp 09/18/1998) +%\renewcommand{\arraycolsep}{1pt} +\setlength{\arraycolsep}{1pt} +\def\@maketitle{\vbox to 2.5in{\hsize\textwidth \linewidth\hsize \vfil + \raggedright + {\LARGE\bf \@title \par} % Title set in \LARGE size. + \vskip 2em % Vertical space after title. + {\large \@author} +% {\large \begin{tabular}[t]{l}\@author \end{tabular}\par} + \vfil}} +\def\section{\@startsection {section}{1}{\z@}{-1.5ex}{1.5ex}{\large\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@}{-1.2ex}{1.2ex}{\large\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-1ex}{1ex}{ + \normalsize\bf}} +\def\paragraph{\@startsection + {paragraph}{4}{\z@}{1ex}{-1em}{\normalsize\bf}} +\def\subparagraph{\@startsection + {subparagraph}{4}{\parindent}{1ex}{-1em}{\normalsize\bf}} +\def\thebibliography#1{\section*{References\@mkboth + {REFERENCES}{REFERENCES}}\list + {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth + \advance\leftmargin\labelsep + \itemsep 0pt \parsep 0pt + \usecounter{enumi}} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax} +\endinput diff --git a/Master/texmf-dist/tex/latex/ltxmisc/morefloats.sty b/Master/texmf-dist/tex/latex/ltxmisc/morefloats.sty new file mode 100644 index 00000000000..57942dddace --- /dev/null +++ b/Master/texmf-dist/tex/latex/ltxmisc/morefloats.sty @@ -0,0 +1,51 @@ +% \iffalse +%% This is morefloats.sty as of 27-July-1990 +%% Don Hosek, Quixote +% \fi +% +% The task at hand is to increase \LaTeX's current limit of 18 unprocessed +% floats in memory at once to 36. An examination of latex.tex reveals that +% this is accomplished by allocating an insert register for each unprocessed +% float. A quick check of lplain.lis reveals that there is room, in fact, +% for 230 additional unprocessed floats, but \TeX's main memory would be +% exhausted long before that happened. +% +% First we allocate the additional insert registers needed: +% \begin{macrocode} +\newinsert\bx@S +\newinsert\bx@T +\newinsert\bx@U +\newinsert\bx@V +\newinsert\bx@W +\newinsert\bx@X +\newinsert\bx@Y +\newinsert\bx@Z +\newinsert\bx@AA +\newinsert\bx@BB +\newinsert\bx@CC +\newinsert\bx@DD +\newinsert\bx@EE +\newinsert\bx@FF +\newinsert\bx@GG +\newinsert\bx@HH +\newinsert\bx@II +\newinsert\bx@JJ +% \end{macrocode} +% +% That accomplished, the next step is to define the macro \verb+\@freelist+ +% which is merely a list of the box registers each preceded by \verb+\@elt+. +% This approach allows processing of the list to be done far more efficiently. +% A similar approach is used by Mittelbach \& Sch\"opf's {\tt doc.sty} to +% keep track of control sequences which should not be indexed. +% \begin{macrocode} +\gdef\@freelist{\@elt\bx@A\@elt\bx@B\@elt\bx@C\@elt\bx@D\@elt\bx@E + \@elt\bx@F\@elt\bx@G\@elt\bx@H\@elt\bx@I\@elt\bx@J + \@elt\bx@K\@elt\bx@L\@elt\bx@M\@elt\bx@N + \@elt\bx@O\@elt\bx@P\@elt\bx@Q\@elt\bx@R + \@elt\bx@S\@elt\bx@T\@elt\bx@U\@elt\bx@V + \@elt\bx@W\@elt\bx@X\@elt\bx@Y\@elt\bx@Z + \@elt\bx@AA\@elt\bx@BB\@elt\bx@CC\@elt\bx@DD + \@elt\bx@EE\@elt\bx@FF\@elt\bx@GG\@elt\bx@HH + \@elt\bx@II\@elt\bx@JJ} +% \end{macrocode} +\endinput diff --git a/Master/texmf-dist/tex/latex/ltxmisc/nextpage.sty b/Master/texmf-dist/tex/latex/ltxmisc/nextpage.sty new file mode 100644 index 00000000000..cb94cfa7e3a --- /dev/null +++ b/Master/texmf-dist/tex/latex/ltxmisc/nextpage.sty @@ -0,0 +1,54 @@ +% nextpage.sty +% +% Provides additional \clear...page commands +% +% author: Peter Wilson (CUA) +% (now at peter.r.wilson@boeing.com) +% Copyright 1996 +% Released under the LaTeX Project Public License +% +% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{nextpage}[2000/02/20 v1.1 additional page commands] + +% clear to next page is: +% \clearpage + +% clear to next even numbered page, +% putting optional arg on skipped page, if any +\newcommand{\cleartoevenpage}[1][\@empty]{% + \clearpage% + \ifodd\c@page\hbox{}#1\clearpage\fi} + +% move to next page without flushing floats is: +% \newpage + +% move to next even numbered page without flushing floats, +% putting optional arg on skipped page, if any +\newcommand{\movetoevenpage}[1][\@empty]{% + \newpage% + \ifodd\c@page\hbox{}#1\newpage\fi} + +% clear to next odd numbered page, +% putting optional arg on skipped page, if any +\newcommand{\cleartooddpage}[1][\@empty]{% + \clearpage% + \ifodd\c@page\else\hbox{}#1\clearpage\fi} + +% move to next odd numbered page without flushing floats, +% putting optional arg on skipped page, if any +\newcommand{\movetooddpage}[1][\@empty]{% + \newpage% + \ifodd\c@page\else\hbox{}#1\newpage\fi} + +\endinput + +% NOTE: If used with the epigraph package, +% then nextpage.sty must be loaded first. +% Example uses: +% \cleartooddpage % same as \cleardouble page +% \cleartooddpage[\thispagestyle{empty}] % No headings on the skipped page +% \cleartoevenpage % go to next even numbered page +% Next example puts text on a skipped page +% \cleartoevenpage[\vspace*{\hfill}THIS PAGE LEFT BLANK\vspace*{\hfill}] +% diff --git a/Master/texmf-dist/tex/latex/ltxmisc/notoccite.sty b/Master/texmf-dist/tex/latex/ltxmisc/notoccite.sty new file mode 100644 index 00000000000..af4ec3bd048 --- /dev/null +++ b/Master/texmf-dist/tex/latex/ltxmisc/notoccite.sty @@ -0,0 +1,43 @@ +% notoccite.sty no t.o.c. cite Jul 20, 2000 +% Donald Arseneau asnd@triumf.ca TRIUMF, Vancouver, Canada, +% This is unrestricted software contributed to the public domain. +% +% Ordinarily, cites used in titles or figure captions also appear in +% the table of contents and list of figures. If you then run bibtex +% using the unsrt (unsorted) style, they get numbered starting from 1, +% not the number they should have in the main text. +% +% A good option is to avoid cites in titles, and to specify optional +% caption text without cites: +% \caption [Picture of a bird.]{Picture of a bird \cite{audobon}.} +% +% If you must use moving cites, you could manage them by deleting toc +% and lof files, then running latex once, then bibtex. However, the +% following definition fixes the problem so you don't need to worry +% about that. +% +% *NOTE* This definition works for the ordinary LaTeX definitions +% for \cite and others (\addtocontents, \label) but it may well +% fail when used with various packages for citations or cross +% references. +% +% It works by locally setting \@fileswfalse, which is something like +% \nofiles, but \@fileswfalse does not affect \label or \addtocontents. +% \nofiles does most of its work by redefining \protected@write, and +% neither \addtocontents nor \label check for \if@filesw. \cite *does* +% check \if@filesw. + +\ProvidesPackage{notoccite}[2000/07/20] +\def\@starttoc#1{% + \begingroup + \@fileswfalse + \makeatletter + \@input{\jobname.#1}% + \endgroup + \if@filesw + \expandafter\newwrite\csname tf@#1\endcsname + \immediate\openout \csname tf@#1\endcsname \jobname.#1\relax + \fi + \@nobreakfalse +} + -- cgit v1.2.3