Algorithmisch: Nummerierung und Ausrichtung

Algorithmisch: Nummerierung und Ausrichtung

Wie können wir algorithmisch dafür sorgen, dass die „Eingabe“ in der ersten Zeile ausgerichtet wird und die Einrückung der Tabelle reduziert wird?

\documentclass[a4paper]{scrartcl}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{algorithm}
\usepackage{algpseudocode}

\algrenewcommand\algorithmicrequire{\textbf{Input:}}
\algrenewcommand\algorithmicensure{\textbf{Output:}}

\begin{document}
    
\begin{algorithm}
    \caption{Anonymous Key Generation}\label{alg:akg}
    \begin{algorithmic}[1]
        \Require \begin{tabular}{l l l}
            $\mathrm{AAA}$ & $=$ & $\mathrm{BBB}$\\
            $\mathrm{CCC}$ & $=$ & $\mathrm{DDD}$
        \end{tabular}
        
        \Ensure $\mathrm{EEE}$
        \State Compute
        \Statex \hspace{\algorithmicindent} 
        \begin{tabular}{l l l}
            $\mathrm{FFF}$ & $\mathrm{=}$ &  $\mathrm{GGG}$\\
            & $\mathrm{=}$ &  $\mathrm{HHH}$ \\
        \end{tabular}
        \State Return $III$
    \end{algorithmic}
\end{algorithm}

\end{document} 

Bildbeschreibung hier eingeben

Antwort1

Wenn Sie die Zeilen ausrichten müssen, empfehle ich eine modifizierte Version von aligned. Beachten Sie die Verwendung der topAusrichtung. \\In der letzten Zeile sollte „Nein“ verwendet werden.

\documentclass[a4paper]{scrartcl}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{algorithm}
\usepackage{algpseudocode}

\algrenewcommand\algorithmicrequire{\textbf{Input:}}
\algrenewcommand\algorithmicensure{\textbf{Output:}}

\newenvironment{ilaligned}{%
  $\openup-1\jot\begin{aligned}[t]%
}{\\[0.5ex]\end{aligned}$}

\begin{document}
    
\begin{algorithm}
    \caption{Anonymous Key Generation}\label{alg:akg}
    \begin{algorithmic}[1]
        \Require \begin{ilaligned}
            \mathrm{AAA} &= \mathrm{BBB}\\
            \mathrm{CCC} &= \mathrm{DDD}
        \end{ilaligned}
        
        \Ensure $\mathrm{EEE}$
        \State Compute
        \Statex \hspace{\algorithmicindent} 
          \begin{ilaligned}
            \mathrm{FFF} &= \mathrm{GGG}\\
                         &= \mathrm{HHH}
          \end{ilaligned}
        \State Return $III$
    \end{algorithmic}
\end{algorithm}

\end{document} 

Bildbeschreibung hier eingeben

verwandte Informationen