dvipdfmxで変換したファイルで一部の画像が表示されない

dvipdfmxで変換したファイルで一部の画像が表示されない

- ぺけぽん の投稿
返信数: 12
お世話になります。
Ubuntu 18.10上でTeX環境を構築し利用しています。(aptでtexlive環境をインストール)
コンパイルやプレビュー,PDF変換まで問題なく行えるのですが,dvipdfmxでPDF形式に変換したファイルで,includegraphicsで取り込んだPDF形式の画像部分が一切表示されず空白になる現象が発生しています。表示されないからといって特にエラーも出ません。
コンパイル時のログも追ってみましたが,特に気になるような点は見つけられませんでした。
空白になるのは,オリジナルがJPEGのビットマップをconvertコマンドでPDF形式に変換したものを取り込んだ場合だけです。
同じPDFでもInkscapeからPDF形式にエクスポートしたものは正常に取り込めて表示されます。
全く同じTeXソースで18.04.2LTS上のTeX環境だとそのようにはならないことは確認したので,18.04.2→18.10でTeX環境が何か変わってしまったのではと考えています。
何かご存知の方いらっしゃいましたらご教示ください。
ぺけぽん への返信

Re: dvipdfmxで変換したファイルで一部の画像が表示されない

- aminophen の投稿
ご提示の情報だけではヒントが少なく,答えにくいと思います。

> オリジナルがJPEGのビットマップをconvertコマンドでPDF形式に変換したもの
> InkscapeからPDF形式にエクスポートしたもの

それぞれの例を添付してみてください。

> Ubuntu 18.10上でTeX環境を構築し利用しています。(aptでtexlive環境をインストール)
> 18.04.2LTS上のTeX環境

それぞれの dvipdfmx のバージョン情報を明記されると,検証する方の役にたつかもしれません。
ぺけぽん への返信

Re: dvipdfmxで変換したファイルで一部の画像が表示されない

- ぺけぽん の投稿
情報不足で失礼しました。

<ソース>
\documentclass{jarticle}
\usepackage[dvipdfmx]{graphicx}
\includegraphics{texwiki.pdf}
\end{document}

<画像>
TeX Wiki(gif)をconvertコマンド(ImageMagick)でPDF形式に変換したもの。
この書き込みに添付したもの。

<ソフトのバージョン>
それぞれUbuntu 18.04.1LTS, 18.10の順

platex: 3.14159265-p3.7.1-161114-2.6 (utf8.euc) (Tex Live 2017/Debian)
 3.14159265-p3.8.1-18051802.6 (utf8.euc) (TeX Live 2019/dev/Debian)

dvipdfmx: Ver. 20170318
 Ver. 20180823

<コンパイル結果>
Ubuntu 18.04.1LTSのものは画像が表示される。
Ubuntu 18.10のものは画像が表示されない。
ぺけぽん への返信

Re: dvipdfmxで変換したファイルで一部の画像が表示されない

- aminophen の投稿
うっすらした記憶ですが,確か dvipdfmx は昨年(2018 年)夏ごろに
大規模なコード整理が行われていたと思います。
dvipdfmx 20180823 はちょうどその途中のバージョンのような気がします。

TeX Live 2018 だと
・初版が dvipdfmx 20180428
・初版にあったバグを修正した dvipdfmx 20180506
のどちらかが収録されているはずです。

これからリリースされる予定の TeX Live 2019 だと
・dvipdfmx 20190225
が入っています。

上記3つはいずれも dvipdfmx 20180823 とは違う挙動かもしれません。

今私の環境は最新の 20190225 しか持っていませんが,これだと成功します。
20180428,20180506 をお持ちの方はいかがでしょうか?
もし 201808xx 特有で失敗するのであれば,「タイミング的に運が悪かった」という可能性があると思います。

追記:この時の大幅なクリーンアップといえば,10月頃に
https://okumuralab.org/tex/mod/forum/discuss.php?d=2515
という「landscape オプション -l が効かない問題」がありましたね。
(今は治っているようです。)

# 一般に,(TeX Live 2019/dev/Debian) のように /dev が付いているものは
# 開発版であり,安定していない可能性がありますね。
aminophen への返信

Re: dvipdfmxで変換したファイルで一部の画像が表示されない

- 和田 勇 の投稿
一応報告

macOSX texlive2018 ですがバックアップから取り出した dvipdfmxの 20180506 では、問題なく処理できました。

残念ながらバックアップには 20180428 は見つかりませんでした。
和田 勇 への返信

Re: dvipdfmxで変換したファイルで一部の画像が表示されない

- aminophen の投稿
dvipdfmx 20180904 を試しましたが,こちらも正常でした。
コードが数回にかけて大きく書き換わったような気がするので,
これもまた 20180823 とは違うかもしれませんね。

和田さん,調査ありがとうございました。
TeX Live 2018 でも TeX Live 2019 でも正常らしいので,
これ以上の調査は得るものが小さそうです。
apt-get ではなく TeX Live 2019 が出たら公式の install-tl で
上書きすると簡単ではないかと思います。
aminophen への返信

Re: dvipdfmxで変換したファイルで一部の画像が表示されない

- 和田 勇 の投稿
http://ubuntutym.u-toyama.ac.jp/ubuntu/pool/main/t/texlive-bin/
を見ると tex2018/08/24 と2018/12/18 のイメージがありますね。
後者の texlive-binaries のデータを取り出して strings で調べると 20181012 のようです。

