Mit Tikz zeichne ich eine Linie von einem Ende des A4-Blatts zum anderen wie folgt:
\begin{tikzpicture}
\draw (current page.south) -- (current page.north);
\end{tikzpicture}
Das erstellte PDF hat zwei Seiten. Die erste ist leer, die andere hat die gewünschte vertikale Linie.
Wenn ich außerdem zwei "Grenzlinien" hintereinander zeichne, wie
\begin{tikzpicture}
\draw (current page.south) -- (current page.north);
\draw (current page.east) -- (current page.west);
\end{tikzpicture}
es entsteht eine zweite leere Seite, nach der Zeichnung (das Ergebnis ist also leere Seite-Zeichnung-leere Seite)?!
Ich habe die memoir
Klasse mit dem geometry
Paket gewählt:
\documentclass[oneside, english, 10pt, a4paper]{memoir}
\usepackage[a4paper, margin=0pt]{geometry}
Was mache ich falsch?
Antwort1
Normalerweise wird alles in einem Tikz-Bild in einen Begrenzungsrahmen gesetzt, der dann von LaTeX wie jeder andere Rahmen behandelt wird. Sie können nur die Grundlinie steuern.
Die Verwendung overlay
ist wie die Verwendung \smash{\rlap{...}}
mit dem Ursprung an der Grundlinie der aktuellen Textposition. Sie deaktiviert auch die Berechnung des Begrenzungsrahmens.
Mit remember picture
wird der Ursprungsort (der unbekannt ist, bis die Seite versandfertig ist) in der AUX-Datei gespeichert. Beim nächsten Durchgang wird dieser Wert gelesen und kann ermittelt werden, wo sich die (current page)
Anker befinden. Außerdem wird der Ursprungsort für jedes andere Tikzpicture (mit remember picture
) oder Tikzmark auf der Seite gelesen und die relative Position ihrer Anker kann ebenfalls ermittelt werden.
\documentclass[oneside, english, 10pt, a4paper]{memoir}
\usepackage[a4paper, margin=0pt]{geometry}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[remember picture,overlay]
\draw (current page.south) -- (current page.north);
\draw (current page.east) -- (current page.west);
\end{tikzpicture}
\end{document}