我只是想知道是否有办法在 algorithm2e 包中的算法之外引用关键字数据。例如,给出 algorithm2e 中的示例,如果我想在算法之外的文本中引用 \KwData{this text},我该怎么做?
\begin{algorithm}[H]
\SetLine
\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}
答案1
在您给出的示例中,this text
完全未格式化,最好在文本中按原样使用它。但是,algorithm
使用各种宏来设置组件的样式:
\DataSty{<stuff>}
用于设置数据(默认为
\textsf
):\ArgSty{<stuff>}
用于设置参数(函数;默认为
\textit
):\KwSty{<stuff>}
用于作为算法输入参数的前缀(默认为
\textbf
):\FuncSty{<stuff>}
函数名称的格式(默认为
\texttt
):\CommentSty{<stuff>}
评论的格式(默认为
\texttt
):\TitleSty{<stuff>}
用于通过以下方式设置算法的标题
\TitleOfAlgo
(默认为常规文本):...
我也将在文本中使用适当的样式,如下例所示:
\documentclass{article}
\usepackage{algorithm2e}
\begin{document}
\SetKwData{matrixinput}{some matrix}%
\begin{algorithm}[H]
\KwIn{\matrixinput}
\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}
We use \matrixinput as input.
\end{document}
输入\matrixinput
定义外部环境algorithm
以使其在该范围之外可用(没有您的文本)。