ということは正常に戻るかもしれませんね。


もし apt upgrade しても構わなければアップグレードすることをお勧めします。

不可であれば、難易度はややあがりますが debパッケージの中身を取り出す方法を調べて dvipdfmx にリンクされている xdvipdfmx を取り出して置き換えるなりスペシャルPATH に置くなりすれば良いでしょう。

# 現在 ubuntu 環境がないのですが、7z を使って解凍される data.tar.xz をから xdvipdfmx を取り出して調査しました。
aminophen への返信

Re: dvipdfmxで変換したファイルで一部の画像が表示されない

- aminophen の投稿
おっと,8月頃に自分がいろいろツイートしていました…。
https://twitter.com/aminophen/status/1036206866626273280
のスレッドを見つけました。
PDF 取り込みのバグはどうやら8/21頃に混入し,9/4に治ったようです。
ぺけぽん への返信

Re: dvipdfmxで変換したファイルで一部の画像が表示されない

- ぺけぽん の投稿
一晩明けたら,多くのコメントが...
感謝申し上げます。

一連のコメントからdvipdfmxのバグっぽいですね。
Ubuntu 18.10でアップデートを試したのですが,標準リポジトリのものを使う限り,今回のものが最新版のようで,アップデートを待つしかないようです。
あるいは,正常に動作するものをビルドして使うか,古いパッケージから抜き出すくらいしかないようです。

取り急ぎ,古い18.04LTSのtexlive-binariesパッケージ(texlive-binaries_2017.20170613.44572-8ubuntu0.1_amd64.deb)からdvipdfmxとxdvipdfmxを抜き出して,ファイルを処理したところ,問題なく画像が表示されました。
(debパッケージ内のファイルは通常の圧縮ファイルと同じ要領で展開できました。dvipdfmxはxdvipdfmxへのシンボリックリンクになっていました。)

ところで,最新版のdvipdfmxのソースはどちらで入手できるのでしょうか。
xdvipdfmxのサイト(?) http://project.ktug.org/dvipdfmx/ では非常に古いもの(2011年)しか見つけられませんでした。
ぺけぽん への返信

Re: dvipdfmxで変換したファイルで一部の画像が表示されない

- aminophen の投稿
ktug のサイトは既にメンテナンスされておらず,
upstream は TeX Live の subversion です。
https://tug.org/svn/texlive/trunk/Build/source/texk/dvipdfm-x/
dvipdfmx のソースはここですが,これは TeX Live が収録している他のライブラリにも依存しているため,
ここだけ取ってきてもビルド出来ない可能性があります。

TeX Live のソース全ては,
https://github.com/TeX-Live/texlive-source
にもミラーされています。また,ビルド済みバイナリの最新版は,いくつかのプラットフォーム向けが
https://github.com/TeX-Live/texlive-source/releases
のリリースページにくっ付いているので,これを使うのが手っ取り早いです。
aminophen への返信

Re: dvipdfmxで変換したファイルで一部の画像が表示されない

- ぺけぽん の投稿
ありがとうございます。
こちらのdvipdfmxバイナリでPDFを作成しようとしたら
dvifpdfmx.cfg が開けないというエラーが出てPDFが作成できませんでした。
ビルド時の設定ファイル等のディレクトリが標準リポジトリのものと異なるようですね。
とりあえず,Ubuntu 18.04のバイナリでPDFが生成できるので,こちらで急場をしのぐことにします。
ぺけぽん への返信

Re: dvipdfmxで変換したファイルで一部の画像が表示されない

- 和田 勇 の投稿
texlive2019 や ubuntu 19-04 のリリースが巷でうわさされ、 また、一応の解決策はできているようですがちょっとしらべてみました。

1)texlive-binaries の 2018/12/18 が UBUNTU18.10 では適用できるか

2018/12/18版は現在開発版状態の 19-04 (Disco)用のようです。

$ cat /etc/issue
Ubuntu Disco Dingo (development branch) \n \l

$ apt list texlive-binaries
texlive-binaries/disco,now 2018.20181218.49446-2 amd64 [インストール済み]

$ dvipdfmx --version
This is dvipdfmx Version 20181012 by the DVIPDFMx project team,

なお、長期サポートを期待して 18.04TLS でパッケージの特定バージョンをインストールを試みましたが NG でした。でも可能だったとしても依存関係から texlive 全部そのバージョンになるだろうな。

2) 最新の dvipdfmx を利用するには

それなりにお作法が必要なので難易度はかなり高いですが dvipdfmx の最新ソースに合わせる場合は、texlive(-binaries) の source を入手して dvipdfmx の部分を取り替えるなどして再構築すれば可能だと思います。これは REDHAT 系の SRPM をベースにカスタマイズパッケージを作る方法と同じです。

番外)
最近は、ドキュメントを作成する ということに主眼をおいているので、以上のような面倒なことをしなくても、CTAN で提供してくれているプリコンパイルなものを /usr/local/texlive/20XX にインストールして適宜 tlmgr を使って更新する という怠惰な方法で新しい機能を取り入れるようにしています。
和田 勇 への返信

Re: dvipdfmxで変換したファイルで一部の画像が表示されない

- ぺけぽん の投稿
詳細な試行とその結果をご報告いただき,ありがとうございます。
自分には少々難易度が高いと思われましたので,とりあえず,過去のバイナリでしのぎたいと思います。