我用algorithm2e
它来编写算法。我这样做的目的是,在实际算法之前,我会有一个输入和输出参数部分,并在相关时引用文档中可能很远的其他算法和方程式。就像这样:
我已经用 介绍了参考文献的“序言”部分\SetKwInput{KwRef}{Referências}
。到目前为止一切顺利。
但我这样做似乎不是最聪明的方法。我\quad
在每个项目的开头都使用:
\begin{algorithm}
\caption{My example}
\KwIn{\\
\quad$X$: something\\
\quad$Y$: something else
}
\KwOut{\\
\quad$R$: the result
}
\KwRef{\\
\quad$f(\cdot)$ is the function introduced in Equation~\ref{eq:znorm}
}
$R \leftarrow X + Y$\;
\end{algorithm}
有什么聪明的方法可以做到这一点?
答案1
\quad
您可以通过 自动执行放置tabular
;这似乎适合您当前的用法:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{algorithm2e}
\renewcommand{\KwIn}[1]{%
\KwIna{\strut\\ \quad\begin{tabular}{@{} l @{}} #1 \end{tabular}}}
\renewcommand{\KwOut}[1]{%
\KwOuta{\strut\\ \quad\begin{tabular}{@{} l @{}} #1 \end{tabular}}}
\newcommand{\KwRef}[1]{%
\KwRefa{\strut\\ \quad\begin{tabular}{@{} l @{}} #1 \end{tabular}}}
\SetKwInput{KwIna}{Parâmetros de Entrada}
\SetKwInput{KwOuta}{Parâmetros de Saída}
\SetKwInput{KwRefa}{Referências}
\begin{document}
\begin{algorithm}
\caption{My example}
\KwIn{%
$X$: something \\
$Y$: something else
}
\KwOut{%
$R$: the result
}
\KwRef{%
$f(\cdot)$ is the function introduced in Equation~\ref{eq:znorm}
}
$R \leftarrow X + Y$\;
\end{algorithm}
\renewcommand{\theequation}{2.3}% Just for this example
\begin{equation}
f(x) = ax^2 + bx + c \label{eq:znorm}
\end{equation}
\end{document}