Scissor LaTeX のアルゴリズム用パッケージ
Scissor LaTeX ではアルゴリズム用パッケージは一部のみ動作します。algorithm 環境は番号付きのキャプションと \label で動作します。algorithmic の大文字のコマンド(\STATE、\FOR)は学会レイアウトでのみ読み取られます。algpseudocode(\State、\For)と algorithm2e(\KwIn、\For{}{})は非対応なので、代わりに手順を verbatim ブロックに書いてください。
パッケージの役割
LaTeX で擬似コードを書くには、通常 2 つのパッケージを使います。algorithm は「Algorithm 1: ...」というキャプション付きの番号付き環境を提供し、図と同じようにフロートします。手順を書くのはもう 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 ... | 非対応:コマンド名はスキップされ、手順は 1 行につながります。 |
| algorithm2e | \KwIn, \KwOut, \For{..}{..}, \eIf, \; | 非対応:メッセージを出してスキップされ、手順はつながります。 |
algorithm の中では、図と同じように内容が中央揃えになります。verbatim ブロックは全体として中央に置かれ、各行は入力どおりに左揃えとインデントが保たれるため、ここで手順を示す最も確実な方法です。
例
番号と参照付きで、手順を verbatim に書いた例です。
verbatim で手順を書いた 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.algorithm2e のコマンドはスキップされるため、行がつながります。認識できなかったコマンドは「問題」タブに一覧表示されます。
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}「問題」タブ: 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 のインストール環境でも動作します。
アルゴリズムの行が 1 行につながってしまうのはなぜですか?
手順に algpseudocode や algorithm2e のコマンドを使っているためです。Scissor LaTeX はこれらを読み取らず、コマンド名がスキップされるので、すべての手順のテキストが 1 行にまとまってしまいます。
このページの例はすべて、サイトのビルド時に Scissor LaTeX で組版されています。 最終更新:2026-11-07