
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 landscape
ambiente. Para que a alteração no tamanho da página tenha efeito, você precisa eliminar o par \begingroup
e \endgroup
e aproveitar as vantagens do grupo criado pelo landscape
ambiente. No entanto, isso resulta no posicionamento incorreto do texto na segunda página grande, a menos que você também defina o \hsize
parâ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 geometry
pacote, 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}