有一个纵向文档,其中只有第二页必须设为横向(该文档的页眉和页脚使用 fancyhdr 制作)。为了完成从纵向到横向的转换,我使用以下方法:
\pdfpageheight=\paperwidth
\pdfpagewidth=\paperheight
\paperwidth=\pdfpagewidth
\paperheight=\pdfpageheight
另外,我使用几何图形来调整两种模式(纵向和横向)的布局。我可以很好地保持各个模式的顶部和左侧边距。但我不知道如何管理右侧和底部。
举例来说:我试过,\geometry{bottom=5cm}
但在横向模式下,页脚超出了页面范围。上面的 4 行代码似乎只是相应地剪切了纸张,但页脚保持在同一位置(与纵向模式一样)。
保持边距从纵向切换到横向的正确方法是什么?
下面演示了发生的情况,脚在景观中消失。
\documentclass[10pt,a4paper]{article}
\usepackage[left=3cm, top=5cm, headheight=2cm, height=20cm]{geometry}
\usepackage{lipsum}
\usepackage{fancyhdr}
\renewcommand{\footrulewidth}{0.4pt}
\begin{document}
\thispagestyle{fancy}
\pagestyle{fancy}
\lipsum[1]
\newpage
\pdfpageheight=\paperwidth
\pdfpagewidth=\paperheight
\paperwidth=\pdfpagewidth
\paperheight=\pdfpageheight
\newgeometry{left=3cm, top=5cm, headheight=2cm}
\fancyhfoffset[L]{0pt}
\lipsum[1]
\restoregeometry
\paperwidth=\pdfpageheight
\paperheight=\pdfpagewidth
\pdfpageheight=\paperheight
\pdfpagewidth=\paperwidth
\lipsum[1]
\end{document}
答案1
如果您pdflscape
在环境中使用landscape
,则页眉和页脚保持不变。只有页面内容使用新的方向,并且如果您的 PDF 查看器遵循该指令,相关页面将自动旋转,以方便您查看。
例如:
\documentclass{article}
\usepackage{pdflscape,kantlipsum}
\pagestyle{headings}
\begin{document}
\title{Title}
\author{Author}
\section{A section}
\kant[1]
\begin{landscape}
\kant[2]
\end{landscape}
\kant[3]
\end{document}
如果您使用lscape
,则页面的处理方式与 相同,pdflscape
但不会要求查看器自动旋转页面。
\documentclass{article}
\usepackage{pdflscape,kantlipsum}
\pagestyle{headings}
\begin{document}
\title{Title}
\author{Author}
\section{A section}
\kant[1]
\begin{landscape}
\kant[2]
\end{landscape}
\kant[3]
\end{document}
在任何情况下,页眉或页脚都不会旋转,页面的边距也不会因横向页面而改变。