当 subcaption 包也包含在内时,有没有办法使用 svg 包?svg 包使用 subfig 包,这显然会导致冲突。但 subcaption 包比 subfig 包更受青睐似乎是常识。
答案1
在这个答案subfig
解决办法是抑制包装的负荷
\expandafter\def\csname [email protected]\endcsname{}
命令。不幸的是,这个命令只对我有用,直到 TeX Live 2015。
答案2
我给 svg 包的当前维护者发了一封电子邮件,他回复了以下解决方案:
\RequirePackage{scrlfile}
\PreventPackageFromLoading{subfig}
\documentclass{article}
\usepackage{subcaption}
\usepackage{svg}
\usepackage{hyperref}
\begin{document}
test
\end{document}
在 Windows 上,MiKTeX 运行起来非常顺畅,我还没有尝试过其他操作系统或 TeX 发行版。该svg
软件包的新版本可能很快就会发布,其中将修复此问题。
答案3
极其粗糙的解决方法:
将文件复制svg.sty
到您的项目文件夹并注释掉或删除以下行(第 40 行):
\@ifpackageloaded{subfig}{}{\RequirePackage{subfig}}%
到目前为止,这不会产生任何错误,并能正确编译 svg 文件。当我在环境\includesvg
中使用 svg 图像文件时,它也能正常工作subcaption
。
答案4
经过大约 1 小时的工作,我在官方文档中找到了解决方案
包子标题:https://mirror.hmc.edu/ctan/macros/latex/contrib/caption/subcaption.pdf
请注意:此包与 subfigure 和 subfig 包不兼容。
以下是子图的 latex 代码。但在此之前,您需要包含
\usepackage{subcaption}
\begin{figure}
\begin{minipage}[b]{.5\linewidth}
\centering
\includegraphics[]{fig-1.pdf}
\subcaption{A subfigure}\label{fig:1a}
\end{minipage}%
\begin{minipage}[b]{.5\linewidth}
\centering
\includegraphics[]{fig-2.pdf}
\subcaption{Another subfigure}\label{fig:1b}
\end{minipage}
\caption{A figure}\label{fig:1}
\end{figure}
如果你碰巧包含了以下一些包
\usepackage{subfigure}
\usepackage{subfig}
您只需注释掉上面的内容;subfigure
并且subfig
与 不兼容subcaption
。删除它们即可解决您的问题。
%\usepackage{subfigure}
%\usepackage{subfig}