单个横向页面,底部有页码?

单个横向页面,底部有页码?

这个问题已经有人问过了(如何将某些页面更改为横向/纵向模式),但正如评论所说,给出的解决方案将页码放在其中一侧,并旋转 90°:

\usepackage{pdflscape}
...
\begin{landscape}
...
\end{landscape}

我认为如果您实际打印了这些内容,这可能是合乎逻辑的,因为这样您就可以将其与纵向页面堆叠在一起,这样您就可以在相同的物理位置上显示页码,但在显示器上查看时会非常混乱。有没有办法将页码放在页面底部?

答案1

困难的方法是使用:

\documentclass{article}
\usepackage{pdflscape}
\usepackage{everypage}
\usepackage{lipsum}

\newcommand{\Lpagenumber}{\ifdim\textwidth=\linewidth\else\bgroup
  \dimendef\margin=0 %use \margin instead of \dimen0
  \ifodd\value{page}\margin=\oddsidemargin
  \else\margin=\evensidemargin
  \fi
  \raisebox{\dimexpr -\topmargin-\headheight-\headsep-0.5\linewidth}[0pt][0pt]{%
    \rlap{\hspace{\dimexpr \margin+\textheight+\footskip}%
    \llap{\rotatebox{90}{\thepage}}}}%
\egroup\fi}
\AddEverypageHook{\Lpagenumber}%

\begin{document}
\begin{landscape}
\pagestyle{empty}%
\lipsum[1]
\newpage
\noindent\rule{\linewidth}{\textheight}% fill text area
\end{landscape}
\pagestyle{plain}%
\lipsum[2]
\end{document}

再次,这也适用于多页。

注意,页面钩子在格式化页面之后、页码递增之前运行。此时“光标”位于左上角下方 1 英寸处和右侧 1 英寸处,并且不能移动。

答案2

最简单的方法是使用

\begin{landscape}
\thispagestyle{empty}

....
\vfill
\raisebox{-??}{\makebox[\linewidth]{\thepage}}
\end{landscape}

调整提升框的数量,使其“目测”地位于通常用于左边距的空间中。

请注意\thepage,这里是“安全的”,因为它landscape会强制分页,\clearpage因此您不会遇到文档中无法得知页码引用的常见问题。

答案3

对于需要在底部显示“横向页码”的独立页面,我喜欢 David Carlisle 的方法,但无法使其发挥作用。(\raisebox对我来说似乎没有效果,似乎移位被吸收了\vfill。)以下是我为使该想法发挥作用而定义的:

\def\fillandplacepagenumber{%
 \par\pagestyle{empty}%
 \vbox to 0pt{\vss}\vfill
 \vbox to 0pt{\baselineskip0pt
   \hbox to\linewidth{\hss}%
   \baselineskip\footskip
   \hbox to\linewidth{%
     \hfil\thepage\hfil}\vss}}

使用该定义,现在可以放置“横向页码”,如下所示:

% Preamble needs: \usepackage{pdflscape}
\begin{landscape}
  Landscape content.
  \fillandplacepagenumber
\end{landscape}

对于连续的几个横向页面,可以重复上面显示的块的单独副本,或者也可以执行以下操作:

% Preamble needs: \usepackage{pdflscape}
\begin{landscape}
  Landscape content.
  \fillandplacepagenumber
\newpage
  More landscape content.
  \fillandplacepagenumber
\end{landscape}

可能存在一种针对 David Carlisle 的方法的简单修复方法,因此它将是一个比这里显示的\raisebox混乱更简单(且更像 LaTeX)的解决方案。\fillandplacepagenumber

相关内容