我如何使用\lstlistoflistings
来创建列表列表,但不将此列表作为目录中的条目?
通常情况下,星号有助于隐藏此类内容,我使用回忆录作为支持并帮助隐藏列表(如\tableofcontents*
,,, ...)的文档类\listoffigures*
,\listoftables*
但添加这样的星号:\lstlistoflistings*
没有帮助。
如果没有必要的话,我不想修补任何类文件或其他包。(我使用特克斯如果我想在目录中列出列表,然后又不记得我做了什么更改,我很少会感到烦恼。
目前我用的是latexmk排版我的文件。所以我现在有一个.latexmkrc文件带有一个钩子,在将该条目添加到目录之前将其从内容中删除,如下所示:
add_cus_dep("toc", "toc", 0, "removelistingfromtoc");
sub removelistingfromtoc {
$origin = "$_[0].toc";
$dest = "$_[0].toc.unpatched";
system("mv '$origin' '$dest' && grep -v '\\contentsline.*{List of Listings}' ".
"'$dest' > '$origin'");
return 0;
}
例如,这将从 toc 文件中删除以下行:
\contentsline {chapter}{List of Listings}{}{section*.3}
(我将名称“Listing”改为“List of Listings”。顺便说一句:任何以英语为母语的作者都可以帮助我批评这个“List of Listings”是否是一个合适且常用的术语)
答案1
在memoir
类中,列表似乎是根据 定义的\newlistof
,并且由于包通过改造来listings
实现,所以应该可以按以下方式重新定义它:\lstlistoflistings
\tableofcontents
memoir
\newlistof{lstlistoflistings}{lol}{\lstlistlistingname}
然后只需添加*
按照您说的添加即可。笔记我自己还没尝试过。