使用 amsart 和 algorithmic[x] 时出错

使用 amsart 和 algorithmic[x] 时出错

我使用algorithmalgorithmicx包在论文中输入算法,我的主要文档类是amsart。一切都很好,直到我尝试使用\listofalgorithms。这会返回各种错误消息,其中一些我已经能够解决,这要感谢本网站上的其他线程。我现在被困在以下情况,这是一个(非常)最小的工作示例:

\documentclass{amsart}
\usepackage{algorithmic}
\let\chapter\section               % Conflict fix found on this site.
\usepackage[norelsize]{algorithm}  % [norelsize] fixes another conflict.

\begin{document}
\listofalgorithms                  % This is the problematic command.
\end{document}

此 MWE 使用algorithmic,但发生相同的行为algorithmicx。通过 pdflatex 运行此操作会返回错误

! Missing } inserted.
<inserted text> 
            }
l.7 \listofalgorithms

我希望有人能提示如何解决此问题。

谢谢!

答案1

一些重新定义是必要的(请注意,我没有使用该norelsize选项):

\documentclass{amsart}
\usepackage{algorithmic}
\let\chapter\section               % Conflict fix found on this site.
\usepackage{algorithm}  % [norelsize] fixes another conflict.

\makeatletter
\def\listofalgorithms{\@starttoc{loa}\listalgorithmname}
\def\l@algorithm{\@tocline{0}{3pt plus2pt}{0pt}{1.9em}{}}
\makeatother

\begin{document}

\listofalgorithms

\begin{algorithm}
\caption{test algorithm one}
\end{algorithm}
\begin{algorithm}
\caption{test algorithm two}
\end{algorithm}

\end{document}

在此处输入图片描述

相关内容