Estoy usando algorithm2e
para escribir algoritmos. Estoy haciendo las cosas de tal manera que, antes del algoritmo real, tengo una sección para argumentos de entrada y salida y, cuando sea relevante, referencias a otros algoritmos y ecuaciones que pueden estar lejos en el documento. Al igual que:
He introducido la sección de referencias "preámbulo" con \SetKwInput{KwRef}{Referências}
. Hasta ahora, todo bien.
Pero la forma en que lo estoy haciendo no parece ser la más inteligente. Estoy usando \quad
al principio de cada elemento:
\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}
¿Cuál es la forma inteligente de hacerlo?
Respuesta1
En su lugar, podría realizar la colocación de \quad
automáticamente mediante un tabular
; esto parece encajar con su uso actual:
\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}