反面教師あり学習

(^。^)

Overleafで "LaTeX Error: Cannot determine size of graphic" のエラーで図が入らないとき

TL;DR

  • Overleafで図をいれるとき, Cannot determine size of graphic のエラーがとれなかった
  • 結論から言うと,図のファイル名が悪さをしていた
  • 記事にするほどでもない気がしてたけど同じエラーに3回ぐらいひっかかったのでメモすることにした

どんなエラーか

エラーを確認したのはBeamerでプレゼン作ってるとき. 以下のコードをコンパイルすると,スクリーンショットで示してるようなエラーが出て, 図がサイズ指定を無視したような変な表示になる.

ちなみに,使用しているのはPRMLの図

\begin{frame}{Title}
    \begin{center}
        \includegraphics[width=0.45\hsize]{figs/Figure2.9a.pdf}
        \hfill
        \includegraphics[width=0.45\hsize]{figs/Figure2.9b.pdf}
    \end{center}
\end{frame}

f:id:eqseqs:20190321193421p:plain
error

f:id:eqseqs:20190321193905p:plain
result

はじめはDVIドライバ周りの問題と思って \documentclass のオプションや graphicx のオプションを弄ってみたがどうも違うようだった.

どうやって解決したか

ファイル名からピリオド (.) を消したら治った.

原因ははっきりとはわからないが, 通常,LaTeXはPDFやPNGを図としていれる際,内部で extractbb というコマンドを動かして図のサイズを取得していて, 今回はファイル名にピリオドが入っていたせいでそこが正常に動作していなかったと思われる.

ピリオド以外でも同じエラーが起こる条件があるかもしれない.