Acetaminophen’s diary

化学に関すること,TeXに関すること,ゆきだるまに関すること。

LaTeX で PDF の一部だけ表示したい(2)

実際に TeX が使う BoundingBox はどれなのか(続き)

昨日の記事で PDF における正解の BoundingBox とは何かを、ドライバ別に考えていた途中からです。XeLaTeX (+ xdvipdfmx) の場合に「XeLaTeX は CropBox を確保するのに xdvipdfmx が描画するのは後述する “dvipdfmx が選ぶのと同じ ナントカBox の内側” だけである」という奇妙な挙動が判明しました。というわけで、ここで一旦 dvipdfmx を調べてみましょう。

4. dvipdfmx の場合の BoundingBox(正常な PDF の場合)

これが非常に問題なのです。正解は「extractbb というプログラムが返すもの」です。では extractbb が返す BoundingBox とは何かというと

CropBox → ArtBox → TrimBox → BleedBox → MediaBox の順で明示されている最初のもの

です。明示されているが曲者で、そのせいでこんなヤヤコシイ選択律の順序ができてしまっています。明示されていなければその Box は読まないという点で、通常の PDF の仕様と食い違っているわけです。実際にいくつかの PDF を取り込んで pLaTeX + dvipdfmx で処理すると、上記の extractbb の規則と一致する Box が選ばれていることを確認できます。

  • BB-a-04-dvipdfmx-TL2015.pdf の全ページより

    f:id:acetaminophen:20150816182116p:plain

続きを読む

LaTeX で PDF の一部だけ表示したい(1)

ただいま改訂中です。ところどころ作業に伴いリンク切れや説明不足が生じていますが、ご了承ください…(2015-08-15)

LaTeX で graphicx パッケージを使っていて

余白がある PDF ファイルの一部だけ、余白を切り取って表示したい

と思ったことはないでしょうか。例えば、Excel でグラフを作成して PDF 形式で保存するとデフォルトでは A4 サイズの PDF が生成し、もれなく余白が付いてきます。このような Excel グラフを作成して \includegraphics したいと思っても「そのままでは余白が大きくて不満」という質問は、最近も TeX Forum に寄せられています

こうした場合は、(上記サイトでの私の回答にもありますが)pdfcrop という TeX Live や W32TeX の付属ツール*1を使って予めトリミングするのが非常に簡単です。ただし、pdfcrop は Perl がインストールされていなければなりません。TeX Live (Windows) には Perl が内蔵されていますし、Unix 系 OS ならば Perl が標準で使えるはずですが、W32TeX ユーザの方は pdfcrop がそのままでは使えません。そこで

のいずれかを試してみてください。そのうえで

$ pdfcrop graph.pdf

あるいは

$ tcpdfcrop graph.pdf

のように実行すれば、きっとうまい具合にまっさらな余白を切り取った新しい PDF (graph-crop.pdf) が出てくるでしょう。

f:id:acetaminophen:20150719021613p:plain

…とまあ、これがベストプラクティスであることは間違いありません。pdfcrop(または tcpdfcrop)が出力した PDF を \includegraphics すれば、バグがない限りどんな場合でも必ずうまくいきます。しかし、中には

pdfcrop せずに直接 LaTeX 側でなんとかならないの?

と思う方もいるでしょう。今回の記事では、その方法を考察することにします。

 

*1:紛らわしいことに pdfcrop には2種類あり、CTANSourceForge にあるものは全く別物です。ここで言っている pdfcrop は CTAN の方です。

続きを読む

動きのカガク展に行ってきた

最近、メインブログの更新をサボっていたので、久々にこちらに書いてみることに(サブブログは毎日更新していたし、最近なぜかそっちが内容的に充実していたけど…)。

昨日、再び 21_21 DESIGN SIGHT へ。以前記事にした単位展に続き2回目である。

企画展「動きのカガク展」
会期:2015年6月19日(金)- 9月27日(日)
休館日:火曜日(9月22日は開館)
開館時間:10:00 - 19:00(入場は18:30まで)
主催:21_21 DESIGN SIGHT、公益財団法人 三宅一生デザイン文化財
後援:文化庁経済産業省、港区教育委員会スイス大使館ドイツ連邦共和国大使館
助成:スイス・プロ・ヘルヴェティア文化財
特別協賛:三井不動産株式会社

f:id:acetaminophen:20150712211009j:plain

続きを読む

TeX Live 2015 で変わったこと、変わらなかったこと

先日正式にリリースされた TeX Live 2015 であるが、アップデートするメリットはなんだろうか? というわけで、ここに「TeX Live 2015 で変わったこと、変わらなかったこと」の気づいた点をまとめてみる。とはいっても、すべて網羅する気は全くなく、一般ユーザである僕の独断と偏見で選んでいる。

f:id:acetaminophen:20150614155359p:plain

f:id:acetaminophen:20150614155415p:plain

  • TeX Live 2015 released | There and back again
  • Twitter より:

 

続きを読む

XyMTeX の機能を最大限引き出す「正しい利用法」

LaTeX で化学構造式を描画するパッケージとして、藤田眞作氏による XyMTeX が有名である。

XyMTeX の使い方は公式マニュアル*1に書かれているし、簡単な紹介は TeX Wiki に、また以下のページに使い方の一部が解説されている。

しかし、そもそも XyMTeX のマクロを使用する以前の問題で、XyMTeX パッケージを読み込む際の注意点についてはどこにも明記されていない。そのため、意外と XyMTeX の使い初めの段階でつまずいている場合も多いのではなかろうか? そこで、今回は XyMTeX の3つの描画方式とそれらの正しい利用法を解説する。サンプルソースと PDF は GitHub に置いた(LaTeX ソースファイルは一つだけ置いた;本文は一切書き変えることなく、プリアンブルのみ書き変えることで本記事の画像を再現できる)。

 

*1:W32TeX の場合はコマンドで texdoc xymtex-manual と入力すればよい(紛らわしいことに、texdoc xymtex と入力すると古い ver.1.1 のマニュアルが表示される)。TeX Live 2014 にはマニュアルの PDF 版が同梱されていないので、直接公式サイトに読みに行く必要がある。

続きを読む