38 gnuplot で PDF 出力, PDFのバージョン問題

(しばらく工事中?)

PostScript (EPS) から距離をとるべきか、と考え出して。 たまたま古い文書を再組版しようとしていて、 gnuplot で作った eps データの取り込みに軽い問題が生じたようだったので、 この際、PDF に変えようと考えた。
set term postscript eps color
set output "なんとか.eps"
replot
としていたところを
set term pdf
set output "なんとか.pdf"
replot
ところがなんかうまく行かない。 やったことがないことは、まだ分かっていない。

「gnuplot で pdf が出力されない時: 最後にunset outputを指定する」 によると、

複数ページをサポートするformatの場合はページの終わりを指示する必要がある
のだそうな。なるほど。具体的には、描き終わった (と自分が思った… まだピリオド打ってない!) 後に
unset output
あるいは
set output
あるいは
unset term
あるいは
set term pop
とするのだとか。ふむふむ。 これで一応 PDF データを作ることは出来た。

とりあえずこのパターン
set term pdf enhanced
set output "nantoka.pdf"
replot
unset output
(複数の図を出力する場合は、unset output の代わりに、 set output=次のファイル をすれば良くて、 最後のファイルのときだけ unset output とすればいいのか。)


term として pdf を指定しても “Terminal type is now 'pdfcairo” と警告が出る。 それはどういうことなのかな。pdf は obsolete なのかしら。 また、PDF にすると、体裁が EPS のときと少し変わるようで、 それも考えるべきだけど (再組版するときにおかしくなっていないかチェックが必要だ)、 実はもっと切実な問題が浮上した。


dvipdfmx が警告を発する。
dvipdfmx:warning: Trying to include PDF file with version (1.7), which is newer than current output PDF setting (1.5).

gnuplot で PDF 出力すると、バージョン 1.7 のPDFになるのだとか (これは head -1 なんとか.pdf で確認できる)。 そのせいか。

dvipdfmx -V 7 とかで指定するの?確かに
dvipdfmx -V 7  -d 5 -O 2 numerical-integration-2024.dvi
とすると警告はでない。

しかし、どのバージョンのPDFを受けつけるか、 世の中色々あるようで、結構悩ましい問題が生じる場合もあるみたい。 学会関係で受け付けてくれるかとか、 印刷所が受け付けてくれるかとか。

そもそもバージョンごとにどういう違いがあるの? ウィキペディアの 「PDFの歴史」 が十分詳しい。

「PDFフォーマットは、バージョン1.7をベースにISO 32000-1で標準化されています。」 とも聴くので、当面は version 1.7 を目安にするのかな。 でもISO 32000-2: 2017 (PDF 2.0)というのもあると。 うーん。


ともあれ、 pdfcairo に 1.5 で出力させて、 最終的に 1.5 に対応した PDF を作ることを押し通そう、 というのは筋違いなのかな。その辺はもう少し考える必要がありそう。

「1.4 しか受け付けません」という人には、 「1.7受け付けるようになってください」と返すのか。 「仕方がないので、今回は 1.4 にしてだしますけど」。 あー、でも学会によっては、受付はサーバーなので、そもそも会話が出来ないのかあ。 電話で突撃したい年齢の私でした。


そう思って探すと、とっくの昔に 「LaTeXで出力PDFのバージョンを指定する ~bxpdfverパッケージ~」 というのが出ていた (「人生はもっと計画的に生きましょう」か。そうは行かないのよねえ。)。 .tex を書く段階で指定するのが筋なのか。



桂田 祐史