Flutuador OU número de página ausente ao colocar uma imagem tikz grande em uma página paisagem de tamanho diferente

Flutuador OU número de página ausente ao colocar uma imagem tikz grande em uma página paisagem de tamanho diferente

Eu tenho um documento com uma imagem tikz grande. Para exibir esta imagem usando pdflatex, criei macros para mudar o tamanho do papel e estou usando o pdflscapepacote para girar as páginas quando exibidas no visualizador de pdf. Usando essa técnica, consigo exibir a figura conforme desejado em uma página girada de tamanho maior, mas a página seguinte está faltando o número da página no rodapé (e sem um manual \clearpage, o texto não passa corretamente para a próxima página , em vez disso, continua através do rodapé e no abismo invisível além). Na segunda página seguinte à figura, o número da página retorna.

O exemplo mínimo de trabalho abaixo demonstra esse fenômeno:

\documentclass{article}
\usepackage{tikz}
\usepackage{pdflscape}

\usetikzlibrary{shapes}

% Macros for changing paper size
\newcommand{\startPaperSizeB}{%
  \begingroup
  \clearpage
  \setlength{\pdfpagewidth}{11in}
  \setlength{\pdfpageheight}{17in}
  \setlength{\paperwidth}{\pdfpagewidth}
  \setlength{\paperheight}{\pdfpageheight}
  \setlength{\oddsidemargin}{0pt}
  \setlength{\textwidth}{650pt}
  \setlength{\topmargin}{0pt}
  \setlength{\headheight}{0pt}
  \setlength{\headsep}{0pt}
  \setlength{\textheight}{1084pt}
  }

\newcommand{\stopPaperSizeB}{\endgroup \clearpage}

\begin{document}

Some text on the first page.

\startPaperSizeB
\begin{landscape}

\begin{figure}
  \centering
    \begin{tikzpicture}[]
    \node [draw, rectangle, minimum height=625pt, minimum width=1000pt] (1) {};
  \end{tikzpicture}  
  \caption{Caption for the large size figure}
\end{figure}

\end{landscape}
\stopPaperSizeB

Missing page number on this page?

\clearpage

Now the page number is back!

\end{document}

Eu perguntei recentementeuma pergunta muito semelhante, exceto que deixei a figura fora do MWE. Esta pergunta foi respondida, mas a solução não funciona ao inserir uma tikzpicturepágina maior em paisagem - em vez disso, não há página maior em paisagem e nenhuma figura - elas simplesmente desaparecem. Recebo um aviso sobre uma caixa cheia demais, mas nenhum número. O MWE abaixo demonstra isso:

\documentclass{article}
\usepackage{tikz}
\usepackage{pdflscape}

\usetikzlibrary{shapes}

% Macros for changing paper size
\newcommand{\startPaperSizeB}{%
  \setlength{\pdfpagewidth}{11in}
  \setlength{\pdfpageheight}{17in}
  \setlength{\paperwidth}{\pdfpagewidth}
  \setlength{\paperheight}{\pdfpageheight}
  \setlength{\oddsidemargin}{0pt}
  \setlength{\textwidth}{650pt}
  \setlength{\topmargin}{0pt}
  \setlength{\headheight}{0pt}
  \setlength{\headsep}{0pt}
  \setlength{\textheight}{1084pt}
  }

\newcommand{\stopPaperSizeB}{}

\begin{document}

Some text on the first page.

\begin{landscape}
\startPaperSizeB

\begin{figure}
  \centering
    \begin{tikzpicture}[]
    \node [draw, rectangle, minimum height=625pt, minimum width=1000pt] (1) {};
  \end{tikzpicture}  
  \caption{Caption for the large size figure}
\end{figure}

\stopPaperSizeB
\end{landscape}

The page number is here, but the figure is not.

\end{document}

Se o tamanho do retângulo for reduzido o suficiente (para 525 por 550, por exemplo), a figura aparecerá em uma página no final do documento, embora a página tenha um tamanho normal e a figura saia da página. Isso me levou a tentar a [H]opção do floatpacote, que parece estar me aproximando, mas ainda não cheguei lá. Alguma ideia?

Responder1

Encontrei uma resposta aceitável usando o geometrypacote para ajustar o tamanho da área de texto (o geometrypacote por si só não permite alterações no tamanho do papel no meio do documento). É importante definir textwidthe textheightusando o \newgeometrycomando (há efeitos estranhos ao configurá-los sem usar o geometrypacote, e fazer isso antes de iniciar o landscapeambiente. Além disso, \restoregeometrydeve ser chamado após sair do landscapeambiente.

O exemplo abaixo corrige o problema de numeração de páginas e também o problema de desaparecimento da figura tikz.

\documentclass{article}
\usepackage{tikz}
\usepackage{pdflscape}
\usepackage[papersize={8.5in,11in}]{geometry}
\usepackage{lipsum}

\usetikzlibrary{shapes}

% Macros for changing paper size
\newcommand{\startBSizeLandscape}{%
  \newgeometry{textwidth=614pt, textheight=1084pt}
  \begin{landscape}
  \setlength{\pdfpagewidth}{11in}
  \setlength{\pdfpageheight}{17in}
  \setlength{\paperwidth}{\pdfpagewidth}
  \setlength{\paperheight}{\pdfpageheight}
  \setlength{\oddsidemargin}{0pt}
  \setlength{\evensidemargin}{0pt}
  \setlength{\marginparwidth}{0pt}
  \setlength{\topmargin}{0pt}
  \setlength{\headheight}{0pt}
  \setlength{\headsep}{0pt}
  }

\newcommand{\stopBSizeLandscape}{%
  \end{landscape}
  \restoregeometry
  }

\begin{document}

\lipsum

\startBSizeLandscape

\begin{figure}
  \centering
    \begin{tikzpicture}[]
    \node [draw, rectangle, minimum height=589pt, minimum width=1000pt] {};
  \end{tikzpicture}  
  \caption{Caption for the large size figure}
\end{figure}

\stopBSizeLandscape

\lipsum

\end{document}

Compilar isso resulta em um aviso: 'tmargin' and 'bmargin' result in NEGATIVE (-289.03001pt). 'height' should be shortened in length. É claro que reduzir a altura do texto evita esse aviso, mas gera um aviso de caixa cheia demais. Uma solução melhor seria sem avisos.

informação relacionada