
У меня есть документ 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}