当标题和标签之间有新行时,Lyx 交叉引用图形不起作用

当标题和标签之间有新行时,Lyx 交叉引用图形不起作用

当我在图形浮点的标题和标签之间添加新行时,交叉引用在生成的 PDF 文件中显示为“图 ??”。但是,PDF 中的超链接工作正常。删除标题和标签之间的换行符后,交叉引用可以正确显示,即“图 1.1”。该换行符是否会以某种方式将标签与标题分离?我的理解是,只要它们都在同一个浮点内,它就应该可以工作。

屏幕截图如下:

无需换行,即可运行

换行,这不起作用

1 月 10 日编辑之前:

我正在写一篇包含多个章节的论文。主文档的文档类是 book(KOMA-script)。这些章节作为主文档的分支插入。除了一章之外,所有章节的图表交叉引用都运行正常。在这个有问题的章节中,交叉引用显示为“图表 ??”。但是,生成的 PDF 文档中的超链接可以正常工作。

我已经检查过了,这并不是我所面临的问题。

答案1

当您提到“指向该图的超链接”时,我假设您指的是 LoF 中的超链接。是的,这全都基于\caption,它设置正确。但是,从您的示例代码中可以清楚地看出,在 LyX 中插入换行符实际上会在标题周围创建一个单独的组:

\begin{figure}[h]
\noindent \begin{centering}
\includegraphics[<opts>]{<filename>}\caption{<caption>}

\par\end{centering}

\noindent \centering{}\label{<label>}
\end{figure}

从上面我们可以看到被\caption放在一个centering组里面。现在,根据了解引用和标签的工作原理您将看到\label使用\@currentlabel- 一个在您步进计数器时更新的宏。在这种情况下,计数器作为对 的调用的一部分进行步进\caption。但是,当组关闭时,此更新将被恢复,因为更新仅限于其使用的组。

因此,似乎不应该在 LyX 中的\caption和之间放置空行\label。LyX 解释结构内新行的方式似乎很奇怪。当然,作为 LaTeX 的 GUI 式编辑器,它会尝试从用户那里删除一些类似代码的插入。然而,这种直观性带来了一些假设……在这种情况下,显然是错误解释的。

相关内容