我有一个 pdflatex 文档,我在其中切换纸张大小(仅针对一页)以显示大图像。故意省略了大页面的页码。我创建了宏来执行切换到大尺寸页面的操作,也可以切换回来。
图片后的第一个正常大小的页面缺少页码,但后续页面似乎可以正常工作。此外,如果我不手动使用 插入分页符\clearpage
,则页面似乎没有底部,并且我的文本不断延伸,在页面底部之外不可见(下面的 MWE 中未演示这一点)。
这是一个最小的工作示例。您知道这里面发生了什么吗?
\documentclass{article}
\usepackage{pdflscape}
% Macros for changing paper size
\newcommand{\startPaperSizeB}{%
\clearpage
\begingroup
\setlength{\pdfpagewidth}{11in}
\setlength{\pdfpageheight}{17in}
\setlength{\paperwidth}{\pdfpagewidth}
\setlength{\paperheight}{\pdfpageheight}
\setlength{\textwidth}{526pt}% This one matters
\setlength{\textheight}{984pt}% This one matters
\pagestyle{empty}% No page number
}
\newcommand{\stopPaperSizeB}{\endgroup \clearpage}% The order of these commands makes no difference
\begin{document}
Some stuff on the first page here.
\startPaperSizeB
\begin{landscape}
Text on second page, intended for large image.
\end{landscape}
\stopPaperSizeB
Why no page number here?
\clearpage
Page numbers start working here, no problem.
\end{document}
答案1
不知何故,您的文本高度参数生效的时间不对,因此 LaTeX 认为第三页比实际长得多。页码就在那里,只是远低于物理页面(正如您在文本中观察到的那样)。您可以通过将宏放入环境中来解决此问题landscape
。为了使页面大小的更改生效,您需要消除\begingroup
和\endgroup
对,并利用landscape
环境创建的组。但是,除非您也设置了该参数,否则这会导致较大的第二页上的文本位置不佳\hsize
。许多这些参数会相互作用,这就是为什么在 LaTeX 中手动进行页面布局很困难的原因。一般来说,我建议使用该geometry
包,但据我所知,它似乎无法处理某些页面大小不同的情况。
\documentclass{article}
\usepackage{pdflscape}
% Macros for changing paper size
\newcommand{\startPaperSizeB}{%
\setlength{\pdfpagewidth}{11in}
\setlength{\pdfpageheight}{17in}
\setlength{\paperwidth}{\pdfpagewidth}
\setlength{\paperheight}{\pdfpageheight}
\setlength{\textwidth}{526pt}% This one matters
\setlength{\textheight}{984pt}% This one matters
\setlength{\hsize}{\textheight}
\pagestyle{empty}% No page number
}
\newcommand{\stopPaperSizeB}{}
\begin{document}
Some stuff on the first page here.
\begin{landscape}
\startPaperSizeB
Text on second page, intended for large image.
\stopPaperSizeB
\end{landscape}
Page number here!
\clearpage
Page numbers still working here, no problem.
\end{document}