![Fehlende Float- oder Seitenzahl beim Platzieren eines großen Tikz-Bilds auf einer Querformatseite unterschiedlicher Größe](https://rvso.com/image/286377/Fehlende%20Float-%20oder%20Seitenzahl%20beim%20Platzieren%20eines%20gro%C3%9Fen%20Tikz-Bilds%20auf%20einer%20Querformatseite%20unterschiedlicher%20Gr%C3%B6%C3%9Fe.png)
Ich habe ein Dokument mit einem großen Tikz-Bild. Um dieses Bild mit pdflatex anzuzeigen, habe ich Makros zum Ändern der Papiergröße erstellt und verwende das pdflscape
Paket zum Drehen der Seiten bei der Anzeige im PDF-Viewer. Mit dieser Technik kann ich die Abbildung wie gewünscht auf einer gedrehten Seite mit größerem Format anzeigen, aber auf der folgenden Seite fehlt die Seitenzahl in der Fußzeile (und ohne Handbuch \clearpage
wird der Text nicht richtig auf die nächste Seite umgebrochen, sondern geht durch die Fußzeile und in den unsichtbaren Abgrund dahinter weiter). Auf der zweiten Seite nach der Abbildung kehrt die Seitenzahl zurück.
Das folgende minimale funktionierende Beispiel veranschaulicht dieses Phänomen:
\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}
Ich habe vor kurzem gefragteine ganz ähnliche Frage, außer dass ich die Abbildung aus dem MWE weggelassen habe. Diese Frage wurde beantwortet, aber die Lösung funktioniert nicht, wenn ich tikzpicture
auf der größeren Querformatseite ein Einfügen mache – stattdessen gibt es keine größere Querformatseite und keine Abbildung – sie verschwinden einfach. Ich erhalte eine Warnung über ein überfülltes Feld, aber keine Abbildung. Das folgende MWE demonstriert dies:
\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}
Wenn die Größe des Rechtecks ausreichend verkleinert wird (zum Beispiel auf 525 x 550), erscheint die Abbildung auf einer Seite am Ende des Dokuments, obwohl die Seite eine normale Größe hat und die Abbildung über die Seite hinausgeht. Dies hat mich dazu veranlasst, die [H]
Option aus dem float
Paket auszuprobieren, die mich anscheinend näher bringt, aber ich bin noch nicht am Ziel. Irgendwelche Ideen?
Antwort1
Ich habe eine akzeptable Lösung gefunden, indem ich das geometry
Paket verwendet habe, um die Größe des Textbereichs anzupassen (das geometry
Paket allein erlaubt keine Änderungen der Papiergröße mitten im Dokument). Es ist wichtig, dies festzulegen textwidth
und textheight
den \newgeometry
Befehl zu verwenden (es gibt merkwürdige Auswirkungen, wenn diese ohne Verwendung des geometry
Pakets festgelegt werden, und dies vor dem Starten der Umgebung zu tun landscape
. Außerdem \restoregeometry
muss es nach dem Verlassen der Umgebung aufgerufen werden landscape
.
Das folgende Beispiel behebt sowohl das Problem mit der Seitennummerierung als auch das Problem mit den verschwindenden Tikz-Figuren.
\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}
Das Kompilieren führt zu einer Warnung: 'tmargin' and 'bmargin' result in NEGATIVE (-289.03001pt). 'height' should be shortened in length.
Natürlich verhindert das Reduzieren der Texthöhe diese Warnung, erzeugt aber stattdessen eine Warnung, dass die Box überfüllt ist. Eine bessere Lösung wäre, keine Warnung zu geben.