“确保”返回值的好方法

“确保”返回值的好方法

我想描述一种算法,它不会改变给定的输入,但会产生一个新元素:

\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包裹或者,若要更全面地了解上述替代方案,请参阅使用正确的语法打印程序

相关内容