Отсутствует плавающий элемент или номер страницы при размещении большого изображения tikz на альбомной странице другого размера

Отсутствует плавающий элемент или номер страницы при размещении большого изображения tikz на альбомной странице другого размера

У меня есть документ с большим изображением tikz. Чтобы отобразить это изображение с помощью pdflatex, я создал макросы для переключения размера бумаги и использую пакет pdflscapeдля поворота страниц при отображении в средстве просмотра PDF. Используя эту технику, я могу отобразить рисунок так, как нужно, на повернутой странице большего размера, но на следующей странице отсутствует номер страницы в нижнем колонтитуле (и без руководства \clearpageтекст не переносится на следующую страницу должным образом, вместо этого он продолжается через нижний колонтитул и в невидимую бездну за ним). На второй странице после рисунка номер страницы возвращается.

Минимальный рабочий пример ниже демонстрирует это явление:

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

Я недавно спросилочень похожий вопрос, за исключением того, что я оставил фигуру вне MWE. На этот вопрос был дан ответ, но решение не работает при вставке tikzpictureна большую альбомную страницу - вместо этого нет большой альбомной страницы и фигуры - они просто исчезают. Я получаю предупреждение о переполненном поле, но фигуры нет. Нижеприведенный MWE демонстрирует это:

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

Если размер прямоугольника достаточно уменьшить (например, до 525 на 550), то рисунок появляется на странице в конце документа, хотя страница имеет обычный размер, а рисунок выходит за ее пределы. Это заставило меня попробовать вариант [H]из floatпакета, который, кажется, приближает меня к цели, но я все еще не достиг ее. Есть идеи?

решение1

Я нашел приемлемый ответ, используя geometryпакет для регулировки размера текстовой области ( geometryпакет сам по себе не позволяет изменять размер бумаги в середине документа). Важно задать textwidthи textheightс помощью \newgeometryкоманды (есть странный эффект при установке их без использования пакета geometry, и делать это до начала landscapeсреды. Кроме того, \restoregeometryнеобходимо вызывать после выхода из landscapeсреды.

В приведенном ниже примере устранена как проблема с нумерацией страниц, так и проблема с исчезновением рисунка «тикз».

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

Компиляция этого приводит к предупреждению: 'tmargin' and 'bmargin' result in NEGATIVE (-289.03001pt). 'height' should be shortened in length. Конечно, уменьшение textheight предотвращает это предупреждение, но вместо этого генерирует предупреждение о переполненном поле. Лучшим решением было бы отсутствие предупреждений.

Связанный контент