我正在使用经典论文主题,我试图使我的算法列表与表格和图形列表的格式相同。我正在使用包algorithm2e
。这是它目前的样子。
我尝试过这个问题但它们不起作用,大概是因为它们使用了algorithm
包。使用接受的答案,算法列表采用图形列表的名称,但不列出任何内容:
另一个答案根本没有改变任何事情。
由于 classicthesis 模板非常庞大,我不确定如何提供一个最小的工作示例...以下代码使用classicthesis.sty
来自 classicthesis 模板的原始文件重现了该问题。
\documentclass{scrreprt}
\usepackage{classicthesis}
\usepackage{algorithm2e}
\begin{document}
\listoftables
\listofalgorithms
\newpage
Here is Algorithm \ref{alg:some_alg}.
\begin{algorithm}
\For{something}{
something else
}
\caption{Some algorithm.}\label{alg:some_alg}
\end{algorithm}
Here is Table \ref{tab:some_table}.
\begin{table}
\centering
\begin{tabular}{cc}
some line & some content \\
some other line & some other content \\
\end{tabular}
\caption{Some table.}
\label{tab:some_table}
\end{table}
\end{document}
我希望从算法表中删除点,并撤消页码的对齐,以使其看起来像上面的表格列表。
答案1
关键是 tocloft 命令\newlistof
。实际的格式化由 执行\l@algocf
。
\documentclass{scrreprt}
\usepackage{classicthesis}
\usepackage{algorithm2e}
\makeatletter
\newlistof{algorithms}{loa}{\listalgorithmcfname}%
\renewcommand{\cftalgorithmsleader}{\hspace{1.5em}}%
\renewcommand{\cftalgorithmsafterpnum}{\cftparfillskip}%
\renewcommand{\cftalgorithmspresnum}{\algorithmcfname~}%
\newlength{\algorithmslabelwidth}%
\settowidth{\algorithmslabelwidth}{\cftalgorithmspresnum~999}%
\addtolength{\algorithmslabelwidth}{2.5em}%
\cftsetindents{algorithms}{0em}{\algorithmslabelwidth}%
\let\l@algocf\l@algorithms
\makeatother
\begin{document}
\listoftables
\listofalgorithms
\newpage
Here is Algorithm \ref{alg:some_alg}.
\begin{algorithm}
\For{something}{
something else
}
\caption{Some algorithm.}\label{alg:some_alg}
\end{algorithm}
Here is Table \ref{tab:some_table}.
\begin{table}
\centering
\begin{tabular}{cc}
some line & some content \\
some other line & some other content \\
\end{tabular}
\caption{Some table.}
\label{tab:some_table}
\end{table}
\end{document}