tocloft newlistof numwidth

tocloft newlistof numwidth

我正在尝试制作一个List of TBDs类似于内置List of Figures和的自定义。我使用的功能List of Tables使它们全部工作,但我用于 TBD()的编号格式比表格上的默认值长。这里有很多关于如何调整间距的问题,文档似乎描述了如何做到这一点,但出于某种原因,我无法在我的环境中使用它。以下是我尝试过的三种方法(其中我的被称为):tocloftnewlistofTBD-#numspacingnewlistofTBDs

  1. \setlength{\cftTBDsnumwidth}{10em}
  2. \renewcommand*\cftTBDsnumwidth{10em}
  3. \cftsetindents{TBDs}{0mm}{10em}

这是 MWE(也是在 Overleaf 上直播):

\documentclass{article}
\usepackage{tocloft}

\newcommand{\listTBDname}{List of TBDs}
\newlistof{TBDs}{tbd}{\listTBDname}

% Theoretically, any of these options should fix the problem.
\cftsetindents{TBDs}{0mm}{10em}
\setlength{\cftTBDsnumwidth}{10em}
\renewcommand*\cftTBDsnumwidth{10em}

\newcommand{\TBD}[1]{%
    \refstepcounter{TBDs}%
    [TBD-\arabic{TBDs}: #1]%
    \addcontentsline{tbd}{figure}{%
        \protect\numberline{TBD-\arabic{TBDs}}#1%
    }%
}

\begin{document}

\listofTBDs

\clearpage
\section{A section}
\TBD{Some definition}\par\noindent
\TBD{Some definition}\par\noindent
\TBD{Some definition}\par\noindent

\clearpage
\section{A section}
\TBD{Some definition}\par\noindent
\TBD{Some definition}\par\noindent
\TBD{Some definition}\par\noindent

\end{document}

输出如下:

Tex 渲染截图

答案1

弄清楚了!

由于我addcontentsline使用的是该figure类型,所以我必须这样做:

\setlength\cftfignumwidth{10em}

不幸的是,由于我的真实文档也使用了图表目录,因此此解决方案会导致另一个问题。我想我需要弄清楚如何<type在那里创建自定义 >。当我在那里添加新内容时,生成的表格会丢失很多格式...


编辑:我找到了避免重新定义格式的解决方案listoffigures。以下是更新的 MWE:

\documentclass{article}
\usepackage[titles]{tocloft}

\newcommand{\listTBDname}{List of TBDs}
\newlistof{TBDs}{tbd}{\listTBDname}

\makeatletter
\newcommand*{\l@tbd}{\@dottedtocline{1}{1.5em}{5em}}
\makeatother

\newcommand{\TBD}[1]{%
    \refstepcounter{TBDs}%
    [TBD-\arabic{TBDs}: #1]%
    \addcontentsline{tbd}{tbd}{%
        \protect\numberline{TBD-\arabic{TBDs}}#1%
    }%
}

\begin{document}

\listoffigures
\listofTBDs

\clearpage
\section{A section}
\begin{figure}\caption{Some figure}\end{figure}
\TBD{Some definition}\par\noindent
\begin{figure}\caption{Some figure}\end{figure}
\TBD{Some definition}\par\noindent
\begin{figure}\caption{Some figure}\end{figure}
\TBD{Some definition}\par\noindent

\clearpage
\section{A section}
\begin{figure}\caption{Some figure}\end{figure}
\TBD{Some definition}\par\noindent
\begin{figure}\caption{Some figure}\end{figure}
\TBD{Some definition}\par\noindent
\begin{figure}\caption{Some figure}\end{figure}
\TBD{Some definition}\par\noindent

\end{document}

它看起来是这样的:

图表和待定事项清单

相关内容