\usepackage
コマンドで同じパッケージを何度も読み込むと、2回目以降の重複する \usepackage
は自動でパスされる。
じゃあ別に何回 \usepackage
書いてても大丈夫なのかというと、パッケージにoptionを渡すときは気をつけなければならない。
例えば、次のようなとき。
タイプセットが通る例:
% platex -> dvipdfmx \documentclass{jsarticle} % \usepackage{graphicx} \usepackage[dvipdfmx]{graphicx} % これだけ読み込まれる \usepackage[dvipdfmx]{graphicx} \usepackage{graphicx} \usepackage{graphicx} \begin{document} \includegraphics{image.pdf} \end{document}
タイプセットが通らない例:
% platex -> dvipdfmx \documentclass{jsarticle} \usepackage{graphicx} % これだけ読み込まれる \usepackage[dvipdfmx]{graphicx} \usepackage[dvipdfmx]{graphicx} \usepackage{graphicx} \usepackage{graphicx} \begin{document} \includegraphics{image.pdf} \end{document}
2つ目の例では、 graphicx
にドライバが指定されていないので、エラーが出る。
感想
重複して読み込んでたら、どんどん上書きされていくと思ってたけど、2つ目以降はパスされるんだな。
パスされるなら無駄な読み込みをする時間もかからないし、別に重複して書いてても良さそう。 (複数人のtex文書まとめるときとか、それぞれのプリアンブルをただコピペしてくるだけでいい。)
もちろん、optionには注意しなければならないが。