如何讓tikz圖片出現在文件的每一頁上

如何讓tikz圖片出現在文件的每一頁上

我對 Latex 比較陌生,並且在使用 tikzpicture 套件時遇到了困難。

我想要做的是在文件中每個頁面的左側建立一個彩色列。目前我正在使用以下程式碼。

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

問題是此程式碼僅在我的文件的第一頁上產生一個彩色條,而不會將其擴展到多個頁面。

因此,我的問題是,如何將此 tikzpicture 實現到文件中的多個頁面?有誰對如何解決這個問題有任何見解。

注意:我並不是想製作頁首或頁尾。

親切的問候。

謝謝!

答案1

  • 打包atbegshi是在每頁的絕對位置插入材料的選項。

  • 重複插入相同內容時, Packagexsavebox有助於減少最終 PDF 大小。


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

答案2

只是為了好玩,使用一些東西eso-pic。節點,我透過添加頁碼使您的節點名稱唯一。

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

答案3

使用 atbegshi 包。

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

相關內容