Estou tentando criar um documento contendo:
- Uma imagem da página de rosto (veja1abaixo deste post) definido como plano de fundo usando o pacote
eso-pic
. - Várias fotos tikz que externalizo usando
\tikzexternalize[up to date check={md5}]
.
Problema:uma parte da imagem da capa é incluída no fundo da imagem tikz.
Como posso resolver esse problema mantendo a externalização?
SeguindoA resposta de Tom:No meu documento completo, eu uso \AddToShipoutPictureBG
dentro de uma macro, então tive que definir \tikzset{external/optimize command away=\mymacro}
após a definição da macro em vez de no \tikzexternalize
comando.
% !TeX TXS-program:compile = txs:///lualatex/[--shell-escape]
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize[up to date check={md5}]
\usepackage{eso-pic}
\usepackage{graphicx}
\begin{document}
% Add title image across the complete page
\AddToShipoutPictureBG*{\AtPageLowerLeft{%
\includegraphics[width=\paperwidth,height=\paperheight]{my_picture.jpg}}}
\newpage\null\newpage
\tikzsetnextfilename{tikz_picture}
\begin{tikzpicture}
\draw[red, thick] (-1,2) -- (2,-4);
\draw[red, thick] (-1,-1) -- (2,2);
\filldraw[red] (0,0) circle (2pt) node[anchor=west]{A tikz picture};
\end{tikzpicture}
\end{document}
Responder1
Você pode usar a opção optimize command away=\AddToShipoutPictureBG
quando enable \tikzexternalize
. Observe que o pacote eso-pic
deve ser carregado antes do \tikzexternalize
comando.
% !TeX TXS-program:compile = txs:///lualatex/[--shell-escape]
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{external}
\usepackage{eso-pic} %%load the 'eso-pic' package before '\tikzexternalize', otherwise the command '\AddToShipoutPictureBG' will not be defined.
\tikzexternalize[
up to date check={md5},
optimize command away=\AddToShipoutPictureBG
]
\usepackage{graphicx}
\begin{document}
% Add title image across the complete page
\AddToShipoutPictureBG*{\AtPageLowerLeft{%
\includegraphics[width=\paperwidth,height=\paperheight]{example-image-a}}}
\newpage\null\newpage
\tikzsetnextfilename{tikz_picture}
\begin{tikzpicture}
\draw[red, thick] (-1,2) -- (2,-4);
\draw[red, thick] (-1,-1) -- (2,2);
\filldraw[red] (0,0) circle (2pt) node[anchor=west]{A tikz picture};
\end{tikzpicture}
\end{document}