Tikz 和独立版,包含单张图片/页面不起作用

Tikz 和独立版,包含单张图片/页面不起作用

我创建了一个包含两个tikzpicture环境的独立文件。如果我单独编译该文件,就会看到生成了两个页面。到目前为止一切顺利。

\documentclass[tikz]{standalone}
\usetikzlibrary{...}

\begin{document}
\tikzset{...}
\begin{tikzpicture}
  ...
\end{tikzpicture}
\begin{tikzpicture}
  ...
\end{tikzpicture}
\end{document}

现在我想在主文档中仅包含其中第一个或第二个:

\begin{figure}
  \centering
  \includestandalone[page=2]{figures/diagrams}
  \caption{The enhanced diagram}
\end{figure}

与预期和记录的情况不同,结果是两个图表并排打印,而第二个图表超出了页面的右边距。知道可能是什么问题吗?

result

编辑,解决方案:事实证明,问题是由多个错误引起的。也许这对其他人有帮助:

  1. @torbjørn-t 提醒我,默认mode=tex设置不支持页面选项。请确保在主文档中激活其他包含模式之一。我决定采用:

    \usepackage[mode=build]{standalone}
    
  2. 下一个问题是,级联构建现在产生以下错误:Package standalone Warning: Graphic '...' could not be build. Shell escape activated? 请确保启用 shell 转义。

  3. 在我的例子中,上述问题实际上与 shell 转义无关,而是与独立diagrams文档内部的构建错误以及它位于子目录中的事实有关figures。结果发现构建是在不同的路径中执行的,无法\include{general_properties}正确解析。要解决此问题和类似问题,请务必检查独立文件旁边的各个日志文件。

答案1

我自己没有用过这个,但行为取决于设置,请参阅手册中mode的描述(第 5.3 节)。例如,使用\includestandalonestandalone

\includestandalone[mode=image,page=2]{filename}

它将包括(第 2 页)filename.pdf

\includestandalone[mode=build,page=2]{filename}

它将编译filename.tex并包含filename.pdf。还有 ,mode=buildnew只有当其他文件比 PDF 更新时才会编译它,或者mode=buildmissing只有当 PDF 不存在时才会编译它。默认值是mode=tex,类似于\input,因此它直接添加代码(无序言和document环境)。

您还可以将模式设置为包的一个选项,例如

\usepackage[mode=buildnew]{standalone}

或使用\standaloneconfig,例如

\standaloneconfig{mode=buildmissing}

如果您希望所有设置都相同\includestandalone

相关内容