Sie müssen mehrere Algorithmen in einer einzelnen Abbildung verwenden und für jeden Algorithmus Untertitel haben.

Sie müssen mehrere Algorithmen in einer einzelnen Abbildung verwenden und für jeden Algorithmus Untertitel haben.
\documentclass{article}
\usepackage{algorithm,algpseudocode}
\algtext*{EndIf}% Remove \EndIf
\renewcommand{\thealgorithm}{}
\usepackage{amsmath,amssymb}
\usepackage{subcaption}
\usepackage{comment}
\begin{document}

\begin{algorithm}
\caption{$Game PrvInd_{G,\phi}$}
\label{pseudoPSO}
\begin{algorithmic}
\Procedure{Garble}{$f_0, f_1, x_0, x_1$} 

    \If{$f(\phi(f0) \neq\phi(f1)$} 
    \Return $\perp$ \EndIf
    \If {$ev(f_0, x_0) \neq ev(f_1, x_1)$}
    \Return $\perp$ \EndIf
    \If{$\{x_0,x_1\} \nsubseteq \{0,1\}^{{f_0}.n}$} \Return $\perp$ \EndIf
    $(F, e, d) \leftarrow Gb(1^k, f_b)$; 
    $X \leftarrow En(e, x_b)$
    \Return (F,X, d) 
\EndProcedure
\end{algorithmic}
\end{algorithm}

\begin{algorithm}
\caption{$Game PrvInd_{G,\phi,S}$}
\label{pseudoPSO}
\begin{algorithmic}
\Procedure{Garble}{f,x,} 

    \If{$x\notin\{0,1\}^{{f}.n}$}
    \Return $\perp$ \EndIf
    \If {b=1}
    $(F, e, d) \leftarrow Gb(1^k, f)$; 
     $X \leftarrow En(e, x)$
    \Else $ y \leftarrow ev(f, x); (F,X, d) \leftarrow S(1^k, y,\phi(f))$
    \EndIf
    \Return (F,X, d) 
\EndProcedure
\end{algorithmic}
\end{algorithm

\end{document}

Ich möchte mehrere Algorithmen in einer einzigen Abbildung darstellen und zu jedem Algorithmus auf der rechten Seite Untertitel angeben, wie in der Abbildung unten dargestellt: Gewünschte Ausgabe

Aber was ich bekomme, ist Folgendes (wird nur für die ersten beiden Algorithmen angezeigt:)

Ausgabe

Gibt es eine andere Bibliothek, die ich dafür verwenden muss?

Antwort1

Mit dem Folgenden erreichen Sie Ihr Ziel: Setzen Sie jeden Algorithmus in ein tabular(um die entsprechenden Regeln (oben und unten) anzuwenden, und verwenden Sie dann einfach eine algorithmicUmgebung, um den Pseudocode festzulegen:

Bildbeschreibung hier eingeben

\documentclass{article}

\usepackage[margin=0.5in]{geometry}

\usepackage{algorithm,algpseudocode,amsmath,amssymb}
\algtext*{EndIf}% Remove \EndIf
\renewcommand{\thealgorithm}{}

\begin{document}

\begin{figure}
  \begin{tabular}[t]{@{} p{.49\linewidth} @{}}
    \hline
    \begin{algorithmic}
      \Procedure{Garble}{$f_0, f_1, x_0, x_1$}\hfill $\text{Game PrvInd}_{G,\phi}$
        \If{$f(\phi(f0) \neq \phi(f1))$} \Return $\perp$
        \EndIf
        \If{$\text{ev}(f_0, x_0) \neq \text{ev}(f_1, x_1)$} \Return $\perp$
        \EndIf
        \If{$\{x_0,x_1\} \nsubseteq \{0,1\}^{{f_0} \cdot n}$} \Return $\perp$
        \EndIf
        \State $(F, e, d) \leftarrow \text{Gb}(1^k, f_b)$;
        $X \leftarrow \text{En}(e, x_b)$
        \Return $(F, X, d)$
      \EndProcedure
    \end{algorithmic} \\
    \hline
  \end{tabular}\hfill
  \begin{tabular}[t]{@{} p{.49\linewidth} @{}}
    \hline
    \begin{algorithmic}
      \Procedure{Garble}{$f,x$}\hfill $\text{Game PrvInd}_{G,\phi,S}$
        \If{$x \notin \{0,1\}^{{f} \cdot n}$} \Return $\perp$
        \EndIf
        \If{$b = 1$} $(F, e, d) \leftarrow \text{Gb}(1^k, f)$;
          $X \leftarrow \text{En}(e, x)$
        \Else{} $y \leftarrow \text{ev}(f, x)$; $(F, X, d) \leftarrow S(1^k, y, \phi(f))$
        \EndIf
        \State \Return $(F, X, d)$
      \EndProcedure
    \end{algorithmic} \\
    \hline
  \end{tabular}
  \caption{Some games and their definitions.}
\end{figure}

\end{document}

verwandte Informationen