当用作页面背景时,是否可以外部化和/或重复使用 tikz 图片?

当用作页面背景时,是否可以外部化和/或重复使用 tikz 图片?

我在外部化方面的实验遇到了麻烦。一个问题是,我似乎无法将tikz用作页面背景的图片外部化:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{external,positioning}
\tikzexternalize
\begin{document}
    \begin{tikzpicture}[remember picture, overlay]
        \draw [blue] (current page.north west) -- (current page.south east);
    \end{tikzpicture}
\end{document}

我认为,这会失败,因为位置直到第二次运行才正确,但是通过外部化,tikz永远不会重新编译代码,因此错误的定位永远不会得到纠正。

我知道有办法解决这个问题,例如,通过独立编译图片,然后将其设置为背景壁纸。我想知道是否可以使用外部化来实现这一点,这样我就不必考虑单独的文件了。(这个项目已经包含许多文件,很难跟踪它们。)

或者,是否可以重复使用照片tikz之内一次编译运行?我注意到,如果我多次使用\input一张tikz图片,它似乎会被编译多次。如果有办法避免这种情况,那肯定会有所帮助,尽管它只对我使用的图片中的一定比例有效。

答案1

这是无需外部化即可工作的东西。诀窍是在之后设置框\begin{document}

\documentclass{article}
\usepackage{everypage}
\usepackage{tikz}
\newsavebox\mytikzpic
\AddEverypageHook{\usebox{\mytikzpic}}
\usepackage{tikz}
\usetikzlibrary{external,positioning}
%\tikzexternalize
\usepackage{lipsum}
\begin{document}
\savebox\mytikzpic{%
    \begin{tikzpicture}[remember picture, overlay]
        \draw [blue] (current page.north west) -- (current page.south east);
    \end{tikzpicture}%
}
\lipsum[1-13]
\end{document}

在此处输入图片描述

相关内容