我想生成一个文档,该文档的第一页有页眉和页脚,但其他所有页面只有页脚。我fancyhdr
为页眉使用了通用页眉样式,第一页使用了\thispagestyle
。这很好用。
我的问题是页面的几何形状没有改变。页面\textheight
保持原来的高度,我该如何改变它?
我写了一个小例子:
\documentclass[a4paper]{article}
% packages
\usepackage[includeheadfoot, heightrounded, left=2cm, right=2cm, top=5mm, bottom=1cm, headheight=5.5cm]{geometry}
\usepackage{everypage}
\usepackage{fancyhdr}
% only to show header and footer
\renewcommand{\headrulewidth}{0.1px}
\renewcommand{\footrulewidth}{0.1px}
% header and footer for first page
\fancypagestyle{firstpage}{
\fancyhead[L]{%
Header \\ for \\ the \\ first \\ page \\ wTestch \\ is \\ really \\ big
}
\fancyfoot[C]{Footer}
}
% all other pages
\fancypagestyle{normal}{
\fancyfoot[C]{Footer Only}
}
\pagestyle{normal}
% try to change the style for all pages that have a smaller header
\AddEverypageHook{
\ifnum\value{page}=1%
\else
% removes the header space but pushes everytTestng upwards
\newgeometry{includeheadfoot, heightrounded, left=2cm, right=2cm, top=5mm, bottom=1cm, headheight=.5cm, footskip=-5.5cm}%
\enlargethispage*{5cm} % does not work
\setlength{\textheight}{\dimexpr(\textheight+5cm)} % does not work
\addtolength{\textheight}{5cm} % does not work
\fi
}
\begin{document}
\thispagestyle{firstpage}
Test
\newpage
Test
...
\end{document}
网站说明:LaTeX 代码是通过程序生成的,所以我不知道新页面插入到哪里,也不知道第一页在哪里结束,也不知道其他分页符在哪里。而且我无法控制分页符,因为文档的内容是动态变化的。
我希望有人能帮助我解决这个问题。
答案1
设置正常页面布局,并在第一页使用 \vspace* 将文本向下移动。为了避免 fancyhdr 扩大页眉,您必须隐藏大页眉的高度:
\documentclass[a4paper]{article}
% packages
\usepackage[includeheadfoot, heightrounded, left=2cm, right=2cm, top=5mm, bottom=1cm, headheight=.5cm]{geometry}
\usepackage{everypage}
\usepackage{fancyhdr}
% only to show header and footer
\renewcommand{\headrulewidth}{0.1px}
\renewcommand{\footrulewidth}{0.1px}
% header and footer for first page
\fancypagestyle{firstpage}{
\fancyhead[L]{% hide height of header
\raisebox{0pt}[0pt][0pt]{\begin{tabular}[t]{l}Header \\ for \\ the \\ first \\ page \\ wTestch \\ is \\ really \\ big\end{tabular}}
}
\fancyfoot[C]{Footer}
}
% all other pages
\fancypagestyle{normal}{
\fancyfoot[C]{Footer Only}
}
\pagestyle{normal}
\usepackage{lipsum}
\begin{document}
\thispagestyle{firstpage}\vspace*{5cm}
\lipsum \lipsum
%\newpage
Test
...
\end{document}