XΥMTEX 入門

(TEX/L^{A}TEX 互換モード)

藤田眞作^{1}

2006 年 8 月 31 日 (第 1.02 版)

1ふじたしんさく，京都工芸繊維大学大学院工芸科学研究科物質工学部門; Shinsaku Fujita, Department of Chemistry and Materials Technology, Kyoto Institute of Technology, Matsugasaki, Sakyoku, Kyoto, 606-8585 Japan. \begin{matrix}c \\ ◯ \end{matrix}(1994, 1996, 2006) by S. Fujita

このドキュメントの履歴 1994/01/31 第 1.00 版発行 1996/08/16 第 1.01 版発行 (L^{A}TEX 2ε対応版) 2006/08/31 第 1.02 版発行 (TEX/L^{A}TEX 互換モード)

目次

第 1 章はじめに 5

1.1 XΥMTEX の目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.1 旧バージョン (1.00) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.2 旧バージョン (1.01) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.1.3 その後のバージョン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2 XΥMTEX を動かすには . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2.1 インストール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2.2 指定方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2.3 TEX/L^{A}TEX 処理，表示，印刷 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

第 2 章ベンゼン誘導体を描く 11 2.1 XΥMTEX の命令を使うには . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 置換基の指定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3 結合様式の指定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.3.1 ベンゼン環の二重結合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.2 キノン体などの描き方 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.4 置換基の右勝手と左勝手 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.5 その他のタイプ I 命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

第 3 章シクロヘキサン誘導体の描き方 19 3.1 置換基の指定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2 環内二重結合の個別指定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.3 その他のタイプ II 命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

第 4 章置換基の位置の微調整 25 4.1 水平位置の微調整 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2 垂直位置の微調整 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

第 5 章ピリジン誘導体を描く 31 5.1 縦型のピリジン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5.2 横型のピリジン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5.3 6 員環の含窒素ヘテロ環を描くためのタイプ III の命令 . . . . . . . . . . . . . . . . . . . . 33 5.4 5 員環の含窒素ヘテロ環を描くためのタイプ III の命令 . . . . . . . . . . . . . . . . . . . . 34 5.5 含窒素縮合ヘテロ環を描くためのタイプ III の命令 . . . . . . . . . . . . . . . . . . . . . . . 35

第 6 章ヘテロ環を描く一般的な方法 39 6.1 6 員環ヘテロ環を描く . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 6.2 5 員環ヘテロ環を描く . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 6.3 6-6 縮合ヘテロ環を描く . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 6.4 6-5 縮合ヘテロ環を描く . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 \underline{4}

第 7 章 XΥMTEX 命令と L^{A}TEX 命令 49 7.1 center 環境の中で . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 7.2 equation 環境中で . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 7.3 tabular 環境中で . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

第 8 章構造式の拡大縮小 53 8.1 拡大縮小の機能の使い方 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 8.2 もとの picture 環境での描画との比較 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 8.3 構造式中の文字の変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

第1章はじめに

XΥMTEX は化学構造式を書くためのマクロパッケージです．ここでは， XΥMTEX の概略やこの入門を書いた目的などを説明します．

1.1 XΥMTEX の目的

1.1.1 旧バージョン (1.00)

L^{A}TEX では，図形組版のために， picture 環境が用意されています．しかし，用意された命令だけで，複雑な図形，たとえば化学構造式などを描くのは難しいとされてきました．実際，この点については，拙著 [1] を書いたときに痛感しました．この欠点を補うため，いくつかのマクロ集が報告されています．化学構造式を描くためには， chemtex.sty などがフリーソフトウェアとして，出回っていますが，その使いやすさや適用範囲の点で，不十分なところがありました．

XΥMTEX は，化学構造式を簡単に描くために作った道具 (L^{A}TEX 用のマクロパッケージ) です [2]． XΥMTEX では，広範囲の構造を描くために，いろいろな母核構造を描くマクロ命令を作成してあります．かなり複雑な構造式が，それぞれ 0.5–数行程度の長さの命令を書くだけで，描けるようになっています．たとえば，次の二つの構造式:

[figure: O; NO_{2}; O; O]

を組版するための命令は，次に示す通りきわめて簡単です．命令の名前は，化学化合物名から容易に類推できるように決めましたので， (少なくとも有機化学を勉強した方には) 記憶しやすいと思われます．

     Ysteroid{{{17}D}==O}
     Yanthracenev[p]{9D==O;{{10}D}==O;1==NO$_2$}

この例のように母核構造として不変のところは，指定しなくても自動的に組版されるようになっています．さらに，使いやすくするために，置換基の指定や二重結合などの位置指定を統一的な方法で行えるようにしました．

L^{A}TEX の picture 環境の範囲内 (図形組版) で組版しますので，その固有の制限 (短い線分が描けないこと，線分の勾配に制限があることなど) があります．しかし，この制限内でも広範囲の構造式を描くことができます．しかも，図形組版ですから，できあがった dvi ファイルは，文字通り完全に device-independent です．このため， TEX/L^{A}TEX が使える環境ならば，プリンターを選ばず出力できるというメリットがあります．

XΥMTEX は，マクロの定義の内部では picture 環境を使っていますが，単に構造式を描くだけなら (本入門の範囲では)，この事実を意識する必要はありません．通常のマクロ命令と同様に使えます．すなわち，できあがった構造式を一つの文字とみなして，通常の TEX/L^{A}TEX の命令とともに自由に組版してゆくことができます．

XΥMTEX (バージョン 1.00) を使うためのマニュアルとしては， NIFTY-Serve の FPRINT(文字情報と印刷・ DTP フォーラム) LIB7 にアップロードした No. 201 の XΥMTEX 本体に付属するマニュアル (英文)， No. 202 の例文集 (和文)， No. 204 の入門 (和文)，があります．

番号 ID  登録日付バイトデータ名
204 HBH00445 94/01/31 76093 xymtexi.lzh–XyMTeX 入門
202 HBH00445 94/01/13 77281 xymtexj.lzh–XyMTeX 例文集
201 HBH00445 93/12/02 299053 xymtex.lzh for drawing chem. structures

「XΥMTEX 入門」 (No. 204) は， XΥMTEX を使うための導入部として書いたもので，このマニュアルのもとになったものです．

1.1.2 旧バージョン (1.01)

その後， L^{A}TEX 2εの日本語対応版の pL^{A}TEX 2εが整備されたので， XΥMTEX も改良をおこないました． XΥMTEX バージョン 1.01 での主な変更点は次の通りです．

• L^{A}TEX 2ε対応．もともとバージョン 1.00 の本体は pL^{A}TEX 2εでも動くので，主として dtx ファイルの整備を行いました．

• ポリマー描画などの機能追加．

• chemist.sty との統合．

これにともない，上記のマニュアル類も， L^{A}TEX 2ε対応とするために改訂し，「XΥMTEX 入門 (バージョン 1.01)」としましたが，公開には至りませんでした．この改訂版は， pL^{A}TEX 2εの処理に通るように，旧版 (バージョン 1.00,No. 204) を最小限の手直しをしたものです．^{1} その後， XΥMTEX に関する単行本 [3] (筆者が富士フィルムから京都工芸繊維大学に転職した 1997 年に出版) に，この改訂版を，他のマニュアル類と一緒にして収録しました．

1.1.3 その後のバージョン

上記のマニュアル (旧バージョン) は，もともとパソコン通信 (NIFTY-Serve の FPRINT フォーラム) にアップロードしたものでした．インターネットの爆発的な発展により， FPRINT フォーラムが廃止されたため，上記のマニュアルは入手できなくなりました．また，拙著 [3] も増刷がなく，現時点では，事実上，手に入らなくなっています．日本語のマニュアルが少ないことから，そろそろ，「XΥMTEX 入門」をバージョンアップして公開する時期がきました．

一方，この間， XΥMTEX 本体は，改良を重ねてバージョン 4.03 までになっています．表 1.1 に各バージョンの改良点をまとめてあります．とくに，バージョン 3.00 で，拡大縮小 (dvi の範囲内で) ができるようになったこと，バージョン 4.00 以降で PostScript 対応になったことが大きな特徴です．

表 1.2 には， XΥMTEX バージョン 4.03 に含まれるパッケージファイルとその機能を示してあります． PostScript 対応とする際に， PSTrick パッケージ [10] の機能を使っています． PostScript 対応としたため， PostScript 互換モードを使う場合には， dvi の特徴は失われてしまいましたが，そのかわり，立体化学 (楔形結合など) の機能が強化されました．

1手直しは，主として xymmani.sty の改訂です． pL^{A}TEX 2ε用の jbook.sty が， L^{A}TEX2.09 用のものに比べてかなり変更されたところがあり，旧版の xymmani.sty (バージョン 1.00) ではエラーになるところがでてきたために行ったものです．

\underline{第 1 章. はじめに 7}

表 1.1: XΥMTEX の各バージョンの特徴

version  パッケージファイルと注釈

1.00 (1993) (L^{A}TEX2.09 対応) 文献 [4, 5] 参照. aliphat.sty, carom.sty, lowcycle.sty, hetarom.sty, hetaromh.sty, hcycle.sty, chemstr.sty, locant.sty, xymtex.sty

1.01 (1996) (L^{A}TEX 2ε対応) 文献 [3] 参照. ccycle.sty, polymers.sty, chemist.sty
1.02 (1998) (配布せず) ‘yl’-function による置換基の入れ子．
2.00 (1998) XΥM 記法に基づく増強バージョン．文献 [6, 7] 参照. fusering.sty, methylen.sty
2.01 (2001) (配布せず) 拡大縮小を可能にしたバージョン, sizeredc.sty (version 1.00)

3.00 (2002) 拡大縮小パッケージ (sizeredc.sty, version 1.01) およびコマンド体系の再編．

文献 [8] 参照

4.00 (2002) (配布せず) PostScript 対応 (xymtx-ps.sty, version 1.00 および chmst-ps.sty,

version 1.00)

4.01 (2004) (PostScript 対応) 中心原子の大きさ可変．
4.02 (2004) (立体化学対応) PostScript 対応および楔形結合．
4.03 (2005) (立体化学増強) PostScript 対応および波形結合．

1.2 XΥMTEX を動かすには

1.2.1 インストール

ダウンロードした XΥMTEX は，圧縮ソフトで圧縮してありますので，解凍して使用する必要があります．^{2} pL^{A}TEX 2ε処理のパスがつながっているディレクトリー (通常は， usrYlocalYshareYtexmfYtexYlatex 以下の適当なディレクトリー．ここなら通常はパスが通っている) の下位に，適当な名称のディレクトリー (たとえばYMyXyMTeX) を作成して，その中で解凍してください．あらかじめ， L^{A}TEX 2εさえ動くようになっていれば (XΥMTEX を使おうとされる方のパソコンは当然そうなっているはずですが)，なにも設定せずに使えます．^{3}

XΥMTEX は， L^{A}TEX 2ε用のマクロパッケージセットです．^{4} 構造式を描く命令 (マクロ) は，いくつかのパッケージ (スタイルファイル) に分けて格納されています．必要な命令が，どのパッケージに入っているかは， XΥMTEX 付属のマニュアルをみて下さい．

1.2.2 指定方法

XΥMTEX バージョン 4.03 は，次の二つのモードで動くようになっています．

1. TEX/L^{A}TEX 互換モード: xymtex.sty を読み込んだ場合は，上記のパッケージのうち， xymtx-ps.sty 以外のパッケージをすべて読み込みます．このモードでは， dvi の範囲内でも picture 環境の制限を超え

