Я использую 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}