Ao adicionar uma imagem de fundo em TikZ
uma página customizada, deixa um espaço vazio onde o TikZ
código é incorporado ao documento. Por exemplo,
\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}
Como você pode ver nos exemplos abaixo, o TikZ
código deixa uma marca no documento (um espaço vazio antes \maketitle
da primeira seção). Não é aqui que a imagem TikZ é desenhada (que fica na margem), mas é aqui que o código TikZ é incorporado ao TeX
documento.
Como tratamos o TikZ
código para evitar que ele fique no documento real?
Figura 1: Sem TikZ
código (sem espaço extra antes da primeira seção)
Figura 2: Com TikZ
código (um espaço extra adicionado antes da primeira seção)
Responder1
A tikzpicture
(mesmo com overlay
) implica uma chamada para \leavevmode
(se você usar \leavevmode
em vez de tikzpicture
seu exemplo, obterá a mesma pegada).
Para adicionar um tikzpicture
sem overlay
pegada, coloque-o onde você possa sair do modo vertical.
Exemplo (no início de um parágrafo):
\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}
Responder2
Você pode usar o atbegshi
pacote e \AtBeginShipout
/ou comandos relacionados, como \AtBeginShipoutNext
. Aqui, por exemplo, vamos pegar \AtBeginShipoutFirst
para colocá-lo já na primeira página:
\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}
Responder3
Não consigo encontrar a pergunta exata, mas como regra geral, podemos evitar colocar itens interessantes como as primeiras coisas que o LaTeX vê no início de parágrafos, células tabulares, etc.
Por exemplo, o seguinte não tem nenhum efeito.
\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}