LaTeXで通常の索引と記号索引(nomencl.sty)を併用する

今書いている文書に、通常の索引に加えて記号索引を載せようと思いnomencl.styを使おうとした。自分はlatexmk+VSCode環境下で編集しているのでコマンドラインなど一度も触る機会が無く、ここで変に方法を変えると取り返しがつかなくなる危険があるので、latexmkへの記述のみで済ませる必要があった。

本題に入る前の注意。nomenclにはオプションとして言語毎の索引の書式が定義されている(\DeclareOptionX{catalan}{%...以下)。ヨーロッパの主要言語しかプリセットされていないので、使用する前には日本語用のオプションも追加しておこう(具体的にはhttp://xyoshiki.web.fc2.com/tex/nomencl.htmlを参照)。

クラスファイルはbxjsreportでuplatexオプションを適用し、通常の索引作成にはupmendexを使用している。
今回は.latexmkrcの末尾に次を追加すればよい。

add_cus_dep( 'nlo', 'nls', 0, 'makenlo2nls' );
sub makenlo2nls {system("makeindex \"$_[0].nlo\" -s nomencl.ist -o \"$_[0].nls\"" );}

ちなみに自分は最終的に降参してBingに質問したのだが、上のコードはその時Bingが出力してくれたものそのままだ。最初、どうせ修正が必要だろうと思って色々とググったりしたのだが、結局何も変えなくて良いと分かった。
人生は有限なので、分からない時は素直に人工知能に頼った方が良い。

参考
github.com