diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-12 23:55:33 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-12 23:55:33 +0000 |
commit | 456d5a032016f5874325ed5c479e2f05a080288f (patch) | |
tree | 839e6e08d8a2d69ee42d400bfae717b14402f205 /Master/texmf-dist/tex/latex/fancyhdr/extramarks.sty | |
parent | 3ba0ddbb6ee65087a0942b122afc009f26172bb6 (diff) |
fancyhdr
git-svn-id: svn://tug.org/texlive/trunk@904 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/fancyhdr/extramarks.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/fancyhdr/extramarks.sty | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/fancyhdr/extramarks.sty b/Master/texmf-dist/tex/latex/fancyhdr/extramarks.sty new file mode 100644 index 00000000000..4f4070d5b00 --- /dev/null +++ b/Master/texmf-dist/tex/latex/fancyhdr/extramarks.sty @@ -0,0 +1,145 @@ +% Extra marks for latex. Version 2.0. +% Piet van Oostrum, +% Dept of Computer and Information Sciences, University of Utrecht, +% Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands +% Telephone: +31 30 2532180. Email: piet@cs.uu.nl +% ======================================================================== +% LICENCE: +% This file may be distributed under the terms of the LaTeX Project Public +% License, as described in lppl.txt in the base LaTeX distribution. +% Either version 1 or, at your option, any later version. +% ======================================================================== +% MODIFICATION HISTORY: +% Oct 11, 2000 +% version 1.99e +% Added a few % marks to get rid of unwanted spaces, and \endinput. +% Added LPPL license clause. +% March 12, 2002 +% version 2.0beta +% Adapted for the new implementation of marks in LaTeX to solve bug +% latex/3203. +% Added symmetric commands \firstrightmark, \lastleftmark, \firstleftxmark, +% \firstrightxmark, \lastrightxmark, \lastleftxmark, \topleftxmark and +% \toprightxmark. +% March 3, 2004 +% version 2.0 +% Release. + +% This package gives you two additional marks. +% \extramarks{m1}{m2} define two extra marks for headers/footers +% (especially for use with fancyheadings), which can be retrieved +% by \firstxmark and \lastxmark resp. Usually m1 is what would +% appear at the top of the page, m2 at the bottom of the page. +% Typical usage: +% \pagestyle{fancy} +% \lhead{\firstxmark} +% \rfoot{\lastxmark} +% +% \extramarks{}{Continued on next page...} +% text text text text text text text text text text text text text text text +% text text text text text text text text text text text text text text text +% text text text text text text text text text text text text text text text +% text text text text text text text text text text text text text text text +% text text text text text text text text text text text text text text text +% \extramarks{Continued}{} +% \extramarks{}{} + +% This package also provides two extra handles to the standard LaTeX marks, +% namely \firstleftmark and \lastrightmark (the standard \leftmark and +% \rightmark of LaTeX always give you the last and first, respectively. +% These are the complementary values). For symmetry reasons \firstrightmark +% is an alias for \rightmark and \lastleftmark is an alias for \leftmark + +% Similarly there are now \firstleftxmark \firstrightxmark \lastrightxmark +% \lastleftxmark. Here first and last apply to the position on the page, +% left and right select the m1 and m2 values, respectively. + +% Note: there is an extra command \topxmark, but this doesn't work properly +% if marginpars or floats are used, as LaTeX clobbers TeX's topmark in this +% case. + +\newtoks\@temptokenb + +%Just in case. +\providecommand\unrestored@protected@xdef{% + \let\protect\@unexpandable@protect + \xdef +} + +\def\markboth#1#2{% + \begingroup + \let\label\relax \let\index\relax \let\glossary\relax + \expandafter\@markboth\@themark{#1}{#2}% + \@temptokena \expandafter{\@themark}% + \mark{\the\@temptokena}% + \endgroup + \if@nobreak\ifvmode\nobreak\fi\fi} +% This definitions is in latex.ltx. No use to duplicate here +%\def\markright#1{% +% \begingroup +% \let\label\relax \let\index\relax \let\glossary\relax +% \expandafter\@markright\@themark {#1}% +% \@temptokena \expandafter{\@themark}% +% \mark{\the\@temptokena}% +% \endgroup +% \if@nobreak\ifvmode\nobreak\fi\fi} + +% Old definition: +%\def\@markboth#1#2#3#4#5#6{\gdef\@themark{{#5}{#6}{#3}{#4}}} +%\def\@markright#1#2#3#4#5{\gdef\@themark{{#1}{#5}{#3}{#4}}} + +% Note: put #3#4 in toks register. +\def\@markboth#1#2#3#4#5#6{\@temptokena {{#3}{#4}}% + \unrestored@protected@xdef\@themark{{#5}{#6}\the\@temptokena}} + +% Note: put #1 and #3#4 in toks register. +% Maybe I can get rid of the extra temptokenb by doing the expansion of #5 +% to a temp separately. +\def\@markright#1#2#3#4#5{\@temptokena {#1}\@temptokenb {{#3}{#4}}% + \unrestored@protected@xdef\@themark{{\the\@temptokena}{#5}\the\@temptokenb}} + +\def\@leftmark#1#2#3#4{#1} +\def\@rightmark#1#2#3#4{#2} + +\def\leftmark{\expandafter\@leftmark + \botmark\@empty\@empty\@empty\@empty} +\def\rightmark{\expandafter\@rightmark + \firstmark\@empty\@empty\@empty\@empty} +\def\firstleftmark{\expandafter\@leftmark + \firstmark\@empty\@empty\@empty\@empty} +\def\lastrightmark{\expandafter\@rightmark + \botmark\@empty\@empty\@empty\@empty} +\let\firstrightmark \rightmark +\let\lastleftmark \leftmark + +\def\@themark{{}{}{}{}} + +\def\extramarks#1#2{% + \begingroup + \let\label\relax \let\index\relax \let\glossary\relax + \expandafter\@markextra\@themark{#1}{#2}% + \@temptokena \expandafter{\@themark}% + \mark{\the\@temptokena}% + \endgroup + \if@nobreak\ifvmode\nobreak\fi\fi} +%Note Put #1#2 in toks register +\def\@markextra#1#2#3#4#5#6{\@temptokena {{#1}{#2}}% + \unrestored@protected@xdef\@themark{\the\@temptokena{#5}{#6}}} +\def\firstleftxmark{\expandafter\@leftxmark + \firstmark\@empty\@empty\@empty\@empty} +\def\firstrightxmark{\expandafter\@rightxmark + \firstmark\@empty\@empty\@empty\@empty} +\def\topleftxmark{\expandafter\@leftxmark + \topmark\@empty\@empty\@empty\@empty} +\def\toprightxmark{\expandafter\@rightxmark + \topmark\@empty\@empty\@empty\@empty} +\def\lastleftxmark{\expandafter\@leftxmark + \botmark\@empty\@empty\@empty\@empty} +\def\lastrightxmark{\expandafter\@rightxmark + \botmark\@empty\@empty\@empty\@empty} +\let\firstxmark\firstleftxmark +\let\lastxmark\lastrightxmark +\let\topxmark\topleftxmark +\def\@leftxmark#1#2#3#4{#3} +\def\@rightxmark#1#2#3#4{#4} +\endinput |