我创建了另一个列表,而不是 \listoftables 和 \listoffigures。我需要在目录中为这个创建的列表在名称“Quadro”后面添加符号“--”。我对 \listoffigures 和 \listoftables 都做了这件事,但该解决方案不适用于由 \newfloat 创建的另一个列表,因为该解决方案使用的是 \tocloft。
我的 .cls 文件的一部分用于创建这个新列表
\RequirePackage{float}
\floatstyle{plaintop}
\newfloat{quadro}{htb!}{loq}[chapter]
\floatname{quadro}{Quadro}
\newcommand{\listofquadros}
\renewcommand*{\listof}[2]{%
\pagestyle{empty}
\@ifundefined{ext@#1}{\float@error{#1}}{%
\@namedef{l@#1}{\@dottedtocline{1}{3em}{2.6em}}%
%\float@listhead{#2}%
\begin{center}\textbf{\Large {#2}}\end{center}
\begingroup\setlength{\parskip}{\z@}%
\@starttoc{\@nameuse{ext@#1}}%
\endgroup}%
\cleardoublepage%
}
主 .tex 文件
{
\let\oldnumberline\numberline%
\renewcommand{\numberline}{Quadro~\oldnumberline}
% \renewcommand\cfttabaftersnum{\enspace--\enspace}
\listof{quadro}{Lista de Quadros}
\centering \listofquadros \thispagestyle{empty} \clearpage
}
这是 \listoftables 的解决方案
{
\begin{center}
\let\oldnumberline\numberline
\renewcommand{\numberline}{\tablename~\oldnumberline}
\renewcommand\cfttabaftersnum{\enspace--\enspace}
\listoftables \thispagestyle{empty} \clearpage
\end{center}
}
gol 是将这个符号“--”放在下面第二幅图中 \newfloat 创建的列表中的单词“Quadro”前面。\listoftables 的当前结果如下:
现在正在发生这样的事情:
答案1
请记住,\numberline
实际上需要一个参数。它隐藏在通过 进行的重新定义中\oldnumberline
,因为\oldnumberline
被称为更新的 中的最后一个标记\numberline
。您可以明确捕获该参数,以便在其后放置一些内容。例如,
\renewcommand{\numberline}[1]{Quadro~\oldnumberline{#1\enspace--}}