
Considere el siguiente MWE:
\documentclass[twocolumn]{article}
\usepackage{algorithm}
\usepackage{algorithmicx}
\usepackage{algpseudocode}
\begin{document}
\begin{figure}[t]
\noindent\begin{minipage}{\columnwidth}
\begin{algorithm}[H]
\begin{algorithmic}[1]
\Function{Foo}{parameters}
\State{Do something}
\State{\Return result}
\EndFunction
\end{algorithmic}
\caption{Algorithm 1}
\end{algorithm}
\end{minipage}
\noindent\begin{minipage}{\columnwidth}
\begin{algorithm}[H]
\begin{algorithmic}[1]
\Function{Foo}{parameters}
\State{Do something}
\State{\Return result}
\EndFunction
\end{algorithmic}
\caption{Algorithm 2}
\end{algorithm}
\end{minipage}
\end{figure}
Some text.
Then comes the next algorithm.
\pagebreak
\begin{algorithm}[t]
\begin{algorithmic}[1]
\Function{Foo}{parameters}
\State{Do something}
\State{\Return result}
\EndFunction
\end{algorithmic}
\caption{Algorithm 3}
\end{algorithm}
And again some text.
\end{document}
Quiero combinar dos (o potencialmente más) algoritmos en un objeto flotante. La única solución para esto que encontré es usar dos minipáginas y agregar un nuevo entorno de algoritmo dentro. El problema con la solución es que agrega algo de espacio encima del algoritmo. Esto es claramente visible al redactar el documento. Hay algo de espacio encima de los algoritmos combinados en la columna de la izquierda. ¿El algoritmo único de la columna de la derecha aparece correctamente?
¿Cómo puedo eliminar el espacio adicional o existe alguna solución mejor para combinar dos algoritmos en un flotante?
Respuesta1
Hay un \baselineskip
que quitar.
\documentclass[twocolumn]{article}
\usepackage{algorithm}
\usepackage{algorithmicx}
\usepackage{algpseudocode}
\begin{document}
\begin{figure}[tp]
\vspace*{-\baselineskip}
\begin{minipage}{\columnwidth}
\begin{algorithm}[H]
\begin{algorithmic}[1]
\Function{Foo}{parameters}
\State{Do something}
\State{\Return result}
\EndFunction
\end{algorithmic}
\caption{Algorithm 1}
\end{algorithm}
\end{minipage}
\begin{minipage}{\columnwidth}
\begin{algorithm}[H]
\begin{algorithmic}[1]
\Function{Foo}{parameters}
\State{Do something}
\State{\Return result}
\EndFunction
\end{algorithmic}
\caption{Algorithm 2}
\end{algorithm}
\end{minipage}
\end{figure}
Some text.
Then comes the next algorithm.
\vfill
\pagebreak
\begin{algorithm}[tp]
\begin{algorithmic}[1]
\Function{Foo}{parameters}
\State{Do something}
\State{\Return result}
\EndFunction
\end{algorithmic}
\caption{Algorithm 3}
\end{algorithm}
And again some text.
\end{document}
No es necesario \noindent
, porque la sangría se establece en cero en el interior figure
.