Ich habe diesen Code
\documentclass{article}
\usepackage{algorithm}
\usepackage{algpseudocode}
\begin{document}
\begin{algorithm}
\caption{Minimal Working Example for my Problem}
\begin{algorithmic}[1]
\While{Indentation is a mess}
\State Examine a very long line that looks horrible because the indentation is all messed up.
\EndWhile
\end{algorithmic}
\end{algorithm}
\end{document}
Ich möchte, dass der fehlerhafte Text in die gleiche Spalte eingerückt wird, in der die Anweisung begann.
Antwort1
Umschließen Sie Ihre lange Zeile mit einem t
op-aligned \parbox
:
\documentclass{article}
\usepackage{algorithm}% http://ctan.org/pkg/algorithms
\usepackage{algpseudocode}% http://ctan.org/pkg/algorithmicx
\begin{document}
\begin{algorithm}
\caption{Minimal Working Example for my Problem}
\begin{algorithmic}[1]
\While{Indentation is a mess}
\State \parbox[t]{\dimexpr\linewidth-\algorithmicindent}{Examine a very long line that looks horrible
because the indentation is all messed up.\strut}
\EndWhile
\end{algorithmic}
\end{algorithm}
\end{document}
Die aktuelle Einrückung ( \algorithmicindent
) wird entfernt, \linewidth
um genau in die horizontale Zeilenbreite zu passen. Das Hinzufügen eines \strut
am Ende ermöglicht eine korrekte vertikale Ausrichtung zwischen Zeilen (oder \State
s) in Zeilen ohne Unterlängen.