我正在使用classichtesis
并且想删除列表列表的标题。
在此发表之前,我尝试了以下策略:
- 命令
\renewcommand\lstlistlistingname{}
,建议这里,使列表的标题也消失。 - 该命令
\markboth{}{}
不起作用。 - 或
\thispagestyle{empty}
之前的命令不起作用。\begingroup
\lstlistoflistings
以下是我使用的代码:
编辑:添加了一些更多信息。
\documentclass{scrbook}
\usepackage{classicthesis}
\usepackage{listings}
\usepackage{caption}
\makeatletter
\begingroup
\let\newcounter\@gobble\let\setcounter\@gobbletwo
\globaldefs\@ne \let\c@loldepth\@ne
\newlistof{listings}{lol}{\lstlistlistingname}
\endgroup
\let\l@lstlisting\l@listings
\let\lstlistoflistings\listoflistings
\makeatother
\renewcommand{\cftlistingspresnum}{\scshape\MakeTextLowercase}
\renewcommand{\cftlistingsfont}{\normalfont}
\renewcommand{\cftlistingsleader}{\hspace{1.5em}}
\renewcommand{\cftlistingspresnum}{Algorithm~}
\renewcommand{\cftlistingsafterpnum}{\cftparfillskip}
\setlength{\cftbeforelistingsskip}{\cftbeforesecskip}
\newlength{\listingslabelwidth}
\settowidth{\listingslabelwidth}{\cftlistingspresnum~99}
\addtolength{\listingslabelwidth}{2.5em}
\cftsetindents{listings}{0em}{\listingslabelwidth}
\renewcommand\lstlistingname{Algorithm}
\renewcommand\lstlistlistingname{List of Algorithms}
\def\lstlistingautorefname{Algorithm}
\begin{document}
\begingroup
\let\clearpage\relax
\let\cleardoublepage\relax
\let\cleardoublepage\relax
\phantomsection
\addcontentsline{toc}{chapter}{List of Figures}
\listoffigures
\vspace*{5ex}
\phantomsection
\addcontentsline{toc}{chapter}{List of Tables}
\listoftables
\vspace*{5ex}
\phantomsection
\addcontentsline{toc}{chapter}{List of Listings}
\lstlistoflistings
\endgroup
\clearpage
\begin{lstlisting}[caption={First listing}]
for i = 1,...,n:
print 'Hello'
\end{lstlisting}
\begin{lstlisting}[caption={Second listing}]
for i = 1,...,n:
print 'Goodbye'
\end{lstlisting}
\end{document}
编译后,你可以在第二页找到 List of Listings 的标题。在我的论文中,它实际上与 List of Listings 在同一页。
答案1
将以下内容添加到文档序言中,
\makeatletter
\renewcommand{\cftmarklol}{%
\@mkboth{}{}%
}
\makeatother
这覆盖了通常的定义:
\@mkboth{\lstlistoflistingname}{\lstlistoflistingname}
请注意,您可能还必须对其他“...列表”执行此操作。在您的 MWE 中,列表列表(或算法)实际上会覆盖并清空标题,并且由于所有内容都适合放在一页上,因此它可以正常工作。但是,如果您的其他“...列表”合在一起跨越多页,则可能需要进行一些工作。