Ich verwende algorithm2e
es, um Algorithmen zu schreiben. Ich gehe dabei so vor, dass ich vor dem eigentlichen Algorithmus einen Abschnitt für Eingabe- und Ausgabeargumente und, falls relevant, Verweise auf andere Algorithmen und Gleichungen habe, die möglicherweise weit weg im Dokument stehen. So:
Ich habe den Abschnitt „Präambel“ der Referenzen mit eingeleitet \SetKwInput{KwRef}{Referências}
. So weit, so gut.
Aber die Art, wie ich es mache, scheint nicht die cleverste zu sein. Ich verwende \quad
am Anfang jedes Eintrags:
\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}
Wie lässt sich das auf intelligente Weise bewerkstelligen?
Antwort1
Sie könnten die Platzierung von stattdessen auch \quad
automatisch über ein durchführen tabular
; dies scheint zu Ihrem aktuellen Verwendungszweck zu passen:
\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}