关于 algpseudocode 的问题

关于 algpseudocode 的问题

我正在使用以下软件包:

\usepackage{algpseudocode}
\usepackage{algorithm}

但我不明白什么是包algpseudocode,因为我找不到文档。我已经关注了这一页。它和 有什么区别algorithmicx

另外,如何在不使用的情况下在函数内部进行调用(例如递归?)\text{...}(字体会有所不同,并且看起来不像函数)。以下是示例:

\begin{algorithm}
\begin{algorithmic}[1]
\Function {foo}{$a$}
...
\State \Return \text{foo($a-1$)}
\EndFunction
\end{algorithmic}
\end{algorithm}

我该如何创建新行(例如,如果 a\text{...}太长)?

最后,我如何定义\TRUE宏(如algorithmic包)?

提前致谢。

答案1

感谢 texenthusiast 和 karlkoeller 的帮助,我解决了所有问题。
algpseudocodealgorithmicx包的一部分(文档
对于嵌套函数我刚刚做了

\begin{algorithm}
\begin{algorithmic}[1]
\Function {foo}{$a$}
...
\State \Return \Call{foo}{$a-1$}
\EndFunction
\end{algorithmic}
\end{algorithm}

拆分长行To split a long line

\State \parbox[t]{.7\linewidth}{a very very very very very very very very very very very long line}

至于\True\algnewcommand\True{\textbf{true}\space}在文档开头添加的宏,

下面是完全可编译的代码:

\documentclass{report}
\usepackage[noend]{algpseudocode}
\usepackage{algorithm}
\algnewcommand\True{\textbf{true}\space}
\algnewcommand\False{\textbf{false}\space}
\begin{document}
\begin{algorithm}
\begin{algorithmic}[1]
\Function {foo}{$a$}
\State \parbox[t]{.7\linewidth}{a very very very very very very very very very very very long line}
\State \Return \Call{foo}{$a-1$}
\EndFunction
\end{algorithmic}
\end{algorithm}
\end{document}

相关内容