将算法列表和清单列表添加到 pittetd

将算法列表和清单列表添加到 pittetd

我的问题是关于添加正确格式的\listofalgorithms(以及更高版本的\listoflistingspittetd班级。

我认为不可能\renewcommand获得\listofalgorithms一致的格式(或者可以吗?),所以我尝试复制一些\listoffigures\listoftables代码。以下是我目前所得到的:

\newcommand\listofalgos{\clearpage
  \typeout{List of Algorithms}%
  \@ifundefined{@outlinefile}{}{%
    \hypertarget{prelim.7}{}%
    \protected@write\@outlinefile{}{%
      \protect\BOOKMARK
      [0][]{prelim.7}{LIST OF ALGORITHMS}{}%
      \protect\begingroup\protect\makeatletter
      \protect\prepare@bookmarks7
      \protect\@input{\jobname.loa}
      \protect\endgroup}}
  \null\vskip 1in
  {\normalfont\bfseries\centering
    LIST OF ALGORITHMS\par}
  \par\vspace{54\p@}%
  \@starttoc{loa}\newpage%
  \@enable{preface}{the first chapter}}

现在的问题是

  • 标题文字和页码之间的间距不合适,
  • 每个条目不应该有段落式的缩进,并且
  • 每个条目不占一行:

在此处输入图片描述

是不是文件有问题loa啊?

\defcounter {refsection}{0}\relax
\contentsline {algorithm}{\numberline {1}{\ignorespaces Backpropagation for computing weight updates in a fully-connected neural network, going over one line}}{1}{algorithm.1}
\defcounter {refsection}{0}\relax
\contentsline {algorithm}{\numberline {2}{\ignorespaces Static linear response approach within fragment-localized formalism.}}{3}{algorithm.2}
\defcounter {refsection}{0}\relax
\contentsline {algorithm}{\numberline {3}{\ignorespaces Continuation of algorithm\nobreakspace {}\ref {alg:solve-linear-response}}}{4}{algorithm.3}

它看起来应该如下所示(忽略不同的颜色,这只是超链接):

在此处输入图片描述

是否可以按照类似以下的方式简化?

\renewcommand{\listalgorithmname}{LIST OF ALGORITHMS}
\renewcommand{\listofalgorithms}{\listof{algorithm}{\listalgorithmname}}
  • \let\l@figure\l@table上面的代码(位于in之后)有什么错误pittetd.cls
  • 是否有类似的方法\listoflistings

答案1

据我所知,问题的解决方案没有任何问题,只是缺少了一些东西。答案帮助我弄清楚了。虽然不涉及修改文件的解决方案cls/dtx是浮动补丁,但底层解决方案是直接继承表格式:

\newcommand*\l@table{\@dottedtocline{1}{1.5em}{\@floatl}}

通过使用

\let\l@algorithm\l@table

结果代码如下:

\newcommand\listoflistings{\clearpage
  \typeout{List of Listings}%
  \@ifundefined{@outlinefile}{}{%
    \hypertarget{prelim.8}{}%
    \protected@write\@outlinefile{}{%
      \protect\BOOKMARK
      [0][]{prelim.8}{LIST OF LISTINGS}{}%
      \protect\begingroup\protect\makeatletter
      \protect\prepare@bookmarks8
      \protect\@input{\jobname.lol}
      \protect\endgroup}}
  \null\vskip 1in
  {\normalfont\bfseries\centering
    LIST OF LISTINGS\par}
  \par\vspace{54\p@}%
  \@starttoc{lol}\newpage
  \@enable{preface}{the first chapter}}
\newcommand\listofalgos{\clearpage
  \typeout{List of Algorithms}%
  \@ifundefined{@outlinefile}{}{%
    \hypertarget{prelim.9}{}%
    \protected@write\@outlinefile{}{%
      \protect\BOOKMARK
      [0][]{prelim.9}{LIST OF ALGORITHMS}{}%
      \protect\begingroup\protect\makeatletter
      \protect\prepare@bookmarks9
      \protect\@input{\jobname.loa}
      \protect\endgroup}}
  \null\vskip 1in
  {\normalfont\bfseries\centering
    LIST OF ALGORITHMS\par}
  \par\vspace{54\p@}%
  \@starttoc{loa}\newpage
  \@enable{preface}{the first chapter}}
\let\l@algorithm\l@table

列表列表似乎已经被适当格式化。

这些提供\listofalgos\listoflistings而不是\listofalgorithms\listlistoflistings

相关内容