Help us understand the problem. What is going on with this article?

LaTeX Beamer + bibliography

More than 5 years have passed since last update.

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 ファイルがデフォルトでは用意されていません。(次の図は、正しくアイコンを埋め込めた場合のスクリーンショットです。)

ss-beamericon-20131222.png

これを直すには、.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 パッケージを使わないようにすると解消します。

t_uda
主に JavaScript-er です。HTML5 力が足りていない。数学方面でよく C++ も書いていますがあまり詳しくないです。誰か私に RAII について教えてください。 Twitter とは距離を置いてそろそろ Qiita 活用してプログラミング生活にうちこみたいそんな今日この頃。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away