summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-13 00:02:24 +0000
committerKarl Berry <karl@freefriends.org>2006-01-13 00:02:24 +0000
commit32bab6927929e2ba62a4ec9d54664eea7260ad16 (patch)
tree7dec3ef0323fd7ca8a4322779b24381ee38b0b86 /Master
parent3c2ab21b01847865f1c40e1c0fd86a7f091616a6 (diff)
peterw
git-svn-id: svn://tug.org/texlive/trunk@1189 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/tex/latex/peterw/ifmtarg.sty66
-rw-r--r--Master/texmf-dist/tex/latex/peterw/midpage.sty23
-rw-r--r--Master/texmf-dist/tex/latex/peterw/nextpage.sty54
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}]
+%