Ich bin relativ neu bei Latex und habe Probleme mit der Verwendung des Tikzpicture-Pakets.
Ich möchte auf jeder Seite meines Dokuments eine farbige Spalte auf der linken Seite erstellen. Derzeit verwende ich dafür den folgenden Code.
\begin{tikzpicture}[remember picture,overlay]
\node [rectangle, fill=sidecolor, anchor=north, minimum width=9cm, minimum height=\paperheight+1cm] (box) at (-5cm,0.5cm){};
\end{tikzpicture}
Das Problem ist, dass dieser Code nur auf der ersten Seite meines Dokuments einen farbigen Balken erzeugt und diesen nicht auf mehrere Seiten ausdehnt.
Meine Frage ist daher, wie ich dieses Tikz-Bild auf mehreren Seiten in meinem Dokument implementiere. Hat jemand eine Idee, wie man dieses Problem lösen kann?
Hinweis: Ich versuche nicht, eine Kopf- oder Fußzeile zu erstellen.
Mit freundlichen Grüße.
Danke!
Antwort1
Paket
atbegshi
ist eine Option zum Einfügen von Material auf jeder Seite an einer absoluten Position.Das Paket
xsavebox
hilft dabei, die endgültige PDF-Größe zu reduzieren, wenn der gleiche Inhalt wiederholt eingefügt wird.
\documentclass{article}
\usepackage{tikz}
\usepackage{xsavebox} %save content for repeated use
\usepackage{atbegshi} %insert material on every page
\usepackage{kantlipsum} %bla, bla
\xsavebox{PageBGPicture}{%
\begin{tikzpicture}
\node [rectangle, fill=yellow, minimum width=9cm, minimum height=\paperheight] (box) {};
\end{tikzpicture}
}
%position background picture absolutely (w.r.t. upper left page corner) on every page
\AtBeginShipout{
\AtBeginShipoutUpperLeft{\raisebox{-\height}{\xusebox{PageBGPicture}}}
}
\begin{document}
\kant[1-10]
\end{document}
Antwort2
Nur zum Spaß eso-pic
habe ich mithilfe von .Node Ihre Knotennamen durch Hinzufügen der Seitennummer eindeutig gemacht.
\documentclass{article}
\usepackage{tikzpagenodes}
\usepackage{lipsum}
\usepackage{eso-pic}
\begin{document}
\AddToShipoutPicture{%
\begin{tikzpicture}[remember picture,overlay]
\node [rectangle, fill=blue, anchor=west, minimum width=9cm, minimum height=\paperheight+1cm]
(box\thepage) at
(current page text area.west){};
\end{tikzpicture}}
\lipsum[1-8]
\end{document}
Antwort3
Verwenden Sie das atbegshi-Paket.
\usepackage{atbegshi}
\AtBeginShipout
{
\begin{tikzpicture}[remember picture,overlay]
\node [rectangle, fill=sidecolor, anchor=north, minimum width=9cm, minimum height=\paperheight+1cm] (box) at (-5cm,0.5cm){};
\end{tikzpicture}
}