У меня есть этот код
\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}
Я бы хотел, чтобы разорванный текст был отступом к той же колонке, где начиналось утверждение.
решение1
Оберните свою длинную строку в 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}
Текущий отступ ( \algorithmicindent
) удаляется с \linewidth
, чтобы точно соответствовать ширине горизонтальной линии. Добавление a \strut
в конце позволяет правильно выравнивать по вертикали строки (или \State
s) в строках, не имеющих нижних выносных элементов.