起こった問題
こういうやつ.
\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage{algpseudocode}
\begin{algorithm}[tbh]
\caption{疑似コード}
\begin{algorithmic}[1]
\REQUIRE hoge
\ENSURE hoge
\Function {main}{ $void$ }
\State $ N \leftarrow 1 $
\State hoge$ \leftarrow $ foo\_class(initial\_setting)
\State hoge.execute(OBJECTIVE, N)
\PRINT hoge.best\_value
\EndFunction
\Function {objective}{ bar }
\State $ a \leftarrow 1 $
\RETURN a
\EndFunction
\end{algorithmic}
\end{algorithm}
解決法
原因としてはパッケージが混在しているのが良くなかった[1][2].
- algorithmic パッケージを削除する
- 大文字のやつを小文字に置き換える(\REQUIRE → \Require など)
- \Print などは無いため,\State \textbf{print} (もしくは \State \PRINT)で置き換える
\usepackage{algorithm}
\usepackage{algpseudocode}
\begin{algorithm}[tbh]
\caption{擬似コード}
\begin{algorithmic}[1]
\Require hoge
\Ensure hoge
\Function {main}{ void }
\State $ N \leftarrow 1 $
\State hoge$ \leftarrow $ foo\_class(initial\_setting)
\State hoge.execute(OBJECTIVE, N)
\State \textbf{print} hoge.best\_trial
\EndFunction
\Function {objective}{ bar }
\State $ a \leftarrow 1 $
\State \textbf{return} a
\EndFunction
\end{algorithmic}
\end{algorithm}
参考サイト
[1] algorithmicxを使いLaTeXに擬似コードを追加 – Qiita
[2] how to remove the end for =0 in latex algorithm? – Stack Overflow