使用以下 MWE,我观察到dvisvgm
被调用两次而不是一次:
\documentclass{scrbook}
\usepackage{blindtext}
\usepackage{pgfornament}
\tikzset{
myfroufrou/.pic={
\node {\pgfornament[height=1cm]{79}};
}
}
\usepackage{storebox}
\newstorebox{\froufroubox}
\title{Some Book}
\subtitle{A novel}
\author{Some Author}
\begin{document}
\storebox{\froufroubox}{%
{ \tikz \pic{myfroufrou}; }
}
\chapter{Chapter One}
\blindtext{}
\usestorebox{\froufroubox}
\blindtext{}
\usestorebox{\froufroubox}
\end{document}
用 编译它pdflatex
似乎只会创建一次 TikZ 图片,storebox
按预期将其存储在 中,并多次使用它。我可以通过\special{dvisgm:raw something}
在 中添加tikzpicture
并计算警告数量来确认这一点。
但是,通过以下方式编译它make4ht
:
make4ht --utf8 book.tex "svg"
showsdvisvgm
被调用了两次,而且两次调用似乎都写入了同一个<jobname>0x.svg
文件。在我的最终文档中,我想froufrou
多次使用 -like 分隔符,因此节省一些计算时间会很有利。使用 asavebox
代替 astorebox
不会改变观察到的行为。
有没有办法将dvisvgm
调用次数减少到唯一图片的数量(在本例中为一张)?