如何在 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:標籤中的前綴。如果您需要其他前綴,請將lstin變更\newref{lst}為您選擇的前綴。

但請注意,只要您不使用 ERT,我認為您只需要\newref{lst}{name = listing~},因為 LyX 根本不支援其他參考格式,除非我弄錯了。

最後一點:通常也沒有正確的方法來寫章節、章節等的標籤。chapsec等的使用eq只是一種約定,而不是您需要做的事情。除非你使用這個refstyle包。這實際上需要有正確的字串作為前綴來確定所引用的物件類型。從這個意義上說,這個cleveref包更聰明,因為它可以自己解決問題。

相關內容