Número de página ausente na página após alteração do tamanho do papel em pdflatex

Número de página ausente na página após alteração do tamanho do papel em pdflatex

Tenho um documento pdflatex no qual troco o tamanho do papel, apenas para uma página, para exibir uma imagem grande. O número da página foi omitido propositalmente da página maior. Criei macros para realizar a mudança para a página de tamanho maior e também para voltar.

A primeira página de tamanho normal após a imagem não tem um número de página, mas as páginas subsequentes parecem funcionar bem. Além disso, se eu não inserir manualmente uma quebra de página com \clearpage, parece que a página não tem fundo e meu texto continua indefinidamente, invisível além da parte inferior da página (isso não é demonstrado no MWE abaixo).

Aqui está um exemplo mínimo de trabalho. Alguma ideia do que está acontecendo aqui?

\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}

Responder1

De alguma forma, seus parâmetros de altura do texto estão em vigor na hora errada, de modo que o LaTeX acredita que a terceira página é muito mais longa do que realmente é. O número da página está aí, bem abaixo da página física (como você também observou no texto). Você pode consertar isso colocando as macros dentro do landscapeambiente. Para que a alteração no tamanho da página tenha efeito, você precisa eliminar o par \begingroupe \endgroupe aproveitar as vantagens do grupo criado pelo landscapeambiente. No entanto, isso resulta no posicionamento incorreto do texto na segunda página grande, a menos que você também defina o \hsizeparâmetro. Existem muitos desses parâmetros que interagem, e é por isso que é difícil fazer layouts de página manualmente em LaTeX. Em geral, eu recomendo usar o geometrypacote, mas não parece que ele possa lidar com o caso de algumas páginas terem tamanhos diferentes, até onde eu sei.

\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}

informação relacionada