diff options
author | Karl Berry <karl@freefriends.org> | 2020-03-03 23:04:57 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-03-03 23:04:57 +0000 |
commit | 6621c7373d21b810573f289d58e6111d7c77bdf2 (patch) | |
tree | b3681d08667c68fed3fa8192773cf515b2205689 /Master/texmf-dist/tex | |
parent | 6b3dc30f8175be67b1c491c9aae07dda841d7ff9 (diff) |
autofancyhdr (1mar20)
git-svn-id: svn://tug.org/texlive/trunk@54049 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/autofancyhdr/autofancyhdr.sty | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/autofancyhdr/autofancyhdr.sty b/Master/texmf-dist/tex/latex/autofancyhdr/autofancyhdr.sty new file mode 100644 index 00000000000..83613a59b42 --- /dev/null +++ b/Master/texmf-dist/tex/latex/autofancyhdr/autofancyhdr.sty @@ -0,0 +1,69 @@ +\ProvidesPackage{autofancyhdr}% + [2019/01/18 v0.1 + Extensive control of page headers and footers with automatic calculate headheight]% +\RequirePackage{fancyhdr} +\RequirePackage{biditools} +\def\headfootlength{} +% Redefine \f@nch@vbox for auto height +\def\f@nch@vbox#1#2{% + \setbox0\vbox{#2}% + \ifdim\ht0=#1\else% + \f@nch@warning{% + \string#1 (\the#1) is not equal with \the\ht0.^^J + Please compile again to correct this problem.% + }% + \fi% + \ifx#1\headheight% + \edef\eheadfootlength{% + \string\expandafter\string\def\string\csname\space + headleng\thepage \string\endcsname{\strip@pt\ht0}% + }% + \expandafter\g@addto@macro\expandafter\headfootlength\expandafter{% + \eheadfootlength^^J% + }% + \fi% + \box0% +} +\bidi@AfterOutputPageShipOut{% + \newdimen\newheadheight% + \ifcsname headleng\the\numexpr\value{page}+1\relax\endcsname% + \setlength{\newheadheight}{% + \csname headleng\the\numexpr\value{page}+1\relax\endcsname pt% + }% + \else% + \ifcsname headleng1\endcsname% + \setlength{\newheadheight}{% + \csname headleng1\endcsname pt% + }% + \else% + \setlength{\newheadheight}{0pt}% + \fi% + \fi% + \global\setlength{\textheight}{ + \dimexpr\textheight+\headheight-\newheadheight\relax + }% + \global\setlength{\headheight}{\newheadheight}% +}% +\IfFileExists{\jobname.headfootlength} +{ + \input{\jobname.headfootlength} +} +{} +\ifcsname headleng1\endcsname +\global\setlength\headheight{\csname headleng1\endcsname pt} +\else +\global\setlength\headheight{0pt} +\fi +\bidi@AfterLastShipout{% + \if@filesw% + \begingroup + % same write register as environment `filecontents` uses + \chardef\reserved@c=15 % + \immediate\openout\reserved@c=\jobname.headfootlength\relax + \immediate\write\reserved@c{% + \headfootlength% + }% + \immediate\closeout\reserved@c + \endgroup + \fi% +}
\ No newline at end of file |