当使用 xelatex 和 scrbook 以及 tikz 和 externalize 时,我得到的输出图形大小错误,因此不仅是图形本身,还有整个 DIN-A4 页面,图形位于左上角。这显然会破坏主 pdf。我检查了所有细节,现在我看到唯一有帮助的就是将 scrbook 更改为 book。然后图形 pdf 会按应有的方式生成(只有图形和周围的空白),一切都很好。现在,我想使用 scrbook 而不是 book。有人知道这是否确实是 scrbook 的问题,或者也许这只是一个巧合,主要错误在其他地方?谢谢,Dmitri。
编辑:一个最小的例子看起来像这样
\documentclass{scrbook}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{german}
\usepackage{tikz}
\usetikzlibrary{external}
\tikzset{
external/system call={%
xelatex \tikzexternalcheckshellescape
-halt-on-error- -interaction=batchmode --shell-escape
-jobname "\image" "\texsource"}}
\tikzexternalize
\begin{document}
A simple image is\tikz\fill(0,0)circle(5pt);.
\end{document}
这样会生成一个有两页的 PDF,第二页上有一个点,没有任何文本。使用 book 则会生成一个只有一侧的 PDF,并且点与文本位于同一行。
答案1
好的,问题解决了。原来是我的 tikz 版本太旧了。安装新版本后一切都好了,甚至不再需要 tikzset,这个:
\tikzset{
external/system call={%
xelatex \tikzexternalcheckshellescape
-halt-on-error- -interaction=batchmode --shell-escape
-jobname "\image" "\texsource"}}
可以被删除。