我有以下代码:
\documentclass{article}
\usepackage{algorithm}
\usepackage[noend]{algpseudocode}
\begin{document}
\begin{algorithm}
\caption{Main D Algorithm}\label{alg:cap}
\begin{algorithmic}[1]
\For{a for statement}
\If{some coding}
\State do something
\ElsIf{another condition}
\For{some condition}
\If{another statement}
\State do something
\ElsIf{problem is here}
\State whatever
\end{algorithmic}
\end{algorithm}
\end{document}
显示如下:
我的问题是,我想让最后一个 elseif 语句(第 8 行)与第一个 if 语句(第 2 行)对齐,但我无法做到这一点。我尝试过使用 endif 之类的方法(显然我当时修改了 \usepackage),但算法没有调整。有没有人能帮助我调整这个以及这个包中的缩进?
答案1
您必须分别用和关闭所有\For
循环和\If
语句。\EndFor
\EndIf
\documentclass{article}
\usepackage{algorithm}
\usepackage[noend]{algpseudocode}
\begin{document}
\begin{algorithm}
\caption{Main D Algorithm}\label{alg:cap}
\begin{algorithmic}[1]
\For{a for statement}
\If{some coding}
\State do something
\ElsIf{another condition}
\For{some condition}
\If{another statement}
\State do something
\EndIf
\EndFor
\ElsIf{problem is here}
\State whatever
\EndIf
\EndFor
\end{algorithmic}
\end{algorithm}
\end{document}