![在 algorithm2e 中定义一个新关键字](https://linux22.com/image/302070/%E5%9C%A8%20algorithm2e%20%E4%B8%AD%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E6%96%B0%E5%85%B3%E9%94%AE%E5%AD%97.png)
我正在尝试为我的算法定义一个新关键字:
\documentclass{article}
\usepackage[]{algorithm2e}
\begin{document}
\SetKw{kwInit}{Init:}
\begin{algorithm}
\kwInit{$\alpha_n=1$ for all $n$}
\While{not at end of this document}{
do this and that
}
\end{algorithm}
\end{document}
问题是 Init 后面的冒号不会自动生成,我必须像这样定义它 {Init:},这样会生成一个粗体冒号而不是普通冒号。如何解决这个问题?此外,参数“for all n”将变成斜体,紧接着下一行的“while”。我该如何解决这个问题?
谢谢。
答案1
听起来你正在寻找\SetKwInput
语法
\SetKwInput{<name>}{<keymord>}
\<name>{<arg>}
它定义了要以关键字排版打印的宏,<keyword>
后跟:
,然后是参数<arg>
。
完整示例:
\documentclass{article}
\usepackage[]{algorithm2e}
\SetKwInput{kwInit}{Init}
\begin{document}
\begin{algorithm}
\kwInit{$\alpha_n=1$ for all $n$}
\While{not at end of this document}{
do this and that
}
\end{algorithm}
\end{document}
结果: