문서의 모든 페이지에 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. 페이지 번호를 추가하여 노드 이름을 고유하게 만든 노드입니다.

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

관련 정보