从纵向切换到横向保持边距

从纵向切换到横向保持边距

有一个纵向文档,其中只有第二页必须设为横向(该文档的页眉和页脚使用 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}

pdflscape

如果您使用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}

景观

在任何情况下,页眉或页脚都不会旋转,页面的边距也不会因横向页面而改变。

相关内容