読者です 読者をやめる 読者になる 読者になる

グァソのメモ書き

主に自分用メモ

某学会テンプレのスタイルファイルでBibTeXを使った時のトラブルと暫定的対処(無責任)

注意

暫定的に採った対処でしかありません。
これが正しい対応だという確信はありません。
本記事の内容を参考にして生じた如何なる事態にも責任は取りません。

問題の所在

某学会テンプレートのスタイルファイルを用いて論文執筆中に
いつものノリでplatex; platex; jbibtex; platex; platex; dvipdfmx;って感じでタイプセットしようとしたら

Undefined control sequence.
l.hoge \newblock

と云うエラーメッセージが出てタイプセットが出来ない事態に陥った。

原因の推測

エラーメッセージに書いてある通り、指定のスタイルファイル中に\newblockが定義されていない?*1

対処の方針

jbibtexを叩いた後に生成される.bblファイルの中に記述されている\newblockというコマンドを削除してやれば対処療法*2程度になるかと。

コマンド

Makefileの中でjbibtexを叩いた後にsedでの処理を追加。

jbibtex hoge
sed -i -e 's/\newblock//g' hoge.bbl

追記

以上の事を書いた後で少し落ち着いて奥村本を読んだ所、
\newblockを使う理由はthebibliography環境中ではピリオドとコンマの扱いが同じになる(フレンチスペーシング)ため、ピリオドの後にもう少し大きなアキを入れるために\newblockという命令を用いているとのこと。
そのため、適当にググって見つけた
Bibliography management - LaTeX Reference and Guides
を参考に

\def\newblock{\hskip .11em plus .33em minus .07em}

で\defし、上記sedの処理は現在使っていない。

*1:テンプレで配られているって事から推測するに根本的な原因はこれじゃない気がする。俺の環境依存?

*2:その場しのぎである