如何使用独立子字幕

如何使用独立子字幕

我尝试\input在主文档文件中创建一个standalone部分,该部分使用subcaption包。standalone文件编译得很好。但当我尝试编译主文档时,我得到了一个

Undefined control sequence

中的錯誤caption3.sty

该错误是由 单独引起的,因此即使在没有实际使用\usepackage{subcaption}时也会发生。subcaption

这是一个最小的工作示例:

main.tex

\documentclass{scrartcl}
\usepackage[subpreambles]{standalone}
\begin{document}
  \input{subcaption_with_standalone}
\end{document}

subcaption_with_standalone.tex

\documentclass{standalone}
\usepackage{subcaption}
\begin{document}
  This does not even use a subfigure.
\end{document}

我怎样才能使subcaption(或类似的东西,最好不要弃用)与独立工作?

答案1

有多个软件包使用该\AtBeginDocument命令。当这些软件包在子文件的前言中加载时,这些命令将永远不会被执行。

该选项subpreamples=true适用于宏等,不适用于加载包。如果您在子文件中需要该包,则还必须在主文件中加载它。或者,您可以只编译包含所有所需包的子文件,然后运行主文件而不使用选项subpreambles=true

subcaption在主序言中加载作品:

主文本

% arara: lualatex
% arara: lualatex

\documentclass{scrartcl}
\usepackage[subpreambles=true]{standalone}
\usepackage{subcaption}
\usepackage{todonotes}
\usepackage{graphicx}
\begin{document}
  \input{subcaption_with_standalone}
\end{document}

子标题_带_独立.tex

\documentclass{standalone}
\usepackage{subcaption}
\usepackage{todonotes}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\centering
    \begin{subfigure}{2in}
    \centering
    \missingfigure{Figure 1}
    \end{subfigure}
    \begin{subfigure}{2in}
    \centering
    \missingfigure{Figure 2}
    \end{subfigure}
\end{figure}
\end{document}

相关内容