我正在关注此 overleaf 模板,这是此版本github 存储库。
我按原样打开模板,不更改编译器或其他任何东西,因为我不是该主题的专家,而且我不想弄乱任何东西。我在my-general.tex
16、17 行添加了以下几行:
\usepackage{caption}
\usepackage{subcaption}
并将以下行添加到mainchap1.tex
第 119-132 行:
Figure~\ref{figa}
\begin{figure}[htb]
\centering
\begin{subfigure}{0.5\textwidth}
\includegraphics[width=0.9\linewidth, height=5cm]{graphics/mygraphic1.pdf}
\caption{}\label{figa}
\end{subfigure}
\begin{subfigure}{0.5\textwidth}
\includegraphics[width=0.9\linewidth, height=5cm]{graphics/mygraphic1.pdf}
\caption{}\label{figb}
\end{subfigure}
\caption{Two circles and a wavy line.}
\end{figure}
结果是,对子图的引用全都乱了:
这应该是Figure 3.2a
。这里发生了什么?我该如何解决这个问题?
答案1
(我是 Overleaf 的支持人员。)
这有点奇怪。该模板上次发布到 Overleaf 时选择了 TeX Live 2016 图像,因此从该模板创建的任何新项目都将使用 TeX Live 2016。
但在 TeX Live 2016 中,处理双向文本的情况有所不同。这就是导致子图引用编号顺序出现问题的原因。模板作者在几个 GitHub 问题中也提到了这一点,迁移到较新的 TeX Live 版本可以解决标题/编号和交叉引用的类似问题。
但是 Overleaf 中的模板是旧版本(与 GitHub 上的当前文件不完全匹配)。因此,如果您在 Overleaf 上将 TeX Live 版本更改为较新版本,则会遇到其他错误。使用 Overleaf 项目菜单 – TeX Live 版本。
注释掉 misc/my-thesis-specific.tex 的第 11-21 行就足以让你在 Overleaf 的 TeX Live 2018 图像上启动并运行,并带有正确的子图引用。通常不建议修改分布式文件,但如果你需要快速启动并运行,这是最快的修复方法。
如果你想按照模板作者的建议迁移到 TeX Live 2020(参考。),您需要纳入更多 GitHub 中尚未在 Overleaf 模板中发布的最新更改。但最好的长期解决方案是要求模板作者更新 Overleaf 中的模板,这样就不需要进行这些手动调整。原始模板作者可以按照以下步骤完成此操作:如何更新我在 Overleaf 图库中发布的模板、示例或文章?