Arabtex 与算法之间的冲突

Arabtex 与算法之间的冲突

下面是一个最小的工作示例,它重现了我所面临的问题。

\documentclass{article}
\usepackage{algorithmic}
\usepackage{arabtex}
\begin{document}
\section{Introduction}
\RL{d}
\begin{algorithmic}
\STATE problem
\end{algorithmic}
\end{document}

我收到以下错误:

 LaTeX Error: 

Command \AND already defined.
               Or name \end... illegal, see p.192 of the manual.
  1. 我尝试使用 algorithmicx,但出现了同样的问题。
  2. 如果我注释掉算法部分,文档就可以成功编译
  3. 尝试按如下方式使用 savesym,但仍然出现相同的错误。

    \usepackage{algorithmic}
    \usepackage{savesym}
    \savesymbol{AND}
    \usepackage{arabtex}
    

任何帮助将不胜感激!

答案1

我真的不知道我在做什么,但如果您在评论中所说的是真的,那么下面的例子似乎有效。(有关原因的信息在评论中)

\documentclass{article}

\usepackage{algorithmic}
\usepackage{arabtex}

\begin{document}

\section{Introduction}

Some text.

\RL{d}

\let\AND\relax
\let\OR\relax
\let\NOT\relax
\begin{algorithmic}
\STATE problem
\end{algorithmic}

\RL{d}

\let\AND\relax
\let\OR\relax
\let\NOT\relax
\begin{algorithmic}
\STATE problem
\end{algorithmic}

Some text.

\end{document}

您还可以将其定义为自动(如埃格尔注意)xpatch通过在序言中包含以下内容来使用该包:

\usepackage{xpatch}
\xpretocmd{\algorithmic}{\let\AND\relax\let\OR\relax\let\NOT\relax}{}{}

相关内容