diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-13 00:02:24 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-13 00:02:24 +0000 |
commit | 32bab6927929e2ba62a4ec9d54664eea7260ad16 (patch) | |
tree | 7dec3ef0323fd7ca8a4322779b24381ee38b0b86 /Master/texmf-dist/tex | |
parent | 3c2ab21b01847865f1c40e1c0fd86a7f091616a6 (diff) |
peterw
git-svn-id: svn://tug.org/texlive/trunk@1189 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/peterw/ifmtarg.sty | 66 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/peterw/midpage.sty | 23 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/peterw/nextpage.sty | 54 |
3 files changed, 143 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/peterw/ifmtarg.sty b/Master/texmf-dist/tex/latex/peterw/ifmtarg.sty new file mode 100644 index 00000000000..1c489af34c2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/peterw/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/peterw/midpage.sty b/Master/texmf-dist/tex/latex/peterw/midpage.sty new file mode 100644 index 00000000000..b39f667a5d6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/peterw/midpage.sty @@ -0,0 +1,23 @@ +% midpage.sty +% +% Provides a midpage environment for vertical centering +% +% author: Peter Wilson (CUA) +% (now at peter.r.wilson@boeing.com) +% Copyright 1996 +% Released under the LaTeX Project Public License +% +% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{midpage}[2000/02/20 v1.1 vertical centering] +\newenvironment{midpage}{\vspace*{\fill}}{\vspace*{\fill}} + +\endinput + +% Example use: +% \clearpage +% \begin{midpage} +% Vertically Centered Title +% \end{midpage} +% \clearpage +% diff --git a/Master/texmf-dist/tex/latex/peterw/nextpage.sty b/Master/texmf-dist/tex/latex/peterw/nextpage.sty new file mode 100644 index 00000000000..cb94cfa7e3a --- /dev/null +++ b/Master/texmf-dist/tex/latex/peterw/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}] +% |