我有一个其他人创建的 tex 文件,它重新定义了算法包的命令以将其翻译成葡萄牙语。例如:
\renewcommand{\algorithmicwhile}{\textbf{enquanto}}
用来代替单词尽管经过恩夸托,这是将 while 翻译成葡萄牙语。
\renewcommand
但是,当我调用以下几行时出现错误:
\renewcommand{\algorithmicand}{\textbf{e}}
\renewcommand{\algorithmicor}{\textbf{ou}}
\renewcommand{\algorithmicto}{\textbf{até}}
这是第一行的错误:
! LaTeX Error: \algorithmicand undefined.
\algorithmicand
我是否因为、\algorithmicor
和\algorithmicto
未包含在算法包中而收到此错误?在这种情况下,我可以使用\newcommand
代替吗?\renewcommand
答案1
您可以使用以下命令查找命令的定义\foo
(包括该命令是否已定义)
\show\foo
测试\algorithmicand
表明它确实由包定义algorithmic
。重新定义它也有效。
\documentclass{article}
\usepackage{algorithmic}
\begin{document}
\show\algorithmicand
\renewcommand{\algorithmicand}{\textbf{e}}
\algorithmicand
\end{document}
您应该提供一个产生您所描述的错误的最小示例。
答案2
更新algorithmic
软件包会有所帮助。早期版本,例如2006/06/02 的那个,请不要提供该命令,如您在链接中看到的那样。当前版本定义
\newcommand{\algorithmicand}{\textbf{and}}
以及之后的类似命令\algorithmicreturn
,这些命令在旧版本中已经包含。