在 listof 中的名称+数字后添加一个符号

在 listof 中的名称+数字后添加一个符号

我创建了另一个列表,而不是 \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--}}

相关内容