XyMTeX PDF-compatible modeでbondが描画されない

XyMTeX PDF-compatible modeでbondが描画されない

- 李徴 の投稿
返信数: 10
XyMTeXのPDF-compatible modeを使ってみようと、下記の内容のファイルをつくって、uplatex + dvipdfmxでPDFに変換しましたが、bondが描画されません。
同じ内容のファイルをpdflatexで処理すると、きちんとbondが描画されたPDFができました。
ログを見ると、uplatexの処理には問題がないようで、dvipdfmxで大量のwarningが出ていました。
ログと、できたPDFファイル、そしてdvipdfmxでTerminalに出力されたログをコピペしたファイルを添付します。

\documentclass{article}
\usepackage{xymtexpdf}
\usepackage{xcolor}
\usepackage{graphicx}
\begin{document}
\cyclohexanev{2SA==H;2SB==OH;3Sd==OH;3Su==H}
\end{document}

李徴 への返信

Re: XyMTeX PDF-compatible modeでbondが描画されない

- Akira Kakuto の投稿
log を見たらわかるように,ドライバが dvips 用
となっているからです。 pdflatex の場合には,
自動検出されますが, dvi の場合,複数の可能性
があるので,デフォルトでは dvips になります。
dvipdfmx 用とするにはこの場合,
\documentclass[dvipdfmx]{article}
としてみて下さい。
Akira Kakuto への返信

Re: XyMTeX PDF-compatible modeでbondが描画されない

- 李徴 の投稿
テスト用に余分なものを外していて、dvipdfmxオプションも外してテストしていました。

あらためて、
\documentclass[dvipdfmx]{article}
としてみましたが、やはりbondが描画されませんでした。

李徴 への返信

Re: XyMTeX PDF-compatible modeでbondが描画されない

- Akira Kakuto の投稿
tikz に関するドライバが dvips になっています。
原因はちゃんと調べていません。環境がどこか
おかしいかも知れません。こちらで全く同じソース
で試したところ問題ありませんでした。
サンプルを添付します。 (xymtex_good.zip)。
Akira Kakuto への返信

Re: XyMTeX PDF-compatible modeでbondが描画されない

- Akira Kakuto の投稿
私の場合はドライバが,なってほしい "dvipdfmx" ではなくて
"dvipdfm" になっていました。

中身が
\def\pgfsysdriver{pgfsys-dvipdfmx.def}
なる一行で,名前が pgf.cfg
であるファイルをカレントディレクトリに置いて
おくと,望みの "dvipdfmx" になりました。
これを試して下さい。
Akira Kakuto への返信

Re: XyMTeX PDF-compatible modeでbondが描画されない

- 李徴 の投稿
確認をどうもありがとうございます。

ご指摘は、こちらのログの中にある下記以下のことですね。
Driver file for pgf: pgfsys-dvips.def

直接の原因は、tikz関連の読み込みのときにドライバにdvipsが選択されているということですね。グローバルのオプションにdvipdfmxを選んでいるのに、どうしてこうなっちゃっているのか。

少し考えてみますが、何かお気づきのことがあったらご教示ください。

李徴 への返信

Re: XyMTeX PDF-compatible modeでbondが描画されない

- Akira Kakuto の投稿
> グローバルのオプションにdvipdfmxを選んでいるのに、
> どうしてこうなっちゃっているのか。

私の場合も,dvipdfmx を選んでいるのに, dvipdfm に
なっちゃっているんです。以下のようにすると大丈夫でしょう。

中身が
\def\pgfsysdriver{pgfsys-dvipdfmx.def}
なる一行で,名前が pgf.cfg
であるファイルをカレントディレクトリに置いて
おくと,望みの "dvipdfmx" になりました。
李徴 への返信

Re: XyMTeX PDF-compatible modeでbondが描画されない

- Z. R. の投稿

ややこしいですが、次のようになっているようです。

  • xymtexpdfはドライバ依存するパッケージであり、ドライバオプションを受け付ける。
  • しかし、“dvipdfmx”オプションに対応しておらず、「dvipdfmxを使う場合は“dvipdfm”を指定する」という規約になっている。(geometryパッケージど同様。)

従って、“xymtexpdfのドライバ指定”という意味では、

\documentclass[dvipdfmx]{article}
\usepackage{xymtexpdf}

では不十分で、

\documentclass[dvipdfmx]{article}
\usepackage[dvipdfm]{xymtexpdf}

でなければならない、ということになります。

補足:

  • xymtexpdfは自分のドライバ指定に基づいてpgfのドライバを決定する。
  • グローバルに“dvipdfm”も指定する、というのは不適切。
  • pgfが中でgraphicxを読み込むので、グローバルの“dvipdfmx”も必要。

ちなみに、xymtexpdfの既定のドライバ指定は、以下のようになっています。

  1. pict2e.cfgが存在する場合はそれを読み込む(流用)。
    →TeX Liveのpict2e.cfgでは「DVI出力の場合はdvipsを指定する」という内容になっている。
  2. pict2e.cfgが存在しない場合は“dvipdfm”とする。

従って、TeX Liveでは既定は“dvips”になります。

Z. R. への返信

Re: XyMTeX PDF-compatible modeでbondが描画されない

- Akira Kakuto の投稿
> \documentclass[dvipdfmx]{article}
> \usepackage[dvipdfm]{xymtexpdf}
>
> でなければならない、ということになります。

どうもありがとうございます!!
Akira Kakuto への返信

Re: XyMTeX PDF-compatible modeでbondが描画されない

- Akira Kakuto の投稿
> pict2e.cfgが存在しない場合は“dvipdfm”とする。
> 従って、TeX Liveでは既定は“dvips”になります。

ありがとうございます。こちらは TeX Live と違って
pict2e.cfg がありませんでした。違いの理由がわかりました。
Z. R. への返信

Re: XyMTeX PDF-compatible modeでbondが描画されない

- 李徴 の投稿
おはようございます。
> \documentclass[dvipdfmx]{article} > \usepackage[dvipdfm]{xymtexpdf}
> でなければならない、ということになります。
できました。

Z. R. さん、Kakutoさん、どうもありがとうございました。