来自文档algorithm2e 我原本希望\SetArgSty
更改伪代码中函数参数的样式,而不是 algorithm2e 使用的关键字中的某些参数。因此,if/for/etc 参数不应更改,而 myfun() 参数应更改。
但事实并非如此。那么,应该如何SetArgSty
配置呢?
代码
\documentclass[10pt,a4paper,twoside]{report}
\usepackage[linesnumbered,ruled,vlined,algochapter]{algorithm2e}
\DontPrintSemicolon
\SetKwFunction{MyFun}{myFun}
\usepackage{xcolor}
% Use Arial font as default
%
\renewcommand{\rmdefault}{phv}
\renewcommand{\sfdefault}{phv}
\begin{document}
\begin{algorithm}
\KwIn{ \(x\) and \(y\) }
\KwOut{ \Result }
\If { condition } {
then-clause
}
\MyFun{v,nothing} \;
\caption{This is a caption }
\label{algo}
\end{algorithm}
\newcommand{\myargfontR}{\textcolor{red}}
\SetArgSty{myargfontR}
\begin{algorithm}
\KwIn{ \(x\) and \(y\) }
\KwOut{ \Result }
\If { condition } {
then-clause
}
\MyFun{v,nothing} \;
\caption{This is a caption }
\label{algo}
\end{algorithm}
\end{document}
图像
答案1
\SetArgSty
重新定义\ArgSty
,通常在设置参数\ArgSty
时使用。这里的参数是一个非常宽泛的术语,因为您可以为函数、关键字或条件设置参数……Arg
例如,\SetKw{Something}{something}
允许您使用\Something
或者 \Something{<stuff>}
在后一种情况下,<stuff>
使用 进行格式化,\ArgSty
因为它是一个可能的“参数” \Something
(用伪代码术语来说)。
\ArgSty
快速搜索algorithm2e.sty
表明它将对使用定义的事物产生影响
\SetKw
\SetKwFunction
\SetKwProg
\SetKwArray
\SetKwSwitch
\SetKwIf
\SetKwFor
\SetKwRepeat
\ArgSty
为(几乎)所有伪代码构造配置大多数参数。
答案2
事实上,ArgSty 是用于所有类型的算法参数的样式。因此,您获得的结果正是预期的结果。我同意函数的参数可能存在不同的拼写错误。我会考虑在下一个版本中更改此问题。