2筆者のホームページ (http://imt.chem.kit.ac.jp/fujita/fujitas/fujita.html) から入手できます．また，各バージョンのマニュアル (英文) が付属しています．それぞれの改良点を書いてあり，最新版でも有効です．

3TEX/L^{A}TEX 2ε処理のときには， kpathsea によるファイル探索がおこなわれます．この検索は，設定したディレクトリー以下の検索をおこなうようになっています．検索を速めるため， ls-R というリストファイルが作られていて，これを参照して，その中に記載されているファイルのみを見にゆきます． ls-R ファイルを使っている場合は， XΥMTEX をインストールすると， mktexlsr を動かして ls-R ファイルを更新する必要があります．パッケージファイルを追加するごとに， ls-R の追加をおこなうのが面倒なむきには，便法があります． ls-R ファイルがない場合には， kpathsea は設定したディレクトリー以下のすべてのファイルを検索する仕様になっています．そこで，便法として， ls-R をはずして使用すればよろしい．昨今は，パソコンの能力があがっていますので，そんなにいらいらする事態にはなりません．

4XΥMTEX の使用によってもたらされたいかなる事態に対しても著者は責任を負いません．

表 1.2: XΥMTEX および関連のパッケージファイル

パッケージ名含まれる機能

XΥMTEX パッケージファイル

aliphat.sty  脂肪族化合物の描画マクロ
carom.sty  炭素環化合物の縦型・横型描画のためのマクロ
lowcycle.sty  5 員環以下の炭素環化合物の描画マクロ
ccycle.sty  ビシクロ化合物の描画マクロ
hetarom.sty  ヘテロ環化合物の縦型描画マクロ
hetaromh.sty ヘテロ環化合物の横型描画マクロ
hcycle.sty  ピラノース，フラノース誘導体の描画マクロ
chemstr.sty  原子および結合描画のための基本命令
locant.sty  ロカントの打ち出し命令
polymers.sty ポリマーの描画命令
fusering.sty  縮合環ユニットの描画命令
methylen.sty ジグザクのポリメチレン鎖の描画マクロ
sizeredc.sty  拡大縮小のためのマクロ

xymtx-ps.sty PostScript 対応 (バージョン 4.02). chemstr パッケージのマクロのいくつかを置き換える．

XΥMTEX 周辺マクロ

xymtex.sty  xymtx-ps.sty 以外のすべてのパッケージを読み込むためのパッケージ

(no PostScript)

xymtexps.sty すべてのパッケージを読み込むためのパッケージ

(xymtx-ps.sty による PostScript 対応)

関連ファイル

chemist.sty  ‘chem’ version および化学環境
chmst-ps.sty PostScript 対応. chemist パッケージのマクロのいくつかを置き換える．

て，構造式の拡大縮小ができるようになっています．ただし，立体化学の表示に関しては不十分で， β 結合は太線， α 結合は点線であらわされます．

      Ydocumentclass{article}
      Yusepackage{xymtex}
      Ybegin{document}
      (formula)
      Yend{document}

構造式の拡大縮小をおこなうために， epic.sty を自動的に読み込むようになっています (内部の命令を改良して使っています)．

2. PostScript 互換モード: xymtexps.sty を読み込んだ場合は， XΥMTEX system のすべてのパッケージファイルを (xymtx-ps.sty も) 読み込みます．ただし，立体化学表示の慣用にしたがって， β 結合は楔形， α 結合は太い破線であらわされます．

      Ydocumentclass{article}
      Yusepackage{xymtexps}
      Ybegin{document}
      (formula)

           Yend{document}

PostScript 対応とする際に， PSTrick パッケージの機能を使っていますので，関連のパッケージを自動的に読み込むようになっています．

XΥMTEX の基本的な部分は， TEX/L^{A}TEX 互換モードで実現されています．したがって，入門編としてのこのマニュアルでは， TEX/L^{A}TEX 互換モードに限って説明することにします．このモードは， L^{A}TEX の picture 環境 (および epic.sty の 1 命令) のみを使っていますので， L^{A}TEX 2ε (pL^{A}TEX 2ε) が動く環境ならば使用することができます．また，プリンターとしては， dvi ウェア (たとえば dviout) に対応しているものならば使えます．

XΥMTEX のパッケージのうち必要な命令が含まれるものをYusepackage の引数として指定するだけで， XΥMTEX の各命令が使えるようになります． XΥMTEX では， Ydottedline をいう epic の命令を一部使っていますので，完全な出力には， epic.sty が必要です．また，拡大縮小の機能を使うには， sizeredc.sty が必要です．たとえば，

     Ydocumentclass{jbook}
     Yusepackage{epic,carom,hetarom,hetaromh,sizeredc}
     Ybegin{document}

(構造式を含む本文)

     Yend{document}

というようにYusepackage の引数として指定します．ただし，パッケージ間でマクロを共用している場合には，片方だけを読み込むとエラーとなることがあります．滅多にないことですが，このときは相互関係を調べてどちらのパッケージも読み込む必要があります． XΥMTEX に含まれる全パッケージ (TEX/L^{A}TEX 互換モード用) を xymtex.sty として呼び出せるようにしていますので，面倒ならば上記のようにYusepackage{xymtex} 指定することも可能です．昨今はパソコンの能力が上がって，メモリー不足によるエラーがほとんどでなくなりましたので， Yusepackage{xymtex}を使う方法をお奨めします．

1.2.3 TEX/L^{A}TEX 処理，表示，印刷

このようにして作成した tex ファイルを，常法通り， pL^{A}TEX 2ε処理をして， dvi ウェア (dviout など) で表示，印刷するだけです．

第2章ベンゼン誘導体を描く

ここでは，簡単なベンゼン誘導体の描き方を説明します．

• 置換基のリストを引数として指定するやり方と

• 環の結合様式をオプション引数とし指定するやり方

を取り扱います．

2.1 XΥMTEX の命令を使うには

この章では， carom.sty というパッケージファイルに格納されている命令を例にとって，説明してゆきます．したがって， tex ファイルには，次のような宣言をする必要があります．

     Ydocumentclass{jbook}
     Yusepackage{carom}
     Ybegin{document}

(化学構造式を含む本文)

     Yend{document}

carom を指定していることに注意してください． XΥMTEX では， Ydottedline をいう epic の命令を一部使っていますので，完全な出力には， epic.sty が必要です．ただし，本章ではこの部分は使いませんので，このオプションの指定で十分です．できあがった tex ファイルは，通常通り L^{A}TEX の処理にかけます．

2.2 置換基の指定

実例で説明したほうがわかりやすいので，具体的な入力と相当する出力を並記することにします．まず，文章の途中に， 1,4-difluorobenzene を挿入してみましょう．これは簡単で， Ybzdrv{1==F;4==F}と入力す

るだけです．すると， 1,4-difluorobenzene の構造式が，文の途中に，[figure: F; F] と出力されます．このように， XΥMTEX で描かれた構造式は，一つの文字と同じように取り扱われます．

Ybzdrv はベンゼン誘導体を縦方向に描くための命令です．語尾の v は， vertical (垂直) の略です．引数の中は置換基のリストです．セミコロンで区切られたところが，それぞれ一つの置換基を表しています．たとえば，上記の 1==F は， 1 位に F が置換していることを指定したものです．このように， ==の前に置換位置，後に置換基を指定します．置換位置の番号は，それぞれの命令で決まっています． bzdrv の場合は，頂上の頂点が 1 で，時計回りに番号を振っています．その他の命令について，詳しくは XΥMTEX のマニュアルをご覧ください．

置換基は，添え字なども付けることができます． nitrophenol の三つの異性体を列挙してみましょう．各構造式が一つの文字とみなされますから，単に命令を並べるだけで，構造式を列挙することができます．

     Ybzdrv{1==OH;2==NO$_2$}
     Ybzdrv{1==OH;3==NO$_2$}
     Ybzdrv{1==OH;4==NO$_2$}

と入力すると，次のような出力が得られます．

[figure: OH; NO_{2}; OH; NO_{2}; OH; NO_{2}]

それぞれ， 2-nitrophenol, 3-nitrophenol, 4-nitrophenol という名称ですから，これらの名称を書くのと同じ感覚で置換基を指定してゆけばよいことになります．

ニトロ基が逆方向に付いたものは次のように指定します．ここでは，ニトロ基を左方向から読むように書き換えています．

     Ybzdrv{1==OH;6==O$_2$N}
     Ybzdrv{1==OH;5==O$_2$N}

と入力すると，次のような出力が得られます．

[figure: OH; O_{2}N; OH; O_{2}N]

このように，引数の中に置換位置と置換基を列挙すれば，必要な結合手を描いた上で，置換基を印刷します．置換基を指定しない位置には，何も出力されません．極端なときは空の置換基リストを指定することもできます．この場合は母核のベンゼンそのものが出力されます．四つの置換基を指定する例として，爆薬として有名な TNT (2,4,6-trinitrotoluene) の構造式を描いてみましょう．同じ要領で，置換基を列挙してゆきます．この場合も，名称から次の命令を書き下すことは容易です．

     Ybzdrv{}
     Ybzdrv{1==CH$_3$;2==NO$_2$;4==NO$_2$;6==O$_2$N}

と入力すると，次のような出力が得られます．

[figure: CH_{3}; NO_{2}; NO_{2}; O_{2}N]

縦出力のYbzdrv に対して，ベンゼン誘導体を横方向に描くための命令が， Ydzdrh です．語尾の h は， horizontal (水平) のを表しています．上記の nitrophenol の三つの置換体をこの命令で描いてみましょう．

     Ybzdrh{1==HO;2==NO$_2$}
     Ybzdrh{1==HO;3==NO$_2$}
     Ybzdrh{1==HO;4==NO$_2$}

\underline{第 2 章. ベンゼン誘導体を描く 13}

と入力すると，次のような出力が得られます．

[figure: HO; NO_{2}; HO; NO_{2}; HO; NO_{2}]

2.3 結合様式の指定

2.3.1 ベンゼン環の二重結合

このタイプの XΥMTEX の命令は，オプションの引数 OPT を取るようになっています．この入門では，タイプ I の命令と呼ぶことにします．^{1} ここでこれらの書式を一般的に示しておきます．

     Ybzdrv[OPT]{SUBSLIST}
     Ybzdrh[OPT]{SUBSLIST}

Ybzdrv やYbzdrh の場合のオプション引数 OPT は， 1 文字あるいは 2 文字のアルファベットで，結合様式 (bond pattern) を指定するためのものです． SUBSLITST は前節で説明した置換基リストです．これらの引数の詳細は，この入門では触れず，話が通る範囲で例示するにとどめます．

ベンゼン環の二重結合は，標準設定 (default) としては， 2–3, 4–5, 6–1 の位置に二重結合が交互に印刷されます．オプション [OPT] として [r] と指定しても同じ出力が得られます．これを 1–2, 3–4, 5–6 の二重結合に変えるには，オプションに [l] と指定します．また，芳香族の共役をあらわすために，円を描くこともあります．このためには， [c] とオプション指定します．

     Ybzdrv{1==F;4==F}
     Ybzdrv[r]{1==F;4==F}
     Ybzdrv[l]{1==F;4==F}
     Ybzdrv[c]{1==F;4==F}

と入力すると，次のような出力が得られます．

[figure: F; F; F; F; F; F; F; F]

2.3.2 キノン体などの描き方

Ybzdrv やYbzdrh の場合のオプション引数は，キノン体を描くためにも使えます．オプションの 1 文字あるいは 2 文字の指定で， p-ベンゾキノンの三つの書き方のいずれをも出力することができます．

     Ybzdrv[p]{1D==O;4D==O}
     Ybzdrv[pa]{1D==O;4D==O}
     Ybzdrv[pb]{2D==O;5D==O}
     Ybzdrv[pc]{3D==O;6D==O}

1XΥMTEX のマニュアルでは， specified user commands for drawing carbocyles と呼んでいます．

と入力すると，次のような出力が得られます．

[figure: O; O; O; O; O; O; O; O]

ここで，置換基リストの位置指定 (==の前) が，数字と文字の組合わせになっていることに注意してください．この D は，該当の置換基 (==の後) を二重結合で結ぶことを指定するものです．この場合は，カルボニル基の酸素の出力に使っています．

同様に，オプションの 1 文字あるいは 2 文字の指定で， o-ベンゾキノンの六つの書き方のいずれをも出力することができます．

     Ybzdrv[o]{1D==O;2D==O}
     Ybzdrv[oa]{1D==O;2D==O}
     Ybzdrv[ob]{2D==O;3D==O}
     Ybzdrv[oc]{3D==O;4D==O} YY
     Ybzdrv[od]{5D==O;4D==O}
     Ybzdrv[oe]{5D==O;6D==O}
     Ybzdrv[of]{1D==O;6D==O}

と入力すると，次のような出力が得られます．

[figure: O; O; O; O; O; O; O; O]

[figure: O; O; O; O; O; O]

OPT と SUBSLIST は独立に指定するようになっていますので，さらにいろいろな化合物の構造を描くのに使えます．次の例は， p-キノンアセタル誘導体や o-スルホンアミド誘導体を描いた例です．

     Ybzdrv[p]{1D==O;4Sa==OCH$_3$;4Sb==CH$_3$O;2==Cl;6==Cl}Yqquad
     Ybzdrv[o]{1D==O;2D==N--SO$_2$Ph;4==OCH$_3$;5==CH$_3$}

と入力すると，次のような出力が得られます．

[figure: O; OCH_{3}; CH_{3}O; Cl; Cl; O; N–SO_{2}Ph; OCH_{3}; CH_{3}]

このソースリストのYqquad は， TEX の命令で水平方向に空白を空けます．

2.4 置換基の右勝手と左勝手

Ybzdrv 命令で描いたベンゼン環の 1 位および 4 位の置換基は，右方向に描くこと (右勝手) が普通ですが，込み合ってくると左方向に描きたいこと (左勝手) もあります． XΥMTEX 標準では，右勝手にしましたが，これを強制的に左勝手に変えるにはYlmoiety 命令を使います．必要なら，右勝手に変えるYrmoiety 命令も使えます．

     Ybzdrv{1==OCH$_3$}
     Ybzdrv{1==Ylmoiety{CH$_3$O}}

と入力すると，次のような出力が得られます．

[figure: OCH_{3}; CH_{3}O]

2.5 その他のタイプ I 命令

Ybzdrv やYbzdrh と同じ書式をもつ命令には，

           ナフタレンを描くための  Ynathdrv  および Ynaphdrh，
           テトラリンを描くための  Ytetralinev  および Ytetralineh，
           アントラセンを描くための Yanthracenev  および Yanthraceneh，
           フェナントレンを描くための Yphenanthrenev および Yphenanthreneh，

などがあります．オプション引数 OPT および引数 SUBSLIST をもつ書式を取ります．それぞれの置換位置の番号などは， XΥMTEX 付属のマニュアルをご覧ください．

これらの命令を使った例をいくつかあげておきましょう． Ynaphdrv およびYnaphdrh については，これまでの説明から容易に使うことができるでしょう．ナフタレン環の二重結合の書き方はいくつか可能ですが，標準としては，縮合結合が二重結合となるようにしてあります．共役を円であらわすことも可能です．

     Ynaphdrv{1==NO$_2$;2==CH$_3$} Yqquad
     Ynaphdrv[A]{1==NO$_2$;2==CH$_3$}

と入力すると，次のような出力が得られます．

[figure: NO_{2}; CH_{3}; NO_{2}; CH_{3}]

p-ナフトキノン誘導体も，オプション指定で描くことができます．たとえば，

     Ynaphdrv[p]{1D==O;4D==O;8==OH} Yqquad
     Ynaphdrv[pb]{5D==O;8D==O;1==OH}

[figure: {O \atop O}; OH; OH; O; O]

o-ナフトキノン体もすべての可能性が書けるように， [oa] から [of] までオプション指定できるようになっています．たとえば，

     Ynaphdrv[oa]{1D==O;2D==O;5==OH} Yqquad
     Ynaphdrv[oc]{3D==O;4D==O;5==OH} Yqquad
     Ynaphdrv[of]{7D==O;8D==O;5==OH}

と入力すると，次のような出力が得られます．

[figure: O; O; OH; O; O; OH; O; OH; O]

ナフトキノン体はこれ以外にも， 2,6-ナフトキノンなどがありますが，これもこの命令を用いて描けます．詳しくは， XΥMTEX 付録のマニュアルをご覧ください．

Ytetralinev およびYtetralineh についても同様です．左側の環が芳香環となります．ただし， [ea] から [ec] を使うようにしていて，左側の環の二重結合の位置は，縮合位置が二重結合になるように固定されています．

     Ytetralinev[ea]{2==H;1==CH=CH$_2$;6==CH$_3$O} Yqquad
     Ytetralinev[ec]{2==H;1==CH=CH$_2$;6==CH$_3$O} Yqquad
     Ytetralinev{1D==O;4D==O;2Sa==CH$_3$;2Sb==Br;3Sa==Br;3Sb==H}

と入力すると，次のような出力が得られます．

[figure: H; CH=CH_{2}; CH_{3}O; H; CH=CH_{2}; CH_{3}O; O; O; CH_{3}; Br; Br; H]

ただし，テトラリンの描画は， Ydecalinev およびYdecalineh というタイプ II 命令として定義されているものを使うことをお勧めします．タイプ II 命令については次の章で説明しますが，二重結合を個別に指定することができる命令のことです．たとえば，

     Ydecalinev[fhkc]{2==H;1==CH=CH$_2$;6==CH$_3$O} Yqquad
     Ydecalinev[ackf]{7==H;8==CH=CH$_2$;3==OCH$_3$}

と入力すると，次のような出力がえられます．

[figure: H; CH=CH_{2}; CH_{3}O; OCH_{3}; H; CH=CH_{2}]

ベンゼン環の共役をあらわすために，円を描くこともできます．たとえば，

     Ydecalinev[Ac]{2==H;1==CH=CH$_2$;6==CH$_3$O} Yqquad
     Ydecalinev[Bf]{7==H;8==CH=CH$_2$;3==OCH$_3$}

と入力すると，次のような出力がえられます．

[figure: H; CH=CH_{2}; CH_{3}O; OCH_{3}; H; CH=CH_{2}]

Yanthracenv は，三環系の化合物を描くための命令です．たとえば， alizarin と anthrone の構造式は，

     Yanthracenev[p]{9D==O;{{10}D}==O;1==OH;2==OH} Yqquad
     Yanthracenev[p]{9D==O}

と入力します．すると，次のような出力が得られます．

[figure: OH; OH; O; O; O]

この入力で 10 位の置換基の位置指定に特殊な方法を用いていることに注意してください．これは， TEX の処理時に一まとめにして処理するように強制的に指定するためのものです．たとえば， 10 を添え字として付けるときに， $a_10$ではだめで， $a_{10}$などのように指定しなければならないことと同じ事情です．

第3章シクロヘキサン誘導体の描き方

ここでは，シクロヘキサン誘導体を描くYcyclohexanev 命令を例にとって， XΥMTEX のもう一つのタイプの命令 (タイプ II 命令) の使い方を説明します．

3.1 置換基の指定

Ycyclohexanev 命令は，引数として SUBSLIST を取ります．これは，これまで述べたのと基本的には同じです．たとえば，

     Ycyclohexanev{1D==O;2Sa==Cl;2Sb==Cl}
     Ycyclohexanev{1D==O;4Sa==CH$_3$;4Sb==H$_3$C}

と入力すると，次のような出力が得られます．

[figure: O; Cl; Cl; O; CH_{3}; H_{3}C]

XΥMTEX の TEX/L^{A}TEX 互換モードでは，立体化学に使う楔形の結合はありません．これは， TEX/L^{A}TEX のフォントの中に含まれていないためです．そこで次善の策として，太い線分で代用します．．

     Ycyclohexanev{2A==CH$_3$;3B==CH$_3$}
     Ycyclohexanev{2B==CH$_3$;3B==CH$_3$}

と入力すると，次のような出力が得られます．

[figure: CH_{3}; CH_{3}; CH_{3}; CH_{3}]

このとき， α 結合の表示に点線を使いますので， epic.sty をYusepackage 命令の引数として指定しておく必要があります．

上の例では，立体化学を示すのに，一つの位置あたり一つの置換基で代表させて表示しました．完全に表示するには次のように指定します．

     Ycyclohexanev{2SA==CH$_3$;2SB==H;3SB==CH$_3$;3SA==H}
     Ycyclohexanev{2SB==CH$_3$;2SA==H;3SB==CH$_3$;3SA==H}

[figure: CH_{3}; H; CH_{3}; H; CH_{3}; H; CH_{3}; H]

Ycyclohexaneh 命令は，横型のシクロヘキサン環を作図する命令です．引数として SUBSLIST を取ります．これは，これまで述べたのと基本的には同じです．たとえば，

     Ycyclohexaneh{1D==O;2Sa==Cl;2Sb==Cl}
     Ycyclohexaneh{1D==O;4Sa==CH$_3$;4Sb==CH$_3$}

と入力すると，次のような出力が得られます．

[figure: O; Cl; Cl; O; CH_{3}; CH_{3}]

3.2 環内二重結合の個別指定

このタイプの XΥMTEX の命令は，オプションの引数 BONDLIST を取るようになっています．この入門では，タイプ II の命令と呼ぶことにします．^{1} ここでこれらの書式を一般的に示しておきます．

     Ycyclohexanev[BONDLIST]{SUBSLIST}
     Ycyclohexaneh[BONDLIST]{SUBSLIST}

Ycyclohexanev やYcyclohexaneh のオプション引数 BONDLIST で，環内の二重結合を一つずつ指定してゆきます．この指定をするために， 1–2 結合には a, 2–3 結合には b, … という具合に各結合には a–f の文字が割り当てられています．たとえば， a を指定すると 1–2 が二重結合になります． SUBSLITST は前節で説明した置換基リストです．

次の例では，環内二重結合は一つしかありませんが，構造式に応じて多数の文字を指定することができます．

     Ycyclohexanev[b]{1D==O;4Sa==CH$_3$;4Sb==CH$_3$}
     Ycyclohexanev[e]{6==;2B==CO$_2$Et;3A==CO$_2$Et}

と入力すると，次のような出力が得られます．

[figure: O; CH_{3}; CH_{3}; CO_{2}Et; CO_{2}Et]

後者では， 6 位の置換位置の指定はありますが，置換基は指定していないことに注意してください．このようにすると結合だけが印刷されます．

1XΥMTEX のマニュアルでは， general user commands for drawing carbocyles と呼んでいます．

\underline{第 3 章. シクロヘキサン誘導体の描き方 21}

3.3 その他のタイプ II 命令

Ycyclohexanev やYcyclohexaneh と同じ書式をもつ命令には，

シクロペンタンを描くための  Ycyclopentanev および Ycyclopentaneh，
                                Ycyclopentanevi および Ycyclopentanehi，

シクロブタンを描くための  Ycyclobutane，
シクロプロパンを描くための  Ycyclopropane，

インダンを描くための  Yindanev  および Yindaneh，
                                Yindanevi  および Yindanehi，
デカリンを描くための  Ydecalinev  および Ydecalineh，

ヒドロアントラセンを描くための Yhanthracenev
ヒドロフェナントレンを描くための Yhphenanthrenev

ステロイドを描くための  Ysteroid  および Ysteroidchain

などがあります．オプション引数 BONDLIST および引数 SUBSLIST をもつ書式を取ります．それぞれの置換位置の番号などは， XΥMTEX 付属のマニュアルをご覧ください．

デカリン誘導体では，縮合位 (橋頭位) の置換基の指定が行えるようになっています．この場合，位置番号として， 9 および 10 を使います．通常の位置は 1–8 の数字を使います．

Ydecalinev[g]{4D==O;{10}A==Me;9B==H}
Ydecalinev[d]{3B==OH;5Sa==;5Sb==;{10}B==}

と入力すると，次のような出力が得られます．

[figure: O; H; Me; OH]

ヒドロフェナントレンを描くための命令Yhphenanthrenev を用いて， doisynoestrol および doisynolic acid (A series) の構造式を描いてみます．

Yhphenanthrenev[olpig]{1SB==H;1SA==CH$_2$CH$_3$;%
2SA==COOH;2SB==CH$_3$;7==CH$_3$O}YqquadYqquad
Yhphenanthrenev[pig]{1SB==H;1SA==CH$_2$CH$_3$;%
2SA==COOH;2SB==CH$_3$;7==CH$_3$O;{{11}FA}==H;{{11}GB}==H}

と入力すると，次のような出力が得られます．

[figure: CH_{3}O; H; CH_{2}CH_{3}; COOH; CH_{3}]

[figure: CH_{3}O; H; CH_{2}CH_{3}; COOH; CH_{3}; H; H]

この場合も，縮合位 (橋頭位) の置換基の指定が行えるようになっています．位置番号として， {11}F, {11}G, {12}F, {12}G を使います．通常の位置は 1–10 の数字を使います．この例のように， SUBSLIST が長くなるときには，行末に%を使い改行します．

ステロイドを描く命令Ysteroid も同様に使います． Ysteroid 命令のオプション引数 BONDLIST には，アルファベット a–t を指定します．各文字がどの結合に対応しているかを知りたいときは， XΥMTEX 付属のマニュアルを参照してください．

次の例は，オプションの BONDLIST の指定をいろいろに変えたものです． norethindorone, norethynodrel, norgestrienone の構造式を順次描きます．三重結合を描くためのYtriplebond の定義を拙著から引用して使います．

     % Ytriplebond の定義

% chemist.sty (藤田眞作著，化学者・生化学者のための LaTeX， % 東京化学同人 (1993) より引用

     YdefYtriplebond{YleavevmodeYkern.2ptYraisebox{.2ex}{Yhbox{Yvbox{%
     Yhrule height.03ex width1emYkern.4ex
     Yhrule height.03ex width1emYkern.4ex
     Yhrule height.03ex width1em}}}Yhskip.4pt}
     %ethynyl 基を box0 に保存する
     Ysetbox0=Yhbox{CYtriplebond{}CH}
     %norethindorone, norethynodrel, norgestrienone の描画
     Ysteroid[d]{3D==O;{{13}B}==Ylmoiety{H$_3$C};{{17}SB}==HO;%
       {{17}SA}==Ycopy0}YqquadYqquad
     Ysteroid[k]{3D==O;{{13}B}==Ylmoiety{H$_3$C};{{17}SB}==HO;%
       {{17}SA}==Ycopy0}YY
     Ysteroid[dim]{3D==O;{{13}B}==Ylmoiety{H$_3$C};{{17}SB}==HO;%
       {{17}SA}==Ycopy0}

と入力すると，次のような出力が得られます．

[figure: O; HO; C CH; H_{3}C; O; HO; C CH; H_{3}C]

[figure: O; HO; C CH; H_{3}C]

この例では，やや特殊ですが有用なテクニックを使っていますので，これについて説明しましょう．上記の化合物では， C CH を置換基として指定しています．この例では， C CH の出力にYtriplebond というマクロを使っていますが，このようなマクロを直接 SUBSLIST の中に書き込むとエラーになることがあります．このような場合は， Ysetbox 命令 (TEX プリミティブ命令ですので，詳しくは， TEXbook を参照して \underline{第 3 章. シクロヘキサン誘導体の描き方 23}

ください) を使って， C CH の組版の結果を，一時的にYbox0 に保管しておきます．これを， BONDLIST の中で， Ycopy0 (一度だけのときはYbox0 でも可) を指定して利用します．

エチニル基をYdefYethynyl{Ymbox{CYtriplebond{}CH}}のように命令としておく手もあります．同じ

化合物をこのテクニックで描いてみましょう．

%エチニル基の定義

YdefYethynyl{Ymbox{CYtriplebond{}CH}}
%norethindorone, norethynodrel, norgestrienone の描画
Ysteroid[d]{3D==O;{{13}B}==Ylmoiety{H$_3$C};{{17}SB}==HO;%
  {{17}SA}==Yethynyl}YqquadYqquad
Ysteroid[k]{3D==O;{{13}B}==Ylmoiety{H$_3$C};{{17}SB}==HO;%
  {{17}SA}==Yethynyl} YY
Ysteroid[dim]{3D==O;{{13}B}==Ylmoiety{H$_3$C};{{17}SB}==HO;%
  {{17}SA}==Yethynyl}

と入力すると，次のような出力が得られます．

[figure: O; HO; C CH; H_{3}C; O; HO; C CH; H_{3}C]

[figure: O; HO; C CH; H_{3}C]

昆虫ホルモンの一種である α-ecdysone の構造は， Ysteroidchain 命令を使って描きます．複雑な構造式ですが，次のように SUBSLIST に置換位置と置換基を列挙してゆくだけです．

Ysteroidchain[g]{2B==HO;3B==HO;{{10}B}==;5B==H;6D==O;{{13}B}==;%
 {{14}A}==OH;{{20}SA}==CH$_2$;{{20}SB}==H;{{22}A}==OH;{{25}}==OH}

[figure: HO; HO; O; H; OH; OH; CH_{2}; H; OH]

第4章置換基の位置の微調整

置換基の出力位置は，多くの場合に適合するように，最大公約的なものを選んでいますので，場合によっては，調整する必要があります．本章では，この調整法を説明します．

4.1 水平位置の微調整

置換基の出力位置は，置換基として指定した文字列の最初の文字が取得できる場合には，取得した文字の中央に結合が来るようにしてあります．たとえば，

     Ybzdrv{1==I}
     Ybzdrv{1==H}
     Ybzdrv{1==IO$_{2}$}
     Ybzdrv{1==CO$_{2}$H}

と入力しますと，出力は，次のようになります．

[figure: I; H; IO_{2}; CO_{2}H]

一番目と二番目の出力でわかるように，文字 I と文字 H は文字幅が異なりますが，どちらも一文字ですから，文字として認識されるので，文字の中心線に結合がきています．三番目と四番目は，置換基が文字列の例です．最初の文字 I と C が取得できるので，どちらも最初の文字の中心線に結合が来ています．

ところが， iodylbenzene を描く際に，置換基をYdefYiodyl{IO$_{2}$}のようにマクロとして記述した場合は，最初の文字が取得できないため，上記の自動調整の機構が働きません．このような場合には， C, N, O などよく現れる文字の幅に適合するように決めてあります．したがって，文字によっては，文字の中心線よりのずれが目立つことがあります．たとえば，

     YdefYiodyl{IO$_{2}$}
     YdefYcarboxyl{CO$_{2}$H}
     Ybzdrv{1==Yiodyl}
     Ybzdrv{1==Ycarboxyl}

と入力しますと，出力は，次のようになります．

[figure: IO_{2}; CO_{2}H]

一番目では，文字 I の中心線と結合が微妙にずれていることがわかりす．二番目は，自動調整の機能なしでも文字 C の中心に来ています．

次の例は， iodylbenzene のヨウ素の位置を，微調整したものです．

     Ybzdrv{1==Yiodyl}
     Ybzdrv{1==Yhbox{Ykern0.16em Yiodyl}}
     Ybzdrv{1==Ykern0.16emYiodyl}

と入力しますと，出力は，次のようになります．

[figure: IO_{2}; IO_{2}; IO_{2}]

左端の出力が，調整なしのもので，左側にずれていることがわかります．第一の調整法 (出力は二番目のもの) は， Yhbox とYkern によるものです．これらは TEX のプリミティブ命令です． Ykern をYhbox の中で使うと水平方向に空白をあけて移動します．この場合は， 0.16em (em は寸法の単位) だけ右へずらして印刷します． Ykern に設定する寸法は，試行錯誤で求めたものです．厳密には文字の長さを測って決めるのがよいのでしょうが，試行錯誤によるのも現実的な手段です．三番目は， Yhbox を省略したものです．この場合は，省略してもうまくゆきます．

Cl のように元素記号が 2 文字のときは，一文字目の中心に結合が来るようになっています．置換基を略号であらわすときも同様の仕様で出力されます．たとえば，

     Ybzdrv{1==Cl}
     Ybzdrv{1==Me}
     Ybzdrv{1==Et}
     Ybzdrv{1==OH}

と入力しますと，出力は，次のようになります．

[figure: Cl; Me; Et; OH]

長い置換基の中途の原子のところで結合させたいことがあります．この位置調整に第一の方法を応用してみます．たとえば， H_{2}NCH_{2}CHCH_{2}COOH という基の CH のところでベンゼン環に結合させたいとしましょう．普通に，

     Ybzdrv{1==H$_2$NCH$_2$CHCH$_2$COOH}

と入力すると，次のように出力されてしまいます．

[figure: H_{2}NCH_{2}CHCH_{2}COOH]

\underline{第 4 章. 置換基の位置の微調整 27}

これを望み通り出力させるには，

     Ybzdrv{1==Yhbox{Ykern-39pt H$_2$NCH$_2$CHCH$_2$COOH}}

と入力します．出力は，次の通りです．この場合は， Ykern に負の値を設定していますので， 39pt だけ左へ戻って重ね書きをすることになります．

[figure: H_{2}NCH_{2}CHCH_{2}COOH]

Yllap および同等の機能を用いる別の方法を，次に示します．

     Ybzdrv{1==Yllap{H$_2$NCH$_2$}CHCH$_2$COOH} Yhskip2cm
     Ybzdrv{1==Yhbox to0pt{Yhss H$_2$NCH$_2$}CHCH$_2$COOH}

と入力します．出力は，次の通りです．なお， Yhskip は後続の寸法だけ水平方向にアキをとります．

[figure: H_{2}NCH_{2}CHCH_{2}COOH; H_{2}NCH_{2}CHCH_{2}COOH]

これらの方法では，具体的な寸法を指定していないことに注意してください． Yhbox to0pt は，幅 0pt (幅無し) の箱を用意して，その中に指定した式を出力する命令です．箱の中に収めるために， Yhss (TEX プリミティブ命令の一つ) を使います．この命令は，無限の伸縮する空白を取るためのもので，幅無しの箱と組み合わせて用います． Yllap は，同等の機能をもつマクロです． Yhss の効果についてはやや難しいので，興味のある方は， TEXbook を参照してください．

XΥMTEX バージョン 2.00 以降は， (yl) 機能によって，構造式の入れ子ができるようになっています．この機能を使って，同じ化合物を描いた例を次に示します．ただし，描画した構造式には，置換基中央の CH から結合が出ることになります．

     Ybzdrv{1==Ytetrahedral{3==(yl);0==CH;2==H$_2$NCH$_2$;%
     4==CH$_2$COOH}} Yhskip2cm
     Ybzdrv{1==Yutrigonal{1==(yl);0==CH;3==H$_2$NCH$_2$;%
     2==CH$_2$COOH}}

と入力します．出力は，次の通りです．

[figure: ^{H_{2}NCH_{2} CH CH_{2}COOH}; CH; H_{2}NCH_{2}; CH_{2}COOH]

4.2 垂直位置の微調整

XΥMTEX のマクロで作った構造式断片を，さらに他のマクロ命令の置換基として用いたいことがあります．この時には， Ysetbox0 命令を用いるのがよいでしょう．次の例では，ベンゼン環をさらにベンゼン環に置換しています．

     Ysetbox0=Yhbox{Ykern-37ptYbzdrv{3==F;5==F}}
     Ybzdrv{1==Ylower25ptYbox0}

と入力しますと，出力は，次のようになります．

[figure: F; F]

水平方向の位置調整には，上と同じく， Yhbox 内でYkern を利用しています．垂直方向の位置調整には， Ylower を使っています．これらの調整に使った命令は，いずれも TEX のプリミティブ命令です． Ykern や Ylower の寸法は， XΥMTEX の内部命令などをきちんとみれば，厳密に計算することができます．しかし，この例のように，試行錯誤で決めたほうが簡単です．

XΥMTEX バージョン 2.00 以降は， (yl) 機能によって置換基を入れ子にする方法を利用することができます．同じ化合物を，この方法で描くには，

     Ybzdrv{1==Ybzdrv{4==(yl);3==F;5==F}}

と入力します．出力は次のようになります．入れ子にしたYbzdrv{4==(yl);3==F;5==F}は，置換基を作るための方法を例示しています．ベンゼン環の 4 の位置で (yl) 機能を使っていますので，ここで母核のベンゼン環に結合します．この方法では，位置調整のための数値は一切使っていません．

[figure: F; F]

もう一つ例をあげておきます．次の例では，すでに内部処理でYbox0 が使用されているため，出力がおかしくなります．このため，代わりにYbox4 を使って一時保管を行っています．状況によっては，このようなことが起こることがありますので，そのときはYbox0–Ybox9 の中から空きの箱を選んでください．

     Ysetbox4=Yhbox{Ykern8ptYbzdrh{1==CO;4==OCH$_3$}}
     Ybzdrv{1==COOH;2==Ylower37ptYbox4}

と入力しますと，出力は，次のようになります．

[figure: COOH; CO; OCH_{3}]

XΥMTEX バージョン 2.00 以降は， (yl) 機能によって置換基を入れ子にする方法を利用することができます．同じ化合物を，この方法で描くには，

     Ybzdrv{1==COOH;2==Yryl(5==CO){4==Ybzdrh{1==(yl);4==OCH$_{3}$}}}

と入力します．出力は次のようになります．この方法では，位置調整のための数値は一切使っていません．

[figure: COOH; CO; OCH_{3}]

なお， Yryl 命令は，置換基を簡単なユニット (ここでは CO) を介して右勝手で結合させる機能をもっています．丸括弧内のロカント番号は，左側の結合手の方向を示します．

Yryl 命令は，使い道の多い命令です．たとえば， o-スルホンアミド誘導体を描いた例を次に示します．

     Ybzdrv[o]{1D==O;2D==N--SO$_2$Ph;4==OCH$_3$;5==CH$_3$} Yhskip2cm
     Ybzdrv[o]{1D==O;2D==Yryl(5==N--SO$_2$){4==Ybzdrh{1==(yl)}};4==OCH$_3$;5==CH$_3$}

と入力すると，次のような出力が得られます．

[figure: O; N–SO_{2}Ph; OCH_{3}; CH_{3}; O; N–SO_{2}; OCH_{3}; CH_{3}]

一番目は， (yl) 機能を使わずに，フェニル基を Ph であらわした例です．二番目は， (yl) 機能とYryl 命令を用いて， N-SO_{2} を仲介する形に改めたものです． Ph とせず， 6 員環の形で出力することができます．

なお， Yryl 命令に対して， Ylyl 命令があり，置換基を簡単なユニットを介して逆向きに (左勝手に) 結合させる機能をもっています．丸括弧内のロカント番号は，今度は，右側の結合手の方向を示します．上の化合物を左勝手に描くには，

     Ybzdrv{1==COOH;6==Ylyl(5==CO){4==Ybzdrh{4==(yl);1==CH$_{3}$O}}}

と入力します．出力は次のようになります．ここでも，位置調整のための数値は一切使っていません．

[figure: COOH; CO; CH_{3}O]

第5章ピリジン誘導体を描く

この章ではヘテロ芳香環の代表として，ピリジン誘導体を描く命令を説明します．

5.1 縦型のピリジン

ピリジン誘導体を描く命令は，次の通りです．すでに前章までで， BONDLIST と SUBSLIST については説明しましたが，ピリジン誘導体の命令でも指定の仕方は同様です．

     Ypyridinev[BONDLIST]{SUBSLIST}
     Ypyridinevi[BONDLIST]{SUBSLIST}

オプション引数のない場合は，ピリジン母核 (二重結合が交互に共役したもの) が印刷されます．この形の引数を取る XΥMTEX 命令をタイプ III と呼ぶことにします．^{1} 語尾の v は，縦型の組版を行う命令であることを示します．さらに， i は天地が逆の縦型の構造式を出力することを示します．

これらの命令は，パッケージファイル hetaromh.sty に格納されていますので，これをYusepackage の引数として指定しておく必要があります．

簡単なピリジン誘導体を天地を逆にした形で出力してみましょう．

     Ypyridinev{4==Cl}
     Ypyridinevi{4==Cl}

と入力すると，次のように出力されます．

[figure: N; Cl; N; Cl]

置換位置の番号は天地が逆になっても，窒素原子が 1 となっています．これは， IUPAC 命名に従うようにしたものですが，命令を使い回すときに便利です．上の例では，単に語尾の i を付けるかどうかの違いで，同じピリジン誘導体を天地を逆に出力できるわけです．

オプション引数 BONDLIST は，環内の二重結合を指定するものです．たとえば，

     Ypyridinev[ce]{2D==O;1==Me;5==NC}Yqquad
     Ypyridinevi[ce]{2D==O;1==Me;5==NC}

と入力すると，次のように出力されます．

1XΥMTEX のマニュアルでは， specified user commands for drawing heterocycles あるいは short-cut commands for drawing heterocycles と呼んでいます．

[figure: N; O; Me; NC; N; O; Me; NC]

一方，完全な飽和ヘテロ環を出力したいときは，次のいずれかの指定をします．

     Ypyridinev[]{4D==O;1==H}
     Ypyridinevi[H]{4D==O;1==H}

と入力すると，次のように出力されます．

[figure: N; O; H; N; O; H]

BONDLIST には，窒素上の電荷の指示{1+}などを含めることができます．この指示を行うと，標準のピリジン環二重結合の指示が消えてしまいますので，改めて， [r], [l] などの指定を行う必要があります．

     Ypyridinevi[r{1+}]{1==Me;3==COO$^{-}$}
     Ypyridinevi[l{1+}]{1==Me;3==COO$^{-}$}
     Ypyridinevi[ace{1+}]{1==Me;3==COO$^{-}$}

と入力すると，次のように出力されます．

[figure: +; N; Me; COO^{−}; +; N; Me; COO^{−}; +; N; Me; COO^{−}]

5.2 横型のピリジン

ピリジン誘導体を寝た形に描く命令は，次の通りです．語尾の h は，横型の組版を行う命令であることを示します．さらに， i は左右が逆の横型の構造式を出力することを示します．

     Ypyridineh[BONDLIST]{SUBSLIST}
     Ypyridinehi[BONDLIST]{SUBSLIST}

これらの命令は，パッケージファイル hetaromh.sty に格納されていますので，これをYusepackage の引数として指定しておく必要があります．

前節の最初の例を横型で描くには，次のように入力します．

     Ypyridineh{4==Cl}Yqquad
     Ypyridinehi{4==Cl}

\underline{第 5 章. ピリジン誘導体を描く 33}

この入力によって，次のように出力されます．

[figure: N; Cl; N; Cl]

5.3 6 員環の含窒素ヘテロ環を描くためのタイプ III の命令

複数個の窒素原子を含んだ 6 員環ヘテロ芳香環を描く命令もあります．次のリストに代表的なものを集めました．前節の命令と同様に， BONDLIST, SUBSLIST で詳細を指定します．語尾の v, vi, h, hi による区別は，これまでの説明と同様です．

                  ピラジンを描くための pyrazinev,  pyrazineh,
                  ピリミジンを描くための pyrimidinev, pyrimidineh,
                                         pyrimidinevi, pyrimidinehi,
                  ピリダジンを描くための pyridazinev, pyridazineh,
                                         pyridazinevi, pyridazinehi,
                  トリアジンを描くための triazinev,  triazineh,
                                         triazinevi,  triazinehi,

これらの命令は，環内の窒素原子と骨格を固定したものであることに注意してください．環内の二重結合と置換基は自由に指定することができます． Ypyrimidine 命令の例を示します．

     Ypyrimidinevi{6==CH$_3$;2==NH$_2$;4==NH$_2$}YqquadYqquad
     Ypyrimidinevi[e]{1==H;3==H;6==CH$_3$;2D==O;4D==O}Yqquad
     Ypyrimidinevi[e]{3==CH$_3$;1==CH$_3$;5==H$_2$N;2D==O;4D==O}Yqquad
     Ypyrimidinevi[e]{1==R;3==H;2D==O;4D==S}

と入力すると，次のように出力されます．

[figure: N; N; NH_{2}; NH_{2}; CH_{3}; N; N; H; H; O; O; CH_{3}; N; N; CH_{3}; CH_{3}; O; O; H_{2}N; N; N; R; H; O; S]

Ypyrimidinevi 命令を用いる限り，環内の窒素原子は，ここで示した位置に固定です．他の場所に出力したいときは，もう少し一般的な命令を使います．これについては，次章で説明します．

さらに単環の例をあげておきましょう．横型のものも同様に使うことができます．

     Ypyrazinev{2==CH$_3$}Yqquad
     Ypyrazineh{2==CH$_3$}YY
     Ypyridazinev{3==CH$_3$}Yqquad
     Ypyridazinevi{3==CH$_3$}Yqquad
     Ytriazinev[]{2D==O;4D==O;6D==O;1==H;3==H;5==H}Yqquad
     Ytriazinevi[]{2D==O;4D==O;6D==O;1==H;3==H;5==H}

と入力すると，次のように出力されます．

[figure: N; N; CH_{3}; N; N; CH_{3}]

[figure: N; N; CH_{3}; N; N; CH_{3}; N; N; N; O; O; O; H; H; H; N; N; N; O; O; H; H; O; H]

5.4 5 員環の含窒素ヘテロ環を描くためのタイプ III の命令

窒素を含む 5 員環のヘテロ環はよく出てきますので，これらを描くためのタイプ III の命令を作成してあります．前節の命令と同様に， BONDLIST, SUBSLIST で詳細を指定します．語尾の v, vi, h, hi による区別は，これまでの説明と同様です．

                  ピロールを描くための  pyrrolev,  pyrroleh,
                                            pyrrolevi,  pyrrolehi,
                  ピラゾールを描くための  pyrazolev,  pyrazoleh,
                                            pyrazolevi, pyrazolehi,
                  イミダゾールを描くための imidazolev, imidazoleh,
                                            imidazolevi, imidazolehi,
                  イソキサゾールを描くための isoxazolev, isoxazoleh,
                                            isoxazolevi, isoxazolehi,
                  オキサゾールを描くための oxazolev,  oxazoleh,
                                            oxazolevi,  oxazolehi,

次に，ピロール誘導体を描いた例をいくつか掲げます．

     Ypyrrolev[d]{1==H;2Sa==H;2Sb==NHOH;3Sa==H;3Sb==H}Yhskip80pt
     Ypyrrolev{1==H;2==NO$_2$;4==O$_2$N;3==COOC$_2$H$_5$;5==C$_2$H$_5$OOC}
     Yhskip60pt
     Ypyrrolev[c]{1==H;2==C(C$_6$H$_5$)$_3$;5==(C$_6$H$_5$)$_3$C}

と入力すると，次のように出力されます．

[figure: N; H; H; NHOH; H; H; N; H; NO_{2}; COOC_{2}H_{5}; O_{2}N; C_{2}H_{5}OOC; N; H; C(C_{6}H_{5})_{3}; (C_{6}H_{5})_{3}C]

他の命令も同様に使うことができます．ここでは，オプションの BONDLIST を指定していない例をあげるにとどめます．

     Ypyrazolev{1==H;3==Ph;5==Ph}Yqquad
     Yimidazolev{1==H;2==CH$_3$;4==CH$_3$;5==CH$_3$}Yqquad
     Yisoxazolev{3==CH$_3$;5==CH$_3$}Yqquad
     Yoxazolev{2==CH$_3$;4==CH$_3$;5==CH$_3$}

と入力すると，次のように出力されます．

[figure: N; N; H; Ph; Ph; N; N; H; CH_{3}; CH_{3}; CH_{3}; O; N; CH_{3}; CH_{3}; O; N; CH_{3}; CH_{3}; CH_{3}]

そのほか， 4 員環や 3 員環のヘテロ環を描くマクロもありますが，この入門では省略します．詳しくは， XΥMTEX のマニュアルをご覧ください．

5.5 含窒素縮合ヘテロ環を描くためのタイプ III の命令

天然物には，キノリン環やイソキノリン環など， 6-6 の縮合環を含む化合物が多く存在します． XΥMTEX では，これらの縮合環を描くために，次に示すタイプ III 命令を使います．

                キノリンを描くための  quinolinev,  quinolineh,
                                        quinolinevi,  quinolinehi,
                イソキノリンを描くための isoquinolinev, isoquinolineh,
                                        isoquinolinevi, isoquinolinehi,
                キノキサリンを描くための quinoxalinev,  quinoxalineh,
                                        quinoxalinevi, quinoxalinehi,
                キナゾリンを描くための quinazolinev,  quinazolineh,
                                        quinazolinevi, quinazolinehi,
                ヒノリンを描くための  cinnolinev,  cinnolineh,
                                        cinnolinevi,  cinnolinehi,
                プテリジンを描くための pteridinev,  pteridineh,
                                        pteridinevi,  pteridinehi,

次に示すのは，それぞれ echinorine, edulitine, evocarpine という慣用名で呼ばれている化合物の構造式です．これらは， Yquinolinevi 命令で描いたものです．

     Yquinolinevi[r{1+}]{1==Me;4==OMe}
     Yquinolinevi[cfhk]{2D==O;1==H;4==OMe;8==Ylmoiety{MeO}}
     Yquinolinevi[bfhk]{4D==O;1==Me;2==(CH$_2$)$_7$CH=CH(CH$_2$)$_3$CH$_3$}

と入力すると，次のように出力されます．

[figure: +; N; Me OMe; N; O; H; OMe; MeO; N; O; Me; (CH_{2})_{7}CH=CH(CH_{2})_{3}CH_{3}]

次に示すのは，それぞれ luciopterin, leucopterin という慣用名で呼ばれている化合物の構造式です．これらは， Ypteridinev 命令で描いたものです． 36 藤田眞作 (FUJITA Shinsaku): XΥMTEX 入門

Ypteridinev[ackf]{4==OH;2==OH;8==Me;7D==O}Yqquad
Ypteridinev{4==OH;2==NH$_2$;6==HO;7==HO}

と入力すると，次のように出力されます．

[figure: ^{N N}; N; N; OH; OH; O; Me; ^{N N}; N; N; OH; NH_{2}; HO; HO]

天地を逆にするには，語尾の v を vi に変えたYpteridinev 命令を使います．

Ypteridinevi[ackf]{4==OH;2==OH;8==Me;7D==O}Yqquad
Ypteridinevi{4==OH;2==NH$_2$;6==HO;7==HO}

と入力すると，次のように出力されます．

[figure: N; N; ^{N N}; OH; OH; Me; O; N; N; ^{N N}; OH; NH_{2}; HO; HO]

対応する横型 (horizontal type) は， v を h に変えたYpteridineh 命令で描くことができます．

Ypteridineh[ackf]{4==OH;2==OH;8==Me;7D==O}Yqquad
Ypteridineh{4==OH;2==NH$_2$;6==OH;7==OH}

と入力すると，次のように出力されます．

[figure: ^{N  N}; N; N; OH; OH; O; Me; ^{N  N}; N; N; OH; NH_{2}; OH; OH]

天地を逆にするには，語尾の h をさらに hi に変えたYpteridinehi 命令を使います．

Ypteridinehi[ackf]{4==HO;2==OH;8==Me;7D==O}Yqquad
Ypteridinehi{4==HO;2==NH$_2$;6==OH;7==OH}

と入力すると，次のように出力されます．

[figure: ^{N  N}; N; N; HO; OH; Me; O; ^{N  N}; N; N; HO; NH_{2}; OH; OH]

5-6 の縮合環を含む化合物も多く存在します． XΥMTEX では，これらの縮合環を描くためには，次に示すタイプ III 命令を使います．窒素ヘテロ環だけでなく酸素ヘテロ環の命令も用意してあります．

プリンを描くための  purinev,  purineh,
                            purinevi,  purinehi,
インドールを描くための  indolev,  indoleh,
                            indolevi,  indolehi,
インドリジンを描くための  indolizinev,  indolizineh,
                            indolizinevi,  indolizinehi,
イソインドールを描くための isoindolev,  isoindoleh,
                            isoindolevi,  isoindolehi,
ベンゾフランを描くための  benzofuranev,  benzofuraneh,
                            benzofuranevi,  benzofuranehi,
イソベンゾフランを描くための isobenzofuranev, isobenzofuraneh,
                            isobenzofuranevi, isobenzofuranehi,
ベンゾキサゾールを描くための benzoxazolev,  benzoxazoleh,
                            benzoxazolevi,  benzoxazolehi,

次に示すのは，それぞれ hypoxanthine, adenine, guanine という慣用名で呼ばれている化合物の構造式です．これらは， Ypurinev 命令で描いたものです．この命令では， 5 員環の下部の窒素の番号が 1 となって，反時計回りに番号が振られていることに注意してください．

Ypurinev[agj]{3==H;5==H;4D==O}
Ypurinev[adfh]{3==H;4==NH$_2$}
Ypurinev[aj]{3==H;4D==O;5==H;6D==HN;7==H}

と入力すると，次のように出力されます．

[figure: ^{N N}; ^{N N}; H; H; O; ^{N N}; ^{N N}; H; NH_{2}; ^{N N}; ^{N N}; H; H; HN; H; O]

indoleacetic acid および indoxyl の構造式を， Yindolev 命令で描いたものを次に掲げます．

Yindolev{1==H;3==CH$_2$COOH}Yhskip40pt
Yindolev[egj]{1==H;3D==O}

と入力すると，次のように出力されます．

[figure: N; H; CH_{2}COOH; N; H; O]

第6章ヘテロ環を描く一般的な方法

Ypyridinev など前章で説明した命令は，環内のヘテロ (窒素) 原子を固定で出力するものです．本章では，もう少し一般的な命令として， BONDLIST, SUBSLIST のほかに， ATOMLIST で環内のヘテロ原子を指定できるものを説明します．

6.1 6 員環ヘテロ環を描く

前章のやり方では，すべての環内のヘテロ原子の組合わせについて一つずつ命令を作る必要がありますので，膨大な数の命令を作らなければならなくなります．そこで，環内のヘテロ原子を ATOMLIST として指定できる命令を作りました． Ysixheterov とYsixheterovi を例にとって，書式を示します．

     Ysixheterov[BONDLIST]{ATOMLIST}{SUBSLIST}
     Ysixheterovi[BONDLIST]{ATOMLIST}{SUBSLIST}

この形の引数を取る XΥMTEX 命令をタイプ IV と呼ぶことにします．^{1} BONDLIST と SUBSLIST については前章までに説明した通りです． ATOMLIST は，環内のヘテロ原子の位置番号と種類を列挙してゆくもので，列挙の仕方は SUBSLIST に準じます． Ysixheterov は，最上段の頂点を 1 として，時計回りに番号を付けます． Ysixheterovi は，最下段の頂点を 1 として，反時計回りに番号を付けます．たとえば，

     Ysixheterov[]{1==O;4==N}{4==Me}Yqquad
     Ysixheterovi[]{4==O;1==N}{1==Me}

と入力すると，次のように同じ構造式が出力されます． ATOMLIST および SUBSLIST の位置番号に注意してください．

[figure: O; N; Me; O; N; Me]

ATOMLIST で指定したヘテロ原子の位置では，頂点を削ってそのヘテロ原子を出力するための余地を作ります．一方，指定されない頂点では接合する結合が交わるようにしなければなりません．このような処理を上記の命令では，自動的に行うようになっています．この処理の実例として，窒素と酸素が環内にあるヘテロ環をいろいろ描いてみましょう．

     Ysixheterovi[]{1==O;4==N}{4==Me}Yqquad
     Ysixheterovi[]{2==O;4==N}{4==Me}Yqquad
     Ysixheterovi[]{3==O;4==N}{4==Me}Yqquad
     Ysixheterovi[]{6==O;4==N}{4==Me}Yqquad

と入力すると，次のように出力されます．

1XΥMTEX のマニュアルでは， general user commands for drawing heterocycles と呼んでいます．

[figure: O; N; Me; O; N; Me; O; N; Me; N; O; Me]

次に示す二つ例では，ピリリニウム塩の対イオンの印刷に多少凝ったことをしています．いずれの場合も O^{+} と ClO_{4}^{−} は同じ箱の中に置かれています． Yraise, Ylower, Ykern などの TEX プリミティブ命令で出力位置の調整を行っています．

     Ysixheterovi[r{1+}]%
         {1==Yhbox{OYraise20ptYhbox{Ykern20pt ClO$_{4}^{-}$}}}%
         {2==Me;4==Me;6==Me}YqquadYqquad
     Ysixheterovi[r{1+}]%
         {1==Yhbox{OYlower20ptYhbox{Ykern-0.6em ClO$_{4}^{-}$}}}%
         {2==Me;4==Me;6==Me}

と入力すると，次のように出力されます．

[figure: +; O  ClO_{4}^{−}; Me; Me; Me; +; O ClO_{4}^{−}; Me; Me; Me]

次の二つの例では，ピリジン N-オキシドの二つの指定の仕方を比較してください．正電荷の印刷するのに，一つは， BONDLIST の指定によっていますが，もう一つは， N の上ツキとして出力しています．また，この二つ例のの環内窒素は，タイプ III のYpyridinev 命令などでは描けないことにも注意してください．

     Ysixheterovi[r{2+}]{2==N}{2==O$^{-}$}Yqquad
     Ysixheterovi[bdf]{2==N$^{+}$}{2==O$^{-}$}

と入力すると，次のように出力されます．

[figure: +; N; O^{−}; N^{+}; O^{−}]

環内の窒素に水素原子が置換している化合物を通常の方法で描きますと， N—H のように結合手を介して出力されます．これを NH のように結合抜きで描くこともよく行われます．

     Ytriazinev[]{2D==O;4D==O;6D==O;1==H;3==H;5==H}Yqquad
     Ysixheterovv[]{1==N;3==N;5==H}{2D==O;4D==O;6D==O;1==H;3==H;5==H}Yqquad
     Ysixheterov[]{1==Yhbox{NYkern-0.65emYraise11ptYhbox{H}};3==NH;5==HN}%
        {2D==O;4D==O;6D==O}

と入力すると，次のように出力されます．右側の二つは，タイプ III と IV の命令の標準的な出力です．三番目が，結合抜きの構造式です．この方法は，ピリリニウム塩の対イオンの印刷と同じです． \underline{第 6 章. ヘテロ環を描く一般的な方法 41}

[figure: N; N; N; O; O; O; H; H; H; N; N; H; O; O; O; H; H; H; N H; NH; HN; O; O; O]

このような描き方は，比較的よく行われますので，次のようにマクロにしておくとよいでしょう．

YdefYupnobond#1#2{Yhbox{#1Ykern-0.72emYraise10ptYhbox{#2}}}
YdefYdownnobond#1#2{Yhbox{#1Ykern-0.72emYlower10ptYhbox{#2}}}
Ysixheterov[]{1==Yupnobond{N}{H};3==NH;5==HN}%
   {2D==O;4D==O;6D==O}
Ysixheterovi[]{1==Ydownnobond{N}{H};3==NH;5==HN}%
   {2D==O;4D==O;6D==O}

と入力すると，次のように出力されます．

[figure: N H; NH; HN; O; O; O; N H; NH; HN; O; O; O]

横型の構造式を描くタイプ IV 命令として， Ysixheteroh およびYsixheterohi があります．この使い方も同様ですので，本入門では，説明を省きます．

6.2 5 員環ヘテロ環を描く

縦型の 5 員環ヘテロ環を描くためのタイプ IV 命令は， Yfiveheterov とYfiveheterovi です．この書式を示します．

Yfiveheterov[BONDLIST]{ATOMLIST}{SUBSLIST}
Yfiveheterovi[BONDLIST]{ATOMLIST}{SUBSLIST}

横型の 5 員環は， Yfiveheteroh およびYfiveheterohi で，描くことができます．書式は同様です．引数を同じに指定して，これらの命令を使ってみましょう．次の例は， ethylene carbonate を描いたもの

です．

Yfiveheterov{2==O;5==O}{1D==O}
Yfiveheterovi{2==O;5==O}{1D==O}
Yfiveheteroh{2==O;5==O}{1D==O}Yqquad
Yfiveheterohi{2==O;5==O}{1D==O}

と入力すると，次のように出力されます．

[figure: O; O; O; O; O; O; O; O; O; O; O; O]

42 藤田眞作 (FUJITA Shinsaku): XΥMTEX 入門

この例でわかるように，位置番号を相対的に同じ並びにしていますので，引数の指定が同じでよく，命令を流用するときに便利です．

次に，フランおよびチオフェンの誘導体を描いてみましょう． BONDLIST, ATOMLIST, SUBSLIST を順に指定してゆきます． BONDLIST はオプションですので，省略可能です．省略時には，環内の二重結合は出力されないようになっています．

Yfiveheterov[bd]{1==O}{2==CH$_2$CH$_2$CH=C(CH$_3$)$_2$}Yhskip120pt
Yfiveheterov{1==O}{2Sa==OCH$_3$;2Sb==H;5Sa==CH$_3$O;5Sb==H}YqquadYqquad
Yfiveheterov[bd]{1==S}{2==COOH;4==O$_2$N;5==CH$_3$}

と入力すると，次のように出力されます．

[figure: O; CH_{2}CH_{2}CH=C(CH_{3})_{2}; O; OCH_{3}; H; CH_{3}O; H; S; COOH; O_{2}N; CH_{3}]

6.3 6-6 縮合ヘテロ環を描く

6 員環と 6 員環が縮合したヘテロ環を縦型で描くためのタイプ IV 命令は， Ydecaheterov とYdecaheterovi です．この書式を示します．

Ydecaheterov[BONDLIST]{ATOMLIST}{SUBSLIST}
Ydecaheterovi[BONDLIST]{ATOMLIST}{SUBSLIST}

横型の 6-6 縮合環は， Ydecaheteroh およびYdecaheterohi で，描くことができます．書式は同様です．クマリン coumarin を，これらの命令で描いてみましょう．

Ydecaheterov[cfhk]{1==O}{2D==O}
Ydecaheterovi[cfhk]{1==O}{2D==O}Yhskip-20pt
Ydecaheteroh[cfhk]{1==O}{2D==O}Yhskip-20pt
Ydecaheterohi[cfhk]{1==O}{2D==O}

と入力すると，次のように出力されます．

[figure: O; O; O; O; O; O; O; O]

天然物の glabra-lactone, 8-hydroxy-3-methylisocoumarin, 5-hydroxy-2-methylchromone を描いてみます．

Ydecaheterovi[cfhk]{1==O}{2D==O;5==OMe;7==MeO;8==CO--CH=CMe$_2$}
Ydecaheterovi[cfhk]{2==O}{1D==O;3==Me;8==OH}
Ydecaheterovi[bfhk]{1==O}{4D==O;2==Me;5==OH}

\underline{第 6 章. ヘテロ環を描く一般的な方法 43}

と入力すると，次のように出力されます．

[figure: O; O; MeO; CO–CH=CMe_{2}; OMe; O; O; Me; OH; O; O; Me; OH]

イオウを含むヘテロ環を描いてみます．オプションの BONDLIST は，各結合を独立に指定できますので，環内に四価のイオウを含む化合物も描くことができます．

Ydecaheterov[fhk]{1==S}{2==SiMe$_3$;3Sa==H;3Sb==Me;4Sa==Me;%
    4Sb==Me;6==Cl;7==Cl}Yqquad
Ydecaheterov[fhkbc]{1==S;2==N;3==S;4==N}{5==F;6==F;7==F;8==F}

と入力すると，次のように出力されます．

[figure: S; SiMe_{3}; H; Me; Me; Me; Cl; Cl; ^{S N S N}; F; F; F; F]

天地を逆にしたものは，語尾の v を vi に変更して描きます．

Ydecaheterovi[fhk]{1==S}{2==SiMe$_3$;3Sa==H;3Sb==Me;4Sa==Me;%
    4Sb==Me;6==Cl;7==Cl}Yqquad
Ydecaheterovi[fhkbc]{1==S;2==N;3==S;4==N}{5==F;6==F;7==F;8==F}

と入力すると，次のように出力されます．

[figure: S; SiMe_{3}; H; Me; Me; Me; Cl; Cl; ^{S N S N}; F; F; F; F]

横型にするには，語尾の v を h に変更します．

Ydecaheteroh[fhk]{1==S}{2==SiMe$_3$;3Sa==H;3Sb==Me;4Sa==Me;%
    4Sb==Me;6==Cl;7==Cl}Yqquad
Ydecaheteroh[fhkbc]{1==S;2==N;3==S;4==N}{5==F;6==F;7==F;8==F}

と入力すると，次のように出力されます．

[figure: S; SiMe_{3}; H; Me; Me; Me; Cl; Cl; ^{SN S N}; F; F; F; F]

44 藤田眞作 (FUJITA Shinsaku): XΥMTEX 入門

天地を逆にしたものは，語尾の h をさらに hi に変更して描きます．

     Ydecaheterohi[fhk]{1==S}{2==SiMe$_3$;3Sa==H;3Sb==Me;4Sa==Me;%
         4Sb==Me;6==Cl;7==Cl}Yqquad
     Ydecaheterohi[fhkbc]{1==S;2==N;3==S;4==N}{5==F;6==F;7==F;8==F}

と入力すると，次のように出力されます．

[figure: S; SiMe_{3}; H; Me; Me; Me; Cl; Cl; ^{S N S N}; F; F; F; F]

窒素を含む場合は，タイプ III の命令で代用できることあります．次の例は，同じ化合物をYdecaheterovi (タイプ IV) とYisoquinolinevi (タイプ III) で描いたものです．

     Ydecaheterovi[fhk]{2==N}{6==HO;7==HO;1==CH$_3$;2==H}
     Yisoquinolinevi[fhk]{6==HO;7==HO;1==CH$_3$;2==H}

と入力すると，次のように出力されます．

[figure: N; CH_{3}; H; HO; HO; N; CH_{3}; H; HO; HO]

橋頭位にヘテロ原子をもつ化合物も，同様に指定することができます．橋頭位には，番号 9 および 10 が割り当てられています．たとえば，キノリチジンアルカロイド lupinine および (+)-Lamprolobine は，

     Ydecaheterov[]{9==N}{1==CH$_2$OH} Yhskip50pt
     Ydecaheterov[]{9==N}{1B==CH$_2$R;{{10}B}==Me}
     Yraisebox{40pt}{ただし R=}Ysixheterovi[]{1==N}{2D==O;6D==O;1==}

と入力すると，次のように出力されます．

[figure: N; CH_{2}OH; N; CH_{2}R; Me; ただし R=; N; O; O]

後の例では，橋頭位に β-置換基 Me をもっていることに注意してください．これは， SUBSLIST の中の

{{10}B}==Me で指定しています．

二番目の化合物は， R を使って， XΥMTEX の命令指定が複雑になることを回避しています．複雑になることを厭わなければ，次のように置換基を入れ子にして構造式の中に含めることができます． \underline{第 6 章. ヘテロ環を描く一般的な方法 45}

Ydecaheterov[]{9==N}%
{1B==Yryl(8==CH$_2$){4==Ysixheteroh[]{1==N}{1==(yl);2D==O;6D==O}};{{10}B}==Me}

と入力すると，次のように出力されます．

[figure: N; CH_{2}; N; O; O; Me]

橋頭位の置換基をもった化合物の例をさらに掲げます．これらの置換基の立体化学とその指定の仕方に注意してください．

Ydecaheterovi[h]{1==N}{1==COCH(CH$_3$)$_2$;2B==CH$_2$CH$_2$CH$_3$;
  5A==Ylmoiety{H$_3$C};9A==H;{{10}A}==H}Yhskip50pt
Ydecaheterov[]{7==O}{6D==O;9A==H;{{10}A}==CH=CH$_2$}
Ydecaheterov[]{5==O}{9==OH;{{10}}==OH}

と入力すると，次のように出力されます．

[figure: N; COCH(CH_{3})_{2}; CH_{2}CH_{2}CH_{3}; H_{3}C; H; H; O; O; H; CH=CH_{2}; O; OH; OH]

対応する横型 (horizontal type) は，命令に含まれる v を h に変更するだけです．

Ydecaheterohi[h]{1==N}{1==COCH(CH$_3$)$_2$;2B==CH$_2$CH$_2$CH$_3$;
  5A==Ylmoiety{H$_3$C};9A==H;{{10}A}==H}Yhskip50pt
Ydecaheteroh[]{7==O}{6D==O;9A==H;{{10}A}==CH=CH$_2$}
Ydecaheteroh[]{5==O}{9==OH;{{10}}==OH}

と入力すると，次のように出力されます．

[figure: N; COCH(CH_{3})_{2}; CH_{2}CH_{2}CH_{3}; H_{3}C; H; H; O; O; H; CH=CH_{2}; O; OH; OH]

6.4 6-5 縮合ヘテロ環を描く

6 員環と 5 員環が縮合したヘテロ環を縦型で描くためのタイプ IV 命令は， Ynonaheterov とYnonaheterovi です．この書式を示します． 46 藤田眞作 (FUJITA Shinsaku): XΥMTEX 入門

     Ynonaheterov[BONDLIST]{ATOMLIST}{SUBSLIST}
     Ynonaheterovi[BONDLIST]{ATOMLIST}{SUBSLIST}

横型の 6-6 縮合環は， Ynonaheteroh およびYnonaheterohi で，描くことができます．書式は同様です．

ゴマ油の成分 sesamol の構造式をこれらの命令で描いてみましょう．

     Ynonaheterov[egj]{1==O;3==O}{5==HO}
     Ynonaheterovi[egj]{1==O;3==O}{5==HO}Yhskip-20pt
     Ynonaheteroh[egj]{1==O;3==O}{5==OH}Yhskip-20pt
     Ynonaheterohi[egj]{1==O;3==O}{5==OH}

と入力すると，次のように出力されます．

[figure: ^{O O}; HO; ^{O O}; HO; ^{O  O}; OH; ^{O  O}; OH]

マタタビ成分 allomatatabiol, nepetalactone の構造式を描くための命令を次に示します．橋頭位には，番号 8 および 9 が割り当てられています．

     Ynonaheterov[i]{6==O}{2A==OH;1==;4A==;8A==H}
     Ynonaheterov[e]{6==O}{2A==OH;1A==;4==;7D==O;8A==H;9A==H}

と入力すると，次のように出力されます．

[figure: O; OH; H; O; OH; O; H; H]

有機化学の慣例で，メチル基を結合だけで表しています．この指定の仕方 1==などでわかるように，置換基を==の後に指定しないと，結合手だけが出力されます．

橋頭位の置換基をもった化合物の例をさらに掲げます． actinidine, α-skytanthine の構造式です．ここでは，メチル基を Me で表しています．

     Ynonaheterov[egj]{6==N}{4==Me;1==Me}
     Ynonaheterov[]{6==N}{4A==Me;1A==Me;6==Me;8A==H;9A==H}

と入力すると，次のように出力されます．

[figure: N; Me; Me; N; Me; Me; Me; H; H]

\underline{第 6 章. ヘテロ環を描く一般的な方法 47}

橋頭位にヘテロ原子をもつ化合物も，同様に指定することができます．これも橋頭番号 8 および 9 によって指定します．たとえば，インドリジンアルカロイド dendroprimine, ipalbidine は，

Ynonaheterov[]{9==N}{5A==Me;7A==Me;8A==H}Yqquad
Ynonaheterov[g]{9==N}{5A==Me;6==$p$-HOC$_6$H$_4$;8B==H}

と入力すると，次のように出力されます．

[figure: N; Me  Me; H; N; Me; p-HOC_{6}H_{4}; H]

天地を逆にした構造式は，命令の文字列の中の v を vi に変えることによって描くことができます．

Ynonaheterovi[]{9==N}{5A==Me;7A==Me;8A==H}Yqquad
Ynonaheterovi[g]{9==N}{5A==Me;6==$p$-HOC$_6$H$_4$;8B==H}

と入力すると，次のように出力されます．

[figure: N; Me; Me; H; N; Me; p-HOC_{6}H_{4}; H]

対応する横型は，命令の文字列の中の v を h に変えることによって描くことができます．

Ynonaheteroh[]{9==N}{5A==Me;7A==Me;8A==H}Yqquad
Ynonaheteroh[g]{9==N}{5A==Me;6==C$_6$H$_4$-OH-$p$;8B==H}

と入力すると，次のように出力されます．

[figure: N; ^{Me  Me}; H; N; Me; C_{6}H_{4}-OH-p; H]

天地を逆にした横型構造式は，命令の文字列の中の h を，さらに hi に変えることによって描くことができます．置換基を左勝手にするために， Ylmoity 命令を使います．

Ynonaheterohi[]{9==N}{5A==Me;7A==Me;8A==H}Yqquad
Ynonaheterohi[g]{9==N}{5A==Me;6==Ylmoiety{$p$-HO-C$_6$H$_4$};8B==H}

と入力すると，次のように出力されます．

[figure: N; Me; Me; H; N; Me; p-HO-C_{6}H_{4}; H]

第7章 XΥMTEX命令とL^{A}TEX命令

XΥMTEX で描いた構造式は，一つの文字とみなされます．したがって， L^{A}TEX のいろいろな環境の中で自由に使うことができます．

7.1 center 環境の中で

まず， center 環境の中で使ってみましょう．

Ybegin{center}
Ypyridinevi[r{1+}]{1==O$^{-}$}
Yend{center}

と入力すると，次のように出力されます．

[figure: +; N; O^{−}]

簡単な反応式を描きます． Yphantom{OCOCH$_3$}を入れずに中央揃えを行いますと，出力された反応式は右側に寄りすぎます．これを補正するため，

Ybegin{center}
Ypyridinevi[r{1+}]{1==O$^{-}$;2==CH$_3$}
Yraisebox{40pt}{Yhskip20pt + Yhskip20pt (CH$_3$CO)$_2$O
  Yhskip20pt $Ylongrightarrow$}%垂直方向の補正
Ypyridinevi{2==CH$_2$OCOCH$_3$}Yphantom{OCOCH$_3$}%水平方向の補正
Yend{center}

と入力すると，次のように出力されます．

[figure: +; N; O^{−}; CH_{3}; +  (CH_{3}CO)_{2}O  ⟶; N; CH_{2}OCOCH_{3}]

ここで，この補正方法の種明かしをしておきましょう． Yfbox 命令で，構造式を囲むと理由がよくわかります．

Yfbox{Ypyridinevi{2==CH$_2$OCOCH$_3$}}Yhskip100pt
Yfbox{Ypyridinevi{2==CH$_2$OCOCH$_3$}Yphantom{OCOCH$_3$}}

と入力すると，次のように出力されます．

[figure: N; CH_{2}OCOCH_{3}]

[figure: N; CH_{2}OCOCH_{3}]

XΥMTEX では，各命令で出力された構造式は，どんな置換基を指定しても同じ幅の箱 (あるいは文字) とみなされます．大体 2 文字の基が置換したときの構造式の高さと幅を出力範囲に設定してあります．上の例では，右側のYfbox による枠がYpryrinev 命令の作る箱です．この場合は， CH_{2}OCOCH_{3} という長い置換基がありますので，左の図のように， OCOCH_{3} に相当するの分がはみ出しているということになります．このはみ出した部分は，幅なしとみなされています．これをYphantom{OCOCH$_3$} (引数の文字列の幅と高さを確保するが出力は行わないという命令) で補って，構造式全体がほぼ収まるようにしたの右の図です．上の反応式は，このテクニックを利用しています．

chemist パッケージの中には， XyMcompd 環境という便利な環境が含まれています．これは，構造式の大きさと出力位置を調整するための命令です．この環境を使うためには， Yusepackage{chemist}と宣言しておく必要があります．次の二つの例を比較してください．

     Yfbox{Ypyridinevi{2==CH$_2$OCOCH$_3$}} Yhskip2cm
     Yfbox{%
     Ybegin{XyMcompd}(900,400)(300,250){}{}
     Ypyridinevi{2==CH$_2$OCOCH$_3$}
     Yend{XyMcompd}}
     Yhskip1cm
     Yfbox{%
     Ybegin{XyMcompd}(550,450)(250,250){}{}
     Ypyridinevi[r{1+}]{1==O$^{-}$;2==CH$_3$}
     Yend{XyMcompd}}

出力は次のようになります．

[figure: N; CH_{2}OCOCH_{3}]
[figure: N; CH_{2}OCOCH_{3}]

[figure: +; N; O^{−}; CH_{3}]

最初は，未調整の構造式です．二番目の構造式の XyMcompd 環境の引数のうち (1000,450) は， Yunitlength (XΥMTEX 標準は 0.1pt) 単位の寸法を指定します．横 900，縦 400 の矩形の領域を取ります．第二引数の (250,250) は，箱の原点 (左下隅) の移動を指定します．第三引数と第四引数は，化合物番号を出力するためのものですが，ここでは空にしておきます．三番目の構造式は， 6 員環の縦位置をそろえるため，二番目に指定に合わせたものです．これらを使って，反応式を描いて見ましょう．次のように入力します．

     Ybegin{center}
     Ybegin{XyMcompd}(550,450)(250,250){}{}
     Ypyridinevi[r{1+}]{1==O$^{-}$;2==CH$_3$}

第 7 章. XΥMTEX 命令と L^{A}TEX 命令 51

Yend{XyMcompd}
Yhskip20pt + Yhskip20pt
(CH$_3$CO)$_2$O Yhskip20pt
$Ylongrightarrow$ Yhskip20pt
Ybegin{XyMcompd}(1000,450)(250,250){}{}
Ypyridinevi{2==CH$_2$OCOCH$_3$}
Yend{XyMcompd}
Yvspace*{20pt}
Yend{center}

出力は次のようになります．

[figure: +; N; O^{−}; CH_{3}]  +  (CH_{3}CO)_{2}O  ⟶  [figure: N; CH_{2}OCOCH_{3}]

この方式では, Yraisebox による調節が必要なくなりました．

7.2 equation 環境中で

XΥMTEX の命令を equation 環境で使った例をあげます．当然のことですが， Ylabel とYref による番号の参照ができます．

ベンゼンは共鳴式Yref{chem01}で表される．

Ybegin{equation}
Yparbox{80pt}{Ybzdrv[r]{}}
Ylongleftrightarrow
Yparbox{80pt}{Ybzdrv[l]{}} Ylabel{chem01}
Yend{equation}

と入力すると，次のように出力されます．ベンゼンは共鳴式 7.1 で表される．

[figure]  ⟷  [figure]  (7.1)

前節の例では， Yraisebox 命令で出力の垂直補正を行いました．本節の例では， Yparbox 命令で垂直補正を行っています．

7.3 tabular 環境中で

一列の tabular 環境の中に構造式と名称を収めて，これを水平方向に並べます．全体を center 環境で中央揃えとしました．

Ybegin{center}
Ybegin{tabular}{c}
 Yfiveheterov[bd]{1==S}{} YY[-18pt]
 thiophene YY

Yend{tabular}
Ybegin{tabular}{c}
 Ypyridinevi{} YY[-18pt]
 pyridine YY
Yend{tabular}
Ybegin{tabular}{c}
 Yquinolinevi{}YY[-18pt]
 quinoline YY
Yend{tabular}
Yend{center}

と入力すると，次のように出力されます．

[figure: S] thiophene

[figure: N]

pyridine

[figure: N]

quinoline

この例ではYY命令のオプション引数に負の寸法を指定して，構造式を名称との間隔を詰めています．

第8章構造式の拡大縮小

XΥMTEX の構造式は， A4 判で出力したときにちょうどよい大きさになるようにしてあります．バージョン 3.00 以降は，拡大縮小が dvi の範囲内で自由におこなえるようになりました．

8.1 拡大縮小の機能の使い方

拡大縮小の機能は， sizeredc パッケージで定義してありますので， Yusepackage{sizeredc}と宣言する必要があります． Yusepackage{xymtex] では，このパッケージを含めて， TEX/L^{A}TEX 互換モードのすべてのパッケージを読み込みます．たとえば，次のように指定しますと，

     Ydocumentclass{article}
     Yusepackage{carom}
     Yusepackage{sizeredc}
     Ychangeunitlength{0.08pt}
     Ybegin{document}
     Ybzdrv{1==OH;4==OH}
     Yend{document}

出力は次のようになります．

[figure: OH; OH]

これを標準の寸法 (0.1pt) で出力した次の構造式と比較してください．

[figure: OH; OH]

Ychangeunitlength 命令によって変更した標準寸法は，それ以後同じ命令で変更するまで，そのままの値が有効になります．描画の単位寸法を 0.08pt → 0.05pt → 0.1pt (標準) のように変化させてみましょう．

     Ychangeunitlength{0.08pt}
     Ybzdrv{1==OH;4==OH}
     Ypyridinev{4==Cl}
     Ychangeunitlength{0.05pt}
     Ybzdrv{1==OH;4==OH}
     Ypyridinev{4==Cl}
     Ychangeunitlength{0.1pt}
     Ybzdrv{1==OH;4==OH}
     Ypyridinev{4==Cl}

出力は次のようになります．

[figure: OH; OH; N; Cl; {OH \atop OH}; {N \atop Cl}; OH; OH; N; Cl]

8.2 もとの picture 環境での描画との比較

L^{A}TEX のもともとの picture 環境では，短い結合が描けないという欠点があります． epic パッケージにより，この欠点を補えるという報告がありましたが，実際に試してみると， 6 員環の斜めの結合が微妙にずれるという欠点が残ることがわかりました．これは， epic パッケージの補正計算の途中に，桁落ちが起こることがあるのが原因だということを突き止めました [8]． XΥMTEX バージョン 3.00 では，桁落ちをしないように改良することによって，構造式の拡大縮小を実現しています．

Ysizereductionfalse を宣言することによって，もとの picture 環境の機能にもどしたときの出力と，バージョン 3.00 以降の機能による出力を比較してみましょう．

     Ybegin{table}
     Ybegin{table}
     Ycaption{Ytextsf{sizeredc.sty}の有無の比較}
     Ylabel{tt:300c}
     Ybegin{center}
     Ybegin{tabular}{ll}
     Yhline
     Ytextsf{sizeredc.sty}なし & Ytextsf{sizeredc.sty}あり YY
     Yhline
     0.08pt &  YY
     {Ysizereductionfalse
     Yunitlength=0.08pt Ybzdrv{}} &
     {Ychangeunitlength{0.08pt}Ybzdrv{}} YY
     0.07pt & YY
     {Ysizereductionfalse
     Yunitlength=0.07ptYbzdrv{}} &
     {Ychangeunitlength{0.07pt}Ybzdrv{}} YY
     0.06pt & YY
     {Ysizereductionfalse
     Yunitlength=0.06pt Ybzdrv{}} &
     {Ychangeunitlength{0.06pt}Ybzdrv{}} YY
     Yhline
     Yend{tabular}
     Yend{center}
     Yend{table}

この出力は，表 8.1 のようになります．左の列の出力では， 0.07pt と 0.06pt のところで斜めの二重結合が出力されていないことがわかります．右側は， XΥMTEX バージョン 3.00 以降で sizeredc を使った例で，ベンゼン環は縮小しても正常に出力されています．

8.3 構造式中の文字の変更

構造式中の文字種および大きさは， Ysubstfont およびYsubstfontsize で制御しています．標準値は次のように設定されています． \underline{第 8 章. 構造式の拡大縮小 55}

表 8.1: sizeredc.sty の有無の比較

sizeredc.sty なし sizeredc.sty あり

0.08pt

[figure]

0.07pt

[figure]

0.06pt

[figure]

YletYsubstfont=Ynormalfont
YletYsubstfontsize=Ynormalsize

Ychangeunitlength により縮小すると，自動的に文字の大きさが変更されます．したがって，手動でこれらを変更すれば，構造式中の文字を変更することができます．次に，手動の変更例を示します．

{%標準縮小

Ychangeunitlength{0.06pt}
Ybzdrv{1==OH;4==OH}

%大きさそのままで，文字種変更

YletYsubstfont=Ysffamily
Ybzdrv{1==OH;4==OH}

%文字種，大きさ変更

YletYsubstfont=Ysffamily
YletYsubstfontsize=Yfootnotesize
Ybzdrv{1==OH;4==OH}
%

{%文字種，大きさ変更

Ychangeunitlength{0.08pt}
YdefYtempfont{Ybfseries Yitshape}
YletYsubstfont=Ytempfont
YletYsubstfontsize=Ynormalsize
Ybzdrv{1==OH;4==OH}
}}

出力は次のようになります．

[figure: OH; OH; OH; OH; OH; OH; OH; OH]

実用的ではありませんが，拡大の例も示しておきます．

{%標準拡大

Ychangeunitlength{0.13pt}
Ybzdrv{1==OH;4==OH}

%大きさそのままで，文字種変更

YletYsubstfont=Ysffamily
Ybzdrv{1==OH;4==OH}

%文字種，大きさ変更

YletYsubstfont=Ysffamily
YletYsubstfontsize=YLARGE
Ybzdrv{1==OH;4==OH}

%文字種，大きさ変更

YletYsubstfont=Ybfseries
YletYsubstfontsize=Ylarge
Ybzdrv{1==OH;4==OH}
}

[figure: OH; OH; OH; OH; OH; OH; OH; OH]

関連図書

[1] 藤田眞作, “化学者・生化学者のための L^{A}TEX— パソコンによる論文作成の手引”, 東京化学同人 (1993).

[2] a) Shinsaku Fujita, “Typsetting structural formulas with the tex formatter TEX/L^{A}TEX”, Comput. Chem., 18, 109 (1994). b) Shinsaku Fujita, “XΥMTEX for Drawing Chemical Structural Formulas”, TUGboat, 16 (1), 80 (1995).

