![“确保”返回值的好方法](https://linux22.com/image/243117/%E2%80%9C%E7%A1%AE%E4%BF%9D%E2%80%9D%E8%BF%94%E5%9B%9E%E5%80%BC%E7%9A%84%E5%A5%BD%E6%96%B9%E6%B3%95.png)
我想描述一种算法,它不会改变给定的输入,但会产生一个新元素:
\documentclass[a4paper, 11pt]{scrbook}
\usepackage{algorithm}
\usepackage{algorithmic}
...
\begin{algorithmic}
\REQUIRE $\mathcal{P} \subset F[X_1 \dots X_{k-1 }][X_k]$
\ENSURE % something about the return value
\RETURN $\operatorname{Elim}_{X_k}(\mathcal{P})$
\end{algorithmic}
Ensure 并不是我想要的东西,因为我想对没有自己名字的输出做出声明。
另一件事是我想命名算法并在以后调用它。我知道算法与调用函数 Elim 没什么不同,但我想强调数学函数的存在与算法之间的区别(例如,我不想讨论数学函数的计算复杂性)。
有任何想法吗?
答案1
请注意,不需要使用algorithms
包裹- 你可以定义你自己的。
在下面的最小示例中,我定义了\OUTPUT
哪些排版输出:就像确保:和要求:(实际上作为\item
)。
\documentclass{article}
\usepackage{algorithmic}% http://ctan.org/pkg/algorithms
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\begin{document}
\newcommand{\algorithmicoutput}{\textbf{Output:}}
\newcommand{\OUTPUT}{\item[\algorithmicoutput]}
\begin{algorithmic}
\REQUIRE $\mathcal{P} \subset F[X_1 \dots X_{k-1 }][X_k]$
\OUTPUT Here is a statement about the output.
\RETURN $\operatorname{Elim}_{X_k}(\mathcal{P})$
\end{algorithmic}
\end{document}
我建议使用更高级的algorithmicx
包裹或者,若要更全面地了解上述替代方案,请参阅使用正确的语法打印程序。