使用pdflscape
和时fancyhdr
,标题也会旋转。虽然在大多数情况下这是正常现象(尤其是当文档必须打印时),但我正在处理一份报告,它将绝不被打印出来,所以这种默认行为更令人讨厌。
以下是处理纵向和横向页面的文档的 MWE:
\documentclass[a4paper, 10pt]{article}
\usepackage{graphicx}
\usepackage{pdflscape}
\usepackage{fancyhdr}
\usepackage{lipsum}
\usepackage[left=2cm, right=2cm, bottom=2cm, top=2cm]{geometry}
\setlength{\headheight}{32pt}
\lhead{\includegraphics[scale=.5]{tt}\\Foo}
\rhead{\includegraphics[scale=.5]{tt}\\\thepage}
\cfoot{}
\fancypagestyle{customlandscape}{%
\fancyhf{}
\newgeometry{left=1cm, right=1cm, bottom=1cm, top=1cm}
% ??
}
\pagestyle{fancy}
\begin{document}
\lipsum[1-10]
\newpage
\pagestyle{customlandscape}
\begin{landscape}
Here is the landscaped content, the header of this page should look like the rest...
\end{landscape}
\newpage
\pagestyle{plain}
\lipsum[1-10]
\end{document}
注意:您必须提供 2 张图片tt
才能进行编译,对此我们深表歉意。因此,如果我们仔细观察,肖像页的标题如下所示:
我怎样才能使我的横向页面看起来像这样?:
目前,通过编译我的 MWE,您会注意到标题位于横向页面的右侧。
PS:这个 MWE 还有另一个问题,切换回纵向后,似乎我无法恢复默认的页面样式(带有标题中的图像)。
答案1
如果没有 lscap 包,你可以将页面格式更改为横向
\newpage
\paperwidth=\pdfpageheight
\paperheight=\pdfpagewidth
\pdfpageheight=\paperheight
\pdfpagewidth=\paperwidth
这里的问题是调整头宽长度
\documentclass[a4paper,10pt]{article}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{lipsum}
\usepackage[left=2cm, right=2cm, bottom=2cm, top=2cm]{geometry}
\setlength{\headheight}{32pt}
\lhead{tt\\Foo}
\rhead{vv\\\thepage}
\cfoot{}
\pagestyle{fancy}
\begin{document}
\lipsum[1-10]
\newlength{\mtL}
\setlength{\mtL}{.8\paperheight}% the next hsize
\addtolength\mtL{-\headwidth}
\newpage
\addtolength\headwidth{\mtL}
%landsape
\pdfpageheight=\paperwidth
\pdfpagewidth=\paperheight
\paperwidth=\pdfpagewidth
\paperheight=\pdfpageheight
%text width and height
\begingroup
\vsize=.8\pdfpageheight % do what you like
\hsize=.8\pdfpagewidth % do what you like
\textwidth=\hsize
\textheight=\vsize
% you can specify the margins
\lipsum[1]
\endgroup
\newpage
\paperwidth=\pdfpageheight
\paperheight=\pdfpagewidth
\pdfpageheight=\paperheight
\pdfpagewidth=\paperwidth
\pagestyle{plain}
\lipsum[1-10]
\end{document}
编辑以获得更多页面样式{fancy}
\documentclass[a4paper,10pt]{article}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{lipsum}
\usepackage[left=2cm, right=2cm, bottom=2cm, top=2cm]{geometry}
\setlength{\headheight}{32pt}
\lhead{tt\\Foo}
\rhead{vv\\\thepage}
\cfoot{}
\pagestyle{fancy}
\begin{document}
\lipsum[1-10]
\newlength{\mtL}
\setlength{\mtL}{.8\paperheight}% the next hsize
\addtolength\mtL{-\headwidth}
\newpage
\addtolength\headwidth{\mtL}
%landscape
\pdfpageheight=\paperwidth
\pdfpagewidth=\paperheight
\paperwidth=\pdfpagewidth
\paperheight=\pdfpageheight
%text width and height
\begingroup
\vsize=.8\pdfpageheight % do what you like
\hsize=.8\pdfpagewidth % do what you like
\textwidth=\hsize
\textheight=\vsize
% you can specify the margins
\lipsum[1-10]
\endgroup
\newpage
\addtolength\headwidth{-1\mtL}
\paperwidth=\pdfpageheight
\paperheight=\pdfpagewidth
\pdfpageheight=\paperheight
\pdfpagewidth=\paperwidth
\lipsum[1-20]
\pagestyle{plain}
\lipsum[1-10]
\end{document}
答案2
该代码运行得很好,但如果从纵向变为横向,页脚会在第一个横向页面上丢失,但会再次出现在后续页面上。