我已经开始尝试使用 Martin Scharrer 的独立包,因为 tikz external 不适用于 todonotes,而且我觉得据我了解,独立的工作流程更有意义。
现在来谈谈问题:无论我选择哪种模式,独立模式似乎总是会重建我包含的子文件。我是否对文件时间的变化感到困惑,并且只执行了一次触摸?我才刚刚开始使用它,所以我无法判断我是否节省了编译时间。
我还发现我的子文件的文件名确实是“test3”.pdf,带有多余的撇号。如果我稍后切换到 mode=image,则找不到文件。这与始终重建问题有关吗?
当前来源如下:
子文件名为:test3.tex
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\draw (0,0) -- (1,1);
\end{tikzpicture}
\end{document}
主文件:
\documentclass{article}
\usepackage[mode=buildnew]{standalone}
\usepackage{tikz}
\begin{document}
\begin{figure}
\includestandalone{test3}
\caption{test}
\end{figure}
asdfasdf
\end{document}
答案1
导致此问题的原因是standalone
软件包在内部命令调用中使用单引号作为文件名。这样做是为了避免文件名包含空格(无论如何都应该避免)或特殊字符的问题。不幸的是,Linux/Unix/Mac OS X 要求在这里使用单引号,而 MS Windows 下的 MikTeX 甚至无法将其识别为引号。因此,单引号被视为文件名的一部分。出于某种原因,单引号在 MS Windows 版本的 TeX Live 中可以正常工作。
我现在删除了硬编码的引号,并添加了一个宏,该宏设置为 MikTeX 的双引号,否则设置为单引号。可以使用build={quote={<char>}}
包选项覆盖它。
此版本将于 2012/12/31 发布,版本号为 v1.2。它应该会在未来几天内在 CTAN 上发布,并且已经在软件包自己的存储库中可用https://bitbucket.org/martin_scharrer/standalone/downloads。