3
1

More than 3 years have passed since last update.

elsarticle.cls利用時のBounding Box問題

Posted at

Texで論文を書く際に、以下のようなelsarticle.clsというクラスを使用する機会がありました。(Elsevierが提供する論文投稿に適したフォーマット)

\documentclass[preprint,5p,fleqn,sort&compress,number,times,twocolumn]{elsarticle}

この時に発生していた、pdfなどのBounding Boxが自動読み込みされない問題について触れています。
使用していたのはTexLive2019で、platex2pdfでコンパイルしていました。

発生していた問題

問題としてはコンパイル時に、

LaTeX Error: Cannot determine size of graphic in ../figure/Figure1.pdf (no Bo
undingBox).

のようなエラーが出るという単純なものです。
このエラーログ自体は、挿入したいファイルのbounding boxが分からないというエラーです。解決策としては、確かTexLive2015以降のversionだと、プリアンブルで

\usepackage{graphicx}[dvipdfmx]

というようにパッケージを導入することで、自動でbounding boxがファイルから読み込まれて上手くいきます。従って、普段Texで文章を書くときは、おまじないのように上記のパッケージを書いています。
しかし、どうもelsarticleのクラスは上述のパッケージと衝突し、この方法では上手くコンパイルできないようです。

解決策

×良くない方

とりあえず、調べてもいまいち良い解決策が見つからなかったので手動でBounding Boxを書いていました。
ちなみに、Bounding Boxは単なるピクセルサイズじゃないんで、extractbbのコマンドを使って調べてました。(面倒くさいんでお勧めしないです)

◎良い方

結論だけいうと、コードの先頭に"\PassOptionsToPackage{dvipdfmx}{graphicx}"を一文追加するだけで治りました。

%修正前
\documentclass[preprint,5p,fleqn,sort&compress,number,times,twocolumn]{elsarticle}
\usepackage{graphicx}[dvipdfmx]
%修正後
\PassOptionsToPackage{dvipdfmx}{graphicx}
\documentclass[preprint,5p,fleqn,sort&compress,number,times,twocolumn]{elsarticle}
\usepackage{graphicx}[dvipdfmx]

最後に

正直"\PassOptionsToPackage"が何をしているのかが良く分からないんで勉強中ですが、packegeのoption関係を調べれば分かるんですかね?
ご存知の方がいれば、治る理由が知りたいですね。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1