ドキュメントのすべてのページに 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、すべてのページの絶対位置に素材を挿入するためのオプションです。

  • パッケージは、xsavebox同じコンテンツを繰り返し挿入するときに最終的な 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.Node を使用して、ページ番号を追加してノード名を一意にしました。

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

関連情報