Al agregar una imagen de fondo en TikZ
una página personalizada, deja un espacio vacío donde TikZ
se incorpora el código al documento. Por ejemplo,
\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 puede ver en los ejemplos siguientes, el TikZ
código deja una huella en el documento (un espacio vacío antes \maketitle
de la primera sección). Aquí no es donde se dibuja la imagen de TikZ (que está en el margen), sino que es aquí donde se incorpora el código de TikZ al TeX
documento.
¿Cómo tratamos el TikZ
código para evitar su huella en el documento real?
Figura 1: Sin TikZ
código (sin espacio adicional antes de la primera sección)
Figura 2: Con TikZ
código (se agregó un espacio adicional antes de la primera sección)
Respuesta1
A tikzpicture
(incluso con overlay
) implica una llamada a \leavevmode
(si usa \leavevmode
en lugar de your tikzpicture
en su ejemplo, obtendrá la misma huella).
Para agregar un tikzpicture
espacio overlay
sin huella, colóquelo donde pueda salir del modo vertical.
Ejemplo (al comienzo de un párrafo):
\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}
Respuesta2
Puede utilizar el atbegshi
paquete y \AtBeginShipout
/o comandos relacionados como \AtBeginShipoutNext
. Aquí, por ejemplo, vamos \AtBeginShipoutFirst
a ponerlo en la primera 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}
Respuesta3
No puedo encontrar la pregunta exacta, pero como regla general, podemos evitar poner elementos interesantes como lo primero que ve LaTeX: párrafos iniciales, celdas tabulares, etc. A menudo no le gusta.
Por ejemplo, lo siguiente no tiene ningún efecto.
\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}