
Betrachten Sie das folgende 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}
Ich möchte zwei (oder möglicherweise mehr) Algorithmen in einem schwebenden Objekt kombinieren. Die einzige Lösung, die ich dafür gefunden habe, besteht darin, zwei Miniseiten zu verwenden und darin eine neue Algorithmusumgebung hinzuzufügen. Das Problem mit der Lösung besteht darin, dass über dem Algorithmus etwas Platz entsteht. Dies ist beim Kompilieren des Dokuments deutlich sichtbar. Über den kombinierten Algorithmen in der linken Spalte ist etwas Platz. Der einzelne Algorithmus in der rechten Spalte wird richtig angezeigt?
Wie kann ich den zusätzlichen Speicherplatz entfernen oder gibt es eine bessere Lösung, um zwei Algorithmen in einem Float zu kombinieren?
Antwort1
Es gibt einen \baselineskip
zu entfernen.
\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}
Das brauchst du nicht \noindent
, da die Einrückung darin auf Null gesetzt ist figure
.