我尝试\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}