如何在 Lyx 中正确交叉引用程序列表

如何在 Lyx 中正确交叉引用程序列表

我从另一个问题中了解到,包含代码的最佳方法是制作一个带有程序列表的子文档,这很棒。

我的问题是如何正确标记程序列表?

对于章节来说它是chap:Name,对于小节来说它是sub:Name,那么对于程序列表来说它是什么?

理由是当我交叉引用时,我希望获得与引用某个部分时相同的格式... section 2.1 ...。(我实际上并没有编写 lyx 自动生成的“部分”,我希望列表也一样)。

答案1

实际上没有“正确”的答案,因为你必须自己定义它。LyX 使用refstyle此类格式的参考资料包,据我所知,它没有程序列表的定义。

因此,我认为你应该在序言中添加这样的定义,在文档 --> 设置 --> LaTeX 序言中。一个简单的例子是

\newref{lst}{
   name   = listing~,
   names  = listing~,
   Name   = Listing~,
   Names  = Listings~,
   rngtxt = {~to~},
   lsttxt = { and }}

使用此定义,您应该将lst:标签中的前缀用作前缀。如果您想要其他前缀,请将 in 更改lst\newref{lst}您选择的前缀。

但请注意,只要您不使用 ERT,我认为您只需要\newref{lst}{name = listing~},因为 LyX 根本不支持其他参考格式,除非我弄错了。

最后说明一下:通常,章节、节等的标签也没有正确的书写方式。使用chapseceq只是一种惯例,您不需要这样做。除非您使用该refstyle包。这实际上需要有正确的字符串作为前缀,才能确定所引用的对象类型。cleveref从这个意义上讲,该包更聪明,因为它可以自行解决问题。

相关内容