편집 1:

편집 1:

다음과 같이 중첩된 for 루프를 포함하는 알고리즘을 작성하려고 합니다.

\documentclass[a4paper]{article}

\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{algorithm}
\usepackage[noend]{algpseudocode}

\title{Algorithm example}

\author{\LaTeX{}}

\date{\today}

\begin{document}
\maketitle

\section{Gibbs sampling Algorithm}

Algorithms can be included using the commands as shown in algorithm \ref{alg:gibbs}.

\begin{algorithm}
\caption{Collapsed Gibbs sampling algorithm for inference}\label{alg:gibbs}
\begin{algorithmic}[1]
\State Choose initial $z$ and $\xi$.
\For{$T$ iterations}
  \For{$D$ Subjects}
    \For{$N_d$ time segments}
      \State do something
    \EndFor
  \EndFor
\EndFor
\end{algorithmic}
\end{algorithm}

\end{document}

결과는 다음과 같습니다. 여기에 이미지 설명을 입력하세요

... 다음과 같은 오류가 발생합니다.

Undefined control sequence
Package algorithmicx: Some blocks are not closed!!!

IEEE의 온라인 템플릿을 사용하고 있으며 또한 확인했습니다.이것운이 좋지 않은 알고리즘이 포함된 중첩 for 루프에 대한 질문입니다.


편집 1:

\Endfor로 변경 \EndFor. 오류는 사라졌지만 동일한 결과가 나타납니다.

답변1

오류가 발생해도 멈추지 않고 계속해서 문제를 건너뛰는 "배치 모드"로 문서를 컴파일하고 있는 것 같습니다.

귀하의 경우 전체 오류 메시지는 다음과 같습니다.

! Undefined control sequence.
l.16 \Endfor

따라서 문제는 명령이 \Endfor인식되지 않지만 tex가 계속 진행하려고 시도하고 나중에 블록이 닫히지 않는다는 또 다른 오류를 생성한다는 것입니다.

\EndFor대신에 (이 명령의 올바른 철자)를 쓰면 문제가 해결됩니다 \Endfor.

출력에서 "end for"를 보려면 noend패키지에서 옵션을 제거하세요 ;-)

관련 정보