这程序环境要求标题采用非常受限的形式:“Name()”。但是,我想添加更多详细信息,例如:“我的超棒程序 $A = (para1, para2)$”。我该怎么做?
实际上,这个标题可以在算法环境,或者,如何将环境的标签(例如算法 1)更改为“过程”。
答案1
如果你只是想更改Algorithm
为Procedure
,你可以执行以下操作:
\documentclass{article}
\usepackage{algorithm2e}
\renewcommand{\algorithmcfname}{Procedure}
\begin{document}
\begin{algorithm}[H]
\SetAlgoLined
\KwData{this text}
\KwResult{how to write algorithm with \LaTeX2e }
initialization\;
\While{not at end of this document}{
read current\;
\eIf{understand}{
go to next section\;
current section becomes this one\;
}{
go back to the beginning of current section\;
}
}
\caption{How to write algorithms}
\end{algorithm}
\end{document}
这姓名算法存储在 中\algorithmcfname
,您可以重新定义以满足您的需要。您还可以使用\SetAlgorithmName{#1}{#2}{#3}
where
#1
表示与算法列表关联的名称#2
algorithm
表示与环境关联的名称#3
表示与hyperref
的\autoref
名字
假设你想删除程序,您还希望将其从算法列表中删除,因此没有任何计数器与其关联。以下\@caption
在新algoproc
环境中重新定义可实现此目的:
\documentclass{article}
\usepackage[ruled]{algorithm2e}
\makeatletter
\newenvironment{algoproc}[1][]
{\renewcommand{\algorithmcfname}{Procedure}%
\begin{algorithm}[#1]
\long\def\@caption##1[##2]##3{%
\par
\begingroup\@parboxrestore
\if@minipage\@setminipage\fi
\normalsize \@makecaption{\AlCapSty{\AlCapFnt\algorithmcfname}}{\ignorespaces ##3}%
\par\endgroup
}}
{\end{algorithm}}
\makeatother
\begin{document}
\begin{algoproc}[H]
\SetAlgoLined
\KwData{this text}
\KwResult{how to write algorithm with \LaTeX2e }
initialization\;
\While{not at end of this document}{
read current\;
\eIf{understand}{
go to next section\;
current section becomes this one\;
}{
go back to the beginning of current section\;
}
}
\caption{How to write algorithms}
\end{algoproc}
\end{document}