为什么我对子情节的引用顺序是错误的

为什么我对子情节的引用顺序是错误的

我正在关注此 overleaf 模板,这是此版本github 存储库

我按原样打开模板,不更改编译器或其他任何东西,因为我不是该主题的专家,而且我不想弄乱任何东西。我在my-general.tex16、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 图库中发布的模板、示例或文章?

相关内容