본문으로 건너뛰기

Scissor LaTeX의 알고리즘 패키지

Scissor LaTeX에서 알고리즘 패키지는 일부 작동합니다. algorithm 환경은 번호 붙은 캡션, \label과 함께 작동합니다. algorithmic의 대문자 명령(\STATE, \FOR)은 학회 레이아웃에서만 읽힙니다. algpseudocode(\State, \For)와 algorithm2e(\KwIn, \For{}{})는 지원되지 않으므로, 대신 단계를 verbatim 블록에 넣으세요.

패키지가 하는 일

LaTeX에서 의사코드를 쓰려면 보통 패키지 두 개가 필요합니다. algorithm은 그림처럼 떠다니는, "Algorithm 1: ..." 캡션이 붙은 번호 환경을 제공합니다. 두 번째 패키지가 단계를 씁니다. algorithmic(대문자 명령 \STATE, \IF, \ENDIF), algorithmicx 묶음의 algpseudocode(대소문자 혼용 \State, \If, \EndIf), 또는 자체 algorithm 환경과 \KwIn, \For{condition}{body} 같은 명령을 가져오는 algorithm2e입니다.

여기서 작동하는 것

패키지기능Scissor LaTeX에서
algorithm\begin{algorithm}, \caption, \label, \ref작동: "Algorithm N", 캡션은 아래, 떠다니지 않음.
algorithm[H], [t], [h] 배치생략: 알고리즘은 쓴 자리에 머뭅니다.
algorithm\listofalgorithms지원 안 됨: 메시지를 남기고 건너뜁니다.
algorithmic\STATE, \IF, \FOR, \WHILE, \RETURN ...일부: 학회 레이아웃 문서에서 줄 번호 없이 읽힙니다. 그 밖에서는 알지 못합니다.
algpseudocode\State, \If, \For, \Function, \Return ...지원 안 됨: 명령 이름을 건너뛰어 단계가 한 줄로 이어집니다.
algorithm2e\KwIn, \KwOut, \For{..}{..}, \eIf, \;지원 안 됨: 메시지를 남기고 건너뛰며, 단계가 한 줄로 이어집니다.

algorithm 안의 내용은 그림처럼 가운데 정렬됩니다. verbatim 블록은 블록 전체가 가운데 놓이고 줄은 입력한 그대로 왼쪽 정렬과 들여쓰기를 유지하므로, 여기서 단계를 보여 주는 가장 확실한 방법입니다.

예제

번호와 참조가 있는 verbatim 단계:

verbatim 단계를 쓴 algorithm

LaTeX프리앰블: \usepackage{algorithm}편집기에서 열기 (새 탭에서 열림)
\begin{algorithm}
\caption{Find the largest value}
\label{alg:max}
\begin{verbatim}
best := xs[1]
for i := 2 to n:
    if xs[i] > best:
        best := xs[i]
return best
\end{verbatim}
\end{algorithm}
Algorithm~\ref{alg:max} looks at each value once.
Scissor LaTeX로 조판: verbatim 단계를 쓴 algorithm

algorithm2e 명령은 건너뛰므로 줄이 하나로 이어집니다. 문제 탭에 알지 못한 명령이 나열됩니다.

algorithm2e는 지원되지 않음

LaTeX프리앰블: \usepackage{algorithm2e}편집기에서 열기 (새 탭에서 열림)
\begin{algorithm}
\caption{Sum of a list}
\KwIn{numbers $a_1, \dots, a_n$}
$s \gets 0$\;
\For{$i \gets 1$ \KwTo $n$}{$s \gets s + a_i$\;}
\Return{$s$}\;
\end{algorithm}
Scissor LaTeX로 조판: algorithm2e는 지원되지 않음

문제 탭: Skipped 4 unknown commands: \KwIn, \For, \KwTo, \Return

알고리즘과 의사코드 페이지에서 학회 레이아웃의 algorithmic과 algpseudocode를 나란히 비교해 볼 수 있습니다.

호환성

  • TeX 설치 환경에서 여기로: 알고리즘은 번호와 캡션을 유지합니다. algpseudocode나 algorithm2e로 쓴 단계는 한 줄로 이어지므로, verbatim이나 학회 레이아웃의 algorithmic으로 다시 쓰세요.
  • 여기서 TeX 설치 환경으로: verbatim 단계를 쓴 algorithm은 어디서나 컴파일되고 똑같이 보입니다. 다만 알고리즘이 페이지 위쪽으로 떠오를 수 있습니다.

설명서는 CTAN에 있습니다: algorithms(algorithm과 algorithmic), algorithmicx(algpseudocode), algorithm2e.

알고리즘, listings, 학회 레이아웃도 참고하세요.

질문과 답변

Scissor LaTeX에서는 어떤 알고리즘 패키지를 써야 하나요?

번호와 캡션에는 algorithm을 쓰고, 단계는 verbatim 블록에 쓰세요. 이 방법은 여기의 모든 문서와 모든 TeX 설치 환경에서 작동합니다.

알고리즘의 줄이 하나로 합쳐지는 이유는 무엇인가요?

단계에 Scissor LaTeX가 읽지 않는 algpseudocode나 algorithm2e 명령을 썼기 때문입니다. 명령 이름을 건너뛰므로 모든 단계의 텍스트가 한 줄에 모입니다.

이 페이지의 모든 예제는 사이트를 빌드할 때 Scissor LaTeX로 조판됩니다. 마지막 업데이트: 2026-11-07