![列表列表(使用 tcblistof)垂直间距,按章节分组](https://linux22.com/image/295191/%E5%88%97%E8%A1%A8%E5%88%97%E8%A1%A8%EF%BC%88%E4%BD%BF%E7%94%A8%20tcblistof%EF%BC%89%E5%9E%82%E7%9B%B4%E9%97%B4%E8%B7%9D%EF%BC%8C%E6%8C%89%E7%AB%A0%E8%8A%82%E5%88%86%E7%BB%84.png)
我目前正在尝试设置\tcblistof
命令内的垂直间距。
导致我出现问题的模板可以在这里找到:https://github.com/ManuelRauber/LaTeX-Template
首先,这里有一些显示我的问题的截图。
目录显示了我想要的所有列表:章节标题被分组在一起,章节之间留出更多空间。这完全没问题。
图表列表和表格列表也是如此(lof 为例)。章节被分组在一起,并且章节内标题之间的间距最小。
问题是我的清单。由以下代码创建(有关完整示例,请参阅 GitHub 链接或此处https://tex.stackexchange.com/a/124688/15907):
% by Thomas F. Sturm (https://tex.stackexchange.com/a/124688/15907)
\newtcblisting[auto counter,number within=section,
list inside=mypyg]{listingsbox}[3][]{%
listing only,title={Listing \thetcbcounter: #3},
list entry={\protect\numberline{\thetcbcounter}#3},
enhanced,breakable,drop fuzzy shadow,myminted/#2,#1}
\begin{document}
\tcblistof[\addchap*]{mypyg}{Codeverzeichnis}
这是输出:
我尝试了这里找到的解决方案:tcblistof,书籍类别和垂直间距。但这对我不起作用(并且我将 patchcmd 改为使用 addchap 而不是 chapter)。
我需要做什么才能\tcblistof
按章节对条目进行分组(并获得章节内的最小间距)?
答案1
在序言中添加以下几行:
\usepackage{etoolbox}
\pretocmd{\chapter}{\addtocontents{mypyg}{\addvspace{10pt}}}{}{}
\makeatletter
\renewcommand*\l@tcolorbox{\@dottedtocline{1}{1.5em}{3em}}
\makeatother
然后在文档中,列出清单:
\begingroup
\parskip=0pt
\tcblistof[\addchap*]{mypyg}{Codeverzeichnis}
\endgroup
以下是使用所提供链接中的设置的完整示例:
\documentclass[12pt,a4paper,oneside,
final,
titlepage,
headsepline,
BCOR6mm,
toc=listof,
parskip=full,
ngerman,
]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{etoolbox}
\usepackage[many,minted]{tcolorbox}
\tcbuselibrary{listings}
\newcommand{\mynewminted}[3]{%
\newminted[#1]{#2}{#3}%
\tcbset{myminted/#1/.style={minted language=#2,minted options={#3}}}}
\mynewminted{mycsharp}{csharp}{tabsize=2,fontsize=\footnotesize}
\mynewminted{myjavascript}{js}{tabsize=2,fontsize=\footnotesize}
\mynewminted{myxml}{xml}{tabsize=2,fontsize=\footnotesize}
\mynewminted{myshell}{shell-session}{tabsize=2,fontsize=\footnotesize}
\mynewminted{myjson}{json}{tabsize=2,fontsize=\footnotesize}
\mynewminted{mycode}{text}{tabsize=2,fontsize=\footnotesize}
\newtcblisting[auto counter,number within=section,
list inside=mypyg]{listingsbox}[3][]{%
listing only,title={Listing \thetcbcounter: #3},
list entry={\protect\numberline{\thetcbcounter}#3},
enhanced,breakable,drop fuzzy shadow,myminted/#2,#1}
\pretocmd{\chapter}{\addtocontents{mypyg}{\addvspace{10pt}}}{}{}
\makeatletter
\renewcommand*\l@tcolorbox{\@dottedtocline{1}{1.5em}{3em}}
\makeatother
\begin{document}
\tableofcontents
\begingroup
\parskip=0pt
\tcblistof[\addchap*]{mypyg}{Codeverzeichnis}
\endgroup
\chapter{Test chapter}
\section{A test section}
\begin{listingsbox}{mycsharp}{A test listing}
test
\end{listingsbox}
\section{Another test section}
\begin{listingsbox}{mycsharp}{A test listing}
test
\end{listingsbox}
\chapter{Test chapter}
\section{A test section}
\begin{listingsbox}{mycsharp}{A test listing}
test
\end{listingsbox}
\section{Another test section}
\begin{listingsbox}{mycsharp}{A test listing}
test
\end{listingsbox}
\end{document}
生成的文档的图像:
目录图片:
列表图片: