extramar.sty 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. % extra marks for latex.
  2. % This gives you two additional marks. \extramarks{m1}{m2} define two extra
  3. % marks for headers/footers (especially for use with fancyheadings), which
  4. % can be retrieved by \firstxmark and \lastxmark resp. Usually m1 is what
  5. % would appear at the top of the page, m2 at the bottom of the page.
  6. % Typical usage:
  7. % \pagestyle{fancy}
  8. % \lhead{\firstxmark}
  9. % \rfoot{\lastxmark}
  10. %
  11. % \extramarks{}{Continued on next page...}
  12. % text text text text text text text text text text text text text text text
  13. % text text text text text text text text text text text text text text text
  14. % text text text text text text text text text text text text text text text
  15. % text text text text text text text text text text text text text text text
  16. % text text text text text text text text text text text text text text text
  17. % \extramarks{Continued}{}
  18. % This package also provides two extra handles to the standard LaTeX marks,
  19. % namely \firstleftmark and \lastrightmark (the standard \leftmark and
  20. % \rightmark of LaTeX always give you the last and first, respectively.
  21. % These are the complementary values).
  22. % Note: there is an extra command \topxmark, but this doesn't work properly
  23. % if marginpars or floats are used, as LaTeX clobbers TeX's topmark in this
  24. % case.
  25. \def\@leftmark#1#2#3#4{#1}
  26. \def\@rightmark#1#2#3#4{#2}
  27. \def\markboth#1#2{{\def\protect{\noexpand\protect\noexpand}
  28. \let\label\relax \let\index\relax \let\glossary\relax
  29. \expandafter\@markboth\@themark{#1}{#2}
  30. \mark{\@themark}}\if@nobreak\ifvmode\nobreak\fi\fi}
  31. \def\markright#1{{\def\protect{\noexpand\protect\noexpand}
  32. \let\label\relax \let\index\relax \let\glossary\relax
  33. \expandafter\@markright\@themark{#1}
  34. \mark{\@themark}}\if@nobreak\ifvmode\nobreak\fi\fi}
  35. \def\@markright#1#2#3#4#5{\gdef\@themark{{#1}{#5}{#3}{#4}}}
  36. \def\@markboth#1#2#3#4#5#6{\gdef\@themark{{#5}{#6}{#3}{#4}}}
  37. \def\leftmark{\expandafter\@leftmark\botmark{}{}{}{}}
  38. \def\rightmark{\expandafter\@rightmark\firstmark{}{}{}{}}
  39. \def\firstleftmark{\expandafter\@leftmark\firstmark{}{}{}{}}
  40. \def\lastrightmark{\expandafter\@rightmark\botmark{}{}{}{}}
  41. \def\@themark{{}{}{}{}}
  42. \def\extramarks#1#2{{\let\protect\@unexpandable@protect
  43. \let\label\relax \let\index\relax \let\glossary\relax
  44. \expandafter\@markextra\@themark{#1}{#2}
  45. \mark{\@themark}}\if@nobreak\ifvmode\nobreak\fi\fi}
  46. \def\@markextra#1#2#3#4#5#6{\gdef\@themark{{#1}{#2}{#5}{#6}}}
  47. \def\firstxmark{\expandafter\@firstxmark\firstmark{}{}{}{}}
  48. \def\topxmark{\expandafter\@firstxmark\topmark{}{}{}{}}
  49. \def\lastxmark{\expandafter\@lastxmark\botmark{}{}{}{}}
  50. \def\@firstxmark#1#2#3#4{#3}
  51. \def\@lastxmark#1#2#3#4{#4}