Beamer で bibliography を使おうとしたら、色々とつまずいたので覚書。
dvipdfm(x) を使っていると "`beamericonarticle.xbb' not found" といわれる
dvipdfmx (or dvipdfm) を使っている場合、\thebibliography
のところで次のようなエラーが出ます。
./slide.bbl:1: LaTeX Error: File `beamericonarticle.xbb' not found. Use -shell-
escape option to generate automatically.
:
:
l.1 \begin{thebibliography}{1}
?
./slide.bbl:1: LaTeX Error: Cannot determine size of graphic in beamericonartic
le.xbb (no BoundingBox).
:
:
Transcript written on slide.log.
*** Errors detected while running LaTeX on slide.tex:
./slide.bbl:1: LaTeX Error: File `beamericonarticle.xbb' not found. Use -shell-
./slide.bbl:1: LaTeX Error: Cannot determine size of graphic in beamericonartic
./slide.bbl:1: Emergency stop.
見ての通り、beamericonarticle.xbb
が存在しないため怒られています。実は各参考文献の頭に文献アイコン beamericonarticle.pdf
が自動で埋め込まれるのですが、そのバウンディング・ボックスの情報を保存する .xbb
ファイルがデフォルトでは用意されていません。(次の図は、正しくアイコンを埋め込めた場合のスクリーンショットです。)
これを直すには、.xbb
ファイル(もしくは .bb
ファイル)を用意してやります。Debian の場合であれば、問題の PDF ファイルは /usr/share/texmf/tex/latex/beamer/base/art/beamericonbook.20.pdf
にあります。
uda@host:~/slide $ extractbb -O /usr/share/texmf/tex/latex/beamer/base/art/beamericonbook.20.pdf > beamericonbook.xbb
-O
オプションを使って tex ファイルと同じディレクトリに .xbb
ファイルを書き出しています。書き込み権限があれば、直接 /usr/share/texmf/tex/latex/beamer/base/art/
以下に .xbb
ファイルを出力することもできます。
# ebb beamericonbook.20.pdf
としてできた beamericonbook.bb
ファイルの拡張子を変更して beamericonbook.xbb
にすればいいなんて言っている人もいましたが…… ちゃんと dvipdfmx の場合は extractbb
で作った .xbb
ファイルを、dvipdfm の場合は ebb
で作った .bb
ファイルを使った方が良いでしょう。
\cite{...}
の行で "Undefined control sequence" といわれる
次に、\cite
したときに出るエラーです。
./section8.tex:7: Undefined control sequence.
\beamer@sort #1#2->\long \def \beamer@todo
{#1}\def \beamer@ospec {}\beamer@...
l.7 \cite{book:hoge:fuga}
,
?
このエラーは \usepackage{cite}
との競合(?)により出るようです。cite
パッケージを使わないようにすると解消します。