我希望\listoflistings
minted 的显示为子部分标题。(我的\documentclass
是scrartcl
。)
比如\printbibliography
有一个“标题”选项,你可以用它来定义应该使用哪种标题类型。\printacronyms
(包acro
)也有同样的功能。\KOMAoption{listof}{totocnumbered,leveldown}
我也可以\listoffigures
从一个section
标题移动到下一个subsection
标题,但\listoflistings
这些都不起作用。
像这个 Stackexchange 答案没有起作用,而且也“只是”将它添加到目录中,而不是 - 这是我主要关心的 - 将它向下移动一个“标题级别”。
我只想要一个副标题(subsection
类似),而不是标题(section
)。如果它可以出现在目录中,那就太好了。
基本上我的目录应该是这样的:
- 列表
8.1. 图片列表
8.2. 列表列表
...
顺便说一句,还问过在 GitHub 仓库中。
答案1
有KOMA-Script 类喜欢scrartcl
\addtotoclist[float]{lol}
\renewcommand*\listoflistings{\listoftoc[{\listoflistingscaption}]{lol}}
可用于获取由 包控制的列表列表 (LOL) tocbasic
。此包由 KOMA-Script 类加载,并自动用于 TOC、LOF、LOT 等。 的可选参数设置\addtotoclist
为owner=float
。lol
因此,KOMA-Script 选项的设置listof={...}
也会影响 LOL。
要格式化 LOL 中的列表条目,您可以使用
\DeclareTOCStyleEntry[
level=1,
indent=1.5em,
numwidth=2.3em
]{tocline}{listing}
或者
\makeatletter
\newcommand\l@listing{\l@figure}
\makeatother
例子:
\documentclass{scrartcl}
\KOMAoption{listof}{totocnumbered,leveldown}
\usepackage{minted}
\addtotoclist[float]{lol}
\renewcommand*\listoflistings{\listoftoc[{\listoflistingscaption}]{lol}}
\DeclareTOCStyleEntry[
level=1,
indent=1.5em,
numwidth=2.3em
]{default}{listing}
\begin{document}
\tableofcontents
\section{Example Section}
\begin{listing}[hb]
\begin{minted}{java}
System.out.println("Test");
\end{minted}
\caption{Test}
\end{listing}
\section{Lists}
\listoffigures
\listoflistings
\end{document}
结果:
标准类likearticle
没有定义\KOMAoptions
,也不会加载tocbasic
。但你可以tocbasic
手动加载包并使用:
\documentclass{article}
\usepackage{minted}
\usepackage{tocbasic}
\addtotoclist[float]{lof}
\renewcommand*\listoffigures{\listoftoc[{\listfigurename}]{lof}}
\addtotoclist[float]{lol}
\renewcommand*\listoflistings{\listoftoc[{\listoflistingscaption}]{lol}}
\DeclareTOCStyleEntry[
level=1,
indent=1.5em,
numwidth=2.3em
]{default}{listing}
\doforeachtocfile[float]{%
\setuptoc{#1}{numbered,leveldown}%
}
\begin{document}
\tableofcontents
\section{Example Section}
\begin{listing}[hb]
\begin{minted}{java}
System.out.println("Test");
\end{minted}
\caption{Test}
\end{listing}
\section{Lists}
\listoffigures
\listoflistings
\end{document}
结果:
答案2
一个非常基本的解决方案:
- 使用 DIY 标题
\listoftoc*
(基本上是\@starttoc
) - LoL 格式类似 LoF
代码:
% arara: pdflatex: { shell: 1 }
\documentclass{scrartcl}
\KOMAoption{listof}{totocnumbered,leveldown}
\usepackage{minted}
\makeatletter
\newcommand\l@listing{\l@figure}
\makeatother
\begin{document}
\begin{listing}
\begin{minted}{java}
System.out.println("Test");
\end{minted}
\caption{Test}
\end{listing}
\section*{Lists}
\subsection*{List of listings}
\listoftoc*{lol}
\end{document}