客观的

客观的

客观的

如何更改横向页面的标题

替代文本

替代文本

最少代码

\documentclass{book}
\usepackage[a5paper,hmargin=3cm,vmargin=5cm]{geometry}
\usepackage{lscape,lipsum}

\begin{document}
\chapter{One}
\lipsum[1]

\section{One One}
\lipsum[2]

\newgeometry{hmargin=5cm,vmargin=3cm}

\begin{landscape}
\lipsum[3-5]
\end{landscape}

\restoregeometry
\lipsum[6]

\end{document}

编辑1(我的真实场景布局)

在我的实际情况下,左右边距不应该被标题占据。

替代文本

答案1

lscape软件包不是为此设计的。例如,它是为旋转宽图或表格而设计的。并且该geometry软件包明确指出\newgeometry不能更改纸张大小或方向。所以我认为没有办法自动执行此操作。

您可以使用软件包包含横向 PDF 页面pdfpages。(使用选项包含它们[landscape]。)

新的解决方案

您还可以使用textpos包来放置标题。通过将其与fancyhdr包结合,您可以几乎自动化它。

\documentclass[twoside]{book}
\usepackage[a5paper,hmargin=3cm,vmargin=5cm]{geometry}
\usepackage{lscape,lipsum,graphicx}
\usepackage[absolute]{textpos}
\usepackage{fancyhdr}

\fancypagestyle{lscape}{% 
\fancyhf{} % clear all header and footer fields 
\fancyfoot[LE]{%
\begin{textblock}{20}(1,5){\rotatebox{90}{\leftmark}}\end{textblock}
\begin{textblock}{1}(13,10.5){\rotatebox{90}{\thepage}}\end{textblock}}
\fancyfoot[LO] {%
\begin{textblock}{1}(13,10.5){\rotatebox{90}{\thepage}}\end{textblock}
\begin{textblock}{20}(1,13.25){\rotatebox{90}{\rightmark}}\end{textblock}}
\renewcommand{\headrulewidth}{0pt} 
\renewcommand{\footrulewidth}{0pt}}

\setlength{\TPHorizModule}{1cm}
\setlength{\TPVertModule}{1cm}

\begin{document}
\chapter{A chapter}
\section{A section}
\lipsum
\section{A section}
\lipsum

\newgeometry{hmargin=3cm,vmargin=5cm}
\thispagestyle{lscape}
\pagestyle{lscape}
\begin{landscape}
\lipsum[1-3]

\end{landscape}

\restoregeometry
\pagestyle{headings}
\lipsum[6]

\end{document}

答案2

我需要在横向页面上显示页码。页码应该位于底部,如上图第二张所示。

我有个主意。我们可以用它\fancypagestyle来定义一个带有横向页码的新页面样式。我用它tikz来放置页码。

\fancypagestyle{lscapedplain}{%
  \fancyhf{}
  \fancyfoot{%
    \tikz[remember picture,overlay]
      \node[outer sep=1cm,above,rotate=90] at (current page.east) {\thepage};}
}

\newpagestyle这也可以由from来完成titlesec

答案3

另一种方法是使用包typearea在文档中间切换到横向模式。虽然这样做确实很奇怪。

导出新几何体

\documentclass[usegeometry,paper=a5,pagesize,headinclude]{book}
\usepackage{typearea}
\usepackage{lipsum}

\begin{document}
\chapter{One}
\lipsum[1]

\section{One One}
\lipsum[2]

\storeareas\normalsetting
\KOMAoption{paper}{landscape}
\areaset{2\textwidth}{.9\textheight}
\recalctypearea
    \lipsum[3-5]
\clearpage
\normalsetting
\lipsum[6]

\end{document}

答案4

这里建议scrlayer为这些旋转的页面定义一种新的页面样式。

\documentclass{book}
\usepackage[a5paper,hmargin=3cm,vmargin=5cm]{geometry}
\usepackage{lscape,lipsum}

\usepackage{scrlayer}
\DeclareNewLayer[
  background,
  rightmargin,
  contents={%
    \parbox[b][\layerheight][c]{\dimexpr\footskip+\footheight\relax}{%
      \hfill\rotatebox{90}{\pagemark}}}
]{lscape.foot}
\DeclareNewLayer[
  background,
  textarea,
  addhoffset=\dimexpr-\headsep-\headheight\relax,
  width=\dimexpr\headsep+\headheight\relax,
  contents={\hfill\rotatebox{90}{\headmark}\hspace*{\headsep}}
]{lscape.head}
\DeclareNewPageStyleByLayers{lscape}{lscape.foot,lscape.head}

\begin{document}
\chapter{One}
\lipsum[1]
\section{One One}
\lipsum[2]

\newgeometry{hmargin=5cm,vmargin=3cm}
\begin{landscape}
\pagestyle{lscape}
\lipsum[3-10]
\end{landscape}

\restoregeometry
\lipsum[6]
\end{document}

在此处输入图片描述

相关内容