我从另一个问题中了解到,包含代码的最佳方法是制作一个带有程序列表的子文档,这很棒。
我的问题是如何正确标记程序列表?
对于章节来说它是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 根本不支持其他参考格式,除非我弄错了。
最后说明一下:通常,章节、节等的标签也没有正确的书写方式。使用chap
、sec
等eq
只是一种惯例,您不需要这样做。除非您使用该refstyle
包。这实际上需要有正确的字符串作为前缀,才能确定所引用的对象类型。cleveref
从这个意义上讲,该包更聪明,因为它可以自行解决问题。