本文へ移動

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

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 のインストール環境でも動作します。

アルゴリズムの行が 1 行につながってしまうのはなぜですか?

手順に algpseudocode や algorithm2e のコマンドを使っているためです。Scissor LaTeX はこれらを読み取らず、コマンド名がスキップされるので、すべての手順のテキストが 1 行にまとまってしまいます。

このページの例はすべて、サイトのビルド時に Scissor LaTeX で組版されています。 最終更新:2026-11-07