TikZ
カスタムページで背景画像を追加すると、TikZ
コードがドキュメントに組み込まれる空白スペースが残ります。たとえば、
\documentclass{article}
\usepackage{lipsum}
\usepackage{tikz}
\usetikzlibrary{calc}
\title{Test Title}
\author{A name}
\begin{document}
\maketitle
\tikz[overlay,remember picture]{%
\node [rotate=45] at ($(current page.north west)+(7,-7)$) {\Huge\textcolor{gray}{TikZ}};
}
\section{First}
\lipsum[1]
\section{Second}
\subsection{This is not nice}
\lipsum[1]
\subsection{This is fine}
\lipsum[1]
\end{document}
以下の例からわかるように、TikZ
コードはドキュメントにフットプリントを残します (\maketitle
最初のセクションの後の空のスペース)。これは TikZ 画像が描画される場所 (余白にあります) ではなく、TikZ コードがドキュメントに組み込まれる場所ですTeX
。
TikZ
実際のドキュメントにコードが残らないようにするには、どのようにコードを処理すればよいでしょうか?
図 1:TikZ
コードなし (最初のセクションの前に余分なスペースはありません)
図 2:TikZ
コードあり (最初のセクションの前に余分なスペースを追加)
答え1
tikzpicture
( が付いている場合でもoverlay
)は の呼び出しを意味します(\leavevmode
の\leavevmode
代わりにtikzpicture
を例に使用した場合、同じフットプリントが得られます)。
tikzpicture
フットプリントなしを追加するにはoverlay
、垂直モードを終了できる場所に配置します。
例(段落の冒頭):
\documentclass{article}
\usepackage{lipsum}
\usepackage{tikz}
\usetikzlibrary{calc}
\title{Test Title}
\author{A name}
\begin{document}
\maketitle
\section{First}
\tikz[remember picture,overlay]%
\node [rotate=45] at ($(current page.north west)+(7,-7)$)%
{\Huge\textcolor{gray}{TikZ}};%
\lipsum[1]
\section{Second}
\subsection{This is not nice}
\lipsum[1]
\subsection{This is fine}
\lipsum[1]
\end{document}
答え2
atbegshi
パッケージや、\AtBeginShipout
などの関連コマンドを使用できます\AtBeginShipoutNext
。ここでは、たとえば、を使用して、\AtBeginShipoutFirst
すでに最初のページに表示されているものを取得します。
\documentclass{article}
\usepackage{lipsum}
\usepackage{tikz}
\usepackage{atbegshi}
\usetikzlibrary{calc}
\title{Test Title}
\begin{document}
\AtBeginShipoutFirst{\tikz[overlay,remember picture]{
\node at ($(current page.west)+(2,0)$) {\Huge\textcolor{gray}{TEST}};
}}
\maketitle
\section{First}
\lipsum[1]
\section{Second}
\subsection{This is not nice}
\lipsum[1]
\subsection{This is fine}
\lipsum[1]
\end{document}
答え3
正確な質問は見つかりませんが、経験則として、LaTeX が最初に認識する段落や表のセルなどの部分に、興味深い項目を配置することは避けたほうがよいでしょう。多くの場合、それは好ましくありません。
たとえば、次のものは効果がありません。
\documentclass{article}
\usepackage{lipsum}
\usepackage{tikz}
\title{Test Title}
\author{authorize}
\begin{document}
\maketitle
\section{First}
My precious sentence which doesn't finish with a par.
\tikz[overlay,remember picture]{
\path[use as bounding box](0,0);
\node [gray,inner sep=0,rotate=45] at ([shift={(7cm,-7cm)}]current page.north west) {\Huge TikZ};
}\lipsum[1]
\section{Second}
\subsection{This is not nice}
\lipsum[1]
\subsection{This is fine}
\lipsum[1]
\end{document}