[3] Fujita, S., XΥMTEX—Typesetting Chemical Structural Formulas, Addison-Wesley, Tokyo (1997).

[4] Fujita S., “Typesetting structural formulas with the text formatter TEX/L^{A}TEX”, Comput. Chem., 18, 109 (1994).

[5] Fujita S., “XΥMTEX for Drawing Chemical Structural Formulas”, TUGboat, 16 (1), 80 (1995).

[6] Fujita, S.; Tanaka, N. “XΥM Notation for Electronic Communication of Organic Chemical Structures”, J. Chem. Inf. Comput. Sci., 39, 903 (1999).

[7] Fujita, S.; Tanaka, N. “XΥMTEX (Version 2.00) as Implementation of the XΥM Notation and the XΥM Markup Language”, TUGboat, 21 (1), 7 (2000).

[8] Fujita, S.; Tanaka, N., TUGboat, 22 (4), 285 (2001).

[9] Fujita, S. “XΥMTEX (Version 4.01) for Typesetting Chemical Structural Formulas. A Tool for DVIand PostScript-Typsetting”, On-line manual (2004).

[10] van Zandt, T., Girou, D., “Inside PSTricks”, TUGboat, 15 (3), 239 (1995).

[11] For graphic applications of TEX, L^{A}TEX and relevant systems, see Goossens, M., Rahtz, S., & Mittelbach, F., L^{A}TEX Graphics Companion, Addison Wesley Longman, Reading (1997).

[12] IUPAC Recommendations 1996, “Basic Terminology of Stereochemistry” (1996).

http://www.chem.qmul.ac.uk/iupac/stereo/intro.html