summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/xymtex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-01-02 22:42:25 +0000
committerKarl Berry <karl@freefriends.org>2007-01-02 22:42:25 +0000
commit0a17be9af1c1cd8e5452befa92ff920a401c47fb (patch)
treeb6ffc2205d70f5572d0c3e4e7965f69b7e3ea87b /Master/texmf-dist/source/latex/xymtex
parent119aceca4b577e5c6428d2683c92b1eb3e2f1c61 (diff)
remove xymtex (again), it is nonfree
git-svn-id: svn://tug.org/texlive/trunk@3102 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/xymtex')
-rw-r--r--Master/texmf-dist/source/latex/xymtex/aliphat.drv81
-rw-r--r--Master/texmf-dist/source/latex/xymtex/aliphat.dtx3193
-rw-r--r--Master/texmf-dist/source/latex/xymtex/aliphat.ins50
-rw-r--r--Master/texmf-dist/source/latex/xymtex/carom.drv82
-rw-r--r--Master/texmf-dist/source/latex/xymtex/carom.dtx4615
-rw-r--r--Master/texmf-dist/source/latex/xymtex/carom.ins51
-rw-r--r--Master/texmf-dist/source/latex/xymtex/ccycle.drv81
-rw-r--r--Master/texmf-dist/source/latex/xymtex/ccycle.dtx3144
-rw-r--r--Master/texmf-dist/source/latex/xymtex/ccycle.ins50
-rw-r--r--Master/texmf-dist/source/latex/xymtex/chemist.drv89
-rw-r--r--Master/texmf-dist/source/latex/xymtex/chemist.dtx2359
-rw-r--r--Master/texmf-dist/source/latex/xymtex/chemist.ins53
-rw-r--r--Master/texmf-dist/source/latex/xymtex/chemstr.drv82
-rw-r--r--Master/texmf-dist/source/latex/xymtex/chemstr.dtx8567
-rw-r--r--Master/texmf-dist/source/latex/xymtex/chemstr.ins50
-rw-r--r--Master/texmf-dist/source/latex/xymtex/doins.bat14
-rw-r--r--Master/texmf-dist/source/latex/xymtex/fusering.drv80
-rw-r--r--Master/texmf-dist/source/latex/xymtex/fusering.dtx4575
-rw-r--r--Master/texmf-dist/source/latex/xymtex/fusering.ins49
-rw-r--r--Master/texmf-dist/source/latex/xymtex/hcycle.drv81
-rw-r--r--Master/texmf-dist/source/latex/xymtex/hcycle.dtx780
-rw-r--r--Master/texmf-dist/source/latex/xymtex/hcycle.ins50
-rw-r--r--Master/texmf-dist/source/latex/xymtex/hetarom.drv82
-rw-r--r--Master/texmf-dist/source/latex/xymtex/hetarom.dtx9028
-rw-r--r--Master/texmf-dist/source/latex/xymtex/hetarom.ins51
-rw-r--r--Master/texmf-dist/source/latex/xymtex/hetaromh.drv83
-rw-r--r--Master/texmf-dist/source/latex/xymtex/hetaromh.dtx6700
-rw-r--r--Master/texmf-dist/source/latex/xymtex/hetaromh.ins51
-rw-r--r--Master/texmf-dist/source/latex/xymtex/locant.drv78
-rw-r--r--Master/texmf-dist/source/latex/xymtex/locant.dtx240
-rw-r--r--Master/texmf-dist/source/latex/xymtex/locant.ins48
-rw-r--r--Master/texmf-dist/source/latex/xymtex/lowcycle.drv81
-rw-r--r--Master/texmf-dist/source/latex/xymtex/lowcycle.dtx854
-rw-r--r--Master/texmf-dist/source/latex/xymtex/lowcycle.ins50
-rw-r--r--Master/texmf-dist/source/latex/xymtex/methylen.drv80
-rw-r--r--Master/texmf-dist/source/latex/xymtex/methylen.dtx5689
-rw-r--r--Master/texmf-dist/source/latex/xymtex/methylen.ins49
-rw-r--r--Master/texmf-dist/source/latex/xymtex/polymers.drv81
-rw-r--r--Master/texmf-dist/source/latex/xymtex/polymers.dtx717
-rw-r--r--Master/texmf-dist/source/latex/xymtex/polymers.ins50
-rw-r--r--Master/texmf-dist/source/latex/xymtex/xymtex2.jpn86
41 files changed, 0 insertions, 52274 deletions
diff --git a/Master/texmf-dist/source/latex/xymtex/aliphat.drv b/Master/texmf-dist/source/latex/xymtex/aliphat.drv
deleted file mode 100644
index bd9e118e02b..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/aliphat.drv
+++ /dev/null
@@ -1,81 +0,0 @@
-%%
-%% This is file `aliphat.drv',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% aliphat.dtx (with options: `driver')
-%%
-%% This is a generated file.
-%%
-%% Copyright 1996, 1998 by Shinsaku Fujita
-%%
-%% This file is part of the XyMTeX system.
-%% =======================================
-%%
-%% Version 1.01 Released on August 16, 1996
-%% Version 1.02 Released on October 31, 1996
-%% Version 2.00 Released on December 25, 1998
-%%
-%% Copyright (C) 1996, 1998 by Shinsaku Fujita, all rights reserved.
-%% This style file is created for drawing chemical structural formulas
-%% This style file is to be contained in the ``xymtex'' directory which
-%% is an input directory for TeX.
-%%
-%% Copying of this file is authorized only if either
-%%
-%% (1) you make absolutely no changes to your copy, including name and
-%% directory name
-%% (2) if you do make changes,
-%% (a) you name it something other than the names included in the
-%% ``xymtex'' directory and
-%% (b) you acknowledge the original name.
-%% This restriction ensures that all standard styles are identical.
-%%
-%% =======================================
-%%
-%% This file contains several codes modified from latex.tex (LaTeX2.09)
-%% and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-%% Copyright 1994 the LaTeX3 project and the individual authors (For further
-%% copyright information see the file legal.txt of the LaTeX2e standard
-%% distribution, and any other copyright indicated in this file.)
-%%
-%% File: aliphat.dtx
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{aliphat.dtx}[1998/12/25 v2.00 XyMTeX{} package file]
-\documentclass{ltxdoc}
-\GetFileInfo{aliphat.dtx}
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-\title{Aliphatic compounds by {\sffamily aliphat.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606 Japan
-}
-\date{\filedate}
-\begin{document}
- \maketitle
- \DocInput{aliphat.dtx}
-\end{document}
-\endinput
-%%
-%% End of file `aliphat.drv'.
diff --git a/Master/texmf-dist/source/latex/xymtex/aliphat.dtx b/Master/texmf-dist/source/latex/xymtex/aliphat.dtx
deleted file mode 100644
index 4f1367d15ce..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/aliphat.dtx
+++ /dev/null
@@ -1,3193 +0,0 @@
-% \iffalse meta-comment
-%% File: aliphat.dtx
-%
-% Copyright 1993,1996,1998 by Shinsaku Fujita
-%
-% This file is part of XyMTeX system.
-% -------------------------------------
-%
-% This file is a successor to:
-%
-% aliphat.sty
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 1.00}
-% \typeout{ -- Released December 1, 1993 by Shinsaku Fujita}
-% Copyright (C) 1993 by Shinsaku Fujita, all rights reserved.
-%
-% This file is a part of the macro package ``XyMTeX'' which has been
-% designed for typesetting chemical structural formulas.
-%
-% This file is to be contained in the ``xymtex'' directory which is
-% an input directory for TeX. It is a LaTeX optional style file and
-% should be used only within LaTeX, because several macros of the file
-% are based on LaTeX commands.
-%
-% For the review of XyMTeX, see
-% (1) Shinsaku Fujita, ``Typesetting structural formulas with the text
-% formatter TeX/LaTeX'', Computers and Chemistry, in press.
-% The following book deals with an application of TeX/LaTeX to
-% preparation of manuscripts of chemical fields:
-% (2) Shinsaku Fujita, ``LaTeX for Chemists and Biochemists''
-% Tokyo Kagaku Dozin, Tokyo (1993) [in Japanese].
-%
-% Copying of this file is authorized only if either
-% (1) you make absolutely no changes to your copy, including name and
-% directory name; or
-% (2) if you do make changes,
-% (a) you name it something other than the names included in the
-% ``xymtex'' directory and
-% (b) you are requested to leave this notice intact.
-% This restriction ensures that all standard styles are identical.
-%
-% Please report any bugs, comments, suggestions, etc. to:
-% Shinsaku Fujita,
-% Ashigara Research Laboratories, Fuji Photo Film Co., Ltd.,
-% Minami-Ashigara, Kanagawa-ken, 250-01, Japan.
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{aliphat}
-% \def\versi@ndate{December 01, 1993}
-% \def\versi@nno{ver1.00}
-% \def\copyrighth@lder{SF}% Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{aliphat}
-% \def\versi@ndate{August 16, 1996}
-% \def\versi@nno{ver1.01}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{aliphat}
-% \def\versi@ndate{October 31, 1998}
-% \def\versi@nno{ver1.02}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% \fi
-%
-% \CheckSum{3929}
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%
-% \setcounter{StandardModuleDepth}{1}
-%
-% \StopEventually{}
-% \MakeShortVerb{\|}
-%
-% \iffalse
-% \changes{v1.01}{1996/06/26}{first edition for LaTeX2e}
-% \changes{v1.02}{1998/10/31}{revised edition for LaTeX2e}
-% \changes{v2.00}{1998/12/25}{enhanced edition for LaTeX2e}
-% \fi
-%
-% \iffalse
-%<*driver>
-\NeedsTeXFormat{pLaTeX2e}
-% \fi
-\ProvidesFile{aliphat.dtx}[1998/12/25 v2.00 XyMTeX{} package file]
-% \iffalse
-\documentclass{ltxdoc}
-\GetFileInfo{aliphat.dtx}
-%
-% %%XyMTeX Logo: Definition 2%%%
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\title{Aliphatic compounds by {\sffamily aliphat.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606 Japan
-% % (old address)
-% % Ashigara Research Laboratories,
-% % Fuji Photo Film Co., Ltd., \\
-% % Minami-Ashigara, Kanagawa, 250-01 Japan
-}
-\date{\filedate}
-%
-\begin{document}
- \maketitle
- \DocInput{aliphat.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \section{Introduction}\label{aliphat:intro}
-%
-% \subsection{Options for {\sffamily docstrip}}
-%
-% \DeleteShortVerb{\|}
-% \begin{center}
-% \begin{tabular}{|l|l|}
-% \hline
-% \emph{option} & \emph{function}\\ \hline
-% aliphat & aliphat.sty \\
-% driver & driver for this dtx file \\
-% \hline
-% \end{tabular}
-% \end{center}
-% \MakeShortVerb{\|}
-%
-% \subsection{Version Information}
-%
-% \begin{macrocode}
-%<*aliphat>
-\typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 2.00}
-\typeout{ -- Released December 25, 1998 by Shinsaku Fujita}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\j@urnalname{aliphat}
-\def\versi@ndate{December 25, 1998}
-\def\versi@nno{ver2.00}
-\def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\typeout{XyMTeX Macro File `\j@urnalname' (\versi@nno) <\versi@ndate>%
-\space[\copyrighth@lder]}
-% \end{macrocode}
-%
-% \section{List of commands for aliphat.sty}
-%
-% \begin{verbatim}
-% *********************************
-% * aliphat.sty: list of commands *
-% *********************************
-%
-% <Conventions for bond-setting>
-%
-% \Northbond
-% \Eastbond
-% \Southbond
-% \Westbond
-% \NEBond
-% \NEbond
-% \SEBond
-% \SEbond
-% \NWBond
-% \NWbond
-% \SWBond
-% \SWbond
-%
-% \NEBOND
-% \NWBOND
-% \SEBOND
-% \SWBOND
-%
-% <Macros for position adjustment>
-% \ylrtrigonalposition
-% \ylRtrigonalposition
-% \ylltrigonalposition
-% \ylLtrigonalposition
-% \ylutrigonalposition
-% \ylUtrigonalposition
-% \yldtrigonalposition
-% \ylDtrigonalposition
-%
-% \yltethedralposition
-% \ylsquareposition
-%
-% \ylethylenepositiona
-% \ylethylenepositionb
-% \ylethylenevpositiona
-% \ylethylenevpositionb
-%
-% <Macros for tetravalent atoms>
-%
-% \tetrahedral \@tetrahedral
-% \square \@square
-%
-% <Macros for trivalent atoms>
-%
-% \rtrigonal \@rtrigonal
-% \Rtrigonal \@Rtrigonal
-% \ltrigonal \@ltrigonal
-% \Ltrigonal \@Ltrigonal
-% \utrigonal \@utrigonal
-% \Utrigonal \@Utrigonal
-% \dtrigonal \@dtrigonal
-% \Dtrigonal \@Dtrigonal
-%
-% <Macros for two-carbon compounds>
-%
-% \ethylene \@ethylene
-% \Ethylene \@Ethylene
-% \ethylenev \@ethylenev
-% \Ethylenev \@Ethylenev
-%
-% <Macros for stereo-projection>
-%
-% \tetrastereo \@tetrastereo
-% \dtetrastereo \@dtetrastereo
-% \ethanestereo \@ethanestereo
-% \end{verbatim}
-%
-% \section{Input of basic macros}
-%
-% To assure the compatibility to \LaTeX{}2.09 (the native mode),
-% the commands added by \LaTeXe{} have not been used in the resulting sty
-% files ({\sf aliphat.sty} for the present case). Hence, the combination
-% of |\input| and |\@ifundefined| is used to crossload sty
-% files ({\sf chemstr.sty} for the present case) in place of the
-% |\RequirePackage| command of \LaTeXe{}.
-%
-% \begin{macrocode}
-% *************************
-% * input of basic macros *
-% *************************
-\@ifundefined{setsixringv}{\input chemstr.sty\relax}{}
-\unitlength=0.1pt
-% \end{macrocode}
-%
-% \section{Macros for bond-setting}
-%
-% Single, double and triple bonds of aliphatic compounds are represented
-% by horizontal, vertical or sloped lines,
-% which can be drawn by such commands as |\Eastbond|,
-% |\Northbond| and |\SEbond|.
-% \changes{v1.02}{1998/10/20}{Adding \cs{NEBOND}, \cs{SEBOND}, \cs{NWBOND},
-% and \cs{SWBOND}}
-%
-% \changes{v1.02}{1998/10/20}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\Northbond}
-% \begin{macrocode}
-% ********************************
-% * Conventions for bond-setting *
-% ********************************
-\def\Northbond{%
-\yl@xdiff=40
-\yl@ydiff=-15
-\begin{picture}(100,200)(0,0)
- \if\@tmpb D\relax%
- \multiput(-13,52)(26,0){2}{\line(0,1){100}}% double bond up
- \else\if\@tmpb T\relax%
- \multiput(-20,52)(20,0){3}{\line(0,1){100}}% triple bond up
- \else\if\@tmpb A%(A) alpha
- {\thicklines\put(-8,52){\line(0,1){100}}}% single bond (alpha)
- \else\if\@tmpb B%(B) beta
- \@ifundefined{dottedline}{\put(0,52){\line(0,1){100}}}%
- {{\thicklines \dottedline{20}(0,52)(0,152)}}%
- \else\if\@tmpb S%
- \put(0,52){\line(0,1){100}}%
- \else \put(0,52){\line(0,1){100}}%
- \fi\fi\fi\fi\fi%
- \putlratom{-40}{167}{\@memberb}%==1 upper substituent
-\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.02}{1998/10/20}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\Eastbond}
-% \begin{macrocode}
-\def\Eastbond{%
-\yl@xdiff=-10
-\yl@ydiff=33
-\begin{picture}(200,200)(0,0)
- \if\@tmpb D\relax%
- \multiput(50,-13)(0,26){2}{\line(1,0){140}}% double bond right
- \else\if\@tmpb T\relax%
- \multiput(50,-20)(0,20){3}{\line(1,0){140}}% double bond right
- \else\if\@tmpb A%(A) alpha
- {\thicklines\put(50,0){\line(1,0){140}}}% single bond (alpha)
- \else\if\@tmpb B%(B) beta
- \@ifundefined{dottedline}{\put(50,0){\line(1,0){140}}}%
- {{\thicklines \dottedline{20}(50,0)(203,0)}}%
- \else\if\@tmpb S%
- \put(50,0){\line(1,0){140}}%
- \else \put(50,0){\line(1,0){140}}%
- \fi\fi\fi\fi\fi%
- \putratom{200}{-33}{\@memberb}%==2 right substituent
-\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.02}{1998/10/20}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\Southbond}
-% \begin{macrocode}
-\def\Southbond{%
-\yl@xdiff=40
-\yl@ydiff=95
-\begin{picture}(100,300)(0,0)
- \if\@tmpb D\relax%
- \multiput(-13,-48)(26,0){2}{\line(0,-1){100}}% double bond down
- \else\if\@tmpb T\relax%
- \multiput(-20,-48)(20,0){3}{\line(0,-1){100}}% double bond down
- \else\if\@tmpb A%(A) alpha
- {\thicklines\put(-8,-48){\line(0,-1){100}}}% single bond (alpha)
- \else\if\@tmpb B%(B) beta
- \@ifundefined{dottedline}{\put(0,-48){\line(0,-1){100}}}%
- {{\thicklines \dottedline{20}(0,-48)(0,-148)}}%
- \else\if\@tmpb S%
- \put(0,-48){\line(0,-1){100}}%
- \else \put(0,-48){\line(0,-1){100}}%
- \fi\fi\fi\fi\fi%
- \putlratom{-40}{-243}{\@memberb}%==3 down substituent
-\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.02}{1998/10/20}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\Westbond}
-% \begin{macrocode}
-\def\Westbond{%
-\yl@xdiff=10
-\yl@ydiff=33
-\begin{picture}(100,300)(0,0)
- \if\@tmpb D\relax%
- \multiput(-190,-13)(0,26){2}{\line(1,0){140}}% double bond left
- \else\if\@tmpb T\relax%
- \multiput(-190,-20)(0,20){3}{\line(1,0){140}}% double bond left
- \else\if\@tmpb A%(A) alpha
- {\thicklines\put(-190,0){\line(1,0){140}}}% single bond (alpha)
- \else\if\@tmpb B%(B) beta
- \@ifundefined{dottedline}{\put(-190,0){\line(1,0){140}}}%
- {{\thicklines \dottedline{20}(-190,0)(-40,0)}}%
- \else\if\@tmpb S%
- \put(-190,0){\line(1,0){140}}%
- \else \put(-190,0){\line(1,0){140}}%
- \fi\fi\fi\fi\fi%
- \putlatom{-200}{-33}{\@memberb}%==4 left substituent
-\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.02}{1998/10/20}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\NEBond}
-% \begin{macrocode}
-\def\NEBond{%degree 120
-\yl@xdiff=-9
-\yl@ydiff=13
-\begin{picture}(100,300)(0,0)
- \if\@tmpb D\relax%
- \put(33,48){\line(5,3){121}}%
- \put(47,26){\line(5,3){121}}%northeast double bond
- \else\if\@tmpb T\relax%
- \put(31,52){\line(5,3){121}}%
- \put(40,37){\line(5,3){121}}%
- \put(49,22){\line(5,3){121}}%northeast triple bond
- \else\if\@tmpb A%(A) alpha
- {\thicklines\put(40,47){\line(5,3){121}}}% single bond (alpha)
- \else\if\@tmpb B%(B) beta
- \@ifundefined{dottedline}{\put(40,47){\line(5,3){121}}}%
- {{\thicklines \dottedline{20}(40,47)(161,120)}}%
- \else\if\@tmpb S%
- \put(40,47){\line(5,3){121}}%
- \else \put(40,47){\line(5,3){121}}%
- \fi\fi\fi\fi\fi%
- \putratom{170}{107}{\@memberb}%==2 (northeast substituent)
-\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.02}{1998/10/20}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\NEbond}
-% \begin{macrocode}
-\def\NEbond{%degree 90
-\yl@xdiff=-5
-\yl@ydiff=10
-\begin{picture}(100,300)(0,0)
- \if\@tmpb D\relax%
- \put(31,46){\line(1,1){100}}%
- \put(49,28){\line(1,1){100}}%northeast double bond
- \else\if\@tmpb T\relax%
- \put(27,50){\line(1,1){100}}%
- \put(40,37){\line(1,1){100}}%
- \put(53,24){\line(1,1){100}}%northeast triple bond
- \else\if\@tmpb A%(A) alpha
- {\thicklines\put(40,47){\line(1,1){100}}}% single bond (alpha)
- \else\if\@tmpb B%(B) beta
- \@ifundefined{dottedline}{\put(40,47){\line(1,1){100}}}%
- {{\thicklines \dottedline{20}(40,47)(140,147)}}%
- \else\if\@tmpb S%
- \put(40,47){\line(1,1){100}}%
- \else \put(40,47){\line(1,1){100}}%
- \fi\fi\fi\fi\fi%
- \putratom{145}{137}{\@memberb}%==2 (northeast substituent)
-\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.02}{1998/10/20}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\SEBond}
-% \begin{macrocode}
-\def\SEBond{%degree 120
-\yl@xdiff=-9
-\yl@ydiff=67
-\begin{picture}(100,300)(0,0)
- \if\@tmpb D\relax%
- \put(33,-48){\line(5,-3){121}}%
- \put(47,-26){\line(5,-3){121}}%southeast double bond
- \else\if\@tmpb T\relax%
- \put(31,-52){\line(5,-3){121}}%
- \put(40,-37){\line(5,-3){121}}%
- \put(49,-22){\line(5,-3){121}}%southeast triple bond
- \else\if\@tmpb A%(A) alpha
- {\thicklines\put(40,-47){\line(5,-3){121}}}% single bond (alpha)
- \else\if\@tmpb B%(B) beta
- \@ifundefined{dottedline}{\put(40,-47){\line(5,-3){121}}}%
- {{\thicklines \dottedline{20}(40,-47)(161,-120)}}%
- \else\if\@tmpb S%
- \put(40,-47){\line(5,-3){121}}%
- \else \put(40,-47){\line(5,-3){121}}%
- \fi\fi\fi\fi\fi%
- \putratom{170}{-187}{\@memberb}%==2 (southeast substituent)
-\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.02}{1998/10/20}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\SEbond}
-% \begin{macrocode}
-\def\SEbond{%degree 90
-\yl@xdiff=-5
-\yl@ydiff=56
-\begin{picture}(100,300)(0,0)
- \if\@tmpb D\relax%
- \put(31,-46){\line(1,-1){100}}%
- \put(49,-28){\line(1,-1){100}}%southeast double bond
- \else\if\@tmpb T\relax%
- \put(27,-50){\line(1,-1){100}}%
- \put(40,-37){\line(1,-1){100}}%
- \put(53,-24){\line(1,-1){100}}%southeast triple bond
- \else\if\@tmpb A%(A) alpha
- {\thicklines\put(53,-47){\line(1,-1){100}}}% single bond (alpha)
- \else\if\@tmpb B%(B) beta
- \@ifundefined{dottedline}{\put(40,-47){\line(1,-1){100}}}%
- {{\thicklines \dottedline{20}(40,-47)(140,-147)}}%
- \else\if\@tmpb S%
- \put(40,-47){\line(1,-1){100}}%
- \else \put(40,-47){\line(1,-1){100}}%
- \fi\fi\fi\fi\fi%
- \putratom{145}{-203}{\@memberb}%==3 (southeast substituent)
-\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.02}{1998/10/20}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\NWBbond}
-% \begin{macrocode}
-\def\NWBond{%
-\begin{picture}(100,300)(0,0)
-\yl@xdiff=9
-\yl@ydiff=13
- \if\@tmpb D\relax%
- \put(-59,48){\line(-5,3){121}}%
- \put(-73,26){\line(-5,3){121}}%northwest double bond
- \else\if\@tmpb T\relax%
- \put(-57,52){\line(-5,3){121}}%
- \put(-66,37){\line(-5,3){121}}%
- \put(-75,22){\line(-5,3){121}}%northwest triple bond
- \else\if\@tmpb A%(A) alpha
- {\thicklines\put(-66,47){\line(-5,3){121}}}% single bond (alpha)
- \else\if\@tmpb B%(B) beta
- \@ifundefined{dottedline}{\put(-66,47){\line(-5,3){121}}}%
- {{\thicklines \dottedline{20}(-66,47)(-187,120)}}%
- \else\if\@tmpb S%
- \put(-66,47){\line(-5,3){121}}%
- \else \put(-66,47){\line(-5,3){121}}%
- \fi\fi\fi\fi\fi%
- \putlatom{-196}{107}{\@memberb}%==2 (northwest substituent)
-\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.02}{1998/10/20}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\NWbond}
-% \begin{macrocode}
-\def\NWbond{%
-\begin{picture}(100,300)(0,0)
-\yl@xdiff=13
-\yl@ydiff=10
- \if\@tmpb D\relax%
- \put(-41,46){\line(-1,1){100}}%
- \put(-59,28){\line(-1,1){100}}%northwest double bond
- \else\if\@tmpb T\relax%
- \put(-37,50){\line(-1,1){100}}%
- \put(-50,37){\line(-1,1){100}}%
- \put(-63,24){\line(-1,1){100}}%northwest triple bond
- \else\if\@tmpb A%(A) alpha
- {\thicklines\put(-50,47){\line(-1,1){100}}}% single bond (alpha)
- \else\if\@tmpb B%(B) beta
- \@ifundefined{dottedline}{\put(-50,47){\line(-1,1){100}}}%
- {{\thicklines \dottedline{20}(-50,47)(-137,147)}}%
- \else\if\@tmpb S%
- \put(-50,47){\line(-1,1){100}}%
- \else \put(-50,47){\line(-1,1){100}}%
- \fi\fi\fi\fi\fi%
- \putlatom{-163}{137}{\@memberb}%==2 (northwest substituent)
-\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.02}{1998/10/20}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\SWBond}
-% \begin{macrocode}
-\def\SWBond{%
-\yl@xdiff=9
-\yl@ydiff=67
-\begin{picture}(100,300)(0,0)
- \if\@tmpb D\relax%
- \put(-59,-48){\line(-5,-3){121}}%
- \put(-73,-26){\line(-5,-3){121}}%southwest double bond
- \else\if\@tmpb T\relax%
- \put(-57,-52){\line(-5,-3){121}}%
- \put(-66,-37){\line(-5,-3){121}}%
- \put(-75,-22){\line(-5,-3){121}}%southwest triple bond
- \else\if\@tmpb A%(A) alpha
- {\thicklines\put(-66,-47){\line(-5,-3){121}}}% single bond (alpha)
- \else\if\@tmpb B%(B) beta
- \@ifundefined{dottedline}{\put(-66,-47){\line(-5,-3){121}}}%
- {{\thicklines \dottedline{20}(-66,-47)(-187,-120)}}%
- \else\if\@tmpb S%
- \put(-66,-47){\line(-5,-3){121}}%
- \else \put(-66,-47){\line(-5,-3){121}}%
- \fi\fi\fi\fi\fi%
- \putlatom{-196}{-187}{\@memberb}%==2 (southwest substituent)
-\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.02}{1998/10/20}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\SWbond}
-% \begin{macrocode}
-\def\SWbond{%
-\yl@xdiff=13
-\yl@ydiff=56
-\begin{picture}(100,300)(0,0)
- \if\@tmpb D\relax%
- \put(-41,-46){\line(-1,-1){100}}%
- \put(-59,-28){\line(-1,-1){100}}%southwest double bond
- \else\if\@tmpb T\relax%
- \put(-37,-50){\line(-1,-1){100}}%
- \put(-50,-37){\line(-1,-1){100}}%
- \put(-63,-24){\line(-1,-1){100}}%southwest triple bond
- \else\if\@tmpb A%(A) alpha
- {\thicklines\put(-50,-47){\line(-1,-1){100}}}% single bond (alpha)
- \else\if\@tmpb B%(B) beta
- \@ifundefined{dottedline}{\put(-50,-47){\line(-1,-1){100}}}%
- {{\thicklines \dottedline{20}(-50,-47)(-137,-147)}}%
- \else\if\@tmpb S%
- \put(-50,-47){\line(-1,-1){100}}%
- \else \put(-50,-47){\line(-1,-1){100}}%
- \fi\fi\fi\fi\fi%
- \putlatom{-163}{-203}{\@memberb}%==3 (southwest substituent)
-\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.02}{1998/10/20}{New command: \cs{NEBOND}}
-% \changes{v1.02}{1998/10/20}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\NEBOND}
-% \begin{macrocode}
-\def\NEBOND{%degree 120
-\yl@xdiff=-1
-\yl@ydiff=-10
-\begin{picture}(100,300)(0,0)
- \if\@tmpb D\relax%
- \put(48,33){\line(3,5){72}}%
- \put(26,47){\line(3,5){72}}%northeast double bond
- \else\if\@tmpb T\relax%
- \put(52,31){\line(3,5){72}}%
- \put(37,40){\line(3,5){72}}%
- \put(22,49){\line(3,5){72}}%northeast triple bond
- \else\if\@tmpb A%(A) alpha
- {\thicklines\put(40,47){\line(3,5){72}}}% single bond (alpha)
- \else\if\@tmpb B%(B) beta
- \@ifundefined{dottedline}{\put(47,40){\line(3,5){72}}}%
- {{\thicklines \dottedline{20}(47,40)(120,161)}}%
- \else\if\@tmpb S%
- \put(47,40){\line(3,5){72}}%
- \else \put(47,40){\line(3,5){72}}%
- \fi\fi\fi\fi\fi%
- \putratom{120}{170}{\@memberb}%==2 (northeast substituent)
-\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.02}{1998/10/20}{New command: \cs{SEBOND}}
-% \changes{v1.02}{1998/10/20}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\SEBOND}
-% \begin{macrocode}
-\def\SEBOND{%degree 120
-\yl@xdiff=-1
-\yl@ydiff=70
-\begin{picture}(100,300)(0,0)
- \if\@tmpb D\relax%
- \put(48,-33){\line(3,-5){72}}%
- \put(26,-47){\line(3,-5){72}}%southeast double bond
- \else\if\@tmpb T\relax%
- \put(52,-31){\line(3,-5){72}}%
- \put(37,-40){\line(3,-5){72}}%
- \put(22,-49){\line(3,-5){72}}%southeast triple bond
- \else\if\@tmpb A%(A) alpha
- {\thicklines\put(47,-40){\line(3,-5){72}}}% single bond (alpha)
- \else\if\@tmpb B%(B) beta
- \@ifundefined{dottedline}{\put(47,-40){\line(3,-5){72}}}%
- {{\thicklines \dottedline{20}(47,-40)(120,-161)}}%
- \else\if\@tmpb S%
- \put(47,-40){\line(3,-5){72}}%
- \else \put(47,-40){\line(3,-5){72}}%
- \fi\fi\fi\fi\fi%
- \putratom{120}{-230}{\@memberb}%==2 (southeast substituent)
-\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.02}{1998/10/20}{New command: \cs{NWBOND}}
-% \changes{v1.02}{1998/10/20}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\NWBOND}
-% \begin{macrocode}
-\def\NWBOND{%
-\yl@xdiff=1
-\yl@ydiff=-10
-\begin{picture}(100,300)(0,0)
- \if\@tmpb D\relax%
- \put(-48,33){\line(-3,5){72}}%
- \put(-26,47){\line(-3,5){72}}%northwest double bond
- \else\if\@tmpb T\relax%
- \put(-52,31){\line(-3,5){72}}%
- \put(-37,40){\line(-3,5){72}}%
- \put(-22,49){\line(-3,5){72}}%northwest triple bond
- \else\if\@tmpb A%(A) alpha
- {\thicklines\put(-40,47){\line(-3,5){72}}}% single bond (alpha)
- \else\if\@tmpb B%(B) beta
- \@ifundefined{dottedline}{\put(-47,40){\line(-3,5){72}}}%
- {{\thicklines \dottedline{20}(-47,40)(-120,161)}}%
- \else\if\@tmpb S%
- \put(-47,40){\line(-3,5){72}}%
- \else \put(-47,40){\line(-3,5){72}}%
- \fi\fi\fi\fi\fi%
- \putlatom{-120}{170}{\@memberb}%==2 (northwest substituent)
-%\yl@xdiff=11
-%\yl@ydiff=-14
-% \if\@tmpb D\relax%
-% \put(-48,59){\line(-3,5){72}}%
-% \put(-26,73){\line(-3,5){72}}%northwest double bond
-% \else\if\@tmpb T\relax%
-% \put(-52,57){\line(-3,5){72}}%
-% \put(-37,66){\line(-3,5){72}}%
-% \put(-22,75){\line(-3,5){72}}%northwest triple bond
-% \else\if\@tmpb A%(A) alpha
-% {\thicklines\put(-47,66){\line(-3,5){72}}}% single bond (alpha)
-% \else\if\@tmpb B%(B) beta
-% \@ifundefined{dottedline}{\put(-47,66){\line(-3,5){72}}}%
-% {{\thicklines \dottedline{20}(-47,66)(-120,187)}}%
-% \else\if\@tmpb S%
-% \put(-47,66){\line(-3,5){72}}%
-% \else \put(-47,66){\line(-3,5){72}}%
-% \fi\fi\fi\fi\fi%
-% \putlatom{-130}{200}{\@memberb}%==2 (northwest substituent)
-%% \putlatom{-120}{170}{\@memberb}%==2 (northwest substituent)
-\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.02}{1998/10/20}{New command: \cs{SWBOND}}
-% \changes{v1.02}{1998/10/20}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\SWBOND}
-% \begin{macrocode}
-\def\SWBOND{%
-\yl@xdiff=1
-\yl@ydiff=70
-\begin{picture}(100,300)(0,0)
- \if\@tmpb D\relax%
- \put(-48,-33){\line(-3,-5){72}}%
- \put(-26,-47){\line(-3,-5){72}}%southwest double bond
- \else\if\@tmpb T\relax%
- \put(-52,-31){\line(-3,-5){72}}%
- \put(-37,-40){\line(-3,-5){72}}%
- \put(-22,-49){\line(-3,-5){72}}%southwest triple bond
- \else\if\@tmpb A%(A) alpha
- {\thicklines\put(-47,-40){\line(-3,-5){72}}}% single bond (alpha)
- \else\if\@tmpb B%(B) beta
- \@ifundefined{dottedline}{\put(-47,-40){\line(-3,-5){72}}}%
- {{\thicklines \dottedline{20}(-47,-40)(-120,-161)}}%
- \else\if\@tmpb S%
- \put(-47,-40){\line(-3,-5){72}}%
- \else \put(-47,-40){\line(-3,-5){72}}%
- \fi\fi\fi\fi\fi%
- \putlatom{-120}{-230}{\@memberb}%==2 (southwest substituent)
-\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Tetrahedral unit}
-%
-% The macro |\tetrahedral| typesets a compound of tetravalency.
-% The following numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% ********************
-% * tetrahedral unit *
-% ********************
-%
-% 1
-%
-% |
-% 2 -- 0 -- 4 0 <== the original point
-% |
-%
-% 3
-% \end{verbatim}
-%
-% This macro has an argument |SUBSLIST| as well as an optional
-% argument |AUXLIST|.
-%
-% \begin{verbatim}
-% \tetrahedral[AUXLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The arugument |AUXLIST| designates an character on the central
-% atom of the formula drawn by this macro. It can be used a plus
-% or minus charge on the center.
-%
-% \begin{verbatim}
-% AUXLIST =
-%
-% {0+} : + charge (or another one chararacter) on the center
-% \end{verbatim}
-%
-% The arugument |SUBLIST| designates a set of substitutients.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 4
-%
-% nT : triple bond at n-atom
-% nD : double bond at n-atom
-% n or nS : single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-%
-% for 0 : cetral atom (e.g. 0==C)
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \tetrahedral{1==Cl;2==F}
-% \tetrahedral{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yltetrahedralposition},
-% \cs{if@ylsw}, \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\tetrahedral}
-% \begin{macro}{\@tetrahedral}
-% \begin{macrocode}
-\def\tetrahedral{\@ifnextchar[{\@tetrahedral[r}{\@tetrahedral[r]}}
-\def\@tetrahedral#1]#2{%
-%\def\tetrahedral{\@ifnextchar[{\@tetrahedral}{\@tetrahedral[]}}
-%\def\@tetrahedral[#1]#2{%
-\@reset@ylsw%
-\yltetrahedralposition{#2}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(600,600)(-300,-300)%
- \iforigpt \put(-300,-300){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `tetrahedral' origin: %
- (\the\noshift,\the\noshift) ---> (300,300)}\fi%
-\fi
-\@tfor\member:=#1\do{%
- \expandafter\twoch@@r\member{}{}%
- \if\@@tmpa 0\relax {\putratom{47}{50}{\scriptsize\@@tmpb}}\fi}%
-\@forsemicol\member:=#2\do{
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa
-{\putlratom{-40}{-33}{\hbox to.72em{\hss\@memberb\hss}}}%central atom
-\or\put(0,0){\Northbond}%
-\or\put(0,0){\Westbond}%
-\or\put(0,0){\Southbond}%
-\or\put(0,0){\Eastbond}\fi%end of ifcase
-\fi\fi}%
-\end{picture}}%end of macro tetrahedral
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The command |\yltetrahedralposition| is used in
-% |\tetrahedral| to adjust a substitution position.
-% \changes{v1.02}{1998/10/20}{Newly added command:
-% \cs{yltetrahedralposition}}
-%
-% \begin{macro}{\yltetrahedralposition}
-% \begin{macrocode}
-\def\yltetrahedralposition#1{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa
- \or \gdef\@ylii{0}\gdef\@yli{-52}\global\@ylswtrue%N subst. on 1
- \or \gdef\@ylii{52}\gdef\@yli{0}\global\@ylswtrue%W subst. on 1
- \or \gdef\@ylii{0}\gdef\@yli{52}\global\@ylswtrue%S subst. on 1
- \or \gdef\@ylii{-52}\gdef\@yli{0}\global\@ylswtrue%E subst. on 1
-\fi%end of ifcase
-\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-
-% \section{Divalenth unit}
-%
-% The command |\divalenth| produces a length-variable divalent unit.
-% \changes{v2.00}{1998/12/14}{New command: \cs{divalenth}}
-%
-% \begin{verbatim}
-% ******************
-% * Divalenth unit *
-% ******************
-%
-%
-%
-% 1 -- (group) -- 2 0 <== the original point
-%
-% \end{verbatim}
-%
-% This macro has an argument |SUBSLIST| as well as an optional
-% argument |GROUP|.
-%
-% \begin{verbatim}
-% \divalenth{GROUP}{SUBSLIST}
-% \end{verbatim}
-%
-% The arugument |GROUP| designates a character strings representing
-% a divalent group. The locant number is fixed to be zero.
-%
-% The arugument |SUBLIST| designates a set of substitutients.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 4
-%
-% nT : triple bond at n-atom
-% nD : double bond at n-atom
-% n or nS : single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-%
-% for 0 : cetral atom (e.g. 0==C)
-% \end{verbatim}
-%
-%
-% \begin{macro}{\divalenth}
-% \begin{macrocode}
-\def\divalenth#1#2{%
-\@reset@ylsw%
-\yldivalenthposition{#1}{#2}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(600,400)(-300,-200)%
- \iforigpt \put(-300,-200){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `tetrahedral' origin: %
- (\the\noshift,\the\noshift) ---> (300,200)}\fi%
-\fi
-{\expandafter\@m@mb@r#1;\relax
- \putratom{-30}{-33}{\@memberb}}%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa
-\or\put(0,0){\Westbond}%
-\or\put(\the\@tempcnta,0){\Eastbond}\fi%end of ifcase
-\fi\fi}%
-\end{picture}}%end of macro tetrahedral
-% \end{macrocode}
-% \end{macro}
-%
-% The command |\yldivalenthposition| is used in
-% |\tetrahedral| to adjust a substitution position.
-% \changes{v2.00}{1998/12/14}{Newly added command:
-% \cs{yldivalenthposition}}
-%
-% \begin{macro}{\yldivalenthposition}
-% \begin{macrocode}
-\def\yldivalenthposition#1#2{%
-{\expandafter\@m@mb@r#1;\relax
- \setbox0=\hbox{\@memberb}%
- \@tempcnta=\wd0
- \@tempcntb=\unitlength
- \divide\@tempcnta by\@tempcntb
- \global\advance\@tempcnta by-62%
- \@tempcntb=\@tempcnta \global\advance\@tempcntb by50\relax
- }%
-\@@ylswfalse%
-\@forsemicol\member:=#2\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa
- \or \gdef\@ylii{50}\gdef\@yli{0}\global\@ylswtrue%W subst. on 1
- \or \edef\@ylii{-\the\@tempcntb}\gdef\@yli{0}\global\@ylswtrue%E subst. on 1
-\fi%end of ifcase
-\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Trigonal unit}
-% \subsection{Right-hand trigonal unit (narrow type)}
-%
-% The macro |\rtrigonal| typesets a compound of trivalency.
-% The following numbering is adopted in this macro.
-% The two right-hand bonds form an angle of 90$^{\circ}$ (narrow type),
-% while the left-hand bond is typeset horizontally.
-%
-% \begin{verbatim}
-% *************************
-% * trigonal unit (right) *
-% *************************
-%
-% 3
-% /
-% /
-% 1 --- 0 90 0 <== the original point
-% `
-% `
-% 2
-% \end{verbatim}
-%
-% This macro has an argument |SUBSLIST| as well as an optional
-% argument |AUXLIST|.
-%
-% \begin{verbatim}
-% \rtrigonal[AUXLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The arugument |AUXLIST| designates an character on the central
-% atom of the formula drawn by this macro. It can be used a plus
-% or minus charge on the center.
-%
-% \begin{verbatim}
-% AUXLIST =
-%
-% {0+}: + charge (or another one chararacter) on the center
-% \end{verbatim}
-%
-% The arugument |SUBLIST| designates a set of substitutients.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 3
-%
-% nT : triple bond at n-atom
-% nD : double bond at n-atom
-% n or nS : single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-%
-% for 0 : cetral atom (e.g. 0==C)
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \rtrigonal{1==Cl;2==F}
-% \rtrigonal{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylrtrigonalposition},
-% \cs{if@ylsw}, \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\rtrigonal}
-% \begin{macro}{\@rtrigonal}
-% \begin{macrocode}
-\def\rtrigonal{\@ifnextchar[{\@rtrigonal[r}{\@rtrigonal[r]}}
-\def\@rtrigonal#1]#2{%
-\@reset@ylsw%
-\ylrtrigonalposition{#2}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(600,600)(-300,-300)%
- \iforigpt \put(-300,-300){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `rtrigonal' origin: %
- (\the\noshift,\the\noshift) ---> (300,300)}\fi%
-\fi
-\@tfor\member:=#1\do{%
- \expandafter\twoch@@r\member{}{}%
- \if\@@tmpa 0\relax {\putratom{-27}{50}{\scriptsize\@@tmpb}}\fi}%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa {\putlratom{-40}{-33}{\@memberb}}%central atom
-\or\put(0,0){\Westbond}%
-\or\put(0,0){\SEbond}%
-\or\put(0,0){\NEbond}%
-\fi%end of ifcase
-\fi\fi}%
-\end{picture}}%end of macro rtrigonal
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The command |\ylrtrigonalposition| is used in
-% |\rtrigonal| to adjust a substitution position.
-% \changes{v1.02}{1998/10/20}{Newly added command:
-% \cs{ylrtrigonalposition}}
-%
-% \begin{macro}{\ylrtrigonalposition}
-% \begin{macrocode}
-\def\ylrtrigonalposition#1{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa
- \or \gdef\@ylii{52}\gdef\@yli{0}\global\@ylswtrue% W subst. on 1
- \or \gdef\@ylii{-40}\gdef\@yli{47}\global\@ylswtrue% SE subst. on 1
- \or \gdef\@ylii{-40}\gdef\@yli{-47}\global\@ylswtrue% NE subst. on 1
-\fi%end of ifcase
-\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Right-hand trigonal unit (broad type)}
-%
-% The macro |\Rtrigonal| typesets a compound of trivalency.
-% The following numbering is adopted in this macro.
-% The two right-hand bonds form an angle of 120$^{\circ}$ (broad type),
-% while the left-hand bond is typeset horizontally.
-% \changes{v1.02}{1998/10/20}{New command: \cs{Rtrigonal}}
-%
-% \begin{verbatim}
-% *************************
-% * trigonal unit (right) *
-% *************************
-%
-% 3
-% /
-% /
-% 1 --- 0 120 0 <== the original point
-% `
-% `
-% 2
-% \end{verbatim}
-%
-% This macro has an argument |SUBSLIST| as well as an optional
-% argument |AUXLIST|.
-%
-% \begin{verbatim}
-% \rtrigonal[AUXLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The arugument |AUXLIST| designates an character on the central
-% atom of the formula drawn by this macro. It can be used a plus
-% or minus charge on the center.
-%
-% \begin{verbatim}
-% AUXLIST =
-%
-% {0+}: + charge (or another one chararacter) on the center
-% \end{verbatim}
-%
-% The arugument |SUBLIST| designates a set of substitutients.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 3
-%
-% nT : triple bond at n-atom
-% nD : double bond at n-atom
-% n or nS : single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-%
-% for 0 : cetral atom (e.g. 0==C)
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \rtrigonal{1==Cl;2==F}
-% \rtrigonal{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylRtrigonalposition},
-% \cs{if@ylsw}, \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\Rtrigonal}
-% \begin{macro}{\@Rtrigonal}
-% \begin{macrocode}
-\def\Rtrigonal{\@ifnextchar[{\@Rtrigonal[r}{\@Rtrigonal[r]}}
-\def\@Rtrigonal#1]#2{%
-\@reset@ylsw%
-\ylRtrigonalposition{#2}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(600,600)(-300,-300)%
- \iforigpt \put(-300,-300){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `Rtrigonal' origin: %
- (\the\noshift,\the\noshift) ---> (300,300)}\fi%
-\fi
-\@tfor\member:=#1\do{%
- \expandafter\twoch@@r\member{}{}%
- \if\@@tmpa 0\relax {\putratom{-27}{50}{\scriptsize\@@tmpb}}\fi}%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa {\putlratom{-40}{-33}{\@memberb}}%central atom
-\or\put(0,0){\Westbond}%
-\or\put(0,0){\SEBOND}%
-\or\put(0,0){\NEBOND}%
-\fi%end of ifcase
-\fi\fi}%
-\end{picture}}%end of macro Rtrigonal
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The command |\ylRtrigonalposition| is used in
-% |\Rtrigonal| to adjust a substitution position.
-% \changes{v1.02}{1998/10/20}{Newly added command:
-% \cs{ylRtrigonalposition}}
-%
-% \begin{macro}{\ylRtrigonalposition}
-% \begin{macrocode}
-\def\ylRtrigonalposition#1{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa
- \or \gdef\@ylii{52}\gdef\@yli{0}\global\@ylswtrue% W subst. on 1
- \or \gdef\@ylii{-47}\gdef\@yli{40}\global\@ylswtrue% SE subst. on 1
- \or \gdef\@ylii{-47}\gdef\@yli{-40}\global\@ylswtrue% NE subst. on 1
-\fi%end of ifcase
-\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Left-hand trigonal unit (narrow type)}
-%
-% The macro |\ltrigonal| typesets a compound of trivalency.
-% The following numbering is adopted in this macro.
-% The two left-hand bonds form an angle of 90$^{\circ}$ (narrow type),
-% while the right-hand bond is typeset horizontally.
-%
-% \begin{verbatim}
-% ************************
-% * trigonal unit (left) *
-% ************************
-%
-% 2
-% `
-% `
-% 90 0 --- 1 0 <== the original point
-% /
-% /
-% 3
-% \end{verbatim}
-%
-% This macro has an argument |SUBSLIST| as well as an optional
-% argument |AUXLIST|.
-%
-% \begin{verbatim}
-% \ltrigonal[AUXLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The arugument |AUXLIST| designates an character on the central
-% atom of the formula drawn by this macro. It can be used a plus
-% or minus charge on the center.
-%
-% \begin{verbatim}
-% AUXLIST =
-%
-% {0+} : + charge (or another one chararacter) on the center
-% \end{verbatim}
-%
-% The arugument |SUBLIST| designates a set of substitutients.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 3
-%
-% nT : triple bond at n-atom
-% nD : double bond at n-atom
-% n or nS : single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-%
-% for 0 : cetral atom (e.g. 0==C)
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \ltrigonal{1==Cl;2==F}
-% \ltrigonal{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylltrigonalposition},
-% \cs{if@ylsw}, \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\ltrigonal}
-% \begin{macro}{\@ltrigonal}
-% \begin{macrocode}
-\def\ltrigonal{\@ifnextchar[{\@ltrigonal[r}{\@ltrigonal[r]}}
-\def\@ltrigonal#1]#2{%
-\@reset@ylsw%
-\ylltrigonalposition{#2}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(600,600)(-300,-300)%
- \iforigpt \put(-300,-300){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `ltrigonal' origin: %
- (\the\noshift,\the\noshift) ---> (300,300)}\fi%
-\fi
-\@tfor\member:=#1\do{%
- \expandafter\twoch@@r\member{}{}%
- \if\@@tmpa 0\relax {\putratom{-27}{50}{\scriptsize\@@tmpb}}\fi}%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa
-{\putlratom{-40}{-33}{\@memberb}}%central atom
-\or\put(0,0){\Eastbond}%
-\or\put(0,0){\NWbond}%
-\or\put(0,0){\SWbond}%
-\fi%end of ifcase
-\fi\fi}%
-\end{picture}}%end of macro ltrigonal
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The command |\ylltrigonalposition| is used in
-% |\ltrigonal| to adjust a substitution position.
-% \changes{v1.02}{1998/10/20}{Newly added command:
-% \cs{ylltrigonalposition}}
-%
-% \begin{macro}{\ylltrigonalposition}
-% \begin{macrocode}
-\def\ylltrigonalposition#1{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa
- \or \gdef\@ylii{-52}\gdef\@yli{0}\global\@ylswtrue% W subst. on 1
- \or \gdef\@ylii{50}\gdef\@yli{-47}\global\@ylswtrue% NW subst. on 1
- \or \gdef\@ylii{50}\gdef\@yli{47}\global\@ylswtrue% SW subst. on 1
-\fi%end of ifcase
-\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Left-hand trigonal unit (broad type)}
-%
-% The macro |\Ltrigonal| typesets a compound of trivalency.
-% The following numbering is adopted in this macro.
-% The two left-hand bonds form an angle of 120$^{\circ}$ (broad type),
-% while the right-hand bond is typeset horizontally.
-% \changes{v1.02}{1998/10/20}{New command: \cs{Ltrigonal}}
-%
-% \begin{verbatim}
-% ************************
-% * trigonal unit (left) *
-% ************************
-%
-% 2
-% `
-% `
-% 120 0 --- 1 0 <== the original point
-% /
-% /
-% 3
-% \end{verbatim}
-%
-% This macro has an argument |SUBSLIST| as well as an optional
-% argument |AUXLIST|.
-%
-% \begin{verbatim}
-% \ltrigonal[AUXLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The arugument |AUXLIST| designates an character on the central
-% atom of the formula drawn by this macro. It can be used a plus
-% or minus charge on the center.
-%
-% \begin{verbatim}
-% AUXLIST =
-%
-% {0+} : + charge (or another one chararacter) on the center
-% \end{verbatim}
-%
-% The arugument |SUBLIST| designates a set of substitutients.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 3
-%
-% nT : triple bond at n-atom
-% nD : double bond at n-atom
-% n or nS : single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-%
-% for 0 : cetral atom (e.g. 0==C)
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \Ltrigonal{1==Cl;2==F}
-% \Ltrigonal{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylLtrigonalposition},
-% \cs{if@ylsw}, \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\Ltrigonal}
-% \begin{macro}{\@Ltrigonal}
-% \begin{macrocode}
-\def\Ltrigonal{\@ifnextchar[{\@Ltrigonal[r}{\@Ltrigonal[r]}}
-\def\@Ltrigonal#1]#2{%
-\@reset@ylsw%
-\ylLtrigonalposition{#2}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(600,600)(-300,-300)%
- \iforigpt \put(-300,-300){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `Ltrigonal' origin: %
- (\the\noshift,\the\noshift) ---> (300,300)}\fi%
-\fi
-\@tfor\member:=#1\do{%
- \expandafter\twoch@@r\member{}{}%
- \if\@@tmpa 0\relax {\putratom{-27}{50}{\scriptsize\@@tmpb}}\fi}%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa
-{\putlratom{-40}{-33}{\@memberb}}%central atom
-\or\put(0,0){\Eastbond}%
-\or\put(0,0){\NWBOND}%
-\or\put(0,0){\SWBOND}%
-\fi%end of ifcase
-\fi\fi}%
-\end{picture}}%end of macro Ltrigonal
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The command |\ylLtrigonalposition| is used in
-% |\Ltrigonal| to adjust a substitution position.
-% \changes{v1.02}{1998/10/20}{Newly added command:
-% \cs{ylLtrigonalposition}}
-%
-% \begin{macro}{\ylLtrigonalposition}
-% \begin{macrocode}
-\def\ylLtrigonalposition#1{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa
- \or \gdef\@ylii{-52}\gdef\@yli{0}\global\@ylswtrue% W subst. on 1
- \or \gdef\@ylii{47}\gdef\@yli{-40}\global\@ylswtrue% NWB subst. on 1
-% \or \gdef\@ylii{47}\gdef\@yli{-66}\global\@ylswtrue% NWB subst. on 1
- \or \gdef\@ylii{47}\gdef\@yli{40}\global\@ylswtrue% SWB subst. on 1
-% \or \gdef\@ylii{47}\gdef\@yli{66}\global\@ylswtrue% SWB subst. on 1
-\fi%end of ifcase
-\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Upward trigonal unit (narrow type)}
-%
-% The macro |\utrigonal| typesets a compound of trivalency.
-% The two upward bonds form an angle of 90$^{\circ}$ (narrow type),
-% while the downward bond is typeset vertically.
-% The following numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% **********************
-% * trigonal unit (up) *
-% **********************
-%
-% The following numbering is adopted in this macro.
-%
-% 3 . 2
-% ` 90 /
-% ` /
-% 0 0 <== the original point
-% |
-% |
-% 1
-%
-% \end{verbatim}
-%
-% This macro has an argument |SUBSLIST| as well as an optional
-% argument |AUXLIST|.
-%
-% \begin{verbatim}
-% \utrigonal[AUXLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The arugument |AUXLIST| designates an character on the central
-% atom of the formula drawn by this macro. It can be used a plus
-% or minus charge on the center.
-%
-% \begin{verbatim}
-% AUXLIST =
-%
-% {0+}: + charge (or another one chararacter) on the center
-% \end{verbatim}
-%
-% The arugument |SUBLIST| designates a set of substitutients.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 3
-%
-% nT : triple bond at n-atom
-% nD : double bond at n-atom
-% n or nS : single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-%
-% for 0 : cetral atom (e.g. 0==C)
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \utrigonal{1==Cl;2==F}
-% \utrigonal{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylutrigonalposition},
-% \cs{if@ylsw}, \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\utrigonal}
-% \begin{macro}{\@utrigonal}
-% \begin{macrocode}
-\def\utrigonal{\@ifnextchar[{\@utrigonal[r}{\@utrigonal[r]}}
-\def\@utrigonal#1]#2{%
-\@reset@ylsw%
-\ylutrigonalposition{#2}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(600,600)(-300,-300)%
- \iforigpt \put(-300,-300){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `utrigonal' origin: %
- (\the\noshift,\the\noshift) ---> (300,300)}\fi%
-\fi
-\@tfor\member:=#1\do{%
- \expandafter\twoch@@r\member{}{}%
- \if\@@tmpa 0\relax {\putratom{-27}{50}{\scriptsize\@@tmpb}}\fi}%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa
-{\putlratom{-40}{-33}{\@memberb}}%central atom
-\or\put(0,0){\Southbond}%
-\or\put(0,0){\NEbond}%
-\or\put(0,0){\NWbond}%
-\fi%end of ifcase
-\fi\fi}%
-\end{picture}}%end of macro utrigonal
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The command |\ylutrigonalposition| is used in
-% |\utrigonal| to adjust a substitution position.
-% \changes{v1.02}{1998/10/20}{Newly added command:
-% \cs{ylutrigonalposition}}
-%
-% \begin{macro}{\ylutrigonalposition}
-% \begin{macrocode}
-\def\ylutrigonalposition#1{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa
- \or \gdef\@ylii{0}\gdef\@yli{52}\global\@ylswtrue%S subst. on 1
- \or \gdef\@ylii{-40}\gdef\@yli{-47}\global\@ylswtrue% NE subst. on 1
- \or \gdef\@ylii{50}\gdef\@yli{-47}\global\@ylswtrue% NW subst. on 1
-\fi%end of ifcase
-\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Upward trigonal unit (broad type)}
-%
-% The macro |\Utrigonal| typesets a compound of trivalency.
-% The two upward bonds form an angle of 120$^{\circ}$ (broad type),
-% while the downward bond is typeset vertically.
-% The following numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% **********************
-% * trigonal unit (up) *
-% **********************
-%
-% 3 2
-% ` 120 /
-% ` /
-% 0 0 <== the original point
-% |
-% |
-% 1
-%
-% \end{verbatim}
-%
-% This macro has an argument |SUBSLIST| as well as an optional
-% argument |AUXLIST|.
-%
-% \begin{verbatim}
-% \Utrigonal[AUXLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The arugument |AUXLIST| designates an character on the central
-% atom of the formula drawn by this macro. It can be used a plus
-% or minus charge on the center.
-%
-% \begin{verbatim}
-% AUXLIST =
-%
-% {0+}: + charge (or another one chararacter) on the center
-% \end{verbatim}
-%
-% The arugument |SUBLIST| designates a set of substitutients.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 3
-%
-% nT : triple bond at n-atom
-% nD : double bond at n-atom
-% n or nS : single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-%
-% for 0 : cetral atom (e.g. 0==C)
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \Utrigonal{1==Cl;2==F}
-% \Utrigonal{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylutrigonalposition},
-% \cs{if@ylsw}, \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\Utrigonal}
-% \begin{macro}{\@Utrigonal}
-% \begin{macrocode}
-\def\Utrigonal{\@ifnextchar[{\@Utrigonal[r}{\@Utrigonal[r]}}
-\def\@Utrigonal#1]#2{%
-\@reset@ylsw%
-\ylUtrigonalposition{#2}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(600,600)(-300,-300)%
- \iforigpt \put(-300,-300){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `Utrigonal' origin: %
- (\the\noshift,\the\noshift) ---> (300,300)}\fi%
-\fi
-\@tfor\member:=#1\do{%
- \expandafter\twoch@@r\member{}{}%
- \if\@@tmpa 0\relax {\putratom{-27}{50}{\scriptsize\@@tmpb}}\fi}%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa
-{\putlratom{-40}{-33}{\@memberb}}%central atom
-\or\put(0,0){\Southbond}%
-\or\put(0,0){\NEBond}%
-\or\put(0,0){\NWBond}%
-\fi%end of ifcase
-\fi\fi}%
-\end{picture}}%end of macro Utrigonal
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The command |\ylUtrigonalposition| is used in
-% |\Utrigonal| to adjust a substitution position.
-% \changes{v1.02}{1998/10/20}{Newly added command:
-% \cs{ylUtrigonalposition}}
-%
-% \begin{macro}{\ylUtrigonalposition}
-% \begin{macrocode}
-\def\ylUtrigonalposition#1{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa
- \or \gdef\@ylii{0}\gdef\@yli{52}\global\@ylswtrue%S subst. on 1
- \or \gdef\@ylii{-40}\gdef\@yli{-47}\global\@ylswtrue% NEB subst. on 1
- \or \gdef\@ylii{66}\gdef\@yli{-47}\global\@ylswtrue% NWB subst. on 1
-\fi%end of ifcase
-\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Downward trigonal unit (narrow type)}
-%
-% The macro |\dtrigonal| typesets a compound of trivalency.
-% The upward bond is typeset vertically.
-% The following numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% ************************
-% * trigonal unit (down) *
-% ************************
-%
-% The following numbering is adopted in this macro.
-%
-% 1
-% |
-% |
-% 0 0 <== the original point
-% / `
-% / 90 `
-% 2 3
-%
-% \end{verbatim}
-%
-% This macro has an argument |SUBSLIST| as well as an optional
-% argument |AUXLIST|.
-%
-% \begin{verbatim}
-% \dtrigonal[AUXLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The arugument |AUXLIST| designates an character on the central
-% atom of the formula drawn by this macro. It can be used a plus
-% or minus charge on the center.
-%
-% \begin{verbatim}
-% AUXLIST =
-%
-% {0+} : + charge (or another one chararacter) on the center
-% \end{verbatim}
-%
-% The arugument |SUBLIST| designates a set of substitutients.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 3
-%
-% nT : triple bond at n-atom
-% nD : double bond at n-atom
-% n or nS : single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-%
-% for 0 : cetral atom (e.g. 0==C)
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \dtrigonal{1==Cl;2==F}
-% \dtrigonal{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yldtrigonalposition},
-% \cs{if@ylsw}, \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\dtrigonal}
-% \begin{macro}{\@dtrigonal}
-% \begin{macrocode}
-\def\dtrigonal{\@ifnextchar[{\@dtrigonal[r}{\@dtrigonal[r]}}
-\def\@dtrigonal#1]#2{%
-\@reset@ylsw%
-\yldtrigonalposition{#2}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(600,600)(-300,-300)
- \iforigpt \put(-300,-300){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `dtrigonal' origin: %
- (\the\noshift,\the\noshift) ---> (300,300)}\fi%
-\fi
-\@tfor\member:=#1\do{%
- \expandafter\twoch@@r\member{}{}%
- \if\@@tmpa 0\relax {\putratom{37}{50}{\scriptsize\@@tmpb}}\fi}%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa
-{\putlratom{-40}{-33}{\@memberb}}%central atom
-\or\put(0,0){\Northbond}%
-\or\put(0,0){\SEbond}%
-\or\put(0,0){\SWbond}%
-\fi%end of ifcase
-\fi\fi}%
-\end{picture}}%end of macro dtrigonal
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The command |\yldtrigonalposition| is used in
-% |\dtrigonal| to adjust a substitution position.
-% \changes{v1.02}{1998/10/20}{Newly added command:
-% \cs{yldtrigonalposition}}
-%
-% \begin{macro}{\yldtrigonalposition}
-% \begin{macrocode}
-\def\yldtrigonalposition#1{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa
- \or \gdef\@ylii{0}\gdef\@yli{-52}\global\@ylswtrue%N subst. on 1
- \or \gdef\@ylii{-40}\gdef\@yli{47}\global\@ylswtrue% SE subst. on 1
- \or \gdef\@ylii{50}\gdef\@yli{47}\global\@ylswtrue% SW subst. on 1
-\fi%end of ifcase
-\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Downward trigonal unit (broad type)}
-%
-% The macro |\Dtrigonal| typesets a compound of trivalency.
-% The upward bond is typeset vertically.
-% The following numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% ************************
-% * trigonal unit (down) *
-% ************************
-%
-% The following numbering is adopted in this macro.
-%
-% 1
-% |
-% |
-% 0 0 <== the original point
-% / `
-% / 120 `
-% 2 3
-%
-% \end{verbatim}
-%
-% This macro has an argument |SUBSLIST| as well as an optional
-% argument |AUXLIST|.
-%
-% \begin{verbatim}
-% \Dtrigonal[AUXLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The arugument |AUXLIST| designates an character on the central
-% atom of the formula drawn by this macro. It can be used a plus
-% or minus charge on the center.
-%
-% \begin{verbatim}
-% AUXLIST =
-%
-% {0+}: + charge (or another one chararacter) on the center
-% \end{verbatim}
-%
-% The arugument |SUBLIST| designates a set of substitutients.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 3
-%
-% nT : triple bond at n-atom
-% nD : double bond at n-atom
-% n or nS : single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-%
-% for 0 : cetral atom (e.g. 0==C)
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \Dtrigonal{1==Cl;2==F}
-% \Dtrigonal{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylDtrigonalposition},
-% \cs{if@ylsw}, \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\Dtrigonal}
-% \begin{macro}{\@Dtrigonal}
-% \begin{macrocode}
-\def\Dtrigonal{\@ifnextchar[{\@Dtrigonal[r}{\@Dtrigonal[r]}}
-\def\@Dtrigonal#1]#2{%
-\@reset@ylsw%
-\ylDtrigonalposition{#2}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(600,600)(-300,-300)
- \iforigpt \put(-300,-300){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `Dtrigonal' origin: %
- (\the\noshift,\the\noshift) ---> (300,300)}\fi%
-\fi
-\@tfor\member:=#1\do{%
- \expandafter\twoch@@r\member{}{}%
- \if\@@tmpa 0\relax {\putratom{37}{50}{\scriptsize\@@tmpb}}\fi}%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa
-{\putlratom{-40}{-33}{\@memberb}}%central atom
-\or\put(0,0){\Northbond}%
-\or\put(0,0){\SEBond}%
-\or\put(0,0){\SWBond}%
-\fi%end of ifcase
-\fi\fi}%
-\end{picture}}%end of macro Dtrigonal
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The command |\ylDtrigonalposition| is used in
-% |\Dtrigonal| to adjust a substitution position.
-% \changes{v1.02}{1998/10/20}{Newly added command:
-% \cs{ylDtrigonalposition}}
-%
-% \begin{macro}{\ylDtrigonalposition}
-% \begin{macrocode}
-\def\ylDtrigonalposition#1{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa
- \or \gdef\@ylii{0}\gdef\@yli{-52}\global\@ylswtrue%N subst. on 1
- \or \gdef\@ylii{-40}\gdef\@yli{47}\global\@ylswtrue% SEB subst. on 1
- \or \gdef\@ylii{66}\gdef\@yli{47}\global\@ylswtrue% SWB subst. on 1
-\fi%end of ifcase
-\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Ethylene derivative}
-% \subsection{Horizontal ethylene unit (narrow type)}
-%
-% The macro |\ethylene| typesets ethylene derivatives.
-% The following numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% *****************
-% * ethylene unit *
-% *****************
-%
-% 1 4
-% ` /
-% ` /
-% 90 (1)===(2) 90 (1) <== the original point
-% / `
-% / `
-% 2 3
-% \end{verbatim}
-%
-% \begin{verbatim}
-% \ethylene[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \end{verbatim}
-%
-% The arugument |BONDLIST| designates the bond between atom (1) and
-% atom (2) as well as charges on these centeral atoms.
-%
-% \begin{verbatim}
-% BONDLIST: list of inner bonds and charges
-%
-% {n+} : + charge (or another one chararacter) on n-atom
-% d : inner double bond (between (1) and (2))
-% t : inner triple bond (between (1) and (2))
-% \end{verbatim}
-%
-% The arugument |SUBLIST| designates a set of substitutients.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 4
-%
-% nT : triple bond at n-atom
-% nD : double bond at n-atom
-% n or nS : single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% The arugument |ATOMLIST| designates the list of central atoms.
-%
-% \begin{verbatim}
-% ATOMLIST: list of central atoms
-% n : atom for n-position (e.g. 1==C)
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \ethylene{}{1==Cl;2==F}
-% \ethylene{}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylethylenepositiona},
-% \cs{ylethylenepositionb},
-% \cs{if@ylsw}, \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\ethylene}
-% \begin{macro}{\@ethylene}
-% \begin{macrocode}
-\def\ethylene{\@ifnextchar[{\@ethylene}{\@ethylene[]}}
-\def\@ethylene[#1]#2#3{%
-\@reset@ylsw%
-\ylethylenepositiona{#3}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-\ylethylenepositionb{#3}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-230}\def\@@yli{0}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(800,600)(-300,-300)
- \iforigpt \put(-300,-300){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `ethylene' origin: %
- (\the\noshift,\the\noshift) ---> (300,300)}\fi%
-\fi
-{\def\aaa{#1}\ifx\aaa\empty%
- \multiput(42,-13)(0,25){2}{\line(1,0){140}}\fi% double bond
-}%
-\@tfor\member:=#1\do{%
- \expandafter\twoch@@r\member{}{}%
- \if\@@tmpa 1\relax {\putratom{-27}{60}{\scriptsize\@@tmpb}}%
- \else\if\@@tmpa 2\relax {\putratom{203}{60}{\scriptsize\@@tmpb}}%
- \else\if\@@tmpa d\relax%
- {\multiput(42,-13)(0,25){2}{\line(1,0){140}}}% double bond
- \else\if\@@tmpa t\relax%
- {\multiput(42,-20)(0,20){3}{\line(1,0){140}}}% triple bond right
- \fi\fi\fi\fi}%
-{\def\aaa{#2}%
-\ifx\aaa\empty%
-\putratom{-40}{-33}{C}%central atom
-\putratom{190}{-33}{C}%central atom
-\else%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifcase\@tmpa%
-\or\putratom{-40}{-33}{\@memberb}%central atom
-\or\putratom{190}{-33}{\@memberb}%central atom
-\fi\fi}%end of ifcase
-\fi%
-}%
-\@forsemicol\member:=#3\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa%
-\or\put(0,0){\NWbond}%
-\or\put(0,0){\SWbond}%
-\or\put(230,0){\SEbond}%
-\or\put(230,0){\NEbond}%
-\fi%end of ifcase
-\fi\fi}%
-\end{picture}}%end of macro ethylene
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\ethyleneh}
-% \begin{macrocode}
-\let\ethyleneh=\ethylene
-% \end{macrocode}
-% \end{macro}
-%
-% The commands |\ylethylenepositiona| and |\ylethylenepositiona|
-% are used in |\ethylene| to adjust a substitution position.
-% \changes{v1.02}{1998/10/20}{Newly added command:
-% \cs{ylethylenepositiona} and \cs{ylethylenepositionb}}
-%
-% \begin{macro}{\ylethylenepositiona}
-% \begin{macro}{\ylethylenepositionb}
-% \begin{macrocode}
-\def\ylethylenepositiona#1{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa
- \or \gdef\@ylii{50}\gdef\@yli{-47}\global\@ylswtrue% NW subst. on 1
- \or \gdef\@ylii{50}\gdef\@yli{47}\global\@ylswtrue% SW subst. on 1
-\fi%end of ifcase
-\fi\fi\fi}}%
-\def\ylethylenepositionb#1{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa
- \or%omit
- \or%omit
- \or \gdef\@ylii{-40}\gdef\@yli{47}\global\@ylswtrue% SE subst. on 1
- \or \gdef\@ylii{-40}\gdef\@yli{-47}\global\@ylswtrue% NE subst. on 1
-\fi%end of ifcase
-\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Horizontal ethylene unit (broad type)}
-%
-% The macro |\Ethylene| typesets ethylene derivatives.
-% The following numbering is adopted in this macro.
-% \changes{v1.02}{1998/10/20}{New command: \cs{Ethylene}}
-%
-% \begin{verbatim}
-% *****************
-% * ethylene unit *
-% *****************
-%
-% 1 4
-% ` /
-% ` /
-% 120 (1)===(2) 120 (1) <== the original point
-% / `
-% / `
-% 2 3
-% \end{verbatim}
-%
-% \begin{verbatim}
-% \Ethylene[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \end{verbatim}
-%
-% The arugument |BONDLIST| designates the bond between atom (1) and
-% atom (2) as well as charges on these centeral atoms.
-%
-% \begin{verbatim}
-% BONDLIST: list of inner bonds and charges
-%
-% {n+} : + charge (or another one chararacter) on n-atom
-% d : inner double bond (between (1) and (2))
-% t : inner triple bond (between (1) and (2))
-% \end{verbatim}
-%
-% The arugument |SUBLIST| designates a set of substitutients.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 4
-%
-% nT : triple bond at n-atom
-% nD : double bond at n-atom
-% n or nS : single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% The arugument |ATOMLIST| designates the list of central atoms.
-%
-% \begin{verbatim}
-% ATOMLIST: list of central atoms
-% n : atom for n-position (e.g. 1==C)
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \Ethylene{}{1==Cl;2==F}
-% \Ethylene{}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylethylenepositiona},
-% \cs{ylethylenepositionb},
-% \cs{if@ylsw}, \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\Ethylene}
-% \begin{macro}{\@Ethylene}
-% \begin{macrocode}
-\def\Ethylene{\@ifnextchar[{\@ethylene}{\@ethylene[]}}
-\def\@ethylene[#1]#2#3{%
-\@reset@ylsw%
-\ylethylenepositiona{#3}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-\ylethylenepositionb{#3}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-230}\def\@@yli{0}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(800,600)(-300,-300)
- \iforigpt \put(-300,-300){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `ethylene' origin: %
- (\the\noshift,\the\noshift) ---> (300,300)}\fi%
-\fi
-{\def\aaa{#1}\ifx\aaa\empty%
- \multiput(42,-13)(0,25){2}{\line(1,0){140}}\fi% double bond
-}%
-\@tfor\member:=#1\do{%
- \expandafter\twoch@@r\member{}{}%
- \if\@@tmpa 1\relax {\putratom{-27}{60}{\scriptsize\@@tmpb}}%
- \else\if\@@tmpa 2\relax {\putratom{203}{60}{\scriptsize\@@tmpb}}%
- \else\if\@@tmpa d\relax%
- {\multiput(42,-13)(0,25){2}{\line(1,0){140}}}% double bond
- \else\if\@@tmpa t\relax%
- {\multiput(42,-20)(0,20){3}{\line(1,0){140}}}% triple bond right
- \fi\fi\fi\fi}%
-{\def\aaa{#2}%
-\ifx\aaa\empty%
-\putratom{-40}{-33}{C}%central atom
-\putratom{190}{-33}{C}%central atom
-\else%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifcase\@tmpa%
-\or\putratom{-40}{-33}{\@memberb}%central atom
-\or\putratom{190}{-33}{\@memberb}%central atom
-\fi\fi}%end of ifcase
-\fi%
-}%
-\@forsemicol\member:=#3\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa%
-\or\put(0,0){\NWBOND}%
-\or\put(0,0){\SWBOND}%
-\or\put(230,0){\SEBOND}%
-\or\put(230,0){\NEBOND}%
-\fi%end of ifcase
-\fi\fi}%
-\end{picture}}%end of macro Ethylene
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\Ethyleneh}
-% \begin{macrocode}
-\let\Ethyleneh=\Ethylene
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Vertical ethylene unit (narrow type)}
-%
-% The macro |\ethylenev| typesets ethylene derivatives in a
-% vatical manner.
-% The following numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% ****************************
-% * ethylene unit (vertical) *
-% ****************************
-%
-% The following numbering is adopted in this macro.
-%
-% 4 3
-% ` 90 /
-% ` /
-% (2)
-% ||
-% ||
-% (1) <== the original point
-% / `
-% / 90 `
-% 1 2
-%
-% \end{verbatim}
-%
-% \begin{verbatim}
-% \ethylenev[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \end{verbatim}
-%
-% \begin{verbatim}
-% BONDLIST: list of inner bonds and charges
-%
-% {n+} : + charge (or another one chararacter) on n-atom
-% d : inner double bond (between (1) and (2))
-% t : inner triple bond (between (1) and (2))
-% \end{verbatim}
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 4
-%
-% nT : triple bond at n-atom
-% nD : double bond at n-atom
-% n or nS : single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% \begin{verbatim}
-% ATOMLIST: list of central atoms
-% n : atom for n-position (e.g. 1==C)
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \ethylenev{1==Cl;2==F}
-% \ethylenev{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylethylenevpositiona},
-% \cs{ylethylenevpositionb},
-% \cs{if@ylsw}, \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\ethylenev}
-% \begin{macro}{\@ethylenev}
-% \begin{macrocode}
-\def\ethylenev{\@ifnextchar[{\@ethylenev}{\@ethylenev[]}}
-\def\@ethylenev[#1]#2#3{%
-\@reset@ylsw%
-\ylethylenevpositiona{#3}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-\ylethylenevpositionb{#3}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{-230}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(600,800)(-300,-300)
- \iforigpt \put(-300,-300){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `ethylenev' origin: %
- (\the\noshift,\the\noshift) ---> (300,300)}\fi%
-\fi
-\def\aaa{#1}\ifx\aaa\empty%
- \put(-20,47){\line(0,1){140}}% vertical
- \put(6,47){\line(0,1){140}}\fi% double bond
-\@tfor\member:=#1\do{%
- \expandafter\twoch@@r\member{}{}%
- \if\@@tmpa 1\relax \putratom{37}{0}{\scriptsize\@@tmpb}
- \else\if\@@tmpa 2\relax \putratom{37}{216}{\scriptsize\@@tmpb}
- \else\if\@@tmpa d\relax%
- \put(-13,47){\line(0,1){140}}% vertical
- \put(13,47){\line(0,1){140}}% double bond
- \else\if\@@tmpa t\relax%
- \put(-20,47){\line(0,1){140}}% vertical
- \put(-0,47){\line(0,1){140}}% triple bond
- \put(20,47){\line(0,1){140}}%
- \fi\fi\fi\fi}%
-\def\aaa{#2}%
-\ifx\aaa\empty%
-\putratom{-40}{-33}{C}%central atom
-\putratom{-40}{197}{C}%central atom
-\else%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifcase\@tmpa%
-\or\putratom{-40}{-33}{\@memberb}%central atom
-\or\putratom{-40}{197}{\@memberb}%central atom
-\fi\fi}%end of ifcase
-\fi%
-\@forsemicol\member:=#3\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa%
-\or\put(0,0){\SWbond}%
-\or\put(0,0){\SEbond}%
-\or\put(0,230){\NEbond}%
-\or\put(0,230){\NWbond}%
-\fi%end of ifcase
-\fi\fi}%
-\end{picture}}%end of macro ethylenev
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The commands |\ylethylenevpositiona| and |\ylethylenevpositiona|
-% are used in |\ethylenev| to adjust a substitution position.
-% \changes{v1.02}{1998/10/20}{Newly added command:
-% \cs{ylethylenevpositiona} and \cs{ylethylenevpositionb}}
-%
-% \begin{macro}{\ylethylenepositiona}
-% \begin{macro}{\ylethylenepositionb}
-% \begin{macrocode}
-\def\ylethylenevpositiona#1{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa
- \or \gdef\@ylii{50}\gdef\@yli{47}\global\@ylswtrue% SW subst. on 1
- \or \gdef\@ylii{-40}\gdef\@yli{47}\global\@ylswtrue% SE subst. on 1
-\fi%end of ifcase
-\fi\fi\fi}}%
-\def\ylethylenevpositionb#1{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa
- \or%omit
- \or%omit
- \or \gdef\@ylii{-40}\gdef\@yli{-47}\global\@ylswtrue% NE subst. on 1
- \or \gdef\@ylii{50}\gdef\@yli{-47}\global\@ylswtrue% NW subst. on 1
-\fi%end of ifcase
-\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Vertical ethylene unit (broad type)}
-%
-% The macro |\Ethylenev| typesets ethylene derivatives in a
-% vatical manner.
-% The following numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% ****************************
-% * ethylene unit (vertical) *
-% ****************************
-%
-% 4 3
-% ` 120 /
-% ` /
-% (2)
-% ||
-% ||
-% (1) <== the original point
-% / `
-% / 120 `
-% 1 2
-% \end{verbatim}
-%
-% \begin{verbatim}
-% \Ethylenev[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \end{verbatim}
-%
-% \begin{verbatim}
-% BONDLIST: list of inner bonds and charges
-%
-% {n+} : + charge (or another one chararacter) on n-atom
-% d : inner double bond (between (1) and (2))
-% t : inner triple bond (between (1) and (2))
-% \end{verbatim}
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 4
-%
-% nT : triple bond at n-atom
-% nD : double bond at n-atom
-% n or nS : single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% \begin{verbatim}
-% ATOMLIST: list of central atoms
-% n : atom for n-position (e.g. 1==C)
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \Ethylenev{1==Cl;2==F}
-% \Ethylenev{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylethylenevpositiona},
-% \cs{ylethylenevpositionb},
-% \cs{if@ylsw}, \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\Ethylenev}
-% \begin{macro}{\@Ethylenev}
-% \begin{macrocode}
-\def\Ethylenev{\@ifnextchar[{\@Ethylenev}{\@Ethylenev[]}}
-\def\@Ethylenev[#1]#2#3{%
-\@reset@ylsw%
-\ylethylenevpositiona{#3}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-\ylethylenevpositionb{#3}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{-230}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(600,800)(-300,-300)
- \iforigpt \put(-300,-300){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `Ethylenev' origin: %
- (\the\noshift,\the\noshift) ---> (300,300)}\fi%
-\fi
-\def\aaa{#1}\ifx\aaa\empty%
- \put(-20,47){\line(0,1){140}}% vertical
- \put(6,47){\line(0,1){140}}\fi% double bond
-\@tfor\member:=#1\do{%
- \expandafter\twoch@@r\member{}{}%
- \if\@@tmpa 1\relax \putratom{37}{0}{\scriptsize\@@tmpb}
- \else\if\@@tmpa 2\relax \putratom{37}{216}{\scriptsize\@@tmpb}
- \else\if\@@tmpa d\relax%
- \put(-13,47){\line(0,1){140}}% vertical
- \put(13,47){\line(0,1){140}}% double bond
- \else\if\@@tmpa t\relax%
- \put(-20,47){\line(0,1){140}}% vertical
- \put(-0,47){\line(0,1){140}}% triple bond
- \put(20,47){\line(0,1){140}}%
- \fi\fi\fi\fi}%
-\def\aaa{#2}%
-\ifx\aaa\empty%
-\putratom{-40}{-33}{C}%central atom
-\putratom{-40}{197}{C}%central atom
-\else%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifcase\@tmpa%
-\or\putratom{-40}{-33}{\@memberb}%central atom
-\or\putratom{-40}{197}{\@memberb}%central atom
-\fi\fi}%end of ifcase
-\fi%
-\@forsemicol\member:=#3\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa%
-\or\put(0,0){\SWBond}%
-\or\put(0,0){\SEBond}%
-\or\put(0,230){\NEBond}%
-\or\put(0,230){\NWBond}%
-\fi%end of ifcase
-\fi\fi}%
-\end{picture}}%end of macro Ethylenev
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \section{Square unit}
-%
-% The macro |\square| typesets a compound of tetravalency.
-% The following numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% ***************
-% * square unit *
-% ***************
-%
-% The following numbering is adopted in this macro.
-%
-% 4 1
-% ` /
-% ` /
-% (0) <== the original point
-% / `
-% / `
-% 3 2
-%
-% \end{verbatim}
-%
-% This macro has an argument |SUBSLIST| as well as an optional
-% argument |AUXLIST|.
-%
-% \begin{verbatim}
-% \square[AUXLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The arugument |AUXLIST| designates an character on the central
-% atom of the formula drawn by this macro. It can be used a plus
-% or minus charge on the center.
-%
-% \begin{verbatim}
-% AUXLIST =
-%
-% {0+}: + charge (or another one chararacter) on the center
-% \end{verbatim}
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 4
-%
-% nT : triple bond at n-atom
-% nD : double bond at n-atom
-% n or nS : single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-%
-% for 0 : cetral atom (e.g. 0==C)
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \square{0==C;1==Cl;2==F}
-% \square{0==C;1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylsquareposition},
-% \cs{if@ylsw}, \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\square}
-% \begin{macro}{\@square}
-% \begin{macrocode}
-\def\square{\@ifnextchar[{\@square[r}{\@square[r]}}
-\def\@square#1]#2{%
-\@reset@ylsw%
-\ylsquareposition{#2}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(600,600)(-300,-300)
- \iforigpt \put(-300,-300){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `square' origin: %
- (\the\noshift,\the\noshift) ---> (300,300)}\fi%
-\fi
-\@tfor\member:=#1\do{%
- \expandafter\twoch@@r\member{}{}%
- \if\@@tmpa 0\relax {\putratom{37}{0}{\scriptsize\@@tmpb}}\fi}%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa {\putlratom{-40}{-33}{\@memberb}}%central atom
-\or\put(0,0){\NEbond}%
-\or\put(0,0){\SEbond}%
-\or\put(0,0){\SWbond}%
-\or\put(0,0){\NWbond}%
-\fi%end of ifcase
-\fi\fi}%
-\end{picture}}%end of macro square
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The commands |\ylsquarepositiona| and |\ylsquarepositiona|
-% are used in |\square| to adjust a substitution position.
-% \changes{v1.02}{1998/10/20}{Newly added command: \cs{ylsquareposition}}
-%
-% \begin{macro}{\ylsquareposition}
-% \begin{macrocode}
-\def\ylsquareposition#1{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa
- \or \gdef\@ylii{-40}\gdef\@yli{-47}\global\@ylswtrue% NE subst. on 1
- \or \gdef\@ylii{-40}\gdef\@yli{47}\global\@ylswtrue% SE subst. on 1
- \or \gdef\@ylii{50}\gdef\@yli{47}\global\@ylswtrue% SW subst. on 1
- \or \gdef\@ylii{50}\gdef\@yli{-47}\global\@ylswtrue% NW subst. on 1
-\fi%end of ifcase
-\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Ball-stick models}
-% \subsection{Tetrahedral unit of stereo type}
-%
-% The macro |\tetrastereo| typesets a tetrahedral unit in a
-% ball-stick fashion.
-% The following numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% *****************************
-% * tetrahedral unit (stereo) *
-% *****************************
-%
-% The following numbering is adopted in this macro.
-%
-% 1
-%
-% |
-% 2 -- 0 -- 4 0 <== the original point
-% |
-%
-% 3
-% \end{verbatim}
-%
-% This macro has an argument |SUBSLIST| as well as an optional
-% argument |AUXLIST|.
-%
-% \begin{verbatim}
-% \tetrastereo[AUXLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The arugument |AUXLIST| designates an character on the central
-% atom of the formula drawn by this macro. It can be used a plus
-% or minus charge on the center.
-%
-% \begin{verbatim}
-% AUXLIST =
-%
-% {0+} : + charge (or another one chararacter) on the center
-% \end{verbatim}
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 4
-%
-% n : single bond at n-atom
-%
-% for 0 : cetral atom (e.g. 0==C)
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \tetrastereo{1==Cl;2==F}
-% \tetrastereo{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% \begin{macro}{\tetrastereo}
-% \begin{macro}{\@tetrastero}
-% \begin{macrocode}
-\def\tetrastereo{\@ifnextchar[{\@tetrastereo[r}{\@tetrastereo[r]}}
-\def\@tetrastereo#1]#2{%
-\begin{picture}(600,600)(-300,-300)
- \iforigpt \put(-300,-300){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `tetrastero' origin: %
- (\the\noshift,\the\noshift) ---> (300,300)}\fi%
-\put(0,0){\circle{200}}%
-\@tfor\member:=#1\do{%
- \expandafter\twoch@@r\member{}{}%
- \if\@@tmpa 0\relax \putratom{87}{90}{\scriptsize\@@tmpb}\fi}%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifcase\@tmpa \putlratom{-40}{-33}{\@memberb}%central atom
-\or%
- \put(0,100){\line(0,1){70}}% behind
- \putlratom{-30}{180}{\@memberb}% and up
-\or%
- {\thicklines%
- \put(-60,10){\line(-5,2){140}}% in front
- \putlatom{-205}{30}{\@memberb}}% and left
-\or%
- \put(0,-100){\line(0,-1){90}}% behind and
- \putlratom{-30}{-260}{\@memberb}% down
-\or%
- {\thicklines%
- \put(60,10){\line(5,2){140}}% in front
- \putratom{210}{30}{\@memberb}}% and right
-\fi\fi}%end of ifcase
-\end{picture}}%end of macro tetrastereo
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Tetrahedral unit of inverse stereo type}
-%
-% The macro |\dtetrastereo| typesets another tetrahedral unit in a
-% ball-stick fashion.
-% The following numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% *****************************
-% * tetrahedral unit (stereo) *
-% *****************************
-%
-% The following numbering is adopted in this macro.
-%
-% 1
-%
-% |
-% 2 -- 0 -- 4 0 <== the original point
-% |
-%
-% 3
-% \end{verbatim}
-%
-% This macro has an argument |SUBSLIST| as well as an optional
-% argument |AUXLIST|.
-%
-% \begin{verbatim}
-% \dtetrastereo[AUXLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The arugument |AUXLIST| designates an character on the central
-% atom of the formula drawn by this macro. It can be used a plus
-% or minus charge on the center.
-%
-% \begin{verbatim}
-% AUXLIST =
-%
-% {0+} : + charge (or another one chararacter) on the center
-% \end{verbatim}
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 4
-%
-% n : single bond at n-atom
-%
-% for 0 : cetral atom (e.g. 0==C)
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \dtetrastereo{1==Cl;2==F}
-% \dtetrastereo{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% \begin{macro}{\dtetrastereo}
-% \begin{macro}{\@dtetrastereo}
-% \begin{macrocode}
-\def\dtetrastereo{\@ifnextchar[{\@dtetrastereo[r}{\@dtetrastereo[r]}}
-\def\@dtetrastereo#1]#2{%
-\begin{picture}(600,600)(-300,-300)
- \iforigpt \put(-300,-300){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `dtetrastero' origin: %
- (\the\noshift,\the\noshift) ---> (300,300)}\fi%
-\put(0,0){\circle{200}}%
-\@tfor\member:=#1\do{%
- \expandafter\twoch@@r\member{}{}%
- \if\@@tmpa 0\relax \putratom{87}{90}{\scriptsize\@@tmpb}\fi}%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifcase\@tmpa \putlratom{-40}{-33}{\@memberb}%central atom
-\or%
- \put(0,100){\line(0,1){70}}% behind
- \putlratom{-30}{180}{\@memberb}% and up
-\or%
- \put(-94,-10){\line(-5,-2){108}}% in back
- \putlatom{-205}{-110}{\@memberb}% and left
-\or%
- {\thicklines%
- \put(0,-50){\line(0,-1){150}}% behind and
- \putlratom{-30}{-260}{\@memberb}}% down
-\or%
- \put(94,-10){\line(5,-2){108}}% in back
- \putratom{210}{-110}{\@memberb}% and right
-\fi\fi}%end of ifcase
-\end{picture}}%end of macro dtetrastereo
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Ethane unit of stereo type}
-%
-% The macro |\ethanestereo| typesets an ethane molecule in a
-% ball-stick fashion.
-% The following numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% **************************
-% * ethane unit (vertical) *
-% **************************
-%
-% 5
-% |
-% 6 -- (2) -- 4
-% |
-% |
-% 1 -- (1) -- 3 <== the original point
-% |
-% 2
-% \end{verbatim}
-%
-% This macro has an argument |SUBSLIST| as well as an optional
-% argument |AUXLIST|.
-%
-% \begin{verbatim}
-% \ethanestereo[AUXLIST]{ATOMLIST}{SUBSLIST}
-% \end{verbatim}
-%
-% \begin{verbatim}
-% AUXLIST: list of charges
-%
-% {n+} : + charge (or another one chararacter) on n-atom
-% \end{verbatim}
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 6
-%
-% n : single bond at n-atom
-%
-% \end{verbatim}
-%
-% \begin{verbatim}
-% ATOMLIST: list of central atoms
-%
-% n : atom for n-position (e.g. 1==C)
-%
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \ethanestereo{1==Cl;2==F}
-% \ethanestereo{1==C;2==C}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% \begin{macro}{\ethanestereo}
-% \begin{macro}{\@ethanestereo}
-% \begin{macrocode}
-\def\ethanestereo{\@ifnextchar[{\@ethanestereo}{\@ethanestereo[]}}
-\def\@ethanestereo[#1]#2#3{%
-\begin{picture}(600,800)(-300,-300)
- \iforigpt \put(-300,-300){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `ethanestereo' origin: %
- (\the\noshift,\the\noshift) ---> (300,300)}\fi%
-\put(0,0){\circle{200}}%
-\put(0,270){\circle{200}}%
-\put(0,100){\line(0,1){70}}% central bond
-\@tfor\member:=#1\do{%
- \expandafter\twoch@@r\member{}{}%
- \if\@@tmpa 1\relax \putratom{87}{90}{\scriptsize\@@tmpb}
- \else\if\@@tmpa 2\relax \putratom{87}{360}{\scriptsize\@@tmpb}
- \fi\fi}%
-\def\aaa{#2}%
-\ifx\aaa\empty\else%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifcase\@tmpa%
-\or\putratom{-40}{-33}{\@memberb}%central atom
-\or\putratom{-40}{237}{\@memberb}%central atom
-\fi\fi}%end of ifcase
-\fi%
-\@forsemicol\member:=#3\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifcase\@tmpa \putlratom{-40}{-33}{\@memberb}%central atom
-\or%
- \put(-94,-10){\line(-5,-2){108}}% in back
- \putlatom{-205}{-110}{\@memberb}% and left
-\or%
- {\thicklines%
- \put(0,-50){\line(0,-1){150}}% behind and
- \putlratom{-30}{-260}{\@memberb}}% down
-\or%
- \put(94,-10){\line(5,-2){108}}% in back
- \putratom{210}{-110}{\@memberb}% and right
-% %%%%%%%%
-\or%
- {\thicklines%
- \put(60,280){\line(5,2){140}}% in front
- \putratom{210}{300}{\@memberb}}% and right
-\or%
- \put(0,370){\line(0,1){70}}% behind
- \putlratom{-30}{450}{\@memberb}% and up
-\or%
- {\thicklines%
- \put(-60,280){\line(-5,2){140}}% in front
- \putlatom{-205}{300}{\@memberb}}% and left
-\fi\fi}%end of ifcase
-\end{picture}}%end of macro ethanestereo
-%</aliphat>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \Finale
-%
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/aliphat.ins b/Master/texmf-dist/source/latex/xymtex/aliphat.ins
deleted file mode 100644
index 3339089e203..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/aliphat.ins
+++ /dev/null
@@ -1,50 +0,0 @@
-\def\batchfile{aliphat.ins}
-\input docstrip.tex
-\preamble
-
-This is a generated file.
-
-Copyright 1996, 1998 by Shinsaku Fujita
-
-This file is part of the XyMTeX system.
-=======================================
-
-Version 1.01 Released on August 16, 1996
-Version 1.02 Released on October 31, 1996
-Version 2.00 Released on December 25, 1998
-
-Copyright (C) 1996, 1998 by Shinsaku Fujita, all rights reserved.
-This style file is created for drawing chemical structural formulas
-This style file is to be contained in the ``xymtex'' directory which
-is an input directory for TeX.
-
-Copying of this file is authorized only if either
-
- (1) you make absolutely no changes to your copy, including name and
- directory name
- (2) if you do make changes,
- (a) you name it something other than the names included in the
- ``xymtex'' directory and
- (b) you acknowledge the original name.
- This restriction ensures that all standard styles are identical.
-
-=======================================
-
-This file contains several codes modified from latex.tex (LaTeX2.09)
-and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-Copyright 1994 the LaTeX3 project and the individual authors (For further
-copyright information see the file legal.txt of the LaTeX2e standard
-distribution, and any other copyright indicated in this file.)
-
-\endpreamble
-
-\keepsilent
-
-\generateFile{aliphat.drv}{t}{%
- \from{aliphat.dtx}{driver}}
-
-\generateFile{aliphat.sty}{t}{%
- \from{aliphat.dtx}{aliphat}}
-
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/carom.drv b/Master/texmf-dist/source/latex/xymtex/carom.drv
deleted file mode 100644
index 447472204cd..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/carom.drv
+++ /dev/null
@@ -1,82 +0,0 @@
-%%
-%% This is file `carom.drv',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% carom.dtx (with options: `driver')
-%%
-%% This is a generated file.
-%%
-%% Copyright 1996, 1988, 2000 by Shinsaku Fujita
-%%
-%% This file is part of the XyMTeX system.
-%% =======================================
-%%
-%% Version 1.01 Released on August 16, 1996
-%% Version 1.02 Released on October 31, 1998
-%% Version 2.00 Released on December 25, 1998
-%% Version 2.00a Released on June 14, 2000
-%%
-%% Copyright (C) 1996,1998,2000 by Shinsaku Fujita, all rights reserved.
-%% This style file is created for drawing chemical structural formulas
-%% This style file is to be contained in the ``xymtex'' directory which
-%% is an input directory for TeX.
-%%
-%% Copying of this file is authorized only if either
-%%
-%% (1) you make absolutely no changes to your copy, including name and
-%% directory name
-%% (2) if you do make changes,
-%% (a) you name it something other than the names included in the
-%% ``xymtex'' directory and
-%% (b) you acknowledge the original name.
-%% This restriction ensures that all standard styles are identical.
-%%
-%% =======================================
-%%
-%% This file contains several codes modified from latex.tex (LaTeX2.09)
-%% and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-%% Copyright 1994 the LaTeX3 project and the individual authors (For further
-%% copyright information see the file legal.txt of the LaTeX2e standard
-%% distribution, and any other copyright indicated in this file.)
-%%
-%% File: carom.dtx
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{carom.dtx}[2000/06/14 v2.00a XyMTeX{} package file]
-\documentclass{ltxdoc}
-\GetFileInfo{carom.dtx}
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-\title{Drawing carbocyclic compounds by {\sffamily carom.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606-8585 Japan
-}
-\date{\filedate}
-\begin{document}
- \maketitle
- \DocInput{carom.dtx}
-\end{document}
-\endinput
-%%
-%% End of file `carom.drv'.
diff --git a/Master/texmf-dist/source/latex/xymtex/carom.dtx b/Master/texmf-dist/source/latex/xymtex/carom.dtx
deleted file mode 100644
index 096112e2511..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/carom.dtx
+++ /dev/null
@@ -1,4615 +0,0 @@
-% \iffalse meta-comment
-%% File: carom.dtx
-%
-% Copyright 1993,1996,1998,2000 by Shinsaku Fujita
-%
-% This file is part of XyMTeX system.
-% -------------------------------------
-%
-% This file is a successor to:
-%
-% carom.sty
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 1.00}
-% \typeout{ -- Released December 1, 1993 by Shinsaku Fujita}
-% Copyright (C) 1993 by Shinsaku Fujita, all rights reserved.
-%
-% This file is a part of the macro package ``XyMTeX'' which has been
-% designed for typesetting chemical structural formulas.
-%
-% This file is to be contained in the ``xymtex'' directory which is
-% an input directory for TeX. It is a LaTeX optional style file and
-% should be used only within LaTeX, because several macros of the file
-% are based on LaTeX commands.
-%
-% For the review of XyMTeX, see
-% (1) Shinsaku Fujita, ``Typesetting structural formulas with the text
-% formatter TeX/LaTeX'', Computers and Chemistry, in press.
-% The following book deals with an application of TeX/LaTeX to
-% preparation of manuscripts of chemical fields:
-% (2) Shinsaku Fujita, ``LaTeX for Chemists and Biochemists''
-% Tokyo Kagaku Dozin, Tokyo (1993) [in Japanese].
-%
-% Copying of this file is authorized only if either
-% (1) you make absolutely no changes to your copy, including name and
-% directory name; or
-% (2) if you do make changes,
-% (a) you name it something other than the names included in the
-% ``xymtex'' directory and
-% (b) you are requested to leave this notice intact.
-% This restriction ensures that all standard styles are identical.
-%
-% Please report any bugs, comments, suggestions, etc. to:
-% Shinsaku Fujita,
-% Department of Chemistry and Materials Technology,
-% Kyoto Institute of Technology,
-% Matsugasaki, Sakyoku, Kyoto, 606, Japan
-%
-% New address:
-% Shinsaku Fujita,
-% Department of Chemistry and Materials Technology,
-% Kyoto Institute of Technology, \\
-% Matsugasaki, Sakyoku, Kyoto, 606 Japan
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{carom}
-% \def\versi@ndate{August 16, 1996}
-% \def\versi@nno{ver1.01}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% Please report any bugs, comments, suggestions, etc. to:
-% Shinsaku Fujita,
-% Ashigara Research Laboratories, Fuji Photo Film Co., Ltd.,
-% Minami-Ashigara, Kanagawa-ken, 250-01, Japan.
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{carom}
-% \def\versi@ndate{December 01, 1993}
-% \def\versi@nno{ver1.00}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{carom}
-% \def\versi@ndate{August 16, 1996}
-% \def\versi@nno{ver1.01}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{carom}
-% \def\versi@ndate{October 31, 1998}
-% \def\versi@nno{ver1.02}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{carom}
-% \def\versi@ndate{December 25, 1998}
-% \def\versi@nno{ver2.00}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% \fi
-%
-% \CheckSum{3134}
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%
-% \setcounter{StandardModuleDepth}{1}
-%
-% \StopEventually{}
-% \MakeShortVerb{\|}
-%
-% \iffalse
-% \changes{v1.01}{1996/08/16}{first edition for LaTeX2e}
-% \changes{v1.02}{1998/10/31}{revised edition for LaTeX2e}
-% \changes{v2.00}{1998/12/25}{enhanced edition for LaTeX2e}
-% \changes{v2.00a}{2000/06/14}{bug fix}
-% \fi
-%
-% \iffalse
-%<*driver>
-\NeedsTeXFormat{pLaTeX2e}
-% \fi
-% \ProvidesFile{carom.dtx}[1998/12/25 v2.00 XyMTeX{} package file]
-\ProvidesFile{carom.dtx}[2000/06/14 v2.00a XyMTeX{} package file]
-% \iffalse
-\documentclass{ltxdoc}
-\GetFileInfo{carom.dtx}
-%
-% %%XyMTeX Logo: Definition 2%%%
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\title{Drawing carbocyclic compounds by {\sffamily carom.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606-8585 Japan
-% % (old address)
-% % Ashigara Research Laboratories,
-% % Fuji Photo Film Co., Ltd., \\
-% % Minami-Ashigara, Kanagawa, 250-01 Japan
-}
-\date{\filedate}
-%
-\begin{document}
- \maketitle
- \DocInput{carom.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \section{Introduction}\label{carom:intro}
-%
-% \subsection{Options for {\sffamily docstrip}}
-%
-% \DeleteShortVerb{\|}
-% \begin{center}
-% \begin{tabular}{|l|l|}
-% \hline
-% \emph{option} & \emph{function}\\ \hline
-% carom & carom.sty \\
-% driver & driver for this dtx file \\
-% \hline
-% \end{tabular}
-% \end{center}
-% \MakeShortVerb{\|}
-%
-% \subsection{Version Information}
-%
-% \begin{macrocode}
-%<*carom>
-\typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 2.00}
-\typeout{ -- Released December 25, 1998 by Shinsaku Fujita}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\j@urnalname{carom}
-\def\versi@ndate{June 14, 2000}
-\def\versi@nno{ver2.00a}
-\def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\typeout{XyMTeX Macro File `\j@urnalname' (\versi@nno) <\versi@ndate>%
-\space[\copyrighth@lder]}
-% \end{macrocode}
-%
-% \section{List of commands for carom.sty}
-%
-% \begin{verbatim}
-% *******************************
-% * carom.sty: list of commands *
-% *******************************
-%
-% <VERTICAL TYPE>
-%
-% \cyclohexanev \@cyclohexanev
-% \bzdrv \@bzdrv
-% \decalinev \@decalinev
-% \decalinevb \@decalinevb
-% \decalinevt \@decalinevt
-% \naphdrv \@naphdrv
-% \naphdrvb \@naphdrvb
-% \naphdrvt \@naphdrvt
-% \tetralinev \@tetralinev
-% \tetralinevb \@tetralinevb
-% \tetralinevt \@tetralinevt
-% \hanthracenev \@hanthracenev
-% \anthracenev \@anthracenev
-% \hphenanthrenev \@hphenanthrenev
-% \phenanthrenev \@phenanthrenev
-% \steroid \@steroid
-% \steroidchain \@steroidchain
-% \end{verbatim}
-%
-% \begin{verbatim}
-% <HORIZONTAL TYPE>
-%
-% \cyclohexaneh \@cyclohexaneh
-% \bzdrh \@bzdrh
-% \decalineh \@decalineh
-% \naphdrh \@naphdrh
-% \tetralineh \@tetralineh
-%
-% \end{verbatim}
-%
-% \section{Input of basic macros}
-%
-% To assure the compatibility to \LaTeX{}2.09 (the native mode),
-% the commands added by \LaTeXe{} have not been used in the resulting sty
-% files ({\sf carom.sty} for the present case). Hence, the combination
-% of |\input| and |\@ifundefined| is used to crossload sty
-% files ({\sf chemstr.sty} for the present case) in place of the
-% |\RequirePackage| command of \LaTeXe{}.
-% \begin{macrocode}
-% *************************
-% * input of basic macros *
-% *************************
-\@ifundefined{setsixringv}{\input chemstr.sty\relax}{}
-\@ifundefined{decaheterov}{\input hetarom.sty\relax}{}
-\@ifundefined{decaheteroh}{\input hetaromh.sty\relax}{}
-\unitlength=0.1pt
-% \end{macrocode}
-%
-% \section{Cyclohexane derivatives}
-% \subsection{Vertical cyclohexanes}
-%
-% The macro |\cyclohexanev| is used for drawing cyclohexane derivatives
-% of vertical type. The skeleton and endocyclic double bonds are
-% drawn directly, while substituents and exocyclic bonds are placed by
-% useing the inner macro |\setsixringv|.
-%
-% \begin{verbatim}
-% ***************************
-% * cyclohexane derivatives *
-% * (vertical type) *
-% ***************************
-% The following numbering is adopted in this macro.
-%
-% 1
-% *
-% 6 * * 2
-% | |
-% | |
-% 5 * * 3
-% *
-% 4 <===== the original point
-%
-% \end{verbatim}
-%
-% The macro |\cyclohexanev| has an argument |SUBSLIST| as well as an optional
-% argument |BONDLIST|.
-% \begin{verbatim}
-% \cyclohexanev[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected form a to f as well as A, each of which indicates
-% the presence of an inner (endcyclic) double bond on the corresponding
-% position.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : cyclohexane
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% f : 6,1-double bond
-% A : aromatic circle
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specifed) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \cyclohexanev{1==Cl;2==F}
-% \cyclohexanev[c]{1==Cl;4==F;2==CH$_{3}$}
-% \cyclohexanev[eb]{1D==O;4SA==MeO;4SB==OMe;5W==Cl;6==Cl}
-% \end{verbatim}
-%
-% \begin{macro}{\cyclohexanev}
-% \begin{macrocode}
-\def\cyclohexanev{\@ifnextchar[{\@cyclohexanev[@}{\@cyclohexanev[@]}}
-\def\@cyclohexanev[#1]#2{\sixheterov[#1]{}{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-% The following definition has been deleted.
-%
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/11/23}{Adding \cs{set@fusionadd@sixv}}
-%
-% \begin{verbatim}
-% (Old defition)
-% % \begin{macro}{\cyclohexanev}
-% % \begin{macrocode}
-% \def\cyclohexanev{\@ifnextchar[{\@cyclohexanev[@}{\@cyclohexanev[@]}}
-% \def\@cyclohexanev[#1]#2{%
-% \iniatom\iniflag%initialize
-% \@reset@ylsw%
-% \ylposition{#2}{0}{0}{7}{0}%
-% \if@ylsw
-% \yl@shiftii=\@ylii
-% \yl@shifti=\@yli
-% \advance\yl@shiftii\yl@xdiff
-% \advance\yl@shifti\yl@ydiff
-% \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
-% \reset@yl@xydiff%1999/1/6 by S. Fujita
-% \else
-% \begin{picture}(800,880)(-\shiftii,-\shifti)
-% \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
-% \put(-\noshift,-\noshift){\circle{50}}%
-% \typeout{command `cyclohexanev' origin: %
-% (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-% \fi
-% \put(0,406){\line(-5,-3){171}}% %bond 1-6 8-7
-% \put(0,406){\line(5,-3){171}}% %bond 1-2 8-8a
-% \put(0,0){\line(-5,3){171}}% %bond 4-5 5-6
-% \put(0,0){\line(5,3){171}}% %bond 4-3 5-4a
-% \put(171,103){\line(0,1){200}}% %bond 3-2 4a-8a
-% \put(-171,103){\line(0,1){200}}% %bond 5-6 6-7
-% \@tfor\member:=#1\do{%
-% \if\member r%no endocyclic double bonds
-% \else\if\member a%
-% \put(6,364){\line(5,-3){126}}% %double bond 1-2 8-8a
-% \else\if\member b%
-% \put(138,129){\line(0,1){148}}% %double bond 3-2 4a-8a
-% \else\if\member c%
-% \put(6,42){\line(5,3){126}}% %double bond 4-3 5-4a
-% \else\if\member d%
-% \put(-6,42){\line(-5,3){126}}% %double bond 4-5 5-6
-% \else\if\member e%
-% \put(-138,129){\line(0,1){148}}% %double bond 5-6 6-7
-% \else\if\member f%
-% \put(-6,364){\line(-5,-3){126}}% %double bond 1-6 8-7
-% \else\if\member A%left aromatic circle
-% \put(0,203){\circle{240}} %circle
-% \else \expandafter\twoCH@@R\member//%
-% \set@fusionadd@sixv
-% \fi\fi\fi\fi\fi\fi\fi\fi}%
-% % %%%%%%%%%%%%%%%%%%%%%%%%
-% % % setting substituents %
-% % %%%%%%%%%%%%%%%%%%%%%%%%
-% \setsixringv{#2}{0}{0}{7}{0}%
-% \end{picture}}%end of \cyclohexanev macro
-% % \end{macrocode}
-% % \end{macro}
-% \end{verbatim}
-%
-% \subsection{Horizontal cyclohexanes}
-%
-% The macro |cyclohexaneh| is used for drawing cyclohexane derivatives
-% of vertical type. The skeleton and endocyclic double bonds are
-% drawn directly, while substituents and exocyclic bonds are placed by
-% useing the inner macro |\setsixringh|.
-%
-% \begin{verbatim}
-% ***************************
-% * cyclohexane derivatives *
-% * (horizontal type) *
-% ***************************
-% The following numbering is adopted in this macro.
-%
-% 2 3
-% -----
-% * *
-% the original point ===> 1 * * 4
-% (0,0) * *
-% -----
-% 6 5
-% \end{verbatim}
-%
-% The macro |\cyclohexaneh| has an argument |SUBSLIST| as well as an optional
-% argument |BONDLIST|.
-%
-% \begin{verbatim}
-% \cyclohexaneh[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected form a to f as well as A, each of which indicates
-% the presence of an inner (endcyclic) double bond on the corresponding
-% position.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : cyclohexane
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% f : 6,1-double bond
-% A : aromatic circle
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specifed) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \cyclohexaneh{1==Cl;2==F}
-% \cyclohexaneh[c]{1==Cl;4==F;2==CH$_{3}$}
-% \cyclohexaneh[eb]{1D==O;4SA==MeO;4SB==OMe;5W==Cl;6==Cl}
-% \end{verbatim}
-%
-% \changes{v2.00a}{2000/06/14}{bug fix: changed letter [r] to [@]
-% in \cs{cycohexaneh} for horizontal cyclohexanes}
-%
-% \begin{macro}{\cyclohexaneh}
-% \begin{macrocode}
-\def\cyclohexaneh{\@ifnextchar[{\@cyclohexaneh[@}{\@cyclohexaneh[@]}}
-\def\@cyclohexaneh[#1]#2{\sixheteroh[#1]{}{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-% The following definition has been deleted.
-%
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylpositionh}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/11/29}{Adding \cs{set@fusionadd@sixv} for
-% fused rings}
-%
-% \begin{verbatim}
-% (Old defition)
-% % \begin{macro}{\cyclohexaneh}
-% % \begin{macrocode}
-% \def\cyclohexaneh{\@ifnextchar[{\@cyclohexaneh[@}{\@cyclohexaneh[r]}}
-% \def\@cyclohexaneh[#1]#2{%
-% \iniatom\iniflag%initialize
-% \@reset@ylsw%
-% \ylpositionh{#2}{0}{0}{7}{0}%
-% \if@ylsw
-% \yl@shiftii=\@ylii
-% \yl@shifti=\@yli
-% \advance\yl@shiftii\yl@xdiff
-% \advance\yl@shifti\yl@ydiff
-% \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
-% \reset@yl@xydiff%1999/1/6 by S. Fujita
-% \else
-% \begin{picture}(880,800)(-\shifti,-\shiftii)
-% \iforigpt \put(-\shifti,-\shiftii){\circle*{50}}%
-% \put(-\noshift,-\noshift){\circle{50}}%
-% \typeout{command `cyclohexaneh' origin: %
-% (\the\noshift,\the\noshift) ---> (\the\shifti,\the\shiftii)}\fi%
-% \fi
-% \put(0,0){\line(3,5){103}}% %bond 1-2
-% \put(0,0){\line(3,-5){103}}% %bond 1-6
-% \put(406,0){\line(-3,5){103}}% %bond 4-3
-% \put(406,0){\line(-3,-5){103}}% %bond 4-3
-% \put(103,171){\line(1,0){200}}% %bond 2-3
-% \put(103,-171){\line(1,0){200}}% %bond 6-5
-% \@tfor\member:=#1\do{%
-% \if\member r%no endcyclic double bonds
-% \else\if\member a%
-% \put(42,6){\line(3,5){78}}% %double bond 1-2
-% \else\if\member b%
-% \put(129,138){\line(1,0){148}}% %double bond 2-3
-% \else\if\member c%
-% \put(364,6){\line(-3,5){78}}% %double bond 4-3
-% \else\if\member d%
-% \put(364,-6){\line(-3,-5){78}}% %double bond 4-5
-% \else\if\member e%
-% \put(129,-138){\line(1,0){148}}% %double bond 6-5
-% \else\if\member f%
-% \put(42,-6){\line(3,-5){78}}% %double bond 1-6
-% \else\if\member A%left aromatic circle
-% \put(203,0){\circle{240}}% %circle
-% \else
-% \expandafter\twoCH@@R\member//%
-% \set@fusionadd@sixh
-% \fi\fi\fi\fi\fi\fi\fi\fi}%
-% %%
-% \setsixringh{#2}{0}{0}{7}{0}%
-% \end{picture}}% %end of \cyclohexaneh macro
-% % \end{macrocode}
-% % \end{macro}
-% \end{verbatim}
-%
-% \section{Benzene and benzoquinone derivatives}
-% \subsection{Vertical type}
-%
-% The macro |\bzdrv| is used for drawing benzene derivatives
-% of vertical type as well as benzoquinone derivatives of
-% vertical type. The skeleton and endocyclic double bonds are
-% drawn directly, while substituents and exocyclic bonds are placed by
-% useing the inner macro |\cyclohexanev| defined above.
-%
-% The macro |\bzdrv| has an argument |SUBSLIST| as well as an optional
-% argument |OPT|. The latter designates a bond pattern in place of
-% individual exocyclic bonds.
-%
-% \begin{verbatim}
-% ****************************************
-% * benzene and benzoquinone derivatives *
-% * (vertical type) *
-% ****************************************
-%
-% \bzdrv[OPT]{SUBSLIST}
-% \end{verbatim}
-%
-% The |OPT| argument contains one character (r, l or c) for designate
-% aromatic bond patterns or two characters (p? or o?) for quinone
-% bond patterns.
-%
-% \begin{verbatim}
-%
-% OPT: (bond pattern)
-%
-% none or r : right-handed set of double bonds
-% l : left-handed set of double bonds
-% c : aromatic circle
-%
-% p or pa : p-quinone (A)
-% pb : p-quinone (B)
-% pc : p-quinone (C)
-%
-% o or oa : o-quinone (A)
-% ob : o-quinone (B)
-% oc : o-quinone (C)
-% od : o-quinone (D)
-% oe : o-quinone (E)
-% of : o-quinone (F)
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-% \bzdrv{1==Cl;2==F}
-% \bzdrv[c]{1==Cl;4==F;2==CH$_{3}$}
-% \bzdrv[pa]{1D==O;4D==O;2==CH$_{3}$}
-% \end{verbatim}
-%
-% \begin{macro}{\bzdrv}
-% \begin{macrocode}
-\def\bzdrv{\@ifnextchar[{\@bzdrv}{\@bzdrv[r]}}
-\def\@bzdrv[#1]#2{%
-\iforigpt \typeout{command `bzdrv' is based on `cyclohexanev'.}\fi%
-%\expandafter\twoch@r#1{}%
-\expandafter\twoCH@R#1//%
-\if\@tmpa r% right-handed set of double bonds
- \ifx\@tmpb\empty
- \cyclohexanev[bdf]{#2}%
- \fi
-\else\if\@tmpa l%left-handed set of double bonds
- \ifx\@tmpb\empty
- \cyclohexanev[ace]{#2}%
- \fi
-\else\if\@tmpa c%aromatic circle
- \ifx\@tmpb\empty
- \cyclohexanev[A]{#2}%
- \fi
-\else\if\@tmpa p%p-quinone
- \if\@tmpb a% (A)
- \cyclohexanev[be]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \cyclohexanev[be]{#2}%
- \else\if\@tmpb b% (B)
- \cyclohexanev[cf]{#2}%
- \else\if\@tmpb c% (C)
- \cyclohexanev[ad]{#2}%
- \fi\fi\fi\fi%
-\else\if\@tmpa o%o-quinone
- \if\@tmpb a% (A)%
- \cyclohexanev[ce]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \cyclohexanev[ce]{#2}%
- \else\if\@tmpb b%o-quinone (B)
- \cyclohexanev[df]{#2}%
- \else\if\@tmpb c%o-quinone (C)
- \cyclohexanev[ae]{#2}%
- \else\if\@tmpb d%o-quinone (D)
- \cyclohexanev[bf]{#2}%
- \else\if\@tmpb e%o-quinone (E)
- \cyclohexanev[ac]{#2}%
- \else\if\@tmpb f%o-quinone (F)
- \cyclohexanev[bd]{#2}%
- \fi\fi\fi\fi\fi\fi\fi%
-\else% added 1998/11/15 by S. Fujita
- \cyclohexanev[@#1]{#2}%
-\fi\fi\fi\fi\fi%
-}% %end of \bzdrv macro
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Horizontal type}
-%
-% The macro |\bzdrh| is used for drawing benzene derivatives
-% of vertical type as well as benzoquinone derivatives of
-% vertical type. The skeleton and endocyclic double bonds are
-% drawn directly, while substituents and exocyclic bonds are placed by
-% useing the inner macro |\cyclohexanev| defined above.
-%
-% The macro |\bzdrh| has an argument |SUBSLIST| as well as an optional
-% argument |OPT|. The latter designates a bond pattern in place of
-% individual exocyclic bonds.
-%
-% \begin{verbatim}
-% ****************************************
-% * benzene and benzoquinone derivatives *
-% * (horizontal type) *
-% ****************************************
-%
-% \bzdrh[OPT]{SUBSLIST}
-% \end{verbatim}
-%
-% The |OPT| argument contains one character (r, l or c) for designate
-% aromatic bond patterns or two characters (p? or o?) for quinone
-% bond patterns.
-%
-% \begin{verbatim}
-%
-% OPT: (bond pattern)
-%
-% none or r : right-handed set of double bonds
-% l : left-handed set of double bonds
-% c : aromatic circle
-%
-% p or pa : p-quinone (A)
-% pb : p-quinone (B)
-% pc : p-quinone (C)
-%
-% o or oa : o-quinone (A)
-% ob : o-quinone (B)
-% oc : o-quinone (C)
-% od : o-quinone (D)
-% oe : o-quinone (E)
-% of : o-quinone (F)
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% \begin{verbatim}
-%
-% e.g.
-% \bzdrh{1==Cl;2==F}
-% \bzdrh[c]{1==Cl;4==F;2==CH$_{3}$}
-% \bzdrh[pa]{1D==O;4D==O;2==CH$_{3}$}
-%
-% \end{verbatim}
-%
-% \begin{macro}{\bzdrh}
-% \begin{macrocode}
-\def\bzdrh{\@ifnextchar[{\@bzdrh}{\@bzdrh[r]}}
-\def\@bzdrh[#1]#2{%
-\iforigpt \typeout{command `bzdrh' is based on `cyclohexaneh'.}\fi%
-%\expandafter\twoch@r#1{}%
-\expandafter\twoCH@R#1//%
-%\begin{picture}(800,880)(-\noshift,-\noshift)
-\if\@tmpa r% right-handed set of double bonds
- \cyclohexaneh[bdf]{#2}%
-\else\if\@tmpa l%left-handed set of double bonds
- \cyclohexaneh[ace]{#2}%
-\else\if\@tmpa c%aromatic circle
- \cyclohexaneh[A]{#2}%
-\else\if\@tmpa p%p-quinone
- \if\@tmpb a% (A)
- \cyclohexaneh[be]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \cyclohexaneh[be]{#2}%
- \else\if\@tmpb b% (B)
- \cyclohexaneh[cf]{#2}%
- \else\if\@tmpb c% (C)
- \cyclohexaneh[ad]{#2}%
- \fi\fi\fi\fi%
-\else\if\@tmpa o%o-quinone
- \if\@tmpb a% (A)%
- \cyclohexaneh[ce]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \cyclohexaneh[ce]{#2}%
- \else\if\@tmpb b%o-quinone (B)
- \cyclohexaneh[df]{#2}%
- \else\if\@tmpb c%o-quinone (C)
- \cyclohexaneh[ae]{#2}%
- \else\if\@tmpb d%o-quinone (D)
- \cyclohexaneh[bf]{#2}%
- \else\if\@tmpb e%o-quinone (E)
- \cyclohexaneh[ac]{#2}%
- \else\if\@tmpb f%o-quinone (F)
- \cyclohexaneh[bd]{#2}%
- \fi\fi\fi\fi\fi\fi\fi%
-\else% added 1998/11/15 by S. Fujita
- \cyclohexaneh[@#1]{#2}%
-\fi\fi\fi\fi\fi%
-%\end{picture}
-}% %end of \bzdrh macro
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Decaline derivatives}
-% \subsection{Vertical type}
-%
-% The macro |\decalinev| is used for drawing decaline derivatives
-% of vertical type. The skeleton and endocyclic double bonds are
-% drawn directly, while substituents and exocyclic bonds are placed by
-% useing the inner macro |\setdecaringv|.
-%
-% \begin{verbatim}
-% ************************
-% * decaline derivatives *
-% * (vertical type) *
-% ************************
-% The following numbering is adopted in this macro.
-%
-% 8 (0G)1
-% * 8a *
-% 7 * * * * 2
-% | | |
-% | | |
-% 6 * * * * 3
-% * 4a *
-% 5 (0F)4
-% ^
-% |
-% the original point
-% \end{verbatim}
-%
-% The macro |\decalinev| has an argument |SUBSLIST| as well as an optional
-% argument |BONDLIST|.
-%
-% \begin{verbatim}
-% \decalinev[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected form a to k, each of which indicates
-% the presence of an inner (endcyclic) double bond on the corresponding
-% position. The character A or B indicates aromatic bond patterns (circles).
-% \changes{v1.02}{1998/10/14}{BONDLIST: k and K at the fused bond}
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : decaline
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 3,4-double bond
-% d : 4,4a-double bond
-% e : 5,4a-double bond
-% f : 5,6-double bond
-% g : 6,7-double bond
-% h : 8,7-double bond
-% i : 8,8a-double bond
-% j : 1,8a-double bond
-% k : 4a,8a-double bond
-% K : 4a,8a-double bond in the other ring
-% A : left aromatic circle
-% B : right aromatic circle
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for 0 (fused positions)
-%
-% 0FA : alpha single bond at 8a
-% 0FB : beta single bond at 8a
-% 0FU : unspecified single bond at 8a
-% 0GA : alpha single bond at 4a
-% 0GB : beta single bond at 4a
-% 0GU : unspecified single bond at 4a
-% \end{verbatim}
-%
-% \begin{verbatim}
-%
-% e.g.
-%
-% \decalinev{1==Cl;2==F;0FA==;0GA==}
-% \decalinev[c]{1==Cl;4==F;2==CH$_{3}$}
-% \decalinev[eb]{1D==O;4SA==MeO;4SB==OMe;5W==Cl;6==Cl;7==Cl;8==Cl}
-%
-% \end{verbatim}
-%
-% The macro |\decalinev| has been changed into a subsidiary macro
-% of |\decaheterov| (version 2.00).
-%
-% \begin{macro}{\decalinev}
-% \begin{macrocode}
-\def\decalinev{\@ifnextchar[{\@decalinev[@}{\@decalinev[@]}}
-\def\@decalinev[#1]#2{%
-\iforigpt \typeout{command `decalinev' is based on `decaheterov'.}\fi%
-\decaheterov[#1]{}{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-% The following definition has been stopped using.
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw}
-% \cs{ylfusedposition},
-% \cs{yl@shiftii}, \cs{@ylii}, \cs{@@ylii}, \cs{yl@shifti}, \cs{@yli},
-% \cs{@yli}, \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/5}{Add: fused rings}
-%
-% \begin{verbatim}
-% (Old definition)
-% % \begin{macro}{\decalinev}
-% % \begin{macrocode}
-% \def\decalinev{\@ifnextchar[{\@decalinev[@}{\@decalinev[r]}}
-% \def\@decalinev[#1]#2{%
-% \iniflag\iniatom
-% \@reset@ylsw\reset@@yl
-% \ylposition{#2}{-7}{0}{2}{0}% for 8
-% \if@ylsw \ifx\@@ylii\empty
-% \def\@@ylii{0}\def\@@yli{0}\fi
-% \else\ylposition{#2}{-1}{3}{7}{0}% for 5 to 7
-% \fi
-% \if@ylsw\ifx\@@ylii\empty
-% \def\@@ylii{0}\def\@@yli{0}\fi\else
-% \ylposition{#2}{0}{0}{5}{0}% for 1 to 4
-% \fi
-% \if@ylsw\ifx\@@ylii\empty
-% \def\@@ylii{-342}\def\@@yli{0}\fi\else
-% \ylfusedposition{#2}{0}{-1}{1}{0}% for 4a and 8a
-% \fi
-% \if@ylsw\ifx\@@ylii\empty
-% \def\@@ylii{0}\def\@@yli{0}\fi\fi
-% \if@ylsw
-% \yl@shiftii=\@ylii
-% \ifx\@@ylii\empty\else
-% \advance\yl@shiftii\@@ylii\fi
-% \yl@shifti=\@yli
-% \ifx\@@yli\empty\else
-% \advance\yl@shifti\@@yli\fi
-% \advance\yl@shiftii\yl@xdiff
-% \advance\yl@shifti\yl@ydiff
-% \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
-% \reset@yl@xydiff%1999/1/6 by S. Fujita
-% \else
-% \begin{picture}(1200,880)(-\shiftii,-\shifti)
-% \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
-% \put(-\noshift,-\noshift){\circle{50}}%
-% \typeout{command `decalinev' origin: %
-% (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-% \fi
-% \put(0,406){\line(-5,-3){171}}% %bond 8-7 1-6
-% \put(0,406){\line(5,-3){171}}% %bond 8-8a 1-2
-% \put(0,0){\line(-5,3){171}}% %bond 5-6 4-5
-% \put(0,0){\line(5,3){171}}% %bond 5-4a 4-3
-% \put(171,103){\line(0,1){200}}% %bond 4a-8a 3-2
-% \put(-171,103){\line(0,1){200}}% %bond 5-7 5-6
-% \put(342,406){\line(-5,-3){171}}% %bond 1-8a 1-6
-% \put(342,406){\line(5,-3){171}}% %bond 1-2 1-2
-% \put(342,0){\line(-5,3){171}}% %bond 4-4a 4-5
-% \put(342,0){\line(5,3){171}}% %bond 4-3 4-3
-% \put(513,103){\line(0,1){200}}% %bond 3-2 3-2
-% \@tfor\member:=#1\do{%
-% \if\member r%no endcyclic double bonds
-% \else\if\member a%
-% \put(348,364){\line(5,-3){126}}% %double bond 1-2
-% \else\if\member b%
-% \put(482,129){\line(0,1){148}}% %double bond 3-2
-% \else\if\member c%
-% \put(348,42){\line(5,3){126}}% %double bond 4-3
-% \else\if\member d%
-% \put(348,42){\line(-5,3){126}}% %double bond 4-4a
-% \else\if\member e%
-% \put(6,42){\line(5,3){126}}% %double bond 5-4a
-% \else\if\member f%
-% \put(-6,42){\line(-5,3){126}}% %double bond 5-6
-% \else\if\member g%
-% \put(-138,129){\line(0,1){148}}% %double bond 6-7
-% \else\if\member h%
-% \put(-6,364){\line(-5,-3){126}}% %double bond 8-7
-% \else\if\member i%
-% \put(6,364){\line(5,-3){126}}% %double bond 8-8a
-% \else\if\member j%
-% \put(348,364){\line(-5,-3){126}}% %double bond 1-8a
-% \else\if\member k%
-% \put(138,129){\line(0,1){148}}% %double bond 4a-8a
-% \else\if\member K%
-% \put(204,129){\line(0,1){148}}% %double bond 4a-8a in the other ring
-% \else\if\member A%left aromatic circle
-% \put(0,203){\circle{240}}% %circle
-% \else\if\member B%right aromatic circle
-% \put(342,203){\circle{240}}% %circle
-% \else
-% % ***********************
-% % * setting fused rings *
-% % ***********************
-% \expandafter\twoCH@R\member//%
-% \set@fusion@decav
-% \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
-% % \end{macrocode}
-% %
-% % The command |\setdecaringv{#2}{0}{-1}{9}{0}|
-% % has been stopped to use and replaced
-% % by the following set of commands.
-% %
-% % \begin{macrocode}
-% \put(0,0){\setsixringv{#2}{-7}{0}{2}{0}}% for 8
-% \put(0,0){\setsixringv{#2}{-1}{3}{7}{0}}% for 5 to 7
-% \put(0,0){\setsixringv{#2}{-1}{3}{7}{0}}% for 5 to 7
-% \put(342,0){\setsixringv{#2}{0}{0}{5}{0}}% for 1 to 4
-% \put(0,0){\setfusedbond{#2}{0}{-1}{1}{0}}% for 4a and 8a
-% \end{picture}}% %end of \decalinev macro
-% % \end{macrocode}
-% % \end{macro}
-% \end{verbatim}
-%
-% \subsection{Vertical-bottom type}
-%
-% The macro |\decalinevb| is used for drawing decaline derivatives
-% of vertical-bottom type (numbering from the bottom to the left-upper part).
-% The word ``vertical'' means that each benzene ring is a vertical type.
-% The word ``bottom'' means that the benzene ring with young locant numbers
-% is located at the bottom.
-% The skeleton and endocyclic double bonds are drawn directly,
-% while substituents and exocyclic bonds are placed by useing
-% the inner macro |\setsixringv|.
-% \changes{v1.02}{1998/10/13}{Newly added command}
-%
-% \begin{verbatim}
-% ***************************
-% * decaline derivatives *
-% * (vertical bottom type) *
-% ***************************
-% The following numbering is adopted in this macro.
-%
-% 7
-% *
-% 6 * * 8
-% | |
-% | | 0G (4a)
-% 5 * * *
-% 0F(4a) * * 1
-% | |
-% | |
-% 4 * * 2
-% *
-% 3
-% ^
-% |
-% the original point
-% \end{verbatim}
-%
-% The macro |\decalinevb| has an argument |SUBSLIST| as well as an optional
-% argument |BONDLIST|.
-%
-% \begin{verbatim}
-% \decalinevb[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected form a to k, each of which indicates
-% the presence of an inner (endcyclic) double bond on the corresponding
-% position. The character A or B indicates aromatic bond patterns (circles).
-% \changes{v1.02}{1998/10/14}{BONDLIST: k and K at the fused bond}
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : decaline
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 3,4-double bond
-% d : 4,4a-double bond
-% e : 5,4a-double bond
-% f : 5,6-double bond
-% g : 6,7-double bond
-% h : 8,7-double bond
-% i : 8,8a-double bond
-% j : 1,8a-double bond
-% k : 4a,8a-double bond
-% K : 4a,8a-double bond in the other ring
-% A : left aromatic circle
-% B : right aromatic circle
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for 0 (fused positions)
-%
-% 0FA : alpha single bond at 8a
-% 0FB : beta single bond at 8a
-% 0FU : unspecified single bond at 8a
-% 0GA : alpha single bond at 4a
-% 0GB : beta single bond at 4a
-% 0GU : unspecified single bond at 4a
-% \end{verbatim}
-%
-% \begin{verbatim}
-%
-% e.g.
-%
-% \decalinevb{1==Cl;2==F;0FA==;0GA==}
-% \decalinevb[c]{1==Cl;4==F;2==CH$_{3}$}
-% \decalinevb[eb]{1D==O;4SA==MeO;4SB==OMe;5W==Cl;6==Cl;7==Cl;8==Cl}
-%
-% \end{verbatim}
-%
-% The macro |\decalinevb| has been changed into a subsidiary macro
-% of |\decaheterovb| (version 2.00).
-%
-% \begin{macro}{\decalinevb}
-% \begin{macrocode}
-\def\decalinevb{\@ifnextchar[{\@decalinevb[@}{\@decalinevb[@]}}
-\def\@decalinevb[#1]#2{%
-\iforigpt \typeout{command `decalinevb' is based on `decaheterovb'.}\fi%
-\decaheterovb[#1]{}{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-% The following old definition has been stopped using.
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw}
-% \cs{ylfusedposition},
-% \cs{yl@shiftii}, \cs{@ylii}, \cs{@@ylii}, \cs{yl@shifti}, \cs{@yli},
-% \cs{@yli}, \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/25}{Add: Fused rings}
-%
-% \begin{verbatim}
-% (Old definition)
-% % \begin{macro}{\decalinevb}
-% % \begin{macrocode}
-% \def\decalinevb{\@ifnextchar[{\@decalinevb[@}{\@decalinevb[r]}}
-% \def\@decalinevb[#1]#2{%
-% \iniflag\iniatom
-% \@reset@ylsw\reset@@yl
-% \ylposition{#2}{1}{1}{6}{0}% for 1 to 4
-% \if@ylsw \ifx\@@ylii\empty
-% \def\@@ylii{0}\def\@@yli{0}\fi
-% \else\ylposition{#2}{0}{4}{7}{0}% for 5 to 6
-% \fi
-% \if@ylsw\ifx\@@ylii\empty
-% \def\@@ylii{171}\def\@@yli{-303}\fi\else
-% \ylposition{#2}{-6}{0}{3}{0}% for 7 to 8
-% \fi
-% \if@ylsw\ifx\@@ylii\empty
-% \def\@@ylii{171}\def\@@yli{-303}\fi\else
-% \ylfusedposition{#2}{2}{1}{3}{-1}% for 4a and 8a
-% \fi
-% \if@ylsw\ifx\@@ylii\empty
-% \def\@@ylii{0}\def\@@yli{0}\fi\fi
-% \if@ylsw
-% \yl@shiftii=\@ylii
-% \ifx\@@ylii\empty\else
-% \advance\yl@shiftii\@@ylii\fi
-% \yl@shifti=\@yli
-% \ifx\@@yli\empty\else
-% \advance\yl@shifti\@@yli\fi
-% \advance\yl@shiftii\yl@xdiff
-% \advance\yl@shifti\yl@ydiff
-% \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
-% \reset@yl@xydiff%1999/1/6 by S. Fujita
-% \else
-% \begin{picture}(1000,1200)(-550,-240)
-% \iforigpt \put(-550,-240){\circle*{50}}%
-% \put(0,0){\circle{50}}%
-% \typeout{command `decalinevb' origin: %
-% (0,0) ---> (550,240)}\fi%
-% \fi
-% \put(0,0){\line(5,3){171}}% %bond 2-3
-% \put(0,0){\line(-5,3){171}}% %bond 4-3
-% \put(171,103){\line(0,1){200}}% %bond 2-1
-% \put(-171,103){\line(0,1){200}}% %bond 4-4a
-% \put(0,406){\line(-5,-3){171}}% %bond 8a-1
-% \put(0,406){\line(5,-3){171}}% %bond 8a-4a
-% \put(0,406){\line(0,1){200}}% %bond 8a-8
-% \put(-342,406){\line(0,1){200}}% %bond 5-6 3-2
-% \put(-171,303){\line(-5,3){171}}% %bond 4a-5
-% \put(-171,709){\line(-5,-3){171}}% %bond 7-6
-% \put(-171,709){\line(5,-3){171}}% %bond 7-8
-% \@tfor\member:=#1\do{%
-% \if\member r%no endcyclic double bonds
-% \else\if\member a%
-% \put(140,129){\line(0,1){148}}% %double bond 1-2
-% \else\if\member b%
-% \put(6,42){\line(5,3){126}}% %double bond 2-3
-% \else\if\member c%
-% \put(-6,42){\line(-5,3){126}}% %double bond 3-4
-% \else\if\member d%
-% \put(-140,129){\line(0,1){148}}% %double bond 4-4a
-% \else\if\member e%
-% \put(-177,345){\line(-5,3){126}}% %double bond 4a-5
-% \else\if\member f%
-% \put(-311,432){\line(0,1){148}}% %double bond 5-6
-% \else\if\member g%
-% \put(-177,667){\line(-5,-3){126}}% %double bond 7-6
-% \else\if\member h%
-% \put(-165,667){\line(5,-3){126}}% %double bond 7-8
-% \else\if\member i%
-% \put(-31,432){\line(0,1){148}}% %double bond 8a-8
-% \else\if\member j%
-% \put(6,364){\line(5,-3){126}}% %double bond 8a-1
-% \else\if\member k%
-% \put(-6,364){\line(-5,-3){126}}% %double bond 8a-4a
-% \else\if\member K%
-% \put(-165,345){\line(5,3){126}}% %double bond 8a-4a on the other ring
-% \else\if\member A%left aromatic circle
-% \put(-171,506){\circle{240}}% %circle
-% \else\if\member B%right aromatic circle
-% \put(0,203){\circle{240}}% %circle
-% \else
-% % ***********************
-% % * setting fused rings *
-% % ***********************
-% \expandafter\twoCH@R\member//%
-% \set@fusion@decavb
-% \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
-% % ************************
-% % * setting substituents *
-% % ************************
-% \put(0,0){\setsixringv{#2}{1}{1}{6}{0}}% for 1 to 4
-% \put(-171,303){\setsixringv{#2}{0}{4}{7}{0}}% for 5 to 6
-% \put(-171,303){\setsixringv{#2}{-6}{0}{3}{0}}% for 7 to 8
-% \put(0,0){\setfusedbond{#2}{2}{1}{3}{-1}}% for 4a and 8a
-% \end{picture}}% %end of \decalinevb macro
-% % \end{macrocode}
-% % \end{macro}
-% \end{verbatim}
-%
-% \subsection{Vertical-top type}
-%
-% The macro |\decalinevt| is used for drawing decaline derivatives
-% of vertical-bottom type (numbering from the top to the left-down part).
-% The word ``vertical'' means that each benzene ring is a vertical type.
-% The word ``top'' means that the benzene ring with young locant numbers
-% is located at the top.
-% The skeleton and endocyclic double bonds are drawn directly,
-% while substituents and exocyclic bonds are placed by useing
-% the inner macro |\setsixringv|.
-% \changes{v1.02}{1998/10/13}{Newly added command}
-%
-% \begin{verbatim}
-% ************************
-% * decaline derivatives *
-% * (vertical-top type) *
-% ************************
-% The following numbering is adopted in this macro.
-%
-% 2
-% *
-% 1 * * 3
-% | |
-% | |
-% 0G (8a) * * 4
-% 8 * * 0F(4a)
-% | |
-% | |
-% 7 * * 5
-% *
-% 6
-% ^
-% |
-% the original point
-% \end{verbatim}
-%
-% The macro |\decalinevt| has an argument |SUBSLIST| as well as an optional
-% argument |BONDLIST|.
-%
-% \begin{verbatim}
-% \decalinevt[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected form a to k, each of which indicates
-% the presence of an inner (endcyclic) double bond on the corresponding
-% position. The character A or B indicates aromatic bond patterns (circles).
-% \changes{v1.02}{1998/10/14}{BONDLIST: k and K at the fused bond}
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : decaline
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 3,4-double bond
-% d : 4,4a-double bond
-% e : 5,4a-double bond
-% f : 5,6-double bond
-% g : 6,7-double bond
-% h : 8,7-double bond
-% i : 8,8a-double bond
-% j : 1,8a-double bond
-% k : 4a,8a-double bond
-% K : 4a,8a-double bond in the other ring
-% A : left aromatic circle
-% B : right aromatic circle
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for 0 (fused positions)
-%
-% 0FA : alpha single bond at 8a
-% 0FB : beta single bond at 8a
-% 0FU : unspecified single bond at 8a
-% 0GA : alpha single bond at 4a
-% 0GB : beta single bond at 4a
-% 0GU : unspecified single bond at 4a
-% \end{verbatim}
-%
-% \begin{verbatim}
-%
-% e.g.
-%
-% \decalinevt{1==Cl;2==F;0FA==;0GA==}
-% \decalinevt[c]{1==Cl;4==F;2==CH$_{3}$}
-% \decalinevt[eb]{1D==O;4SA==MeO;4SB==OMe;5W==Cl;6==Cl;7==Cl;8==Cl}
-%
-% \end{verbatim}
-%
-% The macro |\decalinevt| has been changed into a subsidiary macro
-% of |\decaheterovt| (version 2.00).
-%
-% \begin{macro}{\decalinevt}
-% \begin{macrocode}
-\def\decalinevt{\@ifnextchar[{\@decalinevt[@}{\@decalinevt[@]}}
-\def\@decalinevt[#1]#2{%
-\iforigpt \typeout{command `decalinevt' is based on `decaheterovt'.}\fi%
-\decaheterovt[#1]{}{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-% The following old definition has been stopped using.
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{ylfusedposition},
-% \cs{yl@shiftii}, \cs{@ylii}, \cs{@@ylii}, \cs{yl@shifti}, \cs{@yli},
-% \cs{@yli}, \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/5}{Add: fused rings}
-%
-% \begin{verbatim}
-% (Old definition)
-% % \begin{macro}{\decalinevt}
-% % \begin{macrocode}
-% \def\decalinevt{\@ifnextchar[{\@decalinevt[@}{\@decalinevt[r]}}
-% \def\@decalinevt[#1]#2{%
-% \iniflag\iniatom
-% \@reset@ylsw\reset@@yl
-% \ylposition{#2}{5}{5}{7}{0}% for 1
-% \if@ylsw \ifx\@@ylii\empty
-% \def\@@ylii{-171}\def\@@yli{-303}\fi
-% \else\ylposition{#2}{-1}{0}{4}{0}% for 2 to 4
-% \fi
-% \if@ylsw\ifx\@@ylii\empty
-% \def\@@ylii{-171}\def\@@yli{-303}\fi\else
-% \ylposition{#2}{-2}{2}{7}{0}% for 5 to 8
-% \fi
-% \if@ylsw\ifx\@@ylii\empty
-% \def\@@ylii{0}\def\@@yli{0}\fi\else
-% \ylfusedposition{#2}{1}{0}{2}{-1}% for 4a and 8a
-% \fi
-% \if@ylsw\ifx\@@ylii\empty
-% \def\@@ylii{0}\def\@@yli{0}\fi\fi
-% \if@ylsw
-% \yl@shiftii=\@ylii
-% \ifx\@@ylii\empty\else
-% \advance\yl@shiftii\@@ylii\fi
-% \yl@shifti=\@yli
-% \ifx\@@yli\empty\else
-% \advance\yl@shifti\@@yli\fi
-% \advance\yl@shiftii\yl@xdiff
-% \advance\yl@shifti\yl@ydiff
-% \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
-% \reset@yl@xydiff%1999/1/6 by S. Fujita
-% \else
-% \begin{picture}(1000,1200)(-400,-240)
-% \iforigpt \put(-400,-240){\circle*{50}}%
-% \put(0,0){\circle{50}}%
-% \typeout{command `decalinevb' origin: %
-% (0,0) ---> (400,240)}\fi%
-% \fi
-% \put(0,0){\line(5,3){171}}% %bond 6-5
-% \put(0,0){\line(-5,3){171}}% %bond 6-7
-% \put(171,103){\line(0,1){200}}% %bond 5-4a
-% \put(-171,103){\line(0,1){200}}% %bond 7-8
-% \put(0,406){\line(-5,-3){171}}% %bond 8a-8
-% \put(0,406){\line(5,-3){171}}% %bond 8a-4a
-% \put(0,406){\line(0,1){200}}% %bond 8a-1
-% \put(342,406){\line(0,1){200}}% %bond 4-3
-% \put(171,303){\line(5,3){171}}% %bond 4a-4
-% \put(171,709){\line(-5,-3){171}}% %bond 2-1
-% \put(171,709){\line(5,-3){171}}% %bond 2-3
-% \@tfor\member:=#1\do{%
-% \if\member r%no endcyclic double bonds
-% \else\if\member a%
-% \put(165,667){\line(-5,-3){126}}% %double bond 2-1
-% \else\if\member b%
-% \put(177,667){\line(5,-3){126}}% %double bond 2-3
-% \else\if\member c%
-% \put(311,432){\line(0,1){148}}% %double bond 4-3
-% \else\if\member d%
-% \put(177,345){\line(5,3){126}}% %double bond 4a-4
-% \else\if\member e%
-% \put(140,129){\line(0,1){148}}% %double bond 5-4a
-% \else\if\member f%
-% \put(6,42){\line(5,3){126}}% %double bond 6-5
-% \else\if\member g%
-% \put(-6,42){\line(-5,3){126}}% %double bond 6-7
-% \else\if\member h%
-% \put(-140,129){\line(0,1){148}}% %double bond 7-8
-% \else\if\member i%
-% \put(-6,364){\line(-5,-3){126}}% %double bond 8a-8
-% \else\if\member j%
-% \put(31,432){\line(0,1){148}}% %double bond 8a-1
-% \else\if\member k%
-% \put(6,364){\line(5,-3){126}}% %double bond 8a-4a
-% \else\if\member K%
-% \put(165,345){\line(-5,3){126}}% %double bond 8a-4a on the other ring
-% \else\if\member A%left aromatic circle
-% \put(171,506){\circle{240}}% %circle
-% \else\if\member B%right aromatic circle
-% \put(0,203){\circle{240}}% %circle
-% \else
-% % ***********************
-% % * setting fused rings *
-% % ***********************
-% \expandafter\twoCH@R\member//%
-% \set@fusion@decavt
-% \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
-% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % % setting substituents and exocyclic bonds %
-% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \put(171,303){\setsixringv{#2}{5}{5}{7}{0}}% for 1
-% \put(171,303){\setsixringv{#2}{-1}{0}{4}{0}}% for 2 to 4
-% \put(0,0){\setsixringv{#2}{-2}{2}{7}{0}}% for 5 to 8
-% \put(0,0){\setfusedbond{#2}{1}{0}{2}{-1}}% for 4a and 8a
-% \end{picture}}% %end of \decalinevt macro
-% % \end{macrocode}
-% % \end{macro}
-% \end{verbatim}
-%
-% \subsection{Horizontal type}
-%
-% The macro |\decalineh| is used for drawing decaline derivatives
-% of vertical type. The skeleton and endocyclic double bonds are
-% drawn directly, while substituents and exocyclic bonds are placed by
-% useing the inner macros |\setsixringh| and |\setfusedbond|.
-%
-% \begin{verbatim}
-% ************************
-% * decaline derivatives *
-% * (horizontal type) *
-% ************************
-% The following numbering is adopted in this macro.
-%
-% 2 3
-% -----
-% * *
-% 1 * * 4
-% * *
-% 8a (0G) ----- 4a (0F)
-% * *
-% the original point ===> 8 * * 5
-% (0,0) * *
-% -----
-% 7 6
-% \end{verbatim}
-%
-% The macro |\decalineh| has an argument |SUBSLIST| as well as an optional
-% argument |BONDLIST|.
-%
-% \begin{verbatim}
-% \decalineh[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected form a to k, each of which indicates
-% the presence of an inner (endcyclic) double bond on the corresponding
-% position. The character A or B indicates aromatic bond patterns (circles).
-% \changes{v1.02}{1998/10/14}{BONDLIST: k and K at the fused bond}
-%
-% \begin{verbatim}
-%
-% BONDLIST =
-%
-% none : decaline
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 3,4-double bond
-% d : 4,4a-double bond
-% e : 5,4a-double bond
-% f : 5,6-double bond
-% g : 6,7-double bond
-% h : 8,7-double bond
-% i : 8,8a-double bond
-% j : 1,8a-double bond
-% k : 4a,8a-double bond
-% K : 4a,8a-double bond in the other ring
-% A : left aromatic circle
-% B : right aromatic circle
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for 0 (fused positions)
-%
-% 0FA : alpha single bond at 8a
-% 0FB : beta single bond at 8a
-% 0FU : unspecified single bond at 8a
-% 0GA : alpha single bond at 4a
-% 0GB : beta single bond at 4a
-% 0GU : unspecified single bond at 4a
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \decalineh{1==Cl;2==F;0FA==;0GA==}
-% \decalineh[c]{1==Cl;4==F;2==CH$_{3}$}
-% \decalineh[eb]{1D==O;4SA==MeO;4SB==OMe;5W==Cl;6==Cl;7==Cl;8==Cl}
-% \end{verbatim}
-%
-% The macro |\decalineh| has been changed into a subsidiary macro
-% of |\decaheteroh| (version 2.00).
-%
-% \begin{macro}{\decalineh}
-% \begin{macrocode}
-\def\decalineh{\@ifnextchar[{\@decalineh[@}{\@decalineh[@]}}
-\def\@decalineh[#1]#2{%
-\iforigpt \typeout{command `decalineh' is based on `decaheteroh'.}\fi%
-\decaheteroh[#1]{}{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-% The following old definition has been stopped using.
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylpositionh}, \cs{if@ylsw}
-% \cs{ylfusedposition},
-% \cs{yl@shiftii}, \cs{@ylii}, \cs{@@ylii}, \cs{yl@shifti}, \cs{@yli},
-% \cs{@yli}, \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/11/30}{Add: fused rings}
-%
-% \begin{verbatim}
-% (Old defintion)
-% % \begin{macro}{\decalineh}
-% % \begin{macrocode}
-% \def\decalineh{\@ifnextchar[{\@decalineh[@}{\@decalineh[r]}}
-% \def\@decalineh[#1]#2{%
-% \iniflag\iniatom
-% \@reset@ylsw\reset@@yl
-% \ylpositionh{#2}{-7}{0}{2}{0}% for 8
-% \if@ylsw \ifx\@@ylii\empty
-% \def\@@ylii{0}\def\@@yli{0}\fi
-% \else\ylpositionh{#2}{-1}{3}{7}{0}% for 5 to 7
-% \fi
-% \if@ylsw\ifx\@@ylii\empty
-% \def\@@ylii{0}\def\@@yli{0}\fi\else
-% \ylpositionh{#2}{0}{0}{5}{0}% for 1 to 4
-% \fi
-% \if@ylsw\ifx\@@ylii\empty
-% \def\@@ylii{0}\def\@@yli{-342}\fi\else
-% \ylfusedposition{#2}{3}{2}{4}{0}% for 4a and 8a
-% \fi
-% \if@ylsw\ifx\@@ylii\empty
-% \def\@@ylii{0}\def\@@yli{0}\fi\fi
-% \if@ylsw
-% \yl@shiftii=\@ylii
-% \ifx\@@ylii\empty\else
-% \advance\yl@shiftii\@@ylii\fi
-% \yl@shifti=\@yli
-% \ifx\@@yli\empty\else
-% \advance\yl@shifti\@@yli\fi
-% \advance\yl@shiftii\yl@xdiff
-% \advance\yl@shifti\yl@ydiff
-% \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
-% \reset@yl@xydiff%1999/1/6 by S. Fujita
-% \else
-% \begin{picture}(880,1200)(-\shifti,-\shiftii)
-% \iforigpt \put(-\shifti,-\shiftii){\circle*{50}}%
-% \put(\noshift,\noshift){\circle{50}}%
-% \typeout{command `decalineh' origin: %
-% (\the\noshift,\the\noshift) ---> (\the\shifti,\the\shiftii)}\fi%
-% \fi
-% \put(0,0){\line(3,5){103}}% %bond 8-8a
-% \put(0,0){\line(3,-5){103}}% %bond 8-7
-% \put(406,0){\line(-3,5){103}}% %bond 4a-5
-% \put(406,0){\line(-3,-5){103}}% %bond 5-6
-% \put(103,171){\line(1,0){200}}% %bond 4a-8a
-% \put(103,-171){\line(1,0){200}}% %bond 7-8
-% \put(0,342){\line(3,5){103}}% %bond 1-2
-% \put(0,342){\line(3,-5){103}}% %bond 1-6
-% \put(406,342){\line(-3,5){103}}% %bond 4-3
-% \put(406,342){\line(-3,-5){103}}% %bond 4-4a
-% \put(103,513){\line(1,0){200}}% %bond 2-3
-% \@tfor\member:=#1\do{%
-% \if\member r%no endcyclic double bonds
-% \else\if\member a%
-% \put(42,348){\line(3,5){78}}% %double bond 1-2
-% \else\if\member b%
-% \put(129,480){\line(1,0){148}}% %double bond 2-3
-% \else\if\member c%
-% \put(364,348){\line(-3,5){78}}% %double bond 4-3
-% \else\if\member d%
-% \put(364,348){\line(-3,-5){78}}% %double bond 4-4a
-% \else\if\member e%
-% \put(364,6){\line(-3,5){78}}% %double bond 4a-5
-% \else\if\member f%
-% \put(364,-6){\line(-3,-5){78}}% %double bond 5-6
-% \else\if\member g%
-% \put(129,-138){\line(1,0){148}}% %double bond 6-7
-% \else\if\member h%
-% \put(42,-6){\line(3,-5){78}}% %double bond 7-8
-% \else\if\member i%
-% \put(42,6){\line(3,5){78}}% %double bond 8-9a
-% \else\if\member j%
-% \put(42,348){\line(3,-5){78}}% %double bond 1-8a
-% \else\if\member k%
-% \put(129,138){\line(1,0){148}}% %double bond 8a-4a
-% \else\if\member K%
-% \put(129,204){\line(1,0){148}}% %double bond 8a-4a
-% \else\if\member A%left aromatic circle
-% \put(203,0){\circle{240}}% %circle
-% \else\if\member B%right aromatic circle
-% \put(203,342){\circle{240}}% %circle
-% % ***********************
-% % * setting fused rings *
-% % ***********************
-% \else
-% \expandafter\twoCH@R\member//%
-% \put(0,342){\set@fusion@decah}%
-% \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
-% %%
-% \put(0,0){\setsixringh{#2}{-7}{0}{2}{0}}% for 8
-% \put(0,0){\setsixringh{#2}{-1}{3}{7}{0}}% for 5 to 7
-% \put(0,342){\setsixringh{#2}{0}{0}{5}{0}}% for 1 to 4
-% \put(0,0){\setfusedbond{#2}{3}{2}{4}{0}}% for 4a and 8a
-% \end{picture}}% %end of \decalineh macro
-% % \end{macrocode}
-% % \end{macro}
-% \end{verbatim}
-%
-% \section{Naphthalene and naphtoquinone derivatives}
-% \subsection{Vertical type}
-%
-% The macro |\naphdrv| is used for drawing naphthalene derivatives
-% of vertical type as well as naphthoquinone derivatives of
-% vertical type. The skeleton and endocyclic double bonds are
-% drawn directly, while substituents and exocyclic bonds are placed by
-% useing the inner macro |\decalinev|.
-%
-% The macro |\naphdrv| has an argument |SUBSLIST| as well as an optional
-% argument |OPT|. The latter designates a bond pattern in place of
-% individual exocyclic bonds.
-%
-% \begin{verbatim}
-% **********************************************
-% * naphthalene and naphthoquinone derivatives *
-% * (vertical type) *
-% **********************************************
-%
-% \naphdrv[OPT]{SUBSLIST}
-% \end{verbatim}
-%
-% The |OPT| argument contains one or two characters.
-%
-% The character `A' is used for designating an aromatic bond pattern, in
-% which each of the six-membered rings has a central circle.
-%
-% \begin{verbatim}
-% OPT (bond pattern)
-%
-% none : naphthalene
-% A : aromatic circle
-% \end{verbatim}
-%
-% One character `p' or two characters (p?) in the |OPT| argument
-% designate a p-quinone nucleus, which is present in the
-% right-hand ring for the case of `p' or `pa' and in the
-% left-hand ring for the case of `pb'.
-%
-% \begin{verbatim}
-% p or pa : 1,4-quinone (A) left aromatic, right quinone
-% pb : 1,4-quinone (B) right aromatic, left quinone
-% \end{verbatim}
-%
-% One character `o' or two characters (o?) in the |OPT| argument
-% designate an o-quinone nucleus in either side of the fused ring.
-% The second character of each argument indicates one of the possible
-% type of bond patterns.
-%
-% \begin{verbatim}
-% o or oa : o-quinone (A)
-% ob : o-quinone (B)
-% oc : o-quinone (C)
-% od : o-quinone (D)
-% oe : o-quinone (E)
-% of : o-quinone (F)
-% \end{verbatim}
-%
-% One character `q' or two characters (q?) in the |OPT| argument
-% designate an 2,6-, 1,5- or 1,7-quinone nucleus.
-% The second character of each argument indicates one of the possible
-% type of bond patterns.
-%
-% \begin{verbatim}
-%
-% q or qa : 2,6-quinone (A)
-% qb : 2,6-quinone (B) 3,7
-% qc : 1,5-quinone (C)
-% qd : 1,5-quinone (D) 4,8
-% qe : 1,7-quinone (E)
-% qf : 1,7-quinone (F) 2,8
-% qg : 1,7-quinone (G) 4,6
-% qh : 1,7-quinone (H) 3,5
-% \end{verbatim}
-%
-% One character `P' or two characters (P?) in the |OPT| argument
-% designate a 1,4,5,8- or 1,2,5,8-quinone nucleus.
-%
-% \begin{verbatim}
-%
-% P or Pa : 1,4,5,8-quinone (A)
-% Pb : 1,2,5,8-quinone (B)
-% \end{verbatim}
-%
-% One character `Q' or `O' or two characters (O?) in the |OPT| argument
-% designate quinone nuclei of remaining types.
-%
-% \begin{verbatim}
-% Q : 1,2,3,4-quinone
-%
-% O or Oa : 1,2,5,6-quinone (A)
-% Ob : 1,2,7,8-quinone (B)
-% Oc : 1,2,3,5-quinone (C)
-% Od : 1,2,3,7-quinone (D)
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-% \naphdrv{1==Cl;2==F}
-% \naphdrv[A]{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% \begin{macro}{\naphdrv}
-% \begin{macrocode}
-\def\naphdrv{\@ifnextchar[{\@naphdrv}{\@naphdrv[r]}}
-\def\@naphdrv[#1]#2{%
-\iforigpt \typeout{command `naphdrv' is based on `decalinev'.}\fi%
- \expandafter\threech@r#1{}{}%
-\if\@tmpa r% right-handed set of double bonds
- \decalinev[acfhk]{#2}%
-\else\if\@tmpa A%aromatic circle
- \decalinev[AB]{#2}%
-%
-\else\if\@tmpa p%p-quinone
- \if\@tmpb a% (A)
- \decalinev[bfhk]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \decalinev[bfhk]{#2}%
- \else\if\@tmpb b% (B)
- \decalinev[acgk]{#2}%
- \fi\fi\fi%
-\else%
- \if\@tmpa o%o-quinone
- \if\@tmpb a% (A)
- \decalinev[cfhk]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \decalinev[cfhk]{#2}%
- \else\if\@tmpb b%o-quinone (B)
- \decalinev[dfhj]{#2}%
- \else\if\@tmpb c%o-quinone (C)
- \decalinev[afhk]{#2}%
- \else\if\@tmpb d%o-quinone (D)
- \decalinev[achk]{#2}%
- \else\if\@tmpb e%o-quinone (E)
- \decalinev[acei]{#2}%
- \else\if\@tmpb f%o-quinone (F)
- \decalinev[acfk]{#2}%
- \fi\fi\fi\fi\fi\fi%
- \fi%
-%%%
-\else\if\@tmpa q%various quinone
- \if\@tmpb a% (A)2,6-type
- \decalinev[cehj]{#2}%
- \else\ifx\@tmpb\empty% (A)2,6-type
- \decalinev[cehj]{#2}%
- \else\if\@tmpb b%2,6-quinone (B)
- \decalinev[adfi]{#2}%
- \else\if\@tmpb c%1,5-quinone (C)
- \decalinev[bdgi]{#2}%
- \else\if\@tmpb d%1,5-quinone (D)
- \decalinev[begj]{#2}%
- \else\if\@tmpb e%1,7-quinone (E)
- \decalinev[bdfi]{#2}%
- \else\if\@tmpb f%1,7-quinone (F)
- \decalinev[cegj]{#2}%
- \else\if\@tmpb g%1,7-quinone (G)
- \decalinev[behj]{#2}%
- \else\if\@tmpb h%1,7-quinone (H)
- \decalinev[adgi]{#2}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi%
-\else\if\@tmpa P%quinone having 4 carbonyl groups
- \if\@tmpb a% (A)1,4,5,8-type
- \decalinev[bgk]{#2}%
- \else\ifx\@tmpb\empty% (A)1,4,5,8-type
- \decalinev[bgk]{#2}%
- \else\if\@tmpb b% (B)1,2,5,8-type
- \decalinev[cgk]{#2}%
- \fi\fi\fi%
-\else\if\@tmpa Q%1,2,3,4
- \decalinev[fhk]{#2}%
-\else\if\@tmpa O%quinone having 4 carbonyl groups
- \if\@tmpb a% (A)1,2,5,6-type
- \decalinev[chk]{#2}%
- \else\ifx\@tmpb\empty% (A)1,2,5,6-type
- \decalinev[chk]{#2}%
- \else\if\@tmpb b% (B)1,2,7,8-type
- \decalinev[cfk]{#2}%
- \else\if\@tmpb c% (C)1,2,3,5-type
- \decalinev[dgi]{#2}%
- \else\if\@tmpb d% (D)1,2,3,7-type
- \decalinev[dfi]{#2}%
- \fi\fi\fi\fi\fi%
-\else% added 1998/11/23 by S. Fujita
- \decalinev[@#1]{#2}%
-\fi\fi\fi\fi\fi\fi\fi\fi%
-}% %end of \naphdrv macro
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Vertical-bottom type}
-%
-% The macro |\naphdrvb| is used for drawing naphthalene derivatives
-% of vertical-bottom type as well as naphthoquinone derivatives of
-% vertical-bottom type. The skeleton and endocyclic double bonds are
-% drawn directly, while substituents and exocyclic bonds are placed by
-% useing the inner macro |\decalinevb|.
-% \changes{v1.02}{1998/10/14}{Newly added command}
-%
-% The macro |\naphdrvb| has an argument |SUBSLIST| as well as an optional
-% argument |OPT|. The latter designates a bond pattern in place of
-% individual exocyclic bonds.
-%
-% \begin{verbatim}
-% **********************************************
-% * naphthalene and naphthoquinone derivatives *
-% * (vertical-bottom type) *
-% **********************************************
-%
-% \naphdrvb[OPT]{SUBSLIST}
-% \end{verbatim}
-%
-% The |OPT| argument contains one or two characters.
-%
-% The character `A' is used for designating an aromatic bond pattern, in
-% which each of the six-membered rings has a central circle.
-%
-% \begin{verbatim}
-% OPT (bond pattern)
-%
-% none : naphthalene
-% A : aromatic circle
-% \end{verbatim}
-%
-% One character `p' or two characters (p?) in the |OPT| argument
-% designate a p-quinone nucleus, which is present in the
-% right-hand ring for the case of `p' or `pa' and in the
-% left-hand ring for the case of `pb'.
-%
-% \begin{verbatim}
-% p or pa : 1,4-quinone (A) left aromatic, right quinone
-% pb : 1,4-quinone (B) right aromatic, left quinone
-% \end{verbatim}
-%
-% One character `o' or two characters (o?) in the |OPT| argument
-% designate an o-quinone nucleus in either side of the fused ring.
-% The second character of each argument indicates one of the possible
-% type of bond patterns.
-%
-% \begin{verbatim}
-% o or oa : o-quinone (A)
-% ob : o-quinone (B)
-% oc : o-quinone (C)
-% od : o-quinone (D)
-% oe : o-quinone (E)
-% of : o-quinone (F)
-% \end{verbatim}
-%
-% One character `q' or two characters (q?) in the |OPT| argument
-% designate an 2,6-, 1,5- or 1,7-quinone nucleus.
-% The second character of each argument indicates one of the possible
-% type of bond patterns.
-%
-% \begin{verbatim}
-%
-% q or qa : 2,6-quinone (A)
-% qb : 2,6-quinone (B) 3,7
-% qc : 1,5-quinone (C)
-% qd : 1,5-quinone (D) 4,8
-% qe : 1,7-quinone (E)
-% qf : 1,7-quinone (F) 2,8
-% qg : 1,7-quinone (G) 4,6
-% qh : 1,7-quinone (H) 3,5
-% \end{verbatim}
-%
-% One character `P' or two characters (P?) in the |OPT| argument
-% designate a 1,4,5,8- or 1,2,5,8-quinone nucleus.
-%
-% \begin{verbatim}
-%
-% P or Pa : 1,4,5,8-quinone (A)
-% Pb : 1,2,5,8-quinone (B)
-% \end{verbatim}
-%
-% One character `Q' or `O' or two characters (O?) in the |OPT| argument
-% designate quinone nuclei of remaining types.
-%
-% \begin{verbatim}
-% Q : 1,2,3,4-quinone
-%
-% O or Oa : 1,2,5,6-quinone (A)
-% Ob : 1,2,7,8-quinone (B)
-% Oc : 1,2,3,5-quinone (C)
-% Od : 1,2,3,7-quinone (D)
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-% \naphdrvb{1==Cl;2==F}
-% \naphdrvb[A]{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% \begin{macro}{\naphdrvb}
-% \begin{macrocode}
-\def\naphdrvb{\@ifnextchar[{\@naphdrvb}{\@naphdrvb[r]}}
-\def\@naphdrvb[#1]#2{%
-\iforigpt \typeout{command `naphdrvb' is based on `decalinevb'.}\fi%
- \expandafter\threech@r#1{}{}%
-\if\@tmpa r% right-handed set of double bonds
- \decalinevb[acfhk]{#2}%
-\else\if\@tmpa A%aromatic circle
- \decalinevb[AB]{#2}%
-%
-\else\if\@tmpa p%p-quinone
- \if\@tmpb a% (A)
- \decalinevb[bfhk]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \decalinevb[bfhk]{#2}%
- \else\if\@tmpb b% (B)
- \decalinevb[acgk]{#2}%
- \fi\fi\fi%
-\else%
- \if\@tmpa o%o-quinone
- \if\@tmpb a% (A)
- \decalinevb[cfhk]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \decalinevb[cfhk]{#2}%
- \else\if\@tmpb b%o-quinone (B)
- \decalinevb[dfhj]{#2}%
- \else\if\@tmpb c%o-quinone (C)
- \decalinevb[afhk]{#2}%
- \else\if\@tmpb d%o-quinone (D)
- \decalinevb[achk]{#2}%
- \else\if\@tmpb e%o-quinone (E)
- \decalinevb[acei]{#2}%
- \else\if\@tmpb f%o-quinone (F)
- \decalinevb[acfk]{#2}%
- \fi\fi\fi\fi\fi\fi%
- \fi%
-%%%
-\else\if\@tmpa q%various quinone
- \if\@tmpb a% (A)2,6-type
- \decalinevb[cehj]{#2}%
- \else\ifx\@tmpb\empty% (A)2,6-type
- \decalinevb[cehj]{#2}%
- \else\if\@tmpb b%2,6-quinone (B)
- \decalinevb[adfi]{#2}%
- \else\if\@tmpb c%1,5-quinone (C)
- \decalinevb[bdgi]{#2}%
- \else\if\@tmpb d%1,5-quinone (D)
- \decalinevb[begj]{#2}%
- \else\if\@tmpb e%1,7-quinone (E)
- \decalinevb[bdfi]{#2}%
- \else\if\@tmpb f%1,7-quinone (F)
- \decalinevb[cegj]{#2}%
- \else\if\@tmpb g%1,7-quinone (G)
- \decalinevb[behj]{#2}%
- \else\if\@tmpb h%1,7-quinone (H)
- \decalinevb[adgi]{#2}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi%
-\else\if\@tmpa P%quinone having 4 carbonyl groups
- \if\@tmpb a% (A)1,4,5,8-type
- \decalinevb[bgk]{#2}%
- \else\ifx\@tmpb\empty% (A)1,4,5,8-type
- \decalinevb[bgk]{#2}%
- \else\if\@tmpb b% (B)1,2,5,8-type
- \decalinevb[cgk]{#2}%
- \fi\fi\fi%
-\else\if\@tmpa Q%1,2,3,4
- \decalinevb[fhk]{#2}%
-\else\if\@tmpa O%quinone having 4 carbonyl groups
- \if\@tmpb a% (A)1,2,5,6-type
- \decalinevb[chk]{#2}%
- \else\ifx\@tmpb\empty% (A)1,2,5,6-type
- \decalinevb[chk]{#2}%
- \else\if\@tmpb b% (B)1,2,7,8-type
- \decalinevb[cfk]{#2}%
- \else\if\@tmpb c% (C)1,2,3,5-type
- \decalinevb[dgi]{#2}%
- \else\if\@tmpb d% (D)1,2,3,7-type
- \decalinevb[dfi]{#2}%
- \fi\fi\fi\fi\fi%
-\else% added 1998/11/23 by S. Fujita
- \decalinevb[@#1]{#2}%
-\fi\fi\fi\fi\fi\fi\fi\fi%
-}% %end of \naphdrvb macro
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Vertical-top type}
-%
-% The macro |\naphdrvt| is used for drawing naphthalene derivatives
-% of vertical-top type as well as naphthoquinone derivatives of
-% vertical-top type. The skeleton and endocyclic double bonds are
-% drawn directly, while substituents and exocyclic bonds are placed by
-% useing the inner macro |\decalinevt|.
-% \changes{v1.02}{1998/10/14}{Newly added command}
-%
-% The macro |\naphdrvt| has an argument |SUBSLIST| as well as an optional
-% argument |OPT|. The latter designates a bond pattern in place of
-% individual exocyclic bonds.
-%
-% \begin{verbatim}
-% **********************************************
-% * naphthalene and naphthoquinone derivatives *
-% * (vertical-top type) *
-% **********************************************
-%
-% \naphdrvt[OPT]{SUBSLIST}
-% \end{verbatim}
-%
-% The |OPT| argument contains one or two characters.
-%
-% The character `A' is used for designating an aromatic bond pattern, in
-% which each of the six-membered rings has a central circle.
-%
-% \begin{verbatim}
-% OPT (bond pattern)
-%
-% none : naphthalene
-% A : aromatic circle
-% \end{verbatim}
-%
-% One character `p' or two characters (p?) in the |OPT| argument
-% designate a p-quinone nucleus, which is present in the
-% right-hand ring for the case of `p' or `pa' and in the
-% left-hand ring for the case of `pb'.
-%
-% \begin{verbatim}
-% p or pa : 1,4-quinone (A) left aromatic, right quinone
-% pb : 1,4-quinone (B) right aromatic, left quinone
-% \end{verbatim}
-%
-% One character `o' or two characters (o?) in the |OPT| argument
-% designate an o-quinone nucleus in either side of the fused ring.
-% The second character of each argument indicates one of the possible
-% type of bond patterns.
-%
-% \begin{verbatim}
-% o or oa : o-quinone (A)
-% ob : o-quinone (B)
-% oc : o-quinone (C)
-% od : o-quinone (D)
-% oe : o-quinone (E)
-% of : o-quinone (F)
-% \end{verbatim}
-%
-% One character `q' or two characters (q?) in the |OPT| argument
-% designate an 2,6-, 1,5- or 1,7-quinone nucleus.
-% The second character of each argument indicates one of the possible
-% type of bond patterns.
-%
-% \begin{verbatim}
-%
-% q or qa : 2,6-quinone (A)
-% qb : 2,6-quinone (B) 3,7
-% qc : 1,5-quinone (C)
-% qd : 1,5-quinone (D) 4,8
-% qe : 1,7-quinone (E)
-% qf : 1,7-quinone (F) 2,8
-% qg : 1,7-quinone (G) 4,6
-% qh : 1,7-quinone (H) 3,5
-% \end{verbatim}
-%
-% One character `P' or two characters (P?) in the |OPT| argument
-% designate a 1,4,5,8- or 1,2,5,8-quinone nucleus.
-%
-% \begin{verbatim}
-%
-% P or Pa : 1,4,5,8-quinone (A)
-% Pb : 1,2,5,8-quinone (B)
-% \end{verbatim}
-%
-% One character `Q' or `O' or two characters (O?) in the |OPT| argument
-% designate quinone nuclei of remaining types.
-%
-% \begin{verbatim}
-% Q : 1,2,3,4-quinone
-%
-% O or Oa : 1,2,5,6-quinone (A)
-% Ob : 1,2,7,8-quinone (B)
-% Oc : 1,2,3,5-quinone (C)
-% Od : 1,2,3,7-quinone (D)
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-% \naphdrvt{1==Cl;2==F}
-% \naphdrvt[A]{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% \begin{macro}{\naphdrvt}
-% \begin{macrocode}
-\def\naphdrvt{\@ifnextchar[{\@naphdrvt}{\@naphdrvt[r]}}
-\def\@naphdrvt[#1]#2{%
-\iforigpt \typeout{command `naphdrvt' is based on `decalinevt'.}\fi%
- \expandafter\threech@r#1{}{}%
-\if\@tmpa r% right-handed set of double bonds
- \decalinevt[acfhk]{#2}%
-\else\if\@tmpa A%aromatic circle
- \decalinevt[AB]{#2}%
-%
-\else\if\@tmpa p%p-quinone
- \if\@tmpb a% (A)
- \decalinevt[bfhk]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \decalinevt[bfhk]{#2}%
- \else\if\@tmpb b% (B)
- \decalinevt[acgk]{#2}%
- \fi\fi\fi%
-\else%
- \if\@tmpa o%o-quinone
- \if\@tmpb a% (A)
- \decalinevt[cfhk]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \decalinevt[cfhk]{#2}%
- \else\if\@tmpb b%o-quinone (B)
- \decalinevt[dfhj]{#2}%
- \else\if\@tmpb c%o-quinone (C)
- \decalinevt[afhk]{#2}%
- \else\if\@tmpb d%o-quinone (D)
- \decalinevt[achk]{#2}%
- \else\if\@tmpb e%o-quinone (E)
- \decalinevt[acei]{#2}%
- \else\if\@tmpb f%o-quinone (F)
- \decalinevt[acfk]{#2}%
- \fi\fi\fi\fi\fi\fi%
- \fi%
-%%%
-\else\if\@tmpa q%various quinone
- \if\@tmpb a% (A)2,6-type
- \decalinevt[cehj]{#2}%
- \else\ifx\@tmpb\empty% (A)2,6-type
- \decalinevt[cehj]{#2}%
- \else\if\@tmpb b%2,6-quinone (B)
- \decalinevt[adfi]{#2}%
- \else\if\@tmpb c%1,5-quinone (C)
- \decalinevt[bdgi]{#2}%
- \else\if\@tmpb d%1,5-quinone (D)
- \decalinevt[begj]{#2}%
- \else\if\@tmpb e%1,7-quinone (E)
- \decalinevt[bdfi]{#2}%
- \else\if\@tmpb f%1,7-quinone (F)
- \decalinevt[cegj]{#2}%
- \else\if\@tmpb g%1,7-quinone (G)
- \decalinevt[behj]{#2}%
- \else\if\@tmpb h%1,7-quinone (H)
- \decalinevt[adgi]{#2}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi%
-\else\if\@tmpa P%quinone having 4 carbonyl groups
- \if\@tmpb a% (A)1,4,5,8-type
- \decalinevt[bgk]{#2}%
- \else\ifx\@tmpb\empty% (A)1,4,5,8-type
- \decalinevt[bgk]{#2}%
- \else\if\@tmpb b% (B)1,2,5,8-type
- \decalinevt[cgk]{#2}%
- \fi\fi\fi%
-\else\if\@tmpa Q%1,2,3,4
- \decalinevt[fhk]{#2}%
-\else\if\@tmpa O%quinone having 4 carbonyl groups
- \if\@tmpb a% (A)1,2,5,6-type
- \decalinevt[chk]{#2}%
- \else\ifx\@tmpb\empty% (A)1,2,5,6-type
- \decalinevt[chk]{#2}%
- \else\if\@tmpb b% (B)1,2,7,8-type
- \decalinevt[cfk]{#2}%
- \else\if\@tmpb c% (C)1,2,3,5-type
- \decalinevt[dgi]{#2}%
- \else\if\@tmpb d% (D)1,2,3,7-type
- \decalinevt[dfi]{#2}%
- \fi\fi\fi\fi\fi%
-\else% added 1998/11/23 by S. Fujita
- \decalinevt[@#1]{#2}%
-\fi\fi\fi\fi\fi\fi\fi\fi%
-}% %end of \naphdrvt macro
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Horizontal type}
-%
-% The macro |\naphdrh| is used for drawing naphthalene derivatives
-% of horizontal type as well as naphtoquinone derivatives of
-% horizontal type. The skeleton and endocyclic double bonds are
-% drawn directly, while substituents and exocyclic bonds are placed by
-% useing the inner macro |\decalineh|.
-%
-% The macro |\naphdrh| has an argument |SUBSLIST| as well as an optional
-% argument |OPT|. The latter designates a bond pattern in place of
-% individual exocyclic bonds.
-%
-% \begin{verbatim}
-% **********************************************
-% * naphthalene and naphthoquinone derivatives *
-% * (horizontal type) *
-% **********************************************
-%
-% \naphdrh[OPT]{SUBSLIST}
-%
-% \end{verbatim}
-%
-% The |OPT| argument contains one or two characters for designate
-% aromatic bond patterns or for naphthoquinone bond patterns.
-% The meaning of these characters is the same as described in
-% the definition of the macro |\naphdrv|.
-%
-% \begin{verbatim}
-% OPT (bond pattern)
-%
-% none : naphthalene
-% A : aromatic circle
-%
-% p or pa : 1,4-quinone (A) left aromatic, right quinone
-% pb : 1,4-quinone (B) right aromatic, left quinone
-%
-% o or oa : o-quinone (A)
-% ob : o-quinone (B)
-% oc : o-quinone (C)
-% od : o-quinone (D)
-% oe : o-quinone (E)
-% of : o-quinone (F)
-%
-% q or qa : 2,6-quinone (A)
-% qb : 2,6-quinone (B) 3,7
-% qc : 1,5-quinone (C)
-% qd : 1,5-quinone (D) 4,8
-% qe : 1,7-quinone (E)
-% qf : 1,7-quinone (F) 2,8
-% qg : 1,7-quinone (G) 4,6
-% qh : 1,7-quinone (H) 3,5
-%
-% P or Pa : 1,4,5,8-quinone (A)
-% Pb : 1,2,5,8-quinone (B)
-%
-% Q : 1,2,3,4-quinone
-%
-% O or Oa : 1,2,5,6-quinone (A)
-% Ob : 1,2,7,8-quinone (B)
-% Oc : 1,2,3,5-quinone (C)
-% Od : 1,2,3,7-quinone (D)
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-% \naphdrh{1==Cl;2==F}
-% \naphdrh[A]{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% \begin{macro}{\naphdrh}
-% \begin{macrocode}
-\def\naphdrh{\@ifnextchar[{\@naphdrh}{\@naphdrh[r]}}
-\def\@naphdrh[#1]#2{%
-\iforigpt \typeout{command `nathdrh' is based on `decalineh'.}\fi%
- \expandafter\threech@r#1{}{}%
-\if\@tmpa r% right-handed set of double bonds
- \decalineh[acfhk]{#2}%
-\else\if\@tmpa A%aromatic circle
- \decalineh[AB]{#2}%
-%
-\else\if\@tmpa p%p-quinone
- \if\@tmpb a% (A)
- \decalineh[bfhk]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \decalineh[bfhk]{#2}%
- \else\if\@tmpb b% (B)
- \decalineh[acgk]{#2}%
- \fi\fi\fi%
-\else%
- \if\@tmpa o%o-quinone
- \if\@tmpb a% (A)
- \decalineh[cfhk]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \decalineh[cfhk]{#2}%
- \else\if\@tmpb b%o-quinone (B)
- \decalineh[dfhj]{#2}%
- \else\if\@tmpb c%o-quinone (C)
- \decalineh[afhk]{#2}%
- \else\if\@tmpb d%o-quinone (D)
- \decalineh[achk]{#2}%
- \else\if\@tmpb e%o-quinone (E)
- \decalineh[acei]{#2}%
- \else\if\@tmpb f%o-quinone (F)
- \decalineh[acfk]{#2}%
- \fi\fi\fi\fi\fi\fi%
- \fi%
-% %%
-\else\if\@tmpa q%various quinone
- \if\@tmpb a% (A)2,6-type
- \decalineh[cehj]{#2}%
- \else\ifx\@tmpb\empty% (A)2,6-type
- \decalineh[cehj]{#2}%
- \else\if\@tmpb b%2,6-quinone (B)
- \decalineh[adfi]{#2}%
- \else\if\@tmpb c%1,5-quinone (C)
- \decalineh[bdgi]{#2}%
- \else\if\@tmpb d%1,5-quinone (D)
- \decalineh[begj]{#2}%
- \else\if\@tmpb e%1,7-quinone (E)
- \decalineh[bdfi]{#2}%
- \else\if\@tmpb f%1,7-quinone (F)
- \decalineh[cegj]{#2}%
- \else\if\@tmpb g%1,7-quinone (G)
- \decalineh[behj]{#2}%
- \else\if\@tmpb h%1,7-quinone (H)
- \decalineh[adgi]{#2}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi%
-\else\if\@tmpa P%quinone having 4 carbonyl groups
- \if\@tmpb a% (A)1,4,5,8-type
- \decalineh[bgk]{#2}%
- \else\ifx\@tmpb\empty% (A)1,4,5,8-type
- \decalineh[bgk]{#2}%
- \else\if\@tmpb b% (B)1,2,5,8-type
- \decalineh[cgk]{#2}%
- \fi\fi\fi%
-\else\if\@tmpa Q%1,2,3,4
- \decalineh[fhk]{#2}%
-\else\if\@tmpa O%quinone having 4 carbonyl groups
- \if\@tmpb a% (A)1,2,5,6-type
- \decalineh[chk]{#2}%
- \else\ifx\@tmpb\empty% (A)1,2,5,6-type
- \decalineh[chk]{#2}%
- \else\if\@tmpb b% (B)1,2,7,8-type
- \decalineh[cfk]{#2}%
- \else\if\@tmpb c% (C)1,2,3,5-type
- \decalineh[dgi]{#2}%
- \else\if\@tmpb d% (D)1,2,3,7-type
- \decalineh[dfi]{#2}%
- \fi\fi\fi\fi\fi%
-\else% added 1998/11/23 by S. Fujita
- \decalineh[@#1]{#2}%
-\fi\fi\fi\fi\fi\fi\fi\fi%
-}% %end of \naphdrh macro
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Tetraline derivatives}
-% \subsection{Vertical type}
-%
-% The macro |\tetralinev| is used for drawing naphthalene derivatives
-% of vertical type as well as naphthoquinone derivatives of
-% vertical type. The skeleton and endocyclic double bonds are
-% drawn directly, while substituents and exocyclic bonds are placed by
-% useing the inner macro |\decalinev|.
-%
-% The macro |\tetralinev| has an argument |SUBSLIST| as well as an optional
-% argument |OPT|. The latter designates a bond pattern in place of
-% individual exocyclic bonds.
-%
-% \begin{verbatim}
-% *************************
-% * tetraline derivatives *
-% * (vertical type) *
-% *************************
-%
-% \tetralinev[OPT]{SUBSLIST}
-% \end{verbatim}
-%
-% The |OPT| argument contains one or two characters for designate
-% aromatic bond patterns or for naphthoquinone bond patterns.
-%
-% \begin{verbatim}
-%
-% OPT = none : tetraline
-% A : aromatic circle
-%
-% e or ea : 1,2-double bond
-% eb : 2,3-double bond
-% ec : 3,4-double bond
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 4
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for n=5 or 8
-%
-% nSa : bias bond
-% This option can be used to avoid over-crowding
-% betweem 1 and 8 or between 4 and 5.
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \tetralinev{1==Cl;2==F}
-% \tetralinev[A]{1==Cl;4==F;2==CH$_{3}$}
-% \tetralinev[eb]{1D==O;4SA==MeO;4SB==OMe;5W==Cl;6==Cl;7==Cl;8==Cl}
-% \end{verbatim}
-%
-% \begin{macro}{\tetralinev}
-% \begin{macrocode}
-\def\tetralinev{\@ifnextchar[{\@tetralinev}{\@tetralinev[r]}}
-\def\@tetralinev[#1]#2{%
- \iforigpt \typeout{command `tetralinev' is based on `decalinev'.}\fi%
- \expandafter\threech@r#1{}{}%
- \if\@tmpa r% right-handed set of double bonds
- \decalinev[fhk]{#2}%
- \else\if\@tmpa A%aromatic circle
- \decalinev[A]{#2}%
- \else\if\@tmpa e%inner double bond
- \if\@tmpb a% (A)%
- \decalinev[afhk]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \decalinev[afhk]{#2}%
- \else\if\@tmpb b% (B)
- \decalinev[bfhk]{#2}%
- \else\if\@tmpb c% (C)
- \decalinev[cfhk]{#2}%
- \fi\fi\fi\fi%
- \else%1998/11/23 by Shinsaku Fujita
- \decalinev[@#1]{#2}%
- \fi\fi\fi%
-}% %end of \tetralinev macro
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Vertical-bottom type}
-%
-% The macro |\tetralinevb| is used for drawing naphthalene derivatives
-% of vertical-bottom type as well as naphthoquinone derivatives of
-% vertical type. The skeleton and endocyclic double bonds are
-% drawn directly, while substituents and exocyclic bonds are placed by
-% useing the inner macro |\decalinevb|.
-% \changes{v1.02}{1998/10/14}{Newly added command}
-%
-% The macro |\tetralinevb| has an argument |SUBSLIST| as well as an optional
-% argument |OPT|. The latter designates a bond pattern in place of
-% individual exocyclic bonds.
-%
-% \begin{verbatim}
-% ********************************
-% * tetraline derivatives *
-% * (vertical-bottom type) *
-% ********************************
-%
-% \tetralinevb[OPT]{SUBSLIST}
-% \end{verbatim}
-%
-% The |OPT| argument contains one or two characters for designate
-% aromatic bond patterns or for naphthoquinone bond patterns.
-%
-% \begin{verbatim}
-%
-% OPT = none : tetraline
-% A : aromatic circle
-%
-% e or ea : 1,2-double bond
-% eb : 2,3-double bond
-% ec : 3,4-double bond
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 4
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for n=5 or 8
-%
-% nSa : bias bond
-% This option can be used to avoid over-crowding
-% betweem 1 and 8 or between 4 and 5.
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \tetralinevb{1==Cl;2==F}
-% \tetralinevb[A]{1==Cl;4==F;2==CH$_{3}$}
-% \tetralinevb[eb]{1D==O;4SA==MeO;4SB==OMe;5W==Cl;6==Cl;7==Cl;8==Cl}
-% \end{verbatim}
-%
-% \begin{macro}{\tetralinevb}
-% \begin{macrocode}
-\def\tetralinevb{\@ifnextchar[{\@tetralinevb}{\@tetralinevb[r]}}
-\def\@tetralinevb[#1]#2{%
- \iforigpt \typeout{command `tetralinevb' is based on `decalinevb'.}\fi%
- \expandafter\threech@r#1{}{}%
- \if\@tmpa r% right-handed set of double bonds
- \decalinevb[fhK]{#2}% %[fhK] in place of [fhk]
- \else\if\@tmpa A%aromatic circle
- \decalinevb[A]{#2}%
- \else\if\@tmpa e%inner double bond
- \if\@tmpb a% (A)%
- \decalinevb[afhK]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \decalinevb[afhK]{#2}%
- \else\if\@tmpb b% (B)
- \decalinevb[bfhK]{#2}%
- \else\if\@tmpb c% (C)
- \decalinevb[cfhK]{#2}%
- \fi\fi\fi\fi%
- \else%1998/11/23 by Shinsaku Fujita
- \decalinevb[@#1]{#2}%
- \fi\fi\fi%
-}% %end of \tetralinevb macro
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Vertical-top type}
-%
-% The macro |\tetralinevt| is used for drawing naphthalene derivatives
-% of vertical-top type as well as naphthoquinone derivatives of
-% vertical type. The skeleton and endocyclic double bonds are
-% drawn directly, while substituents and exocyclic bonds are placed by
-% useing the inner macro |\decalinevt|.
-% \changes{v1.02}{1998/10/14}{Newly added command}
-%
-% The macro |\tetralinevt| has an argument |SUBSLIST| as well as an optional
-% argument |OPT|. The latter designates a bond pattern in place of
-% individual exocyclic bonds.
-%
-% \begin{verbatim}
-% ********************************
-% * tetraline derivatives *
-% * (vertical-bottom type) *
-% ********************************
-%
-% \tetralinevt[OPT]{SUBSLIST}
-% \end{verbatim}
-%
-% The |OPT| argument contains one or two characters for designate
-% aromatic bond patterns or for naphthoquinone bond patterns.
-%
-% \begin{verbatim}
-%
-% OPT = none : tetraline
-% A : aromatic circle
-%
-% e or ea : 1,2-double bond
-% eb : 2,3-double bond
-% ec : 3,4-double bond
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 4
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for n=5 or 8
-%
-% nSa : bias bond
-% This option can be used to avoid over-crowding
-% betweem 1 and 8 or between 4 and 5.
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \tetralinevt{1==Cl;2==F}
-% \tetralinevt[A]{1==Cl;4==F;2==CH$_{3}$}
-% \tetralinevt[eb]{1D==O;4SA==MeO;4SB==OMe;5W==Cl;6==Cl;7==Cl;8==Cl}
-% \end{verbatim}
-%
-% \begin{macro}{\tetralinevt}
-% \begin{macrocode}
-\def\tetralinevt{\@ifnextchar[{\@tetralinevt}{\@tetralinevt[r]}}
-\def\@tetralinevt[#1]#2{%
- \iforigpt \typeout{command `tetralinevt' is based on `decalinevt'.}\fi%
- \expandafter\threech@r#1{}{}%
- \if\@tmpa r% right-handed set of double bonds
- \decalinevt[fhk]{#2}%
- \else\if\@tmpa A%aromatic circle
- \decalinevt[A]{#2}%
- \else\if\@tmpa e%inner double bond
- \if\@tmpb a% (A)%
- \decalinevt[afhk]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \decalinevt[afhk]{#2}%
- \else\if\@tmpb b% (B)
- \decalinevt[bfhk]{#2}%
- \else\if\@tmpb c% (C)
- \decalinevt[cfhk]{#2}%
- \fi\fi\fi\fi%
- \else%1998/11/23 by Shinsaku Fujita
- \decalinevt[@#1]{#2}%
- \fi\fi\fi%
-}% %end of \tetralinevt macro
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Horizontal type}
-%
-% The macro |\tetralineh| is used for drawing tetraline derivatives
-% of horizontal type.
-%
-% The macro |\tetralineh| has an argument |SUBSLIST| as well as an optional
-% argument |OPT|. The latter designates a bond pattern in place of
-% individual exocyclic bonds.
-%
-% \begin{verbatim}
-% *************************
-% * tetraline derivatives *
-% * (horizontal type) *
-% *************************
-%
-% \tetralineh[OPT]{SUBSLIST}
-% \end{verbatim}
-%
-% The |OPT| argument contains one or two characters for designate
-% aromatic bond patterns or for naphthoquinone bond patterns.
-%
-% \begin{verbatim}
-% OPT = none : tetraline
-% A : aromatic circle
-%
-% e or ea : 1,2-double bond
-% eb : 2,3-double bond
-% ec : 3,4-double bond
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 4
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for n=5 or 8
-%
-% nSa : bias bond
-% This option can be used to avoid over-crowding
-% betweem 1 and 8 or between 4 and 5.
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \tetralineh{1==Cl;2==F}
-% \tetralineh[A]{1==Cl;4==F;2==CH$_{3}$}
-% \tetralineh[eb]{1D==O;4SA==MeO;4SB==OMe;5W==Cl;6==Cl;7==Cl;8==Cl}
-% \end{verbatim}
-%
-% \begin{macro}{\tetralineh}
-% \begin{macrocode}
-\def\tetralineh{\@ifnextchar[{\@tetralineh}{\@tetralineh[r]}}
-\def\@tetralineh[#1]#2{%
- \iforigpt \typeout{command `tetralineh' is based on `decalineh'.}\fi%
- \expandafter\threech@r#1{}{}%
- \if\@tmpa r% right-handed set of double bonds
- \decalineh[fhk]{#2}%
- \else\if\@tmpa A%aromatic circle
- \decalineh[A]{#2}%
- \else\if\@tmpa e%inner double bond
- \if\@tmpb a% (A)%
- \decalineh[afhk]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \decalineh[afhk]{#2}%
- \else\if\@tmpb b% (B)
- \decalineh[bfhk]{#2}%
- \else\if\@tmpb c% (C)
- \decalineh[cfhk]{#2}%
- \fi\fi\fi\fi%
-\else% added 1998/11/23 by S. Fujita
- \decalineh[@#1]{#2}%
- \fi\fi\fi%
-}% %end of \tetralineh macro
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Anthracene derivatives}
-% \subsection{Perhydro-anthracene derivatives of Vertical type}
-%
-% The macro |\hanthracenev| is used for drawing perhydroanthracene
-% derivatives of vertical type.
-%
-% The macro |\hanthracenev| has an argument |SUBSLIST| as well as an optional
-% argument |BONDLIST|.
-%
-% \begin{verbatim}
-% ***********************************
-% * perhydro anthracene derivatives *
-% * (vertical type) *
-% ***********************************
-%
-% \hanthracenev[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected form a to p, each of which indicates
-% the presence of an inner (endcyclic) double bond on the corresponding
-% position. The character A, B, or C indicates an aromatic bond
-% pattern (circle).
-% \changes{v1.02}{1998/10/14}{BONDLIST: o, O, p and P at the fused bond}
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : hanthracene
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 3,4-double bond
-% d : 4,4a-double bond
-% e : 10,4a-double bond
-% f : 10,10a-double bond
-% g : 5,10a-double bond
-% h : 5,6-double bond
-% i : 6,7-double bond
-% j : 8,7-double bond
-% k : 8,8a-double bond
-% l : 9,8a-double bond
-% m : 9,9a-double bond
-% n : 1,9a-double bond
-% o : 4a,9a-double bond
-% O : 4a,9a-double bond in the other ring
-% p : 10a,8a-double bond
-% P : 10a,8a-double bond in the other ring
-% A : right aromatic circle
-% B : central aromatic circle
-% C : left aromatic circle
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 10
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% \begin{verbatim}
-%
-% for 11 (fused positions, 9a and 4a)
-%
-% 11FA : alpha single bond at 9a
-% 11FB : beta single bond at 9a
-% 11FU : unspecified single bond at 9a
-% 11GA : alpha single bond at 4a
-% 11GB : beta single bond at 4a
-% 11GU : unspecified single bond at 4a
-% \end{verbatim}
-%
-% \begin{verbatim}
-%
-% for 12 (fused positions, 8a and 10a)
-%
-% 12FA : alpha single bond at 8a
-% 12FB : beta single bond at 8a
-% 12FU : unspecified single bond at 8a
-% 12GA : alpha single bond at 10a
-% 12GB : beta single bond at 10a
-% 12GU : unspecified single bond at 10a
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \hanthracenev{1==Cl;2==F;{{10}}==OH}
-% \hanthracenev[c]{1==Cl;4==F;2==CH$_{3}$;
-% {{11}FA}==OH;{{11}FB}==OH}
-% \hanthracenev[eb]{1D==O;4SA==MeO;4SB==OMe;5W==Cl;6==Cl;7==Cl;8==Cl}
-% \end{verbatim}
-%
-% \changes{v1.02}{1998/10/31}{The command \cs{setdecaringv} has
-% been stopped to use.}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylpositionh}, \cs{if@ylsw}
-% \cs{ylfusedposition},
-% \cs{yl@shiftii}, \cs{@ylii}, \cs{@@ylii}, \cs{yl@shifti}, \cs{@yli},
-% \cs{@yli}, \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/25}{Added: fused rings}
-%
-% \begin{macro}{\hanthracenev}
-% \begin{macrocode}
-\def\hanthracenev{\@ifnextchar[{\@hanthracenev[@}{\@hanthracenev[r]}}
-\def\@hanthracenev[#1]#2{%
-% bonds for outer skeleton
-\@reset@ylsw\reset@@yl
-\ylposition{#2}{-7}{0}{2}{0}% %for 8 positions
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else\ylposition{#2}{-1}{3}{7}{0}% for 5 to 7 positions
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi\else
-\ylposition{#2}{0}{0}{5}{0}% for 1 to 4 positions
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{-684}\def\@@yli{0}\fi\else
-\ylposition{#2}{-8}{0}{2}{0}%for 9-position
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{-342}\def\@@yli{0}\fi\else
-\ylposition{#2}{-6}{3}{5}{0}%for 10-position
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{-342}\def\@@yli{0}\fi\else
-\ylfusedposition{#2}{-11}{-1}{1}{0}% for 9a and 4a
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{-342}\def\@@yli{0}\fi\else
-\ylfusedposition{#2}{-12}{-1}{1}{0}% for 8a and 10a
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \ifx\@@ylii\empty\else
- \advance\yl@shiftii\@@ylii\fi
- \yl@shifti=\@yli
- \ifx\@@yli\empty\else
- \advance\yl@shifti\@@yli\fi
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(1200,880)(-\shiftii,-\shifti)
- \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `hanthracenev' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-\fi
- \put(0,406){\line(-5,-3){171}}% %bond 8-7
- \put(0,406){\line(5,-3){171}}% %bond 8-8a
- \put(0,0){\line(-5,3){171}}% %bond 5-6
- \put(0,0){\line(5,3){171}}% %bond 5-10a
- \put(171,103){\line(0,1){200}}% %bond 10a-8a
- \put(-171,103){\line(0,1){200}}% %bond 6-7
- \put(342,406){\line(-5,-3){171}}% %bond 9-8a
- \put(342,406){\line(5,-3){171}}% %bond 9-9a
- \put(342,0){\line(-5,3){171}}% %bond 10-10a
- \put(342,0){\line(5,3){171}}% %bond 10-4a
- \put(513,103){\line(0,1){200}}% %bond 4a-9a
- %%%%
- \put(684,406){\line(-5,-3){171}}% %bond 1-9a 1-6
- \put(684,406){\line(5,-3){171}}% %bond 1-2 1-2
- \put(855,103){\line(0,1){200}}% %bond 3-2 3-2
- \put(684,0){\line(5,3){171}}% %bond 4-3 4-3
- \put(684,0){\line(-5,3){171}}% %bond 4-4a 4-5
-% inner double bonds
-\@tfor\member:=#1\do{%
-\if\member r%no endcyclic double bonds
-\else\if\member a%
- \put(690,364){\line(5,-3){126}}% %double bond 1-2
-\else\if\member b%
- \put(822,129){\line(0,1){148}}% %double bond 3-2
-\else\if\member c%
- \put(690,42){\line(5,3){126}}% %double bond 4-3
-\else\if\member d%
- \put(690,42){\line(-5,3){126}}% %double bond 4-4a
-\else\if\member e%
- \put(348,42){\line(5,3){126}}% %double bond 10-4a
-\else\if\member f%
- \put(348,42){\line(-5,3){126}}% %double bond 10-10a
-\else\if\member g%
- \put(6,42){\line(5,3){126}}% %double bond 5-10a
-\else\if\member h%
- \put(-6,42){\line(-5,3){126}}% %double bond 5-6
-\else\if\member i%
- \put(-138,129){\line(0,1){148}}% %double bond 6-7
-\else\if\member j%
- \put(-6,364){\line(-5,-3){126}}% %double bond 8-7
-\else\if\member k%
- \put(6,364){\line(5,-3){126}}% %double bond 8-8a
-\else\if\member l%
- \put(348,364){\line(-5,-3){126}}% %double bond 9-8a
-\else\if\member m%
- \put(348,364){\line(5,-3){126}}% %double bond 9-9a
-\else\if\member n%
- \put(690,364){\line(-5,-3){126}}% %double bond 1-9a
-\else\if\member o%
- \put(544,129){\line(0,1){148}}% %double bond 4a-9a
-\else\if\member O%
- \put(482,129){\line(0,1){148}}% %double bond 4a-9a at the other ring
-\else\if\member p%
- \put(138,129){\line(0,1){148}}% %double bond 10a-8a
-\else\if\member P%
- \put(204,129){\line(0,1){148}}% %double bond 10a-8a at the other ring
-\else\if\member C%left aromatic circle
- \put(0,203){\circle{240}} %circle
-\else\if\member B%right aromatic circle
- \put(342,203){\circle{240}}% %circle
-\else\if\member A%right aromatic circle
- \put(684,203){\circle{240}}% %circle
-\else
-%setting fused rings
- \expandafter\twoCH@R\member//%
- \set@fusion@hanthrav
-\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
-%exocyclic bonds and substituents
-\put(0,0){\setsixringv{#2}{-7}{0}{2}{0}}% %for 8 positions
-\put(0,0){\setsixringv{#2}{-1}{3}{7}{0}}% %for 5 to 7 positions
-\put(684,0){\setsixringv{#2}{0}{0}{5}{0}}% %for 1 to 4 positions
-\put(342,0){\setsixringv{#2}{-8}{0}{2}{0}}%for 9-position
-\put(342,0){\setsixringv{#2}{-6}{3}{5}{0}}%for 10-position
-%bonds and substituents for fused positions
-\put(0,0){\setfusedbond{#2}{-12}{-1}{1}{0}}% for 8a and 10a
-\put(342,0){\setfusedbond{#2}{-11}{-1}{1}{0}}% for 9a and 4a
-\end{picture}}% %end of \hanthracenev macro%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Anthracene and anthraquinone derivatives}
-%
-% The macro |\anthracenev| is used for drawing anthracene derivatives
-% of vertical type.
-%
-% The macro |\anthracenev| has an argument |SUBSLIST| as well as an optional
-% argument |OPT|. The latter designates a bond pattern in place of
-% individual exocyclic bonds.
-%
-% \begin{verbatim}
-% ********************************************
-% * anthracene and anthraquinone derivatives *
-% * (vertical type) *
-% ********************************************
-%
-% \anthracenev[OPT]{SUBSLIST}
-% \end{verbatim}
-%
-% The |OPT| argument contains one or two characters for designate
-% aromatic bond patterns or for naphthoquinone bond patterns.
-%
-% \begin{verbatim}
-% OPT (bond pattern)
-%
-% none or r : right-handed double bonds
-% l : left-handed double bonds
-% A : aromatic circle
-%
-% p or pa : 9,10-anthraquinone (A)
-% pA : 9,10-anthraquinone (circle type)
-%
-% o : 1,2-anthraquinone (A)
-% oa : 1,2-anthraquinone (A')
-% oA : 1,2-anthraquinone (circle type)
-% ob : 2,3-antharquinone (B)
-% oc : 1,2-anthraquinone (C)
-%
-% q : 1,4-anthraquinone (A)
-% qa : 1,4-anthraquinone (A')
-% qA : 1,4-anthraquinone (circle type)
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 10
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \anthracenev{1==Cl;2==F;0FA==;0GA==}
-% \anthracenev[A]{1==Cl;4==F;2==CH$_{3}$}
-% \anthracenev[eb]{1D==O;4SA==MeO;4SB==OMe;%
-% 5W==Cl;6==Cl;7==Cl;8==Cl}
-% \end{verbatim}
-%
-% \begin{macro}{\anthracenev}
-% \begin{macrocode}
-\def\anthracenev{\@ifnextchar[{\@anthracenev}{\@anthracenev[r]}}
-\def\@anthracenev[#1]#2{%
- \iforigpt \typeout{command `anthracenev' is %
- based on `hanthracenev'.}\fi%
-%% \expandafter\threech@r#1{}{}%error1998/11/23 by Shinsaku Fujita
- \expandafter\twoCH@R#1//%
- \if\@tmpa r% right-handed set of double bonds
- \hanthracenev[acflhjo]{#2}%
- \else\if\@tmpa l% left-handed set of double bonds
- \hanthracenev[acehjmp]{#2}%
- \else\if\@tmpa A%aromatic circle
- \hanthracenev[ABC]{#2}%
- \else\if\@tmpa p%9,10-quinone
- \if\@tmpb a% (A)%
- \hanthracenev[achjop]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \hanthracenev[achjop]{#2}%
- \else\if\@tmpb A% circle type
- \hanthracenev[AC]{#2}%
- \else
- \hanthracenev[achjop]{#2}%
- \fi\fi\fi%
- \else\if\@tmpa o%o-quinone
- \if\@tmpb a% (A)%
- \hanthracenev[cfjhlo]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \hanthracenev[cehjmp]{#2}%
- \else\if\@tmpb b% (B)
- \hanthracenev[dfhjln]{#2}%
- \else\if\@tmpb c% (C)
- \hanthracenev[aehjmp]{#2}%
- \else\if\@tmpb A% cicle type
- \hanthracenev[cBC]{#2}%
- \fi\fi\fi\fi\fi%
- \else\if\@tmpa q%1,4-quinone
- \if\@tmpb a% (A)%
- \hanthracenev[bfhjlo]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \hanthracenev[behjmp]{#2}%
- \else\if\@tmpb A% circle type
- \hanthracenev[AB]{#2}%
- \else%
- \hanthracenev[behjmp]{#2}%
- \fi\fi\fi%
- \else
- \hanthracenev[@#1]{#2}%
- \fi\fi\fi\fi\fi\fi%
-}% %end of \anthracenev macro%
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Phenanthrene derivatives}
-% \subsection{Perhydro-phenanthrene derivatives of Vertical type}
-%
-% The macro |\hphenanthrenev| is used for drawing perhydrophenanthrene
-% derivatives of vertical type.
-%
-% The macro |\hphenanthrenev| has an argument |SUBSLIST| as well as an
-% optional argument |BONDLIST|.
-%
-% \begin{verbatim}
-% *************************************
-% * perhydro phenanthrene derivatives *
-% * (vertical type) *
-% *************************************
-%
-% \hphenanthrenev[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected form a to p, each of which indicates
-% the presence of an inner (endcyclic) double bond on the corresponding
-% position. The character A, B, or C indicates an aromatic bond
-% pattern (circle).
-% \changes{v1.02}{1998/10/14}{BONDLIST: o, O, p and P at the fused bond}
-%
-% \begin{verbatim}
-%
-% BONDLIST =
-%
-% none : hphenanthrene
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 3,4-double bond
-% d : 4,4a-double bond
-% e : 4a,4b-double bond
-% f : 4b,5-double bond
-% g : 5,6-double bond
-% h : 6,7-double bond
-% i : 7,8-double bond
-% j : 8,8a-double bond
-% k : 8a,9-double bond
-% l : 9,10-double bond
-% m : 10,10a-double bond
-% n : 1,10a-double bond
-% o : 4a,10a-double bond
-% O : 4a,10a-double bond in the other ring
-% p : 4b,8a-double bond
-% P : 4b,8a-double bond in the other ring
-% A : right aromatic circle
-% B : central aromatic circle
-% C : left aromatic circle
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 10
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for 11 (fused positions, 4a and 10a)
-%
-% 11FA : alpha single bond at 4a
-% 11FB : beta single bond at 4a
-% 11FC : alpha single bond (downward) at 4a
-% 11FD : beta single bond (downward) at 4a
-% 11FU : unspecified single bond at 4a
-% 11GA : alpha single bond at 10a
-% 11GB : beta single bond at 10a
-% 11FC : alpha single bond (upward) at 10a
-% 11FD : beta single bond (upward) at 10a
-% 11GU : unspecified single bond at 10a
-%
-% for 12 (fused positions, 4b and 8a)
-%
-% 12FA : alpha single bond at 4b
-% 12FB : beta single bond at 4b
-% 12FU : unspecified single bond at 4b
-% 12GA : alpha single bond at 8a
-% 12GB : beta single bond at 8a
-% 12GU : unspecified single bond at 8a
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \hphenanthrenev{1==Cl;2==F;{{10}}==OH}
-% \hphenanthrenev[c]{1==Cl;4==F;2==CH$_{3}$;
-% {{11}FA}==OH;{{11}FB}==OH}
-% \hphenanthrenev[eb]{1D==O;4SA==MeO;4SB==OMe;
-% 5W==Cl;6==Cl;7==Cl;8==Cl}
-% \end{verbatim}
-% \changes{v1.02}{1998/10/15}{The command \cs{setdecaringv} has
-% been stopped to use.}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylpositionh}, \cs{if@ylsw}
-% \cs{ylfusedposition},
-% \cs{yl@shiftii}, \cs{@ylii}, \cs{@@ylii}, \cs{yl@shifti}, \cs{@yli},
-% \cs{@yli}, \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/11/23}{Added: Fused rings}
-%
-% \begin{macro}{\hphenanthrenev}
-% \begin{macrocode}
-\def\hphenanthrenev{%
- \@ifnextchar[{\@hphenanthrenev[@}{\@hphenanthrenev[r]}}
-\def\@hphenanthrenev[#1]#2{%
-% bonds for outer skeleton
-\@reset@ylsw\reset@@yl
-\ylposition{#2}{-4}{0}{2}{0}% %for 5 position
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-\ylposition{#2}{12}{3}{7}{-1}% %for 6 to 8 positions
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi\else
-\ylposition{#2}{13}{2}{5}{-1}% %for 9 to 10 positions
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{-342}\def\@@yli{0}\fi\else
-\ylposition{#2}{4}{0}{4}{-1}% %for 1 to 3 positions
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{-513}\def\@@yli{-303}\fi\else
-\ylposition{#2}{2}{5}{7}{0}% %for 4-position
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{-513}\def\@@yli{-303}\fi\else
-\ylfusedposition{#2}{-12}{-1}{1}{0}% % for 4b and 8a
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi\else
-\ylfusedposition{#2}{-10}{0}{2}{0}% % for 4a and 10a
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{-342}\def\@@yli{0}\fi\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \ifx\@@ylii\empty\else
- \advance\yl@shiftii\@@ylii\fi
- \yl@shifti=\@yli
- \ifx\@@yli\empty\else
- \advance\yl@shifti\@@yli\fi
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(1200,1200)(-\shiftii,-\shifti)
- \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `hphenanthrenev' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-\fi
- \put(0,406){\line(-5,-3){171}}% %bond 6-5
- \put(0,406){\line(5,-3){171}}% %bond 5-4a
- \put(0,0){\line(-5,3){171}}% %bond 8-7
- \put(0,0){\line(5,3){171}}% %bond 8-8a
- \put(171,103){\line(0,1){200}}% %bond 8a-4b
- \put(-171,103){\line(0,1){200}}% %bond 7-6
- \put(342,406){\line(-5,-3){171}}% %bond 4a-4b
- \put(342,406){\line(5,-3){171}}% %bond 4a-10a
- \put(342,0){\line(-5,3){171}}% %bond 9-8a
- \put(342,0){\line(5,3){171}}% %bond 9-10
- \put(513,103){\line(0,1){200}}% %bond 10-10a
- %%%%
- \put(342,406){\line(0,1){200}}% %bond 4a-4
- \put(513,709){\line(-5,-3){171}}% %bond 3-4
- \put(513,709){\line(5,-3){171}}% %bond 3-2
- \put(684,406){\line(0,1){200}}% %bond 1-2
- \put(513,303){\line(5,3){171}}% %bond 10a-1
-% inner double bonds
-\@tfor\member:=#1\do{%
-\if\member r%no endcyclic double bonds
-\else\if\member a%
- \put(651,432){\line(0,1){148}}% %double bond 1-2
-\else\if\member b%
- \put(519,667){\line(5,-3){126}}% %double bond 3-2
-\else\if\member c%
- \put(519,667){\line(-5,-3){126}}% %double bond 3-4
-\else\if\member d%
- \put(375,432){\line(0,1){148}}% %double bond 4a-4
-\else\if\member e%
- \put(348,364){\line(-5,-3){126}}% %double bond 4a-4b
-\else\if\member f%
- \put(6,364){\line(5,-3){126}}% %double bond 5-4b
-\else\if\member g%
- \put(-6,364){\line(-5,-3){126}}% %double bond 5-6
-\else\if\member h%
- \put(-138,129){\line(0,1){148}}% %double bond 6-7
-\else\if\member i%
- \put(-6,42){\line(-5,3){126}}% %double bond 8-7
-\else\if\member j%
- \put(6,42){\line(5,3){126}}% %double bond 8-8a
-\else\if\member k%
- \put(348,42){\line(-5,3){126}}% %double bond 9-8a
-\else\if\member l%
- \put(348,42){\line(5,3){126}}% %double bond 9-10
-\else\if\member m%
- \put(482,129){\line(0,1){148}}% %double bond 10-10a
-\else\if\member n%
- \put(519,345){\line(5,3){126}}% %double bond 10a-1
-\else\if\member o%
- \put(507,345){\line(-5,3){126}}% %double bond 10a-4a
-\else\if\member O%
- \put(348,364){\line(5,-3){126}}% %double bond 4a-10a
-\else\if\member p%
- \put(138,129){\line(0,1){148}}% %double bond 8a-4b
-\else\if\member P%
- \put(204,129){\line(0,1){148}}% %double bond 8a-4b
-\else\if\member C%left aromatic circle
- \put(0,203){\circle{240}} %circle
-\else\if\member B%right aromatic circle
- \put(342,203){\circle{240}}% %circle
-\else\if\member A%right aromatic circle
- \put(513,506){\circle{240}}% %circle
-\else
-% setting fused rings
- \expandafter\twoCH@R\member//%
- \set@fusion@hphenanv
-\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
-%exocyclic bonds and substituents
-\put(0,0){\setsixringv{#2}{-4}{0}{2}{0}}% %for 5 position
-\put(0,0){\setsixringv{#2}{12}{3}{7}{-1}}% %for 6 to 8 positions
-\put(342,0){\setsixringv{#2}{13}{2}{5}{-1}}% %for 9 to 10 positions
-\put(513,303){\setsixringv{#2}{4}{0}{4}{-1}}% %for 1 to 3 positions
-\put(513,303){\setsixringv{#2}{2}{5}{7}{0}}% %for 4-position
-%bonds and substituents for fused positions
-\put(0,0){\setfusedbond{#2}{-12}{-1}{1}{0}}% % for 4b and 8a
-\put(342,0){\setfusedbond{#2}{-10}{0}{2}{0}}% % for 4a and 10a
-\end{picture}}% %end of \hphenanthrenev macro%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Phenanthrene and phenanthroquinone derivatives}
-%
-% The macro |\phenanthrenev| is used for drawing phenanthrene derivatives
-% of vertical type.
-%
-% The macro |\anthracenev| has an argument |SUBSLIST| as well as an optional
-% argument |OPT|. The latter designates a bond pattern in place of
-% individual exocyclic bonds.
-%
-% \begin{verbatim}
-% *********************************
-% * phenanthrene and derivatives *
-% * (vertical type) *
-% *********************************
-%
-% \phenanthrenev[OPT]{SUBSLIST}
-% \end{verbatim}
-%
-% The |OPT| argument contains one or two characters for designate
-% aromatic bond patterns or for naphthoquinone bond patterns.
-%
-% \begin{verbatim}
-% OPT (bond pattern)
-%
-% none or r : right-handed double bonds
-% A : aromatic circle
-%
-% p or pa : 1,4-quinone (A)
-% pA : 1,4-quinone (circle type)
-%
-% o or oa : 1,2-quinone (A)
-% oA : 1,2-quinone (circle type)
-% ob : 2,3-quinone (B)
-% oc : 3,4-anthraquinone (C)
-%
-% q or qa : 9,10-quinone
-% qA : 9,10-quinone (circle type)
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 10
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \phenanthrenev{1==Cl;2==F}
-% \phenanthrenev[A]{1==Cl;4==F;2==CH$_{3}$}
-% \phenanthrenev[eb]{1D==O;4SA==MeO;4SB==OMe;%
-% 5W==Cl;6==Cl;7==Cl;8==Cl}
-% \end{verbatim}
-%
-% \begin{macro}{\phenanthrenev}
-% \begin{macrocode}
-\def\phenanthrenev{\@ifnextchar[{\@phenanthrenev}{\@phenanthrenev[r]}}
-\def\@phenanthrenev[#1]#2{%
- \iforigpt \typeout{command `phenanthrenev' is %
- based on `hphenantherenv'.}\fi%
- \expandafter\threech@r#1{}{}%
- \if\@tmpa r% right-handed set of double bonds
- \hphenanthrenev[acgilop]{#2}%
- \else\if\@tmpa A%aromatic circle
- \hphenanthrenev[ABC]{#2}%
- \else\if\@tmpa p%1,4-quinone
- \if\@tmpb a% (A)%
- \hphenanthrenev[bgilop]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \hphenanthrenev[bgilop]{#2}%
- \else\if\@tmpb A% circle type
- \hphenanthrenev[BCb]{#2}%
- \else
- \hphenanthrenev[bgilop]{#2}%
- \fi\fi\fi%
- \else\if\@tmpa o%o-quinone
- \if\@tmpb a% (A)%
- \hphenanthrenev[cgilop]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \hphenanthrenev[cgilop]{#2}%
- \else\if\@tmpb b% (B)
- \hphenanthrenev[dgilnp]{#2}%
- \else\if\@tmpb c% (C)
- \hphenanthrenev[agilop]{#2}%
- \else\if\@tmpb A% cicle type
- \hphenanthrenev[cBC]{#2}%
- \fi\fi\fi\fi\fi%
- \else\if\@tmpa q%9,10-quinone
- \if\@tmpb a% (A)%
- \hphenanthrenev[acgiop]{#2}%
- \else\ifx\@tmpb\empty% (A)
- \hphenanthrenev[acgiop]{#2}%
- \else\if\@tmpb A% circle type
- \hphenanthrenev[AC]{#2}%
- \else
- \hphenanthrenev[acgiop]{#2}%
- \fi\fi\fi%
- \else
- \hphenanthrenev[@#1]{#2}%
- \fi\fi\fi\fi\fi%
-}% %end of \phenanthrenev macro%
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Steroids}
-% \subsection{Steroids without a chain}
-%
-% The macro |\steroid| is used for drawing steroids.
-%
-% The macro |\steroid| has an argument |SUBSLIST| as well as an
-% optional argument |BONDLIST|.
-%
-% \begin{verbatim}
-% ***********************
-% * steroid derivatives *
-% ***********************
-%
-% \steroid[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected form a to t, each of which indicates
-% the presence of an inner (endcyclic) double bond on the corresponding
-% position. The character A, B, or C indicates an aromatic bond
-% pattern (circle).
-% \changes{v1.02}{1998/10/15}{BONDLIST: k, K, h, H, o and O
-% at the fused bond}
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none: steroid skeleton
-% a : 1,2-double bond b : 2,3-double bond
-% c : 3,4-double bond d : 4,5-double bond
-% e : 6,5-double bond f : 6,7-double bond
-% g : 7,8-double bond
-% h : 9,8-double bond
-% h : 9,8-double bond in the other bond
-% i : 9,10-double bond j : 1,10-double bond
-% k : 5,10-double bond
-% K : 5,10-double bond in the other bond
-% l : 9,11-double bond
-% m : 12,11-double bond n : 12,13-double bond
-% o : 14,13-double bond
-% O : 14,13-double bond in the other bond
-% p : 8,14-double bond
-% q : 14,15-double bond r : 15,16-double bond
-% s : 17,16-double bond t : 17,13-double bond
-% A : aromatic A ring B : aromatic B ring
-% C : aromatic C ring
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 17 (execpt fused positions)
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom (boldface)
-% nB : beta single bond at n-atom (dotted line)
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% For numbers larger than 9 (two digits), you should designate
-% the SUBSLIST as
-%
-% \begin{verbatim}
-% {{11}A}==Cl;{{12}SA}==H;{{12}SB}==Cl;
-% \end{verbatim}
-%
-% \begin{verbatim}
-% for n = 5,8,9,10,13 and 14 (fused positions)
-%
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom (boldface)
-% nB : beta single bond at n-atom (dotted line)
-% nU : unspecified single bond at n-atom
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \steroid{1==Cl;2==F;{{10}}==OH}
-% \steroid[c]{1==Cl;4==F;2==CH$_{3}$;
-% {{11}SA}==OH;{{11}SB}==OH}
-% \steroid[eb]{1D==O;4SA==MeO;4SB==OMe;
-% 5==Cl;6==Cl;7==Cl;8==Cl}
-% \end{verbatim}
-% \changes{v1.02}{1998/10/15}{The command \cs{setdecaringv} has
-% been stopped to use.}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylpositionh}, \cs{if@ylsw}
-% \cs{ylfusedposition},
-% \cs{yl@shiftii}, \cs{@ylii}, \cs{@@ylii}, \cs{yl@shifti}, \cs{@yli},
-% \cs{@yli}, \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v1.02}{1998/10/31}{Inner commands \cs{yl@steroidposition}
-% and \cs{@steroidskeleton} are separated from the \cs{@steroid} command.}
-% \changes{v2.00}{1998/12/5}{Add: fused rings}
-%
-% \begin{macro}{\steroid}
-% \begin{macro}{\yl@steroidposition}
-% \begin{macro}{\@steroidskeleton}
-% \begin{macrocode}
-\def\steroid{\@ifnextchar[{\@steroid[@}{\@steroid[Z]}}
-\def\@steroid[#1]#2{%
-% bonds for outer skeleton
-\@reset@ylsw\reset@@yl
-\yl@steroidposition{#2}%
-\if@ylsw
- \yl@shiftii=\@ylii
- \ifx\@@ylii\empty\else
- \advance\yl@shiftii\@@ylii\fi
- \yl@shifti=\@yli
- \ifx\@@yli\empty\else
- \advance\yl@shifti\@@yli\fi
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(1600,1300)(-\shiftii,-\shifti)
- \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `steroid' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-\fi
- \put(0,0){\@steroidskeleton{#1}{#2}}%
-\end{picture}}% %end of \steroid macro%
-% \end{macrocode}
-%
-% The |\yl@steroidposition| is derived from |\ylposition| and
-% |\ylatombondposition| to use in the |\steroid| command as well as
-% in the |\steroidchain| command.
-% \changes{v1.02}{1998/10/31}{Inner commands \cs{yl@steroidposition}
-% and \cs{@steroidskeleton} are separated from the \cs{@steroid} command.}
-%
-% \begin{macrocode}
-\def\yl@steroidposition#1{%
-\ylposition{#1}{0}{0}{2}{0}% %for 1
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-\ylposition{#1}{8}{3}{7}{-1}% %for 2 to 4 positions
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi\else
-\ylposition{#1}{10}{2}{5}{-1}% %for 6 to 7 positions
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{-342}\def\@@yli{0}\fi\else
-\ylposition{#1}{-11}{0}{2}{0}%for 12 position
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{-513}\def\@@yli{-303}\fi\else
-\ylposition{#1}{-5}{5}{7}{0}% %for 11 position
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{-513}\def\@@yli{-303}\fi\else
-\ylposition{#1}{18}{0}{4}{-1}%for 15 to 17 positions
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{-855}\def\@@yli{-303}\fi\else
-\ylatombondposition{#1}{-4}{7}% % for 5
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{-171}\def\@@yli{-103}\fi\else
-\ylatombondposition{#1}{-9}{1}% % for 10
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{-171}\def\@@yli{-303}\fi\else
-\ylatombondposition{#1}{-7}{1}% % for 8
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{-513}\def\@@yli{-303}\fi\else
-\ylatombondposition{#1}{-8}{7}% % for 9
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{-342}\def\@@yli{-406}\fi\else
-\ylatombondposition{#1}{-13}{7}% % for 14
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{-684}\def\@@yli{-406}\fi\else
-\ylatombondposition{#1}{-12}{1}% % for 13
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{-684}\def\@@yli{-606}\fi\fi%
-}% end of \yl@steroidposition
-% \end{macrocode}
-%
-% The |\@steroidskeleton| is separated from the definition of |\steroid|
-% so as to be used also in the definition of |\steroidchain|.
-% \changes{v1.02}{1998/10/31}{Inner commands \cs{yl@steroidposition}
-% and \cs{@steroidskeleton} are separated from the \cs{@steroid} command.}
-% \changes{v2.00}{1998/11/23}{Added: fused rings}
-%
-% \begin{macrocode}
-\def\@steroidskeleton#1#2{%
- \put(0,406){\line(-5,-3){171}}% %bond 1-2
- \put(0,406){\line(5,-3){171}}% %bond 1-10
- \put(0,0){\line(-5,3){171}}% %bond 4-3
- \put(0,0){\line(5,3){171}}% %bond 4-5
- \put(171,103){\line(0,1){200}}% %bond 5-10
- \put(-171,103){\line(0,1){200}}% %bond 3-2
- \put(342,406){\line(-5,-3){171}}% %bond 9-10
- \put(342,406){\line(5,-3){171}}% %bond 9-8
- \put(342,0){\line(-5,3){171}}% %bond 6-5
- \put(342,0){\line(5,3){171}}% %bond 6-7
- \put(513,103){\line(0,1){200}}% %bond 7-8
- %%%%
- \put(342,406){\line(0,1){200}}% %bond 9-11
- \put(513,709){\line(-5,-3){171}}% %bond 12-11
- \put(513,709){\line(5,-3){171}}% %bond 12-13
- \put(684,406){\line(0,1){200}}% %bond 14-13
- \put(513,303){\line(5,3){171}}% %bond 8-14
- %%%%
- \put(855,709){\line(-5,-3){171}}% %bond 17-13
- \put(855,709){\line(5,-3){171}}% %bond 17-16
- \put(1026,406){\line(0,1){200}}% %bond 15-16
- \put(684,406){\line(1,0){342}}% %bond 14-15
-% inner double bonds
-\@tfor\member:=#1\do{%
-\if\member Z%no endcyclic double bonds
-\else\if\member a%
- \put(-6,364){\line(-5,-3){126}}% %double bond 1-2 5-6
-\else\if\member b%
- \put(-138,129){\line(0,1){148}}% %double bond 3-2 6-7
-\else\if\member c%
- \put(-6,42){\line(-5,3){126}}% %double bond 4-3 8-7
-\else\if\member d%
- \put(6,42){\line(5,3){126}}% %double bond 4-5 8-8a
-\else\if\member e%
- \put(348,42){\line(-5,3){126}}% %double bond 6-5 9-8a
-\else\if\member f%
- \put(348,42){\line(5,3){126}}% %double bond 6-7 9-10
-\else\if\member g%
- \put(482,129){\line(0,1){148}}% %double bond 7-8 10-10a
-\else\if\member h%
- \put(507,345){\line(-5,3){126}}% %double bond 8-9 10a-4a
-\else\if\member H%
- \put(348,364){\line(5,-3){126}}% %double bond 9-8 4a-10a
-\else\if\member i%
- \put(348,364){\line(-5,-3){126}}% %double bond 9-10 4a-4b
-\else\if\member j%
- \put(6,364){\line(5,-3){126}}% %double bond 1-10 5-4b
-\else\if\member k%
- \put(138,129){\line(0,1){148}}% %double bond 5-10 8a-4b
-\else\if\member K%
- \put(204,129){\line(0,1){148}}% %double bond 5-10 8a-4b
-\else\if\member l%
- \put(375,432){\line(0,1){148}}% %double bond 9-11 4-5
-\else\if\member m%
- \put(519,667){\line(-5,-3){126}}% %double bond 12-11 3-4
-\else\if\member n%
- \put(519,667){\line(5,-3){126}}% %double bond 12-13 3-2
-\else\if\member o%
- \put(651,432){\line(0,1){148}}% %double bond 13-14 1-2
-\else\if\member O%
- \put(717,432){\line(0,1){148}}% %double bond 13-14 1-2
-\else\if\member p%
- \put(519,345){\line(5,3){126}}% %double bond 8-14 10a-1
-\else\if\member q%
- \put(720,439){\line(1,0){260}}% %double bond 14-15
-\else\if\member r%
- \put(993,432){\line(0,1){148}}% %double bond 15-16 1-2
-\else\if\member s%
- \put(861,667){\line(5,-3){126}}% %double bond 17-16 3-2
-\else\if\member t%
- \put(861,667){\line(-5,-3){126}}% %double bond 17-13 3-4
-\else\if\member A%left aromatic circle
- \put(0,203){\circle{240}}% %circle
-\else\if\member B%right aromatic circle
- \put(342,203){\circle{240}}% %circle
-\else\if\member C%right aromatic circle
- \put(513,506){\circle{240}}% %circle
-\else
-% setting fused rings
- \expandafter\twoCH@R\member//%
- \set@fusion@steroid
-\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
-%exocyclic bonds and substituents
-\iniflag
-\put(0,0){\setsixringv{#2}{0}{0}{2}{0}}% %for 1
-\put(0,0){\setsixringv{#2}{8}{3}{7}{-1}}% %for 2 to 4 positions
-\put(342,0){\setsixringv{#2}{10}{2}{5}{-1}}% %for 6 to 7 positions
-\put(513,303){\setsixringv{#2}{-11}{0}{2}{0}}%for 12 position
-\put(513,303){\setsixringv{#2}{-5}{5}{7}{0}}% %for 11 position
-\put(855,303){\setsixringv{#2}{18}{0}{4}{-1}}%for 15 to 17 positions
-%bonds and substituents for fused positions
-\put(171,103){\setatombond{#2}{-4}{7}}% % for 5
-\put(171,303){\setatombond{#2}{-9}{1}}% % for 10
-\put(513,303){\setatombond{#2}{-7}{1}}% % for 8
-\put(342,406){\setatombond{#2}{-8}{7}}% % for 9
-\put(684,406){\setatombond{#2}{-13}{7}}% % for 14
-\put(684,606){\setatombond{#2}{-12}{1}}% % for 13
-}% end of \@steroidskeleton
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\set@fusion@steroid| is an inner command contained
-% in the definition of |\steroidskeleton|, where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusionadd@sixv|.
-%
-% \begin{macro}{\set@fusion@steroid}
-% \changes{v2.00}{1998/11/23}{New command: \cs{set@fusion@steroid}}
-% \begin{macrocode}
-\def\set@fusion@steroid{%
- \let\@@tmpa=\@tmpa
- \let\@@tmpb=\@tmpb
- \if\@tmpa a%
- \edef\@@tmpa{f}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa A%
- \edef\@@tmpa{F}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa b%
- \edef\@@tmpa{e}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa B%
- \edef\@@tmpa{E}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa c%
- \edef\@@tmpa{d}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa C%
- \edef\@@tmpa{D}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa d%
- \edef\@@tmpa{c}%
- \put(0,0){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `d'}%
- \fi
- \else\if\@tmpa D%
- \edef\@@tmpa{C}%
- \put(0,0){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `D'}%
- \fi
- \else\if\@tmpa e%
- \edef\@@tmpa{d}%
- \put(342,0){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `e'}%
- \fi
- \else\if\@tmpa E%
- \edef\@@tmpa{D}%
- \put(342,0){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `E'}%
- \fi
- \else\if\@tmpa f%
- \edef\@@tmpa{c}%
- \put(342,0){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `f'}%
- \fi
- \else\if\@tmpa F%
- \edef\@@tmpa{C}%
- \put(342,0){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `f'}%
- \fi
- \else\if\@tmpa g%
- \edef\@@tmpa{b}%
- \put(342,0){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `g'}%
- \fi
- \else\if\@tmpa G%
- \edef\@@tmpa{B}%
- \put(342,0){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `g'}%
- \fi
- \else\if\@tmpa h%
- \edef\@@tmpa{a}%
- \put(342,0){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Forbidden Fusion for bond `h'}%
- \fi
- \else\if\@tmpa H%
- \edef\@@tmpa{A}%
- \put(342,0){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Forbidden Fusion for bond `H'}%
- \fi
- \else\if\@tmpa i%
- \edef\@@tmpa{f}%
- \put(342,0){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `i'}%
- \fi
- \else\if\@tmpa I%
- \edef\@@tmpa{F}%
- \put(342,0){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `I'}%
- \fi
- \else\if\@tmpa j%
- \edef\@@tmpa{a}%
- \put(0,0){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `j'}%
- \fi
- \else\if\@tmpa J%
- \edef\@@tmpa{A}%
- \put(0,0){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `J'}%
- \fi
- \else\if\@tmpa k%
- \edef\@@tmpa{b}%
- \put(0,0){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Forbidden Fusion for bond `k'}%
- \fi
- \else\if\@tmpa K%
- \edef\@@tmpa{B}%
- \put(0,0){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Forbidden Fusion for bond `K'}%
- \fi
- \else\if\@tmpa l%
- \edef\@@tmpa{e}%
- \put(513,303){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `l'}%
- \fi
- \else\if\@tmpa L%
- \edef\@@tmpa{E}%
- \put(513,303){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `L'}%
- \fi
- \else\if\@tmpa m%
- \edef\@@tmpa{f}%
- \put(513,303){\set@fusionadd@sixv}%
- \else\if\@tmpa M%
- \edef\@@tmpa{F}%
- \put(513,303){\set@fusionadd@sixv}%
- \else\if\@tmpa n%
- \edef\@@tmpa{a}%
- \put(513,303){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `n'}%
- \fi
- \else\if\@tmpa N%
- \edef\@@tmpa{A}%
- \put(513,303){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `N'}%
- \fi
- \else\if\@tmpa o%
- \edef\@@tmpa{b}%
- \put(513,303){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Forbidden Fusion for bond `o'}%
- \fi
- \else\if\@tmpa O%
- \edef\@@tmpa{B}%
- \put(513,303){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Forbidden Fusion for bond `O'}%
- \fi
- \else\if\@tmpa p%
- \edef\@@tmpa{c}%
- \put(513,303){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `N'}%
- \fi
- \else\if\@tmpa P%
- \edef\@@tmpa{C}%
- \put(513,303){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `N'}%
- \fi
- \else\if\@tmpa q%
- \XyMTeXWarning{Mismatched dimension for bond `q'}%
- \else\if\@tmpa Q%
- \XyMTeXWarning{Mismatched dimension for bond `Q'}%
- \else\if\@tmpa r%
- \edef\@@tmpa{b}%
- \put(855,303){\set@fusionadd@sixv}%
- \else\if\@tmpa R%
- \edef\@@tmpa{B}%
- \put(855,303){\set@fusionadd@sixv}%
- \else\if\@tmpa s%
- \edef\@@tmpa{a}%
- \put(855,303){\set@fusionadd@sixv}%
- \else\if\@tmpa S%
- \edef\@@tmpa{A}%
- \put(855,303){\set@fusionadd@sixv}%
- \else\if\@tmpa t%
- \edef\@@tmpa{f}%
- \put(855,303){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `t'}%
- \fi
- \else\if\@tmpa T%
- \edef\@@tmpa{F}%
- \put(855,303){\set@fusionadd@sixv}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `T'}%
- \fi
- \fi\fi\fi\fi\fi\fi\fi\fi%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@steroid
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Steroids with a chain}
-%
-% The macro |\steroidchain| is used for drawing steroids.
-%
-% The macro |\steroidchain| has an argument |SUBSLIST| as well as an
-% optional argument |BONDLIST|.
-%
-% \begin{verbatim}
-% **************************************
-% * steroid derivatives having a chain *
-% **************************************
-%
-% \steroidchain[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected form a to t, each of which indicates
-% the presence of an inner (endcyclic) double bond on the corresponding
-% position. The character A, B, or C indicates an aromatic bond
-% pattern (circle). A two-character string `Z?' indicates
-% a double bond in the side-chain.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% (double bonds for the steroid skeleton)
-% none: no action on the steroid skeleton
-% a : 1,2-double bond b : 2,3-double bond
-% c : 3,4-double bond d : 4,5-double bond
-% e : 6,5-double bond f : 6,7-double bond
-% g : 7,8-double bond h : 9,8-double bond
-% i : 9,10-double bond j : 1,10-double bond
-% k : 5,10-double bond l : 9,11-double bond
-% m : 12,11-double bond n : 12,13-double bond
-% o : 14,13-double bond p : 8,14-double bond
-% q : 14,15-double bond r : 15,16-double bond
-% s : 17,16-double bond t : 17,13-double bond
-% A : aromatic A ring B : aromatic B ring
-% C : aromatic C ring
-% \end{verbatim}
-%
-% \begin{verbatim}
-% (double bonds for the side chain)
-% Z : no action
-% Za : 17,20-double bond Zb : 20,22-double bond
-% Zc : 22,23-double bond Zd : 23,24-double bond
-% Ze : 24,25-double bond Zf : 25,26-double bond
-% Zg : 25,27-double bond
-% \end{verbatim}
-%
-% For a two-character indicator, you should write the BONDLIST
-% as, e.g.
-%
-% \begin{verbatim}
-% [b{Za}{Zc}...]
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 24 (execpt fused positions)
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom (boldface)
-% nB : beta single bond at n-atom (dotted line)
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% For numbers larger than 9 (two digits), you should designate
-% the SUBSLIST as
-%
-% \begin{verbatim}
-% {{11}A}==Cl;{{12}SA}==H;{{12}SB}==Cl; ...
-% \end{verbatim}
-%
-% \begin{verbatim}
-% for n = 5,8,9,10,13,14,and 25 (fused positions etc.)
-%
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom (boldface)
-% nB : beta single bond at n-atom (dotted line)
-% nU : unspecified single bond at n-atom
-% \end{verbatim}
-%
-% \begin{verbatim}
-% e.g.
-%
-% \steroidchain{1==Cl;2==F;{{10}}==OH}
-% \steroidchain[c]{1==Cl;4==F;2==CH$_{3}$;%
-% {{11}SA}==OH;{{11}SB}==OH}
-% \steroidchain[b]{1D==O;4SA==MeO;4SB==OMe;%
-% ;6==Cl;7==Cl;11==Cl}
-% \end{verbatim}
-%
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylpositionh}, \cs{if@ylsw}
-% \cs{ylfusedposition},
-% \cs{yl@shiftii}, \cs{@ylii}, \cs{@@ylii}, \cs{yl@shifti}, \cs{@yli},
-% \cs{@yli}, \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v1.02}{1998/10/31}{The inner commands \cs{yl@steroidposition}
-% is used. The old \cs{steroid} is replaced by \cs{@steroidskeleton}.}
-% \changes{v2.00}{1998/11/31}{Add: fused rings}
-%
-% \begin{macro}{\steroidchain}
-% \begin{macrocode}
-\def\steroidchain{\@ifnextchar[{\@steroidchain[@}{\@steroidchain[Z]}}
-\def\@steroidchain[#1]#2{%
-%shift due to the steroid skeleton
-\@reset@ylsw\reset@@yl
-\yl@steroidposition{#2}%
-%shift due to the side chain
-\ylposition{#2}{-21}{0}{3}{0}%for 22 and 23 positions
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-1026}\def\@@yli{-606}\fi
-\else
-\ylposition{#2}{-14}{5}{7}{0}%for 20 position
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{-1026}\def\@@yli{-606}\fi\else
-\ylposition{#2}{-20}{3}{5}{0}%for 24 position
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{-1197}\def\@@yli{-709}\fi\else
-\ylatombondposition{#2}{-24}{4}% % for 5
-\fi
-\if@ylsw\ifx\@@ylii\empty
-\def\@@ylii{-1397}\def\@@yli{-709}\fi\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \ifx\@@ylii\empty\else
- \advance\yl@shiftii\@@ylii\fi
- \yl@shifti=\@yli
- \ifx\@@yli\empty\else
- \advance\yl@shifti\@@yli\fi
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(2000,1500)(-\shiftii,-\shifti)
- \iforigpt \typeout{command `steroidchain' is based on `steroid'.}\fi%
-\fi
-% steroid skeleton
- \put(0,0){\@steroidskeleton{#1}{#2}}%
-% bonds for the side chain (carbons 20 to 27 (except 21))
- \put(855,709){\line(0,1){200}}% %bond 17-20
- \put(1026,1012){\line(-5,-3){171}}% %bond 22-20
- \put(1026,1012){\line(5,-3){171}}% %bond 22-23
- \put(1197,709){\line(0,1){200}}% %bond 24-23
- \put(1197,709){\line(1,0){200}}% %bond 24-25
- \put(1397,709){\line(3,5){103}}% %bond 25-26
- \put(1397,709){\line(3,-5){103}}% %bond 25-27
-% double bonds along the side chain
-\@tfor\member:=#1\do{%
-\expandafter\twoCH@R\member//\relax%
-\if\@tmpa Z\relax%
- \ifx\@tmpb\empty%no action
- \else\if\@tmpb a%
- \put(888,735){\line(0,1){148}}% %double bond 17-20
- \else\if\@tmpb b%
- \put(1020,970){\line(-5,-3){126}}% %double bond 22-20
- \else\if\@tmpb c%
- \put(1032,970){\line(5,-3){126}}% %double bond 22-23
- \else\if\@tmpb d%
- \put(1164,735){\line(0,1){148}}% %double bond 24-23
- \else\if\@tmpb e%
- \put(1233,742){\line(1,0){140}}% %double bond 24-25
- \else\if\@tmpb f%
- \put(1433,715){\line(3,5){72}}% %double bond 25-26
- \else\if\@tmpb g%
- \put(1433,697){\line(3,-5){72}}% %double bond 25-27
- \fi\fi\fi\fi\fi\fi\fi\fi\fi}
-% substitution on the side chain
-\put(1026,606){\setsixringv{#2}{-21}{0}{3}{0}}%for 22 and 23 positions
-\put(1026,606){\setsixringv{#2}{-14}{5}{7}{0}}%for 20 position
-\put(1197,709){\setsixringv{#2}{-20}{3}{5}{0}}%for 24 position
-\put(1397,709){\setatombond{#2}{-24}{4}}% % for 5
-\end{picture}}% %end of \steroidchain macro%
-%</carom>
-% \end{macrocode}
-% \end{macro}
-%
-% \Finale
-%
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/carom.ins b/Master/texmf-dist/source/latex/xymtex/carom.ins
deleted file mode 100644
index 922c74a0936..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/carom.ins
+++ /dev/null
@@ -1,51 +0,0 @@
-\def\batchfile{carom.ins}
-\input docstrip.tex
-\preamble
-
-This is a generated file.
-
-Copyright 1996, 1988, 2000 by Shinsaku Fujita
-
-This file is part of the XyMTeX system.
-=======================================
-
-Version 1.01 Released on August 16, 1996
-Version 1.02 Released on October 31, 1998
-Version 2.00 Released on December 25, 1998
-Version 2.00a Released on June 14, 2000
-
-Copyright (C) 1996,1998,2000 by Shinsaku Fujita, all rights reserved.
-This style file is created for drawing chemical structural formulas
-This style file is to be contained in the ``xymtex'' directory which
-is an input directory for TeX.
-
-Copying of this file is authorized only if either
-
- (1) you make absolutely no changes to your copy, including name and
- directory name
- (2) if you do make changes,
- (a) you name it something other than the names included in the
- ``xymtex'' directory and
- (b) you acknowledge the original name.
- This restriction ensures that all standard styles are identical.
-
-=======================================
-
-This file contains several codes modified from latex.tex (LaTeX2.09)
-and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-Copyright 1994 the LaTeX3 project and the individual authors (For further
-copyright information see the file legal.txt of the LaTeX2e standard
-distribution, and any other copyright indicated in this file.)
-
-\endpreamble
-
-\keepsilent
-
-\generateFile{carom.drv}{t}{%
- \from{carom.dtx}{driver}}
-
-\generateFile{carom.sty}{t}{%
- \from{carom.dtx}{carom}}
-
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/ccycle.drv b/Master/texmf-dist/source/latex/xymtex/ccycle.drv
deleted file mode 100644
index 783f24c071e..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/ccycle.drv
+++ /dev/null
@@ -1,81 +0,0 @@
-%%
-%% This is file `ccycle.drv',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% ccycle.dtx (with options: `driver')
-%%
-%% This is a generated file.
-%%
-%% Copyright 1996,1998 by Shinsaku Fujita
-%%
-%% This file is part of the XyMTeX system.
-%% =======================================
-%%
-%% Version 1.01 Released on August 16, 1996
-%% Version 1.02 Released on October 31, 1996
-%% Version 2.00 Released on December 25, 1998
-%%
-%% Copyright (C) 1996,1998 by Shinsaku Fujita, all rights reserved.
-%% This style file is created for drawing chemical structural formulas
-%% This style file is to be contained in the ``xymtex'' directory which
-%% is an input directory for TeX.
-%%
-%% Copying of this file is authorized only if either
-%%
-%% (1) you make absolutely no changes to your copy, including name and
-%% directory name
-%% (2) if you do make changes,
-%% (a) you name it something other than the names included in the
-%% ``xymtex'' directory and
-%% (b) you acknowledge the original name.
-%% This restriction ensures that all standard styles are identical.
-%%
-%% =======================================
-%%
-%% This file contains several codes modified from latex.tex (LaTeX2.09)
-%% and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-%% Copyright 1994 the LaTeX3 project and the individual authors (For further
-%% copyright information see the file legal.txt of the LaTeX2e standard
-%% distribution, and any other copyright indicated in this file.)
-%%
-%% File: ccycle.dtx
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{ccycle.dtx}[1998/12/25 v2.00 XyMTeX{} package file]
-\documentclass{ltxdoc}
-\GetFileInfo{ccycle.dtx}
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-\title{Further Cyclic Compounds by {\sffamily ccycle.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606 Japan
-}
-\date{\filedate}
-\begin{document}
- \maketitle
- \DocInput{ccycle.dtx}
-\end{document}
-\endinput
-%%
-%% End of file `ccycle.drv'.
diff --git a/Master/texmf-dist/source/latex/xymtex/ccycle.dtx b/Master/texmf-dist/source/latex/xymtex/ccycle.dtx
deleted file mode 100644
index 7cc870485b6..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/ccycle.dtx
+++ /dev/null
@@ -1,3144 +0,0 @@
-% \iffalse meta-comment
-%% File: ccycle.dtx
-%
-% Copyright 1993,1996,1998 by Shinsaku Fujita
-%
-% This file is part of XyMTeX system.
-% -------------------------------------
-%
-% This file is a successor to:
-%
-% ccycle.sty
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 1.00}
-% \typeout{ -- Released December 1, 1993 by Shinsaku Fujita}
-% Copyright (C) 1993 by Shinsaku Fujita, all rights reserved.
-%
-% This file is a part of the macro package ``XyMTeX'' which has been
-% designed for typesetting chemical structural formulas.
-%
-% This file is to be contained in the ``xymtex'' directory which is
-% an input directory for TeX. It is a LaTeX optional style file and
-% should be used only within LaTeX, because several macros of the file
-% are based on LaTeX commands.
-%
-% For the review of XyMTeX, see
-% (1) Shinsaku Fujita, ``Typesetting structural formulas with the text
-% formatter TeX/LaTeX'', Computers and Chemistry, in press.
-% The following book deals with an application of TeX/LaTeX to
-% preparation of manuscripts of chemical fields:
-% (2) Shinsaku Fujita, ``LaTeX for Chemists and Biochemists''
-% Tokyo Kagaku Dozin, Tokyo (1993) [in Japanese].
-%
-% Copying of this file is authorized only if either
-% (1) you make absolutely no changes to your copy, including name and
-% directory name; or
-% (2) if you do make changes,
-% (a) you name it something other than the names included in the
-% ``xymtex'' directory and
-% (b) you are requested to leave this notice intact.
-% This restriction ensures that all standard styles are identical.
-%
-% Please report any bugs, comments, suggestions, etc. to:
-% Shinsaku Fujita,
-% Ashigara Research Laboratories, Fuji Photo Film Co., Ltd.,
-% Minami-Ashigara, Kanagawa-ken, 250-01, Japan.
-%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{ccycle}
-% \def\versi@ndate{December 01, 1993}
-% \def\versi@nno{ver1.00}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{ccycle}
-% \def\versi@ndate{March 05, 1994}
-% \def\versi@nno{ver1.01}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{ccycle}
-% \def\versi@ndate{August 16, 1996}
-% \def\versi@nno{ver1.01a}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{ccycle}
-% \def\versi@ndate{October 31, 1998}
-% \def\versi@nno{ver1.02}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% \fi
-%
-% \CheckSum{3793}
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%
-% \setcounter{StandardModuleDepth}{1}
-%
-% \StopEventually{}
-% \MakeShortVerb{\|}
-%
-% \iffalse
-% \changes{v1.01a}{1996/06/17}{first edition for LaTeX2e}
-% \changes{v1.02}{1998/10/31}{revised edition for LaTeX2e}
-% \changes{v2.00}{1998/12/25}{enhanced edition for LaTeX2e}
-% \fi
-%
-% \iffalse
-%<*driver>
-\NeedsTeXFormat{pLaTeX2e}
-% \fi
-\ProvidesFile{ccycle.dtx}[1998/12/25 v2.00 XyMTeX{} package file]
-% \iffalse
-\documentclass{ltxdoc}
-\GetFileInfo{ccycle.dtx}
-%
-% %%XyMTeX Logo: Definition 2%%%
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\title{Further Cyclic Compounds by {\sffamily ccycle.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606 Japan
-% % (old address)
-% % Ashigara Research Laboratories,
-% % Fuji Photo Film Co., Ltd., \\
-% % Minami-Ashigara, Kanagawa, 250-01 Japan
-}
-\date{\filedate}
-%
-\begin{document}
- \maketitle
- \DocInput{ccycle.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \section{Introduction}\label{ccycle:intro}
-%
-% \subsection{Options for {\sffamily docstrip}}
-%
-% \DeleteShortVerb{\|}
-% \begin{center}
-% \begin{tabular}{|l|l|}
-% \hline
-% \emph{option} & \emph{function}\\ \hline
-% ccycle & ccycle.sty \\
-% driver & driver for this dtx file \\
-% \hline
-% \end{tabular}
-% \end{center}
-% \MakeShortVerb{\|}
-%
-% \subsection{Version Information}
-%
-% \begin{macrocode}
-%<*ccycle>
-\typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 2.00}
-\typeout{ -- Released December 25, 1998 by Shinsaku Fujita}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\j@urnalname{ccycle}
-\def\versi@ndate{December 25, 1998}
-\def\versi@nno{ver2.00}
-\def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\typeout{XyMTeX Macro File `\j@urnalname' (\versi@nno) <\versi@ndate>%
-\space[\copyrighth@lder]}
-% \end{macrocode}
-%
-% \section{List of commands for ccycle.sty}
-%
-% \begin{verbatim}
-% ********************************
-% * ccycle.sty: list of commands *
-% ********************************
-%
-% Setting of Bonds
-%
-% \@chaira (for cyclohexane chair)
-% \@chairb
-% \@chairc
-% \@chaird
-% \@chaire
-% \@chairf
-%
-% \@borna (for bornanes)
-% \@bornb
-% \@bornc
-% \@bornd
-% \@borne
-% \@bornf
-% \@borng
-%
-% Basic Macros
-%
-% \chair \@chair
-% \bicychepv \@bicychepv
-% \bicycheph \@bicycheph
-% \bornane \@bornane
-% \adamantane \@damantane
-%
-% (Added March 05, 1994 by Shinsaku Fujita)
-% Setting of Bonds
-%
-% \@chairia (for cyclohexane chair inversed)
-% \@chairib \@chairic \@chairid
-% \@chairie \@chairif
-%
-% Basic Macros
-%
-% \chairi \@chairi
-%
-% (Added June 16, 1996 by Shinsaku Fujita)
-% Setting of Bonds
-%
-% \@chairiI (for horizontal-type adamantane)
-% \@chairiII \@chairiIII \@chairiIV
-% \@chairiV \@chairiVI \@chairiVII
-% \@chairiVIII \@chairiIX \@chairiX
-%
-% Basic Macros
-%
-% \hadamantane \@hadamantane
-%
-% Macros for adjusting substitution sites (for Version 1.02)
-%
-% \ylchairposition
-% \ylchairiposition
-% \ylbornaneposition
-% \yladamanposition
-% \ylhadamanposition
-%
-% \end{verbatim}
-%
-% \section{Input of basic macros}
-%
-% To assure the compatibility to \LaTeX{}2.09 (the native mode),
-% the commands added by \LaTeXe{} have not been used in the resulting sty
-% files ({\sf ccycle.sty} for the present case). Hence, the combination
-% of |\input| and |\@ifundefined| is used to crossload sty
-% files ({\sf chemstr.sty} for the present case) in place of the
-% |\RequirePackage| command of \LaTeXe{}.
-%
-% \begin{macrocode}
-% *************************
-% * input of basic macros *
-% *************************
-\@ifundefined{setsixringv}{\input chemstr.sty\relax}{}
-\unitlength=0.1pt
-% \end{macrocode}
-%
-% \section{Chair-form cyclohexanes}
-% \subsection{Macros for setting substituents}
-%
-% Macros |\@chaira| to |\@chairf| are used to set substituents
-% on each position of cyclohexane. Note that comments (conerning locant
-% numbers) on the end of each row have lost the exact meaning,
-% since such a command moiety is used in many macros after copying.
-%
-% \begin{macro}{\@chaira}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% **********************************************
-% * treatment of the chair form of cyclohexane *
-% **********************************************
-% %%%%%%%%%%%%%%%
-% % subst. on 1 %
-% %%%%%%%%%%%%%%%
-\def\@chaira{%
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=10
- \yl@ydiff=10
- \put(0,0){\line(-1,1){120}}% single bond at 1
- \putlatom{-130}{110}{\@memberb}% left type
- \else\if\@tmpc a%(a) axial
- \yl@xdiff=42
- \yl@ydiff=-12
- \put(0,0){\line(0,1){168}}% single bond at 1 axial
- \putlratom{-42}{180}{\@memberb}% left & right type
- \else\if\@tmpc e%(e) beta
- \yl@xdiff=16
- \yl@ydiff=44
- \put(0,0){\line(-5,-3){144}}% single bond at 1 equatorial
- \putlatom{-160}{-130}{\@memberb}% left type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=10
- \yl@ydiff=10
- \put(-10,-10){\line(-1,1){120}}% double bond at 1
- \put(10,10){\line(-1,1){120}}% double bond at 1
- \putlatom{-130}{110}{\@memberb}% left type
- \else%
- \yl@xdiff=10
- \yl@ydiff=10
- \put(0,0){\line(-1,1){120}}% single bond at 1
- \putlatom{-130}{110}{\@memberb}% left type
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@chairb}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 2 %
-% %%%%%%%%%%%%%%%
-\def\@chairb{%
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=10
- \yl@ydiff=70
- \put(170,-226){\line(-1,-1){120}}% single bond at 2
- \putlatom{40}{-416}{\@memberb}% left type
- \else\if\@tmpc a%(a) axial
- \yl@xdiff=32
- \yl@ydiff=92
- \put(170,-226){\line(0,-1){168}}% single bond at 2 axial
- \putlratom{138}{-486}{\@memberb}% left & right type
- \else\if\@tmpc e%(e) beta
- \yl@xdiff=16
- \yl@ydiff=34
- \put(170,-226){\line(-5,3){144}}% single bond at 2 equatorial
- \putlatom{10}{-174}{\@memberb}% left type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=10
- \yl@ydiff=70
- \put(160,-216){\line(-1,-1){120}}% double bond at 2
- \put(180,-236){\line(-1,-1){120}}% double bond at 2
- \putlatom{40}{-416}{\@memberb}% left type
- \else%
- \yl@xdiff=10
- \yl@ydiff=70
- \put(170,-226){\line(-1,-1){120}}% single bond at 2
- \putlatom{40}{-416}{\@memberb}% left type
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@chairc}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 3 %
-% %%%%%%%%%%%%%%%
-\def\@chairc{%
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=-10
- \yl@ydiff=24
- \put(573,-91){\line(5,4){170}}% single bond at 3
- \putratom{753}{21}{\@memberb}% right type
- \else\if\@tmpc a%(a) axial
- \yl@xdiff=40
- \yl@ydiff=-24
- \put(573,-91){\line(0,1){168}}% single bond at 3 axial
- \putlratom{533}{101}{\@memberb}% left type
- \else\if\@tmpc e%(e) beta
- \yl@xdiff=-36
- \yl@ydiff=83
- \put(573,-91){\line(5,-3){144}}% single bond at 3 equatorial
- \putlatom{753}{-260}{\@memberb}% left type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=0
- \yl@ydiff=0
- \put(563,-83){\line(5,4){170}}% double bond at 3
- \put(583,-99){\line(5,4){170}}% double bond at 3
- \putratom{733}{41}{\@memberb}% right type
- \else%
- \yl@xdiff=-10
- \yl@ydiff=24
- \put(573,-91){\line(5,4){170}}% single bond at 3
- \putratom{753}{21}{\@memberb}% right type
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@chaird}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 4 %
-% %%%%%%%%%%%%%%%
-\def\@chaird{%
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=10
- \yl@ydiff=70
- \put(843,-181){\line(1,-1){120}}% single bond at 4
- \putratom{953}{-371}{\@memberb}% right type
- \else\if\@tmpc a%(a) axial
- \yl@xdiff=42
- \yl@ydiff=91
- \put(843,-181){\line(0,-1){168}}% single bond at 4 axial
- \putlratom{801}{-440}{\@memberb}% left & right type
- \else\if\@tmpc e%(e) beta
- \yl@xdiff=-16
- \yl@ydiff=16
- \put(843,-181){\line(5,3){144}}% single bond at 4 equatorial
- \putratom{1003}{-111}{\@memberb}% right type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=10
- \yl@ydiff=70
- \put(833,-191){\line(1,-1){120}}% double bond at 4
- \put(853,-171){\line(1,-1){120}}% double bond at 4
- \putratom{953}{-371}{\@memberb}% right type
- \else%
- \yl@xdiff=10
- \yl@ydiff=70
- \put(843,-181){\line(1,-1){120}}% single bond at 4
- \putratom{953}{-371}{\@memberb}% right type
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@chaire}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 5 %
-% %%%%%%%%%%%%%%%
-\def\@chaire{%
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=-10
- \yl@ydiff=10
- \put(673,46){\line(1,1){120}}% single bond at 5
- \putratom{803}{158}{\@memberb}% right type
- \else\if\@tmpc a%(a) axial
- \yl@xdiff=40
- \yl@ydiff=-24
- \put(673,46){\line(0,1){168}}% single bond at 5 axial
- \putlratom{633}{238}{\@memberb}% left & right type
- \else\if\@tmpc e%(e) beta
- \yl@xdiff=-6
- \yl@ydiff=63
- \put(673,46){\line(5,-3){144}}% single bond at 5 equatorial
- \putratom{823}{-103}{\@memberb}% right type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=-10
- \yl@ydiff=10
- \put(663,53){\line(1,1){120}}% double bond at 5
- \put(683,38){\line(1,1){120}}% double bond at 5
- \putratom{803}{158}{\@memberb}% right type
- \else%
- \yl@xdiff=-10
- \yl@ydiff=24
- \put(673,46){\line(5,4){170}}% single bond at 5
- \putratom{853}{158}{\@memberb}% right type
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@chairf}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 6 %
-% %%%%%%%%%%%%%%%
-\def\@chairf{%
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=0
- \yl@ydiff=54
- \put(270,-90){\line(-5,-4){170}}% single bond at 2
- \putlatom{100}{-280}{\@memberb}% left type
- \else\if\@tmpc a%(a) axial
- \yl@xdiff=32
- \yl@ydiff=92
- \put(270,-90){\line(0,-1){168}}% single bond at 2 axial
- \putlratom{238}{-350}{\@memberb}% left type
- \else\if\@tmpc e%(e) beta
- \yl@xdiff=26
- \yl@ydiff=-14
- \put(270,-90){\line(-5,3){144}}% single bond at 2 equatorial
- \putratom{100}{18}{\@memberb}% left type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=0
- \yl@ydiff=54
- \put(260,-80){\line(-5,-4){170}}% double bond at 2
- \put(280,-100){\line(-5,-4){170}}% double bond at 2
- \putlatom{100}{-280}{\@memberb}% left or right type
- \else%
- \yl@xdiff=0
- \yl@ydiff=54
- \put(270,-90){\line(-5,-4){170}}% single bond at 2
- \putlatom{100}{-280}{\@memberb}% left type
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Drawing of Chair-form cyclohexanes}
-%
-% The standard skeleton of a chair form of cyclohexane is selected
-% to have the following locant numbers.
-%
-% \begin{verbatim}
-% ***************************
-% * cyclohexane derivatives *
-% * (chair type) *
-% ***************************
-% The following numbering is adopted in this macro.
-%
-% 5
-% / 3 *
-% 1 * 6 / * 4
-% * 2
-%
-% \end{verbatim}
-%
-% The macro |\chair| has an argument |SUBSLIST| as well as an optional
-% argument |BONDLIST|.
-%
-% \begin{verbatim}
-% \chair[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected from a to f, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% \begin{verbatim}
-%
-% BONDLIST =
-%
-% none : cyclohexane
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% f : 6,1-double bond
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents (max 12 substitution positions)
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% nSa : axial single bond at n-atom
-% nSe : equatorial single bond at n-atom
-%
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-%
-% \begin{verbatim}
-% \chair{1==Cl;2==F}
-% \chair[a]{1==Cl;4==F;2==CH$_{3}$}
-% \chair[eb]{1D==O;4Se==MeO;4Sa==OMe;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\@chair| uses a picture environment, in which
-% bonds are put directly, while subsituents are typset by using
-% the macros |\@chaira| to |\@chairf| described above.
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylchairposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\@chair}
-% \begin{macro}{\chair}
-% \begin{macrocode}
-\def\chair{\@ifnextchar[{\@chair}{\@chair[r]}}
-\def\@chair[#1]#2{%
-\@reset@ylsw%
-\ylchairposition{#2}%
-\def\@@ylii{0}\def\@@yli{0}%
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
-\else
- \begin{picture}(1600,800)(-400,-500)
- \iforigpt \put(-400,-500){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `chair' origin: (0,0) ---> (400,500)}
- \fi%
-\fi
-%skeletal bonds
- \thicklines%
- \put(0,0){\line(3,-4){170}}% % bond 1 to 2
- \put(170,-226){\line(3,1){403}}% % 2 to 3
- \put(573,-91){\line(3,-1){270}}% % 3 to 4
- \thinlines%
- \put(843,-181){\line(-3,4){170}}% % 4 to 5
- \put(673,46){\line(-3,-1){403}}% % 5 to 6
- \put(0,0){\line(3,-1){270}}% % 1 to 6
-% inner double bonds
-\@tfor\member:=#1\do{%
-\if\member r%no endcyclic bonds
-\else \if\member a%
- \put(76,-42){\line(3,-4){110}}% % double bond 1 to 2
-\else \if\member b%
- \put(200,-186){\line(3,1){343}}% % 2 to 3
-\else \if\member c%
- \put(603,-70){\line(3,-1){190}}% % 3 to 4
-\else \if\member d%
- \put(780,-141){\line(-3,4){110}}% % 4 to 5
-\else \if\member e%
- \put(661,6){\line(-3,-1){343}}% % 5 to 6
-\else \if\member f%
- \put(75,-50){\line(3,-1){170}}% % 1 to 6
-\fi\fi\fi\fi\fi\fi\fi}%
-% setting substituents
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa%0 omit
- \or\@chaira% subst. on 1
- \or\@chairb% subst. on 2
- \or\@chairc% subst. on 3
- \or\@chaird% subst. on 4
- \or\@chaire% subst. on 5
- \or\@chairf% subst. on 6
-\fi%end of ifcase
-\fi\fi%
-}\end{picture}}% %end of \chair macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The command |\ylchairposition| is to obtain the shift values
-% |\@ylii| and |\@yli| which are used for shifting the standard
-% point of a substituent.
-% \changes{v1.02}{1998/10/23}{New ommands for setting substituents}
-%
-% \begin{macro}{\ylchairposition}
-% \begin{macrocode}
-\def\ylchairposition#1{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa%0 omit
- \or\gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 1
- \or\gdef\@ylii{-170}\gdef\@yli{226}\global\@ylswtrue% subst. on 2
- \or\gdef\@ylii{-573}\gdef\@yli{91}\global\@ylswtrue% subst. on 3
- \or\gdef\@ylii{-843}\gdef\@yli{181}\global\@ylswtrue% subst. on 4
- \or\gdef\@ylii{-673}\gdef\@yli{-46}\global\@ylswtrue% subst. on 5
- \or\gdef\@ylii{-270}\gdef\@yli{90}\global\@ylswtrue% subst. on 6
-\fi%end of ifcase
-\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Inverse chair-form cyclohexanes}
-% \subsection{Macros for setting substituents}
-%
-% Macros |\@chairia| to |\@chairif| are used to set substituents
-% on each position of cyclohexane. Note that they corresopond to
-% the counterparts of chair-form cyclohexanes described above.
-%
-% \begin{macro}{\@chairia}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% ********************************************************
-% * treatment of the chair form (inverse) of cyclohexane *
-% * added March 05, 1994 by Shinsaku Fujita *
-% ********************************************************
-% %%%%%%%%%%%%%%%
-% % subst. on 1 %
-% %%%%%%%%%%%%%%%
-\def\@chairia{%
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=10
- \yl@ydiff=90
- \put(0,0){\line(-1,-1){120}}% single bond at 1
- \putlatom{-130}{-210}{\@memberb}% left type
- \else\if\@tmpc a%(a) axial
- \yl@xdiff=42
- \yl@ydiff=92
- \put(0,0){\line(0,-1){168}}% single bond at 1 axial
- \putlratom{-42}{-260}{\@memberb}% left & right type
- \else\if\@tmpc e%(e) beta
- \yl@xdiff=16
- \yl@ydiff=36
- \put(0,0){\line(-5,3){144}}% single bond at 1 equatorial
- \putlatom{-160}{50}{\@memberb}% left type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=10
- \yl@ydiff=90
- \put(-10,10){\line(-1,-1){120}}% double bond at 1
- \put(10,-10){\line(-1,-1){120}}% double bond at 1
- \putlatom{-130}{-210}{\@memberb}% left type
- \else%
- \yl@xdiff=10
- \yl@ydiff=90
- \put(0,0){\line(-1,-1){120}}% single bond at 1
- \putlatom{-130}{-210}{\@memberb}% left type
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@chairif}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 6 %
-% %%%%%%%%%%%%%%%
-\def\@chairif{%
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=10
- \yl@ydiff=30
- \put(170,226){\line(-1,1){120}}% single bond at 6
- \putratom{40}{316}{\@memberb}% left type
- \else\if\@tmpc a%(a) axial
- \yl@xdiff=32
- \yl@ydiff=-12
- \put(170,226){\line(0,1){168}}% single bond at 6 axial
- \putlratom{138}{406}{\@memberb}% left & right type
- \else\if\@tmpc e%(e) beta
- \yl@xdiff=16
- \yl@ydiff=46
- \put(170,226){\line(-5,-3){144}}% single bond at 6 equatorial
- \putlatom{10}{94}{\@memberb}% left type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=10
- \yl@ydiff=30
- \put(160,216){\line(-1,1){120}}% double bond at 6
- \put(180,236){\line(-1,1){120}}% double bond at 6
- \putlatom{40}{316}{\@memberb}% left type
- \else%
- \yl@xdiff=10
- \yl@ydiff=30
- \put(170,226){\line(-1,1){120}}% single bond at 6
- \putlatom{40}{316}{\@memberb}% left type
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@chairie}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 5 %
-% %%%%%%%%%%%%%%%
-\def\@chairie{%
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=-10
- \yl@ydiff=76
- \put(573,91){\line(5,-4){170}}% single bond at 5
- \putratom{753}{-101}{\@memberb}% right type
- \else\if\@tmpc a%(a) axial
- \yl@xdiff=40
- \yl@ydiff=104
- \put(573,91){\line(0,-1){168}}% single bond at 5 axial
- \putlratom{533}{-181}{\@memberb}% left type
- \else\if\@tmpc e%(e) beta
- \yl@xdiff=-36
- \yl@ydiff=3
- \put(573,91){\line(5,3){144}}% single bond at 5 equatorial
- \putlatom{753}{180}{\@memberb}% left type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=-10
- \yl@ydiff=96
- \put(563,83){\line(5,-4){170}}% double bond at 5
- \put(583,99){\line(5,-4){170}}% double bond at 5
- \putratom{733}{-141}{\@memberb}% right type
- \else%
- \yl@xdiff=-10
- \yl@ydiff=76
- \put(573,91){\line(5,-4){170}}% single bond at 5
- \putratom{753}{-121}{\@memberb}% right type
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@chairid}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 4 %
-% %%%%%%%%%%%%%%%
-\def\@chairid{%
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=10
- \yl@ydiff=30
- \put(843,181){\line(1,1){120}}% single bond at 4
- \putratom{953}{271}{\@memberb}% right type
- \else\if\@tmpc a%(a) axial
- \yl@xdiff=42
- \yl@ydiff=-11
- \put(843,181){\line(0,1){168}}% single bond at 4 axial
- \putlratom{801}{360}{\@memberb}% left & right type
- \else\if\@tmpc e%(e) beta
- \yl@xdiff=-16
- \yl@ydiff=64
- \put(843,181){\line(5,-3){144}}% single bond at 4 equatorial
- \putratom{1003}{31}{\@memberb}% right type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=10
- \yl@ydiff=30
- \put(833,191){\line(1,1){120}}% double bond at 4
- \put(853,171){\line(1,1){120}}% double bond at 4
- \putratom{953}{271}{\@memberb}% right type
- \else%
- \yl@xdiff=10
- \yl@ydiff=30
- \put(843,181){\line(1,1){120}}% single bond at 4
- \putratom{953}{271}{\@memberb}% right type
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@chairic}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 3 %
-% %%%%%%%%%%%%%%%
-\def\@chairic{%
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=-10
- \yl@ydiff=92
- \put(673,-46){\line(1,-1){120}}% single bond at 3
- \putratom{803}{-258}{\@memberb}% right type
- \else\if\@tmpc a%(a) axial
- \yl@xdiff=40
- \yl@ydiff=110
- \put(673,-46){\line(0,-1){168}}% single bond at 3 axial
- \putlratom{633}{-318}{\@memberb}% left & right type
- \else\if\@tmpc e%(e) beta
- \yl@xdiff=-6
- \yl@ydiff=17
- \put(673,-46){\line(5,3){144}}% single bond at 3 equatorial
- \putratom{823}{23}{\@memberb}% right type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=-5
- \yl@ydiff=96
- \put(663,-53){\line(1,-1){120}}% double bond at 3
- \put(683,-38){\line(1,-1){120}}% double bond at 3
- \putratom{803}{-258}{\@memberb}% right type
- \else%
- \yl@xdiff=-10
- \yl@ydiff=76
- \put(673,-46){\line(5,-4){170}}% single bond at 3
- \putratom{853}{-258}{\@memberb}% right type
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@chairib}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 2 %
-% %%%%%%%%%%%%%%%
-\def\@chairib{%
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=0
- \yl@ydiff=46
- \put(270,90){\line(-5,4){170}}% single bond at 2
- \putlatom{100}{180}{\@memberb}% left type
- \else\if\@tmpc a%(a) axial
- \yl@xdiff=32
- \yl@ydiff=-12
- \put(270,90){\line(0,1){168}}% single bond at 2 axial
- \putlratom{238}{270}{\@memberb}% left type
- \else\if\@tmpc e%(e) beta
- \yl@xdiff=26
- \yl@ydiff=94
- \put(270,90){\line(-5,-3){144}}% single bond at 2 equatorial
- \putratom{100}{-98}{\@memberb}% left type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=0
- \yl@ydiff=26
- \put(260,80){\line(-5,4){170}}% double bond at 2
- \put(280,100){\line(-5,4){170}}% double bond at 2
- \putlatom{100}{200}{\@memberb}% left or right type
- \else%
- \yl@xdiff=0
- \yl@ydiff=26
- \put(270,90){\line(-5,4){170}}% single bond at 2
- \putlatom{100}{200}{\@memberb}% left type
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Drawing of inverse chair-form cyclohexanes}
-%
-% The standard skeleton of an inverse chair form of cyclohexane is selected
-% to have the following locant numbers.
-%
-% \begin{verbatim}
-% ***************************
-% * cyclohexane derivatives *
-% * (inverse chair type) *
-% ***************************
-% The following numbering is adopted in this macro.
-%
-% 6 4
-% * ` 5 *
-% 1 * 2 *
-% ` 3
-%
-% \end{verbatim}
-%
-% The macro |\chairi| has an argument |SUBSLIST| as well as an optional
-% argument |BONDLIST|.
-%
-% \begin{verbatim}
-% \chairi[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected from a to f, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : cyclohexane
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% f : 6,1-double bond
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents (max 8 substitution positions)
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% nSa : axial single bond at n-atom
-% nSe : equatorial single bond at n-atom
-%
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-%
-% \begin{verbatim}
-% e.g.
-%
-% \chairi[eb]{1D==O;4Se==MeO;4Sa==OMe;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\@chairi| uses a picture environment, in which
-% bonds are put directly, while subsituents are typset by using
-% the macros |\@chairia| to |\@chairif| described above.
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylchairiposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\@chairi}
-% \begin{macro}{\chairi}
-% \begin{macrocode}
-\def\chairi{\@ifnextchar[{\@chairi}{\@chairi[r]}}
-\def\@chairi[#1]#2{%
-\@reset@ylsw%
-\ylchairiposition{#2}%
-\def\@@ylii{0}\def\@@yli{0}%
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
-\else
- \begin{picture}(1600,800)(-400,-319)
- \iforigpt \put(-400,-319){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `chairi' origin: (0,0) ---> (400,319)}
- \fi%
-\fi
-% skeletal bonds
- \thinlines%
- \put(0,0){\line(3,4){170}}% % bond 1 to 6
- \put(170,226){\line(3,-1){403}}% % 6 to 5
- \put(573,91){\line(3,1){270}}% % 5 to 4
- \thicklines%
- \put(843,181){\line(-3,-4){170}}% % 4 to 3
- \put(673,-46){\line(-3,1){403}}% % 3 to 2
- \put(0,0){\line(3,1){270}}% % 1 to 2
- \thinlines%
-% inner double bonds
-\@tfor\member:=#1\do{%
-\if\member r%no endcyclic bonds
-\else \if\member c%%%a%
- \put(767,139){\line(-3,-4){110}}% % double bond 3 to 4
-\else \if\member b%%%d%%%b%
- \put(640,-5){\line(-3,1){343}}% % 4 to 5
-\else \if\member a%%%e%%%%c%
- \put(240,111){\line(-3,-1){190}}% % 5 to 6
-\else \if\member f%%%d%
- \put(63,40){\line(3,4){110}}% % 6 to 7
-\else \if\member e%%%l%
- \put(182,187){\line(3,-1){343}}% % 7 to 10
-\else \if\member d%%%k%%%f%
- \put(768,131){\line(-3,-1){170}}% % 10 to 3
-\fi\fi\fi\fi\fi\fi\fi}%
-% %
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa%0 omit
- \or \@chairia% subst. on 1
- \or \@chairib% subst. on 2
- \or \@chairic% subst. on 3
- \or \@chairid% subst. on 4
- \or \@chairie% subst. on 5
- \or \@chairif% subst. on 6
-\fi %end of ifcase
-\fi\fi%
-}\end{picture}}% %end of \chairi macro
-% End of addition 1994/03/05 SF
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The command |\ylchairiposition| is to obtain the shift values
-% |\@ylii| and |\@yli| which are used for shifting the standard
-% point of a substituent.
-% \changes{v1.02}{1998/10/23}{New ommands for setting substituents}
-%
-% \begin{macro}{\ylchairiposition}
-% \begin{macrocode}
-\def\ylchairiposition#1{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa%0 omit
- \or\gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 1
- \or\gdef\@ylii{-270}\gdef\@yli{-90}\global\@ylswtrue% subst. on 2
- \or\gdef\@ylii{-673}\gdef\@yli{46}\global\@ylswtrue% subst. on 3
- \or\gdef\@ylii{-843}\gdef\@yli{-181}\global\@ylswtrue% subst. on 4
- \or\gdef\@ylii{-573}\gdef\@yli{-91}\global\@ylswtrue% subst. on 5
- \or\gdef\@ylii{-170}\gdef\@yli{-226}\global\@ylswtrue% subst. on 6
-\fi%end of ifcase
-\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Bicycloheptanes}
-% \subsection{Drawing of a flat and vertical type}
-%
-% The flat-and-vertical-type skeleton of bicycloheptanes is selected
-% to have the following locant numbers.
-%
-% \begin{verbatim}
-% *************************************
-% * bicyclo[2.2.1]heptane derivatives *
-% * (flat, vertical type) *
-% *************************************
-% The following numbering is adopted in this macro.
-%
-% 1
-% *
-% 6 * * 2
-% | 7 |
-% | |
-% 5 * * 3
-% *
-% 4 <===== the original point
-% \end{verbatim}
-%
-% The macro |\bicyclohepv| has an argument |SUBSLIST| as well as an optional
-% argument |BONDLIST|.
-%
-% \begin{verbatim}
-% \bicychepv[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected from a to f, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% In order to put dimethyl subsitutents on the top position (7),
-% the character `7' is used in the |BONDLIST|. The delocalization
-% of $\pi$-electron can be described with the character `A' written in
-% the |BONDLIST|.
-% \begin{verbatim}
-%
-% BONDLIST =
-%
-% none : bicyclo[2.2.1]heptane
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% f : 6,1-double bond
-% A : aromatic circle
-% 7 : 7,7-dimethyl
-% \end{verbatim}
-%
-% The |SUBSLIST| argument takes the standard format of \XyMTeX{}, in which
-% more substitution descriptors are separated from each other
-% by a semicolon.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents (max 12 substitution positions)
-%
-% for n = 1 to 7
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specifed) single bond at n-atom
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-%
-% \begin{verbatim}
-% e.g.
-%
-% \bicychepv{1==Cl;2==F}
-% \bicychepv[c]{1==Cl;4==F;2==CH$_{3}$}
-% \bicychepv[eb]{1D==O;4==Me;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\@bicyclohepv| uses a picture environment, in which
-% bonds are put directly, while subsituents are typset by using
-% the macro |\setsixringv| defined in chemstr.sty of \XyMTeX{} system.
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\@bicyclohepv}
-% \begin{macro}{\bicyclohepv}
-% \begin{macrocode}
-\def\bicychepv{\@ifnextchar[{\@bicychepv}{\@bicychepv[r]}}
-\def\@bicychepv[#1]#2{%
-\@reset@ylsw%
-\ylposition{#2}{0}{0}{7}{0}%
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
-\else
- \begin{picture}(800,880)(-400,-240)
- \iforigpt \put(-400,-240){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `bicychepv' origin: (0,0) ---> (400,240)}
-\fi
- \fi%
- \put(0,406){\line(-5,-3){171}}% %bond 1-6
- \put(0,406){\line(5,-3){171}}% %bond 1-2
- \put(0,0){\line(-5,3){171}}% %bond 4-5
- \put(0,0){\line(5,3){171}}% %bond 4-3
- \put(171,103){\line(0,1){200}}% %bond 3-2
- \put(-171,103){\line(0,1){200}}% %bond 5-6
-{\thicklines%
- \put(0,0){\line(1,4){51}}% %bond 4-7
- \put(0,406){\line(1,-4){51}}}% %bond 1-7
-\@tfor\member:=#1\do{%
-\if\member r%no endcyclic double bonds
-\else \if\member a%
- \put(6,364){\line(5,-3){126}}% %double bond 1-2
-\else \if\member b%
- \put(138,129){\line(0,1){148}}% %double bond 3-2
-\else \if\member c%
- \put(6,42){\line(5,3){126}}% %double bond 4-3
-\else \if\member d%
- \put(-6,42){\line(-5,3){126}}% %double bond 4-5
-\else \if\member e%
- \put(-138,129){\line(0,1){148}}% %double bond 5-6
-\else \if\member f%
- \put(-6,364){\line(-5,-3){126}}% %double bond 1-6
-\else \if\member 7%
- {\thicklines%
- \put(51,204){\line(-1,0){70}}% %7,7-dimethyl
- \put(51,204){\line(1,0){70}}}%
-\else \if\member A%aromatic circle
- \put(0,203){\circle{240}}% %circle
-\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
-% %
-\setsixringv{#2}{0}{0}{7}{0}
-\end{picture}} %end of \bicychepv macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Drawing of a flat and horizontal type}
-%
-% The flat-and-horizontal-type skeleton of bicycloheptanes is selected
-% to have the following locant numbers.
-%
-% \begin{verbatim}
-% *************************************
-% * bicyclo[2.2.1]heptane derivatives *
-% * (flat, horizontal type) *
-% *************************************
-% The following numbering is adopted in this macro.
-%
-% 2 3
-% -----
-% * *
-% the original point ===> 1 * 7 * 4
-% (0,0) * *
-% -----
-% 6 5
-% \end{verbatim}
-%
-% The macro |\bicycloheph| has an argument |SUBSLIST| as well as an optional
-% argument |BONDLIST|.
-%
-% \begin{verbatim}
-% \bicycheph[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected from a to f, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% In order to put dimethyl subsitutents on the top position (7),
-% the character `7' is used in the |BONDLIST|. The delocalization
-% of $\pi$-electron can be described with the character `A' written in
-% the |BONDLIST|.
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : bicyclo[2.2.1]heptane
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% f : 6,1-double bond
-% A : aromatic circle
-% 7 : 7,7-dimethyl
-% \end{verbatim}
-%
-% The |SUBSLIST| argument takes the standard format of \XyMTeX{}, in which
-% more substitution descriptors are separated from each other
-% by a semicolon.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents (max 8 substitution positions)
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specifed) single bond at n-atom
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-%
-% \begin{verbatim}
-% e.g.
-%
-% \bicycheph{1==Cl;2==F}
-% \bicycheph[c]{1==Cl;4==F;2==CH$_{3}$}
-% \bicycheph[eb]{1D==O;4==Me;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\@bicycloheph| uses a picture environment, in which
-% bonds are put directly, while subsituents are typset by using
-% the macro |\setsixringh| defined in chemstr.sty of \XyMTeX{} system.
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylpositionh}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\@bicycloheph}
-% \begin{macro}{\bicycloheph}
-% \begin{macrocode}
-\def\bicycheph{\@ifnextchar[{\@bicycheph}{\@bicycheph[r]}}
-\def\@bicycheph[#1]#2{%
-\@reset@ylsw%
-\ylpositionh{#2}{0}{0}{7}{0}%
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
-\else
- \begin{picture}(880,800)(-240,-400)
- \iforigpt \put(-240,-400){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `bicycheph' origin: (0,0) ---> (240,400)}
- \fi%
-\fi
- \put(0,0){\line(3,5){103}} %bond 1-2
- \put(0,0){\line(3,-5){103}} %bond 1-6
- \put(406,0){\line(-3,5){103}} %bond 4-3
- \put(406,0){\line(-3,-5){103}} %bond 4-3
- \put(103,171){\line(1,0){200}} %bond 2-3
- \put(103,-171){\line(1,0){200}} %bond 6-5
-{\thicklines%
- \put(0,0){\line(4,1){203}}% %bond 4-7
- \put(406,0){\line(-4,1){203}}}% %bond 1-7
-\@tfor\member:=#1\do{%
-\if\member r%no endcyclic double bonds
-\else \if\member a%
- \put(42,6){\line(3,5){78}} %double bond 1-2
-\else \if\member b%
- \put(129,138){\line(1,0){148}} %double bond 2-3
-\else \if\member c%
- \put(364,6){\line(-3,5){78}} %double bond 4-3
-\else \if\member d%
- \put(364,-6){\line(-3,-5){78}} %double bond 4-5
-\else \if\member e%
- \put(129,-138){\line(1,0){148}} %double bond 6-5
-\else \if\member f%
- \put(42,-6){\line(3,-5){78}} %double bond 1-6
-\else \if\member 7%
- {\thicklines%
- \put(204,51){\line(0,-1){70}}% %7,7-dimethyl
- \put(204,51){\line(0,1){70}}}%
-\else \if\member A%aromatic circle
- \put(203,0){\circle{240}} %circle
-\fi\fi\fi\fi\fi\fi\fi\fi\fi}
-% %
-\setsixringh{#2}{0}{0}{7}{0}
-\end{picture}} %end of \bicycheph macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Drawing of a stereo type}
-%
-% \subsubsection{Macros for setting substituents}
-%
-% Macros |\@borna| to |\@borng| are used to set substituents
-% on each position of bornane.
-%
-% \begin{macro}{\@borna}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% ***********************************************
-% * setting bonds and substituents for bornanes *
-% * (bicycloe[2.2.1]heptane derivatives) *
-% ***********************************************
-% %%%%%%%%%%%%%%%
-% % subst. on 1 %
-% %%%%%%%%%%%%%%%
-\def\@borna{%
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=8
- \yl@ydiff=3
- \put(318,247){\line(2,5){40}}% % single bond 1
- \putratom{350}{350}{\@memberb}% % right type
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=8
- \yl@ydiff=3
- \put(318,247){\line(2,5){40}}% % single bond 1
- \putratom{350}{350}{\@memberb}% % right type
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=8
- \yl@ydiff=3
- \put(318,247){\line(2,5){40}}% % single bond 1
- \putratom{350}{350}{\@memberb}% % right type
- \fi\fi\fi%
- \else%
- \yl@xdiff=8
- \yl@ydiff=3
- \put(318,247){\line(2,5){40}}% % single bond 1
- \putratom{350}{350}{\@memberb} % right type
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@bornb}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 2 %
-% %%%%%%%%%%%%%%%
-\def\@bornb{%
- \begin{picture}(200,200)(0,0)
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=-10
- \yl@ydiff=20
- \put(0,0){\line(5,2){160}}%
- \putratom{170}{44}{\@memberb}% % left type
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=0
- \yl@ydiff=-5
- \putratom{140}{115}{\@memberb}% % right type
- {%
- \thicklines%
- \put(0,0){\line(4,3){140}}% % endo (a)
- }%
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=10
- \yl@ydiff=30
- \putratom{150}{-86}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(0,0){\line(5,-2){140}}% % exo (b)
- }{{\thicklines%
- \dottedline{20}(0,0)(140,-56)}}%
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=10
- \yl@ydiff=30
- \put(0,0){\line(5,-2){140}}% % endo (a)
- \putratom{150}{-86}{\@memberb}% % right type
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=0
- \yl@ydiff=-10
- \put(0,0){\line(4,3){140}}% % exo (b)
- \putratom{140}{115}{\@memberb}% % right type
- \fi\fi\fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=-10
- \yl@ydiff=20
- \put(-10,-15){\line(5,2){160}}%
- \put(-5,15){\line(5,2){160}}%
- \putratom{170}{44}{\@memberb}% % right type
- \else \if\@tmpb A%alpha single bond
- \yl@xdiff=-10
- \yl@ydiff=20
- \putratom{170}{44}{\@memberb}% % right type
- {%
- \thicklines%
- \put(0,0){\line(5,2){160}}%
- }%
- \else \if\@tmpb B%beta single bond
- \yl@xdiff=-10
- \yl@ydiff=20
- \putratom{170}{44}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(0,0){\line(5,2){160}}%
- }{{\thicklines%
- \dottedline{20}(0,0)(160,64)}}%
- \else%
- \yl@xdiff=-10
- \yl@ydiff=20
- \put(0,0){\line(5,2){160}}%
- \putratom{170}{44}{\@memberb}% % right type
- \fi\fi\fi\fi\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@bornc}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 3 %
-% %%%%%%%%%%%%%%%
-\def\@bornc{%
- \begin{picture}(200,200)(0,0)
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=-10
- \yl@ydiff=30
- \put(0,0){\line(5,-2){140}}%
- \putratom{150}{-86}{\@memberb}% % right type
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=-10
- \yl@ydiff=30
- \putratom{150}{26}{\@memberb}% % right type
- {%
- \thicklines%
- \put(0,0){\line(5,2){140}}% % endo (a)
- }%
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=0
- \yl@ydiff=40
- \putratom{140}{-145}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(0,0){\line(4,-3){140}}% % exo (b)
- }{{\thicklines%
- \dottedline{20}(0,0)(140,-105)}}%
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=0
- \yl@ydiff=40
- \put(0,0){\line(4,-3){140}}% % endo (a)
- \putratom{140}{-145}{\@memberb}% % right type
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-10
- \yl@ydiff=30
- \put(0,0){\line(5,2){140}}% % exo (b)
- \putratom{150}{26}{\@memberb}% % right type
- \fi\fi\fi\fi\fi
- \else \if\@tmpb D%double bond
- \yl@xdiff=10
- \yl@ydiff=50
- \put(10,15){\line(5,-2){160}}%
- \put(5,-15){\line(5,-2){160}}%
- \putratom{170}{-124}{\@memberb}% % right type
- \else \if\@tmpb A%alpha single bond
- \yl@xdiff=-10
- \yl@ydiff=30
- \putratom{150}{-86}{\@memberb}% % right type
- {%
- \thicklines%
- \put(0,0){\line(5,-2){140}}% % endo (a)
- }%
- \else \if\@tmpb B%beta single bond
- \yl@xdiff=-10
- \yl@ydiff=30
- \putratom{150}{-86}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(0,0){\line(5,-2){140}}% % exo (b)
- }{{\thicklines%
- \dottedline{20}(0,0)(140,-56)}}%
- \else%
- \yl@xdiff=-10
- \yl@ydiff=20
- \put(0,0){\line(5,2){160}}%
- \putratom{170}{44}{\@memberb}% % right type
- \fi\fi\fi\fi%
-\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@bornd}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 4 %
-% %%%%%%%%%%%%%%%
-\def\@bornd{%
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=30
- \yl@ydiff=87
- \put(237,47){\line(-2,-5){40}}% % single bond 4
- \putlratom{167}{-140}{\@memberb}% % left & right type
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=30
- \yl@ydiff=87
- \put(237,47){\line(-2,-5){40}}% % single bond 4
- \putlratom{167}{-140}{\@memberb}% % left & right type
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=30
- \yl@ydiff=87
- \put(237,47){\line(-2,-5){40}}% % single bond 4
- \putlratom{167}{-140}{\@memberb}% % left & right type
- \fi\fi\fi%
- \else%
- \yl@xdiff=30
- \yl@ydiff=87
- \put(237,47){\line(-2,-5){40}}% % single bond 4
- \putlratom{167}{-140}{\@memberb}% % left & right type
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@borne}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 5 %
-% %%%%%%%%%%%%%%%
-\def\@borne{%
- \begin{picture}(200,200)(0,0)
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=10
- \yl@ydiff=30
- \put(0,0){\line(-5,-2){140}}%
- \putlatom{-150}{-86}{\@memberb}% % left type
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=10
- \yl@ydiff=30
- \putlatom{-150}{26}{\@memberb}% % left type
- {%
- \thicklines%
- \put(0,0){\line(-5,2){140}}% % endo (a)
- }%
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=0
- \yl@ydiff=40
- \putlatom{-140}{-145}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(0,0){\line(-4,-3){140}}% % exo (b)
- }{{\thicklines%
- \dottedline{20}(0,0)(-140,-105)}}%
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=0
- \yl@ydiff=30
- \put(0,0){\line(-4,-3){140}}% % endo (a)
- \putlatom{-140}{-145}{\@memberb}% % left type
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=10
- \yl@ydiff=30
- \put(0,0){\line(-5,2){140}}% % exo (b)
- \putlatom{-150}{26}{\@memberb}% % left type
- \fi\fi\fi\fi\fi
- \else \if\@tmpb D%double bond
- \yl@xdiff=0
- \yl@ydiff=64
- \put(-10,15){\line(-5,-2){160}}%
- \put(-5,-15){\line(-5,-2){160}}%
- \putlatom{-170}{-124}{\@memberb}% % left type
- \else \if\@tmpb A%alpha single bond
- \yl@xdiff=10
- \yl@ydiff=30
- \putlatom{-150}{-86}{\@memberb}% % left type
- {%
- \thicklines%
- \put(0,0){\line(-5,-2){140}}% % endo (a)
- }%
- \else \if\@tmpb B%beta single bond
- \yl@xdiff=10
- \yl@ydiff=30
- \putlatom{-150}{-86}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(0,0){\line(-5,-2){140}}% % exo (b)
- }{{\thicklines%
- \dottedline{20}(0,0)(-140,-56)}}%
- \else%
- \yl@xdiff=10
- \yl@ydiff=20
- \put(0,0){\line(-5,2){160}}%
- \putlatom{-170}{44}{\@memberb}% % left type
- \fi\fi\fi\fi%
-\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@bornf}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 6 %
-% %%%%%%%%%%%%%%%
-\def\@bornf{%
- \begin{picture}(200,200)(0,0)
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=10
- \yl@ydiff=30
- \put(0,0){\line(-5,2){160}}%
- \putlatom{-170}{44}{\@memberb}% % left type
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=10
- \yl@ydiff=-10
- \putlatom{-140}{115}{\@memberb}% % left type
- {%
- \thicklines%
- \put(0,0){\line(-4,3){140}}% % endo (a)
- }%
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=0
- \yl@ydiff=30
- \putlatom{-150}{-86}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(0,0){\line(-5,-2){140}}% % exo (b)
- }{{\thicklines%
- \dottedline{20}(0,0)(-140,-56)}}%
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=10
- \yl@ydiff=30
- \put(0,0){\line(-5,-2){140}}% % endo (a)
- \putlatom{-150}{-86}{\@memberb}% % left type
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=0
- \yl@ydiff=-10
- \put(0,0){\line(-4,3){140}}% % exo (b)
- \putlatom{-140}{115}{\@memberb}% % left type
- \fi\fi\fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=0
- \yl@ydiff=20
- \put(10,-15){\line(-5,2){160}}%
- \put(5,15){\line(-5,2){160}}%
- \putlatom{-170}{44}{\@memberb}% % left type
- \else \if\@tmpb A%alpha single bond
- \yl@xdiff=10
- \yl@ydiff=30
- \putlatom{-170}{44}{\@memberb}% % left type
- {%
- \thicklines%
- \put(0,0){\line(-5,2){160}}%
- }%
- \else \if\@tmpb B%beta single bond
- \yl@xdiff=10
- \yl@ydiff=30
- \putlatom{-170}{44}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(0,0){\line(-5,2){160}}%
- }{{\thicklines%
- \dottedline{20}(0,0)(-160,64)}}%
- \else%
- \yl@xdiff=10
- \yl@ydiff=20
- \put(0,0){\line(-5,2){160}}%
- \putlatom{-170}{44}{\@memberb}% % left type
- \fi\fi\fi\fi\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@borng}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 7 %
-% %%%%%%%%%%%%%%%
-\def\@borng{%
- \begin{picture}(200,200)(0,0)
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=40
- \yl@ydiff=-20
- \put(0,0){\line(0,1){160}}%
- \putlratom{-40}{180}{\@memberb}% % left & right type
- \else\if\@tmpc a%(a) left
- \yl@xdiff=0
- \yl@ydiff=-10
- \put(0,0){\line(-4,3){140}}% % left (a)
- \putlatom{-140}{115}{\@memberb}% % left type
- \else\if\@tmpc b%(b) right
- \yl@xdiff=0
- \yl@ydiff=-10
- \put(0,0){\line(4,3){140}}% % right (b)
- \putratom{140}{115}{\@memberb}% % right type
- \fi\fi\fi%\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=40
- \yl@ydiff=-20
- \put(-10,0){\line(0,1){160}}%
- \put(10,0){\line(0,1){160}}%
- \putlratom{-40}{180}{\@memberb}% % left & right type
- \else%
- \yl@xdiff=40
- \yl@ydiff=-20
- \put(0,0){\line(0,1){160}}%
- \putlratom{-40}{180}{\@memberb}% % left & right type
- \fi\fi\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Drawing of borane derivatives}
-%
-% The stereo-type skeleton of bicycloheptanes is selected
-% to have the following locant numbers.
-%
-% \begin{verbatim}
-% ***********************************************
-% * bornane derivatives *
-% * (bicycloe[2.2.1]heptane derivatives) *
-% ***********************************************
-% The following numbering is adopted in this macro.
-%
-% 7 g
-% f / `
-% _ / - 1_ a
-% e 6 / h - 2
-% * / *
-% 5 - 4 * b
-% d c` 3
-%
-% \end{verbatim}
-%
-% The macro |\bornane| has an argument |SUBSLIST| as well as an optional
-% argument |BONDLIST|.
-%
-% \begin{verbatim}
-% \bornane[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected from a to h, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% \begin{verbatim}
-%
-% BONDLIST =
-%
-% none : bicyclo[2.2.1]heptane
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% f : 6,1-double bond
-% g : 1,7-double bond
-% h : 4,7-double bond
-% \end{verbatim}
-%
-% The |SUBSLIST| argument takes the standard format of \XyMTeX{}, in which
-% more substitution descriptors are separated from each other
-% by a semicolon.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents (max 7 substitution positions)
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha single bond at n-atom
-% nSb : beta single bond at n-atom
-% \end{verbatim}
-%
-% The 7-position of a bornane skeleton cannot be specified by
-% capital characters `A' and `B'.
-% \begin{verbatim}
-% for n = 7 (bridge position)
-%
-% nD : exocyclic double bond at 7-atom
-% n or nS : exocyclic single bond at 7-atom
-% nSa : left single bond at 7-atom
-% nSb : right single bond at 7-atom
-%
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-%
-% \begin{verbatim}
-% e.g.
-%
-% \bornane{1==N}{1==Cl;2==F}
-% \bornane[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \bornane[eb]{1==N}{1D==O;4==MeO;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\@bicycloheph| uses a picture environment, in which
-% bonds are put directly, while subsituents are typset by using
-% the macro |\@borna| to |\@borng| defined in chemstr.sty of \XyMTeX{}
-% system.
-%
-% \changes{v1.01b}{1998/10/08}{The drawing are of \cs{bornane}
-% has been changed by SF.}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylbornaneposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\@bornane}
-% \begin{macro}{\bornane}
-% \begin{macrocode}
-
-\def\bornane{\@ifnextchar[{\@bornane}{\@bornane[r]}}
-\def\@bornane[#1]#2{%
-\@reset@ylsw%
-\ylbornaneposition{#2}%
-\def\@@ylii{0}\def\@@yli{0}%
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
-\else
-% \begin{picture}(1400,1000)(-200,-240)
- \begin{picture}(1000,1000)(-200,-240)%changed by SF 1998/09/26
- \iforigpt \put(-200,-240){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `bornane' origin: (0,0) ---> (200,240)}
- \fi%
-\fi
-% skeletal bonds
- \thicklines%
- \put(0,0){\line(5,1){237}}% % bond 5 to 4 (d)
- \put(237,47){\line(5,-2){225}}% % bond 4 to 3 (c)
- \put(237,47){\line(0,1){400}}% % front part of bridge (h)
- \thinlines%
- \put(462,-43){\line(2,5){80}}% % bond 3 to 2 (b)
- \put(543,157){\line(-5,2){225}}% % bond 2 to 1 (a)
- \put(318,247){\line(-5,-1){237}}% % bond 1 to 6 (f)
- \put(80,200){\line(-2,-5){80}}% % bond 6 to 5 (e)
- \put(318,247){\line(-2,5){80}}% % back part of bridge (g)
-% inner double bond
-\@tfor\member:=#1\do{%
-\if\member r%no endcyclic bonds
-\else \if\member a%%%%
- \put(513,127){\line(-5,2){180}}% % bond 2 to 1
-\else \if\member b%%%%
- \put(446,-3){\line(2,5){60}}% % bond 3 to 2
-\else \if\member c%%%%
- \put(267,77){\line(5,-2){180}}% % bond 4 to 3
-\else \if\member d%%%%
- \put(40,42){\line(5,1){180}}% % double bond 5 to 4
-\else \if\member e%%%
- \put(100,180){\line(-2,-5){60}}% % bond 6 to 5
-\else \if\member f%
- \put(288,207){\line(-5,-1){180}}% % bond 1 to 6
-\else \if\member g%
- \put(288,260){\line(-2,5){40}}% % back part of bridge (g)
-\else \if\member h%
- \put(257,77){\line(0,1){290}}% % front part of bridge (h)
-\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
-%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa%0 omit
- \or \@borna% subst. on 1
- \or \put(543,157){\@bornb}% subst. on 2
- \or \put(462,-43){\@bornc}% subst. on 3
- \or \@bornd% subst. on 4
- \or \put(0,0){\@borne}% subst. on 5
- \or \put(80,200){\@bornf}% subst. on 6
- \or \put(237,440){\@borng}% subst. on 7
-\fi%end of ifcase
-\fi\fi%
-}\end{picture}\iniatom\iniflag} %end of \bornane macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The command |\ylbornaneposition| is to obtain the shift values
-% |\@ylii| and |\@yli| which are used for shifting the standard
-% point of a substituent.
-% \changes{v1.02}{1998/10/23}{New ommands for setting substituents}
-%
-% \begin{macro}{\ylbornaneposition}
-% \begin{macrocode}
-\def\ylbornaneposition#1{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa%0 omit
- \or\gdef\@ylii{-318}\gdef\@yli{-247}\global\@ylswtrue% subst. on 1
- \or\gdef\@ylii{-543}\gdef\@yli{-157}\global\@ylswtrue% subst. on 2
- \or\gdef\@ylii{-462}\gdef\@yli{43}\global\@ylswtrue% subst. on 3
- \or\gdef\@ylii{-237}\gdef\@yli{-47}\global\@ylswtrue% subst. on 4
- \or\gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 5
- \or\gdef\@ylii{-80}\gdef\@yli{-200}\global\@ylswtrue% subst. on 6
- \or\gdef\@ylii{-237}\gdef\@yli{-440}\global\@ylswtrue% subst. on 7
-\fi%end of ifcase
-\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Adamantanes}
-%
-% \subsection{Vertical drawing}
-%
-% The macros |\@adamanea| to |\@adamanej| are used to
-% set substituents on each edge of an adamantane skeleton
-% drawn by the |\adamantane| commands.
-% \changes{v1.02}{1998/10/24}{The macros \cs{@adamanea} to \cs{@adamanej}
-% are separated from the original definition of \cs{adamantane}.}
-%
-% \begin{macro}{\@adamanea}
-% \begin{macro}{\@adamaneb}
-% \begin{macro}{\@adamanec}
-% \begin{macro}{\@adamaned}
-% \begin{macro}{\@adamanee}
-% \begin{macro}{\@adamanef}
-% \begin{macro}{\@adamaneg}
-% \begin{macro}{\@adamaneh}
-% \begin{macro}{\@adamanei}
-% \begin{macro}{\@adamanej}
-% \changes{v1.02}{1998/10/24}{A new command for setting substituents}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 1 %
-% %%%%%%%%%%%%%%%
-\def\@adamanea{%
- \yl@xdiff=12
- \yl@ydiff=21
- \put(-360,720){\hbox to0pt{\hss \@memberb}}% %atom 1
- \if\@tmpb a%
- \put(-240,660){\line(-4,3){108}}% %bond 1
- \else \ifx\@tmpb\empty%
- \put(-240,660){\line(-4,3){108}}% %bond 1
- \fi\fi}%
-% \end{macrocode}
-%
-% \changes{v1.02}{1998/10/24}{A new command for setting substituents}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 2 %
-% %%%%%%%%%%%%%%%
-\def\@adamaneb{%
- \if\@tmpb a%
- \yl@xdiff=6
- \yl@ydiff=-16
- \put(0,780){\line(1,4){26}}% %bond 2-ax
- \put(20,900){\hbox to0pt{\@memberb \hss}}% %atom 2-ax
- \else \if\@tmpb b%
- \yl@xdiff=-6
- \yl@ydiff=-16
- \put(0,780){\line(-1,4){26}}% %bond 2-eq
- \put(-20,900){\hbox to0pt{\hss \@memberb}}% %atom 2-eq
- \else \ifx\@tmpb\empty%
- \yl@xdiff=42
- \yl@ydiff=-22
- \put(-42,910){\hbox to0pt{\hss \@memberb}}% %atom 2
- \put(0,780){\line(0,1){108}}% %bond 2
- \else \if\@tmpb D%
- \yl@xdiff=42
- \yl@ydiff=-22
- \putlratom{-42}{910}{\@memberb}% %atom 2
- \put(-12,780){\line(0,1){108}}% %double bond 2
- \put(12,780){\line(0,1){108}}% %double bond 2
- \fi\fi\fi\fi}
-% \end{macrocode}
-%
-% \changes{v1.02}{1998/10/24}{A new command for setting substituents}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 3 %
-% %%%%%%%%%%%%%%%
-\def\@adamanec{%
- \yl@xdiff=-12
- \yl@ydiff=21
- \put(360,720){\hbox to0pt{\@memberb \hss}}% %atom 3
-% \if\@tmpb S%
- \if\@tmpb a%1998/10/24 by SF
- \put(240,660){\line(4,3){108}}% %bond 3
- \else \ifx\@tmpb\empty%
- \put(240,660){\line(4,3){108}}% %bond 3
- \fi\fi}
-% \end{macrocode}
-%
-% \changes{v1.02}{1998/10/24}{A new command for setting substituents}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 4 %
-% %%%%%%%%%%%%%%%
-\def\@adamaned{%
- \if\@tmpb a%
- \yl@xdiff=-17
- \yl@ydiff=33
- \put(300,420){\line(4,-3){103}}% %bond 4-ax
- \put(420,310){\hbox to0pt{\@memberb \hss}}% %atom 4-ax
- \else \if\@tmpb b%
- \yl@xdiff=26
- \yl@ydiff=-26
- \put(300,420){\line(1,4){26}}% %bond 4-eq
- \put(300,540){\hbox to0pt{\@memberb \hss}}% %atom 4-eq
- \else \ifx\@tmpb\empty%
- \yl@xdiff=-17
- \yl@ydiff=33
- \put(300,420){\line(4,-3){103}}% %bond 4
- \put(420,310){\hbox to0pt{\@memberb \hss}}% %atom 4
- \else \if\@tmpb D%
- \yl@xdiff=-17
- \yl@ydiff=33
- \put(296,432){\line(5,-3){103}}% %double bond 4
- \put(292,408){\line(5,-3){103}}% %double bond 4
- \put(420,310){\hbox to0pt{\@memberb \hss}}% %atom 4
- \fi\fi\fi\fi}
-% \end{macrocode}
-%
-% \changes{v1.02}{1998/10/24}{A new command for setting substituents}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 5 %
-% %%%%%%%%%%%%%%%
-\def\@adamanee{%
- \yl@xdiff=20
- \yl@ydiff=110
-% \if\@tmpb S%
- \if\@tmpb a%1998/10/24 by SF
- \put(60,240){\line(1,-5){30}}% %bond 5
- \put(70,-20){\hbox to0pt{\@memberb \hss}}% %atom 5
- \else \ifx\@tmpb\empty%
- \put(60,240){\line(1,-5){30}}% %bond 5
- \put(70,-20){\hbox to0pt{\@memberb \hss}}% %atom 5
- \fi\fi}
-% \end{macrocode}
-%
-% \changes{v1.02}{1998/10/24}{A new command for setting substituents}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 6 %
-% %%%%%%%%%%%%%%%
-\def\@adamanef{%
- \if\@tmpb a%
- \yl@xdiff=33
- \yl@ydiff=103
- \put(0,0){\line(4,-3){103}}% %bond 6-ax
- \put(70,-180){\hbox to0pt{\@memberb \hss}}% %atom 6-ax
- \else \if\@tmpb b%
- \yl@xdiff=-33
- \yl@ydiff=103
- \put(0,0){\line(-4,-3){103}}% %bond 6-eq
- \put(-70,-180){\hbox to0pt{\hss \@memberb}}% %atom 6-eq
- \else \ifx\@tmpb\empty%
- \yl@xdiff=22
- \yl@ydiff=94
- \put(0,0){\line(0,-1){108}}% %bond 6
- \put(-22,-202){\hbox to0pt{\hss \@memberb}}% %atom 6
- \else \if\@tmpb D%
- \yl@xdiff=42
- \yl@ydiff=94
- \put(-12,0){\line(0,-1){108}}% %double bond 6
- \put(12,0){\line(0,-1){108}}% %double bond 6
- \putlratom{-42}{-202}{\@memberb}% %atom 6
- \fi\fi\fi\fi}
-% \end{macrocode}
-%
-% \changes{v1.02}{1998/10/24}{A new command for setting substituents}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 7 %
-% %%%%%%%%%%%%%%%
-\def\@adamaneg{%
- \yl@xdiff=-20
- \yl@ydiff=110
-% \if\@tmpb S%
- \if\@tmpb a%1998/10/24 by SF
- \put(-60,240){\line(-1,-5){30}}% %bond 7
- \put(-70,-20){\hbox to0pt{\hss \@memberb}}% %atom 7
- \else \ifx\@tmpb\empty%
- \put(-60,240){\line(-1,-5){30}}% %bond 7
- \put(-70,-20){\hbox to0pt{\hss \@memberb}}% %atom 7-eq
- \fi\fi}
-% \end{macrocode}
-%
-% \changes{v1.02}{1998/10/24}{A new command for setting substituents}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 8 %
-% %%%%%%%%%%%%%%%
-\def\@adamaneh{%
- \if\@tmpb a%
- \yl@xdiff=17
- \yl@ydiff=33
- \put(-300,420){\line(-4,-3){103}}% %bond 8-ax
- \put(-420,310){\hbox to0pt{\hss \@memberb}}% %atom 8-ax
- \else \if\@tmpb b%
- \yl@xdiff=-26
- \yl@ydiff=-16
- \put(-300,420){\line(-1,4){26}}% %bond 8-eq
- \put(-300,540){\hbox to0pt{\hss \@memberb}}% %atom 8-eq
- \else \ifx\@tmpb\empty%
- \yl@xdiff=17
- \yl@ydiff=33
- \put(-300,420){\line(-4,-3){103}}% %bond 8
- \put(-420,310){\hbox to0pt{\hss \@memberb}}% %atom 8
- \else \if\@tmpb D%
- \yl@xdiff=17
- \yl@ydiff=50
- \put(-300,432){\line(-5,-3){103}}% %double bond 8
- \put(-303,408){\line(-5,-3){103}}% %double bond 8
- \put(-420,310){\hbox to0pt{\hss \@memberb}}% %atom 8
- \fi\fi\fi\fi}
-% \end{macrocode}
-%
-% \changes{v1.02}{1998/10/24}{A new command for setting substituents}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 9 %
-% %%%%%%%%%%%%%%%
-\def\@adamanei{%
- \if\@tmpb a%
- \yl@xdiff=-43
- \yl@ydiff=93
- \put(-180,420){\line(-4,-3){103}}% %bond 9-ax
- \put(-240,250){\hbox to0pt{\hss \@memberb}}% %atom 9-ax
- \else \if\@tmpb b%
- \yl@xdiff=26
- \yl@ydiff=-16
- \put(-180,420){\line(1,4){26}}% %bond 9-eq
- \put(-180,540){\hbox to0pt{\@memberb \hss}}% %atom 9-eq
- \else \ifx\@tmpb\empty%
- \yl@xdiff=17
- \yl@ydiff=93
- \put(-180,420){\line(-4,-3){103}}% %bond 9
- \put(-300,250){\hbox to0pt{\hss \@memberb}}% %atom 9
- \else \if\@tmpb D%
- \yl@xdiff=17
- \yl@ydiff=113
- \put(-183,432){\line(-5,-3){103}}% %double bond 9
- \put(-180,408){\line(-5,-3){103}}% %double bond 9
- \put(-300,250){\hbox to0pt{\hss \@memberb}}% %atom 9
- \fi\fi\fi\fi}
-% \end{macrocode}
-%
-% \changes{v1.02}{1998/10/24}{A new command for setting substituents}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%
-% % subst. on 10 %
-% %%%%%%%%%%%%%%%%
-\def\@adamanej{%
- \if\@tmpb a%
- \yl@xdiff=43
- \yl@ydiff=92
- \put(180,420){\line(4,-3){103}}% %bond 10-ax
- \put(240,250){\hbox to0pt{\@memberb \hss}}% %atom 10-ax
- \else \if\@tmpb b%
- \yl@xdiff=-26
- \yl@ydiff=-16
- \put(180,420){\line(-1,4){26}}% %bond 10-eq
- \put(180,540){\hbox to0pt{\hss \@memberb}}% %atom 10-eq
- \else \ifx\@tmpb\empty%
- \yl@xdiff=43
- \yl@ydiff=92
- \put(180,420){\line(4,-3){103}}% %bond 10
- \put(240,250){\hbox to0pt{\@memberb \hss}}% %atom 10
- \else \if\@tmpb D%
- \yl@xdiff=3
- \yl@ydiff=112
- \put(176,432){\line(5,-3){103}}% %double bond 10
- \put(172,408){\line(5,-3){103}}% %double bond 10
- \put(280,250){\hbox to0pt{\@memberb \hss}}% %atom 10
- \fi\fi\fi\fi}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The stereo-type skeleton of adamantane is selected
-% to have the following specification. The |\adamantane|
-% command prints a vertical-type formula in which two bridge carbons
-% are placed at the top and the bottom.
-%
-% \begin{verbatim}
-% *************************************************
-% * For preparing adamantane derivatives *
-% * with 4 substituents on bridgehead positions *
-% * (1, 3, 5 and 7) *
-% * with 12 substituents on bridge positions *
-% * (2, 4, 6, 8, 9, 10) *
-% *************************************************
-% \end{verbatim}
-%
-% The macro |\adamantane| has an argument |SUBSLIST| as well as an optional
-% argument |BONDLIST|.
-%
-% \begin{verbatim}
-% \adamantane[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The adamantane skeleton scarcely takes an inner (endcyclic) double bond.
-% Hence we have
-% \begin{verbatim}
-% BONDLIST: not effective
-% \end{verbatim}
-%
-% The |SUBSLIST| argument takes the standard format of \XyMTeX{}, in which
-% more substitution descriptors are separated from each other
-% by a semicolon.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents (max 10 substitution positions)
-%
-% for n = 1, 3, 5, and 7 (bridgeheads)
-%
-% n or na : exocyclic single bond at n-atom
-%
-% for n = 2, 4, 6, 8, 9, and 10 (bridges)
-%
-% na : exocyclic single bond at n-atom (axial)
-% nb : exocyclic single bond at n-atom (equatorial)
-% nD : exocyclic double bond at n-atom (2 and 6)
-%
-% \end{verbatim}
-%
-% For numbers larger than 9 (two digits), you should designate
-% the |SUBSLIST| as, e.g.,
-% \begin{verbatim}
-% {{10}a}==Cl; ...
-% \end{verbatim}
-%
-% The definition of |\@adamantane| uses a picture environment, in which
-% both bonds are substituents are put directly.
-% \changes{v1.02}{1998/10/31}{Adding \cs{yladamanposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\@adamantane}
-% \begin{macro}{\adamantane}
-% \begin{macrocode}
-% \changes{v1.02}{1998/10/24}{The macros \cs{@adamanea} to \cs{@adamanej}
-% are separated from the original definition of \cs{adamantane}.}
-\def\adamantane{\@ifnextchar[{\@mantane}{\@damantane[Z]}}
-\def\@damantane[#1]#2{%
-\@reset@ylsw%
-\yladamanposition{#2}%
-\def\@@ylii{0}\def\@@yli{0}%
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
-\else
- \begin{picture}(1100,1300)(-550,-300)
- \iforigpt \put(-550,-300){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `adamantane' origin: (0,0) ---> (550,300)}
- \fi%
-\fi
-%bonds for an adamantane skeleton
- \put(0,0){\line(-1,4){60}}% %bond 6-7
- \put(0,780){\line(2,-1){240}}% %bond 2-3
- \put(0,780){\line(-2,-1){240}}% %bond 2-1
- \put(-60,240){\line(-4,3){240}}% %bond 7-8
- \put(-300,420){\line(1,4){60}}% %bond 8-1
- \put(240,660){\line(-1,-4){60}}% %bond 3-10
- \put(-60,240){\line(4,3){240}}% %bond 10-7
-{\thicklines%
- \put(300,420){\line(-1,4){60}}% %bond 4-3
- \put(-240,660){\line(1,-4){60}}% %bond 1-9
- \put(0,0){\line(1,4){60}}% %bond 6-5
- \put(60,240){\line(4,3){240}}% %bond 5-4
- \put(60,240){\line(-4,3){240}}% %bond 5-9
-}%
-%substituents
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}\relax%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa%0 omit
-\or\@adamanea% subst. on 1
-\or\@adamaneb% subst. on 2
-\or\@adamanec% subst. on 3
-\or\@adamaned% subst. on 4
-\or\@adamanee% subst. on 5
-\or\@adamanef% subst. on 6
-\or\@adamaneg% subst. on 7
-\or\@adamaneh% subst. on 8
-\or\@adamanei% subst. on 9
-\or\@adamanej% subst. on 10
-\fi%the end of ifcase
-\fi\fi}%
-\end{picture}} %end of \adamantane macro%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The command |\yladamanposition| is to obtain the shift values
-% |\@ylii| and |\@yli| which are used for shifting the standard
-% point of a substituent.
-% \changes{v1.02}{1998/10/23}{New commands for setting substituents}
-%
-% \begin{macro}{\yladamanposition}
-% \begin{macrocode}
-\def\yladamanposition#1{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa%0 omit
- \or\gdef\@ylii{240}\gdef\@yli{-660}\global\@ylswtrue% subst. on 1
- \or\gdef\@ylii{0}\gdef\@yli{-780}\global\@ylswtrue% subst. on 2
- \or\gdef\@ylii{-240}\gdef\@yli{-660}\global\@ylswtrue% subst. on 3
- \or\gdef\@ylii{-300}\gdef\@yli{-420}\global\@ylswtrue% subst. on 4
- \or\gdef\@ylii{-60}\gdef\@yli{-240}\global\@ylswtrue% subst. on 5
- \or\gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 6
- \or\gdef\@ylii{60}\gdef\@yli{-240}\global\@ylswtrue% subst. on 7
- \or\gdef\@ylii{300}\gdef\@yli{-420}\global\@ylswtrue% subst. on 8
- \or\gdef\@ylii{180}\gdef\@yli{-420}\global\@ylswtrue% subst. on 9
- \or\gdef\@ylii{-180}\gdef\@yli{-420}\global\@ylswtrue% subst. on 10
-\fi%end of ifcase
-\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Horizontal drawing}
-%
-% The stereo-type skeleton of adamantane is selected
-% to have the following specification. The |\hadamantane|
-% command prints a horizontal-type formula in which one bridge-head carbon
-% is put at the top position and a chair-form cyclohexane moiety is
-% placed at the bottom position.
-%
-% \begin{verbatim}
-% ********************************************
-% * adamantane derivatives (horizontal type) *
-% ********************************************
-% The following numbering is adopted in this macro.
-%
-% 1
-% h // `
-% //i ` a
-% 89 `
-% g|| 2
-% ||j | b
-% f 7| l k 3
-% * | ` 10 *
-% 6 * 5 * c
-% e d` 4
-% \end{verbatim}
-%
-% \begin{verbatim}
-% *************************************************
-% * For preparing adamantane derivatives *
-% * with 4 substituents on bridgehead positions *
-% * (1, 3, 5 and 7) *
-% * with 12 substituents on bridge positions *
-% * (2, 4, 6, 8, 9, 10) *
-% *************************************************
-% \end{verbatim}
-%
-% The macro |\hadamantane| has an argument |SUBSLIST| as well as an optional
-% argument |BONDLIST|.
-%
-% \begin{verbatim}
-% \hadamantane[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The adamantane skeleton scarcely takes an inner (endcyclic) double bond.
-% However, we can designate |BONDLIST|. (This point is different from the
-% specification of the |\adamantane| command.
-%
-% \begin{verbatim}
-%
-% BONDLIST =
-%
-% none : adamantane skeleton
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 3,4-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% f : 6,7-double bond
-% g : 7,8-double bond
-% h : 8,1-double bond
-% i : 9,1-double bond
-% j : 5,9-double bond
-% k : 3,10-double bond
-% l : 7,10-double bond
-%
-% \end{verbatim}
-%
-% The |SUBSLIST| argument takes the standard format of \XyMTeX{}, in which
-% more substitution descriptors are separated from each other
-% by a semicolon.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents (max 10 substitution positions)
-%
-% for n = 1, 3, 5, and 7 (bridgeheads)
-%
-% n or na : exocyclic single bond at n-atom
-%
-% for n = 2, 4, 6, 8, 9, and 10 (bridges)
-%
-% na : exocyclic single bond at n-atom (axial)
-% nb : exocyclic single bond at n-atom (equatorial)
-% nD : exocyclic double bond at n-atom (2 and 6)
-%
-% \end{verbatim}
-%
-% Moreover, bond modifieer used for chair-form cyclohexanes
-% such as $n$Sa and $n$Se (see above) can be also used in the |SUBSLIST|
-% of the |\hdadamantane| command.
-%
-% For numbers larger than 9 (two digits), you should designate
-% the |SUBSLIST| as, e.g.,
-% \begin{verbatim}
-% {{10}a}==Cl; ...
-% \end{verbatim}
-%
-% The definition of |\@hadamantane| uses a picture environment, in which
-% bonds are put directly, while subsituents are typset by using
-% the macro |\@chairiI| to |\@chairX| defined below.
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylhadamanposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\@hadamantane}
-% \begin{macro}{\hadamantane}
-% \begin{macrocode}
-% *************************
-% * input of basic macros *
-% *************************
-\def\hadamantane{\@ifnextchar[{\@hadamantane}{\@hadamantane[H]}}
-\def\@hadamantane[#1]#2{%
-\@reset@ylsw%
-\ylhadamanposition{#2}%
-\def\@@ylii{0}\def\@@yli{0}%
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
-\else
- \begin{picture}(1600,1400)(-400,-319)
- \iforigpt \put(-400,-319){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `hadamantane' origin: (0,0) ---> (400,319)}
- \fi%
-\fi
- \thinlines%
- \put(0,0){\line(3,4){170}}% % bond 6 to 7
- \put(170,226){\line(3,-1){403}}% % 7 to 10
- \put(573,91){\line(3,1){270}}% % 10 to 3
-% %%%
- \put(170,226){\line(0,1){360}}% % 7 to 8
- \put(170,586){\line(3,1){270}}% % 8 to 1
- \put(843,181){\line(0,1){360}}% % 3 to 2
- \put(843,541){\line(-3,1){403}}% % 2 to 1
- \thicklines%
- \put(843,181){\line(-3,-4){170}}% % 3 to 4
- \put(673,-46){\line(-3,1){403}}% % 4 to 5
- \put(0,0){\line(3,1){270}}% % 6 to 5
-% %%%
- \put(270,90){\line(0,1){360}}% % 5 to 9
- \put(270,450){\line(3,4){170}}% % 9 to 1
- \thinlines%
-% inner double bonds
-\@tfor\member:=#1\do{%
-\if\member r%no endocyclic bonds
-\else \if\member a%
- \put(450,636){\line(3,-1){373}}% % double bond 1 to 2
-\else \if\member b%
- \put(803,206){\line(0,1){320}}% % 3 to 2
-\else \if\member c%%%a%
- \put(767,139){\line(-3,-4){110}}% % 3 to 4
-\else \if\member d%%%b%
- \put(640,-5){\line(-3,1){343}}% % 4 to 5
-\else \if\member e%%%%c%
- \put(240,111){\line(-3,-1){190}}% % 5 to 6
-\else \if\member f%%%d%
- \put(63,40){\line(3,4){110}}% % 6 to 7
-\else \if\member g%
- \put(200,246){\line(0,1){320}}% % 7 to 8
-\else \if\member h%
- \put(400,626){\line(-3,-1){190}}% % 8 to 1
-\else \if\member i%
- \put(450,636){\line(-3,-4){150}}% % 9 to 1
-\else \if\member j%
- \put(300,110){\line(0,1){320}}% % 5 to 9
-\else \if\member k%%%f%
- \put(768,131){\line(-3,-1){170}}% % 3 to 10
-\else \if\member l%
- \put(182,187){\line(3,-1){343}}% % 7 to 10
-\fi\fi\fi\fi\fi\fi%
-\fi\fi\fi\fi\fi\fi\fi}%
-% %
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa% %0 omit
- \or \put(440,676){\@chairiI}% %subst. on 1%%%9
- \or \put(843,541){\@chairiII}% %subst. on 2%%10
- \or \@chairiIII% %subst. on 3%%%4
- \or \@chairiIV% %subst. on 4%%%3
- \or \@chairiV% %subst. on 5%%%2
- \or \@chairiVI% %subst. on 6%%%1
- \or \@chairiVII% %subst. on 7%%%6
- \or \put(170,586){\@chairiVIII}%subst. on 8%%%8
- \or \put(270,450){\@chairiIX}% %subst. on 9%%%7
- \or \@chairiX% %subst. on 10%%5
-\fi %end of ifcase
-\fi\fi%
-}\end{picture}}% %end of \hadamantane macro
-% End of addition 1994/03/05 SF
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The command |\ylhadamanposition| is to obtain the shift values
-% |\@ylii| and |\@yli| which are used for shifting the standard
-% point of a substituent.
-% \changes{v1.02}{1998/10/23}{New commands for setting substituents}
-%
-% \begin{macro}{\ylhadamanposition}
-% \begin{macrocode}
-\def\ylhadamanposition#1{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa%0 omit
- \or\gdef\@ylii{-440}\gdef\@yli{-676}\global\@ylswtrue% subst. on 1
- \or\gdef\@ylii{-843}\gdef\@yli{-541}\global\@ylswtrue% subst. on 2
- \or\gdef\@ylii{-843}\gdef\@yli{-181}\global\@ylswtrue% subst. on 3
- \or\gdef\@ylii{-673}\gdef\@yli{46}\global\@ylswtrue% subst. on 4
- \or\gdef\@ylii{-270}\gdef\@yli{-90}\global\@ylswtrue% subst. on 5
- \or\gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 6
- \or\gdef\@ylii{-170}\gdef\@yli{-226}\global\@ylswtrue% subst. on 7
- \or\gdef\@ylii{-170}\gdef\@yli{-586}\global\@ylswtrue% subst. on 8
- \or\gdef\@ylii{-270}\gdef\@yli{-450}\global\@ylswtrue% subst. on 9
- \or\gdef\@ylii{-573}\gdef\@yli{-91}\global\@ylswtrue% subst. on 10
-\fi%end of ifcase
-\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% Hereafter, the definitions of the commands |\@chairiI| to |\@chairiX|
-% are described. Each of the commands can treat $n$a-type bond modifiers
-% as well as $n$Sa-type bond modifiers.
-%
-% \begin{macro}{\@chairiVI}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% ********************************************************
-% * treatment of the chair form (inverse) of cyclohexane *
-% * added March 05, 1994 by Shinsaku Fujita *
-% ********************************************************
-% %%%%%%%%%%%%%%%
-% % subst. on 6 %
-% %%%%%%%%%%%%%%%
-\def\@chairiVI{%
- \if\@tmpb a%single bond
- \yl@xdiff=42
- \yl@ydiff=92
- \put(0,0){\line(0,-1){168}}% single bond at 6 axial
- \putlratom{-42}{-260}{\@memberb}% left & right type
- \else\if\@tmpb b%single bond
- \yl@xdiff=16
- \yl@ydiff=36
- \put(0,0){\line(-5,3){144}}% single bond at 6 equatorial
- \putlatom{-160}{50}{\@memberb}% left type
- \else\if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=10
- \yl@ydiff=90
- \put(0,0){\line(-1,-1){120}}% single bond at 6
- \putlatom{-130}{-210}{\@memberb}% left type
- \else\if\@tmpc a%(a) axial
- \yl@xdiff=42
- \yl@ydiff=92
- \put(0,0){\line(0,-1){168}}% single bond at 6 axial
- \putlratom{-42}{-260}{\@memberb}% left & right type
- \else\if\@tmpc e%(e) beta
- \yl@xdiff=16
- \yl@ydiff=36
- \put(0,0){\line(-5,3){144}}% single bond at 6 equatorial
- \putlatom{-160}{50}{\@memberb}% left type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=10
- \yl@ydiff=90
- \putlatom{-130}{-210}{\@memberb}% left type
- \put(-10,10){\line(-1,-1){120}}% double bond at 6
- \put(10,-10){\line(-1,-1){120}}% double bond at 6
- \else%
- \yl@xdiff=10
- \yl@ydiff=90
- \putlatom{-130}{-210}{\@memberb}% left type
- \put(0,0){\line(-1,-1){120}}% single bond at 6
- \fi\fi\fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@chairiVII}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 7 %
-% %%%%%%%%%%%%%%%
-\def\@chairiVII{%
- \if\@tmpb a%single bond
- \yl@xdiff=26
- \yl@ydiff=46
- \put(170,226){\line(-5,-3){144}}% single bond at 7 equatorial
- \putlatom{10}{94}{\@memberb}% left type
- \else\ifx\@tmpb\empty%single bond
- \yl@xdiff=26
- \yl@ydiff=46
- \put(170,226){\line(-5,-3){144}}% single bond at 7 equatorial
- \putlatom{10}{94}{\@memberb}% left type
- \else\if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=10
- \yl@ydiff=30
- \put(170,226){\line(-1,1){120}}% single bond at 7
- \putratom{40}{316}{\@memberb}% left type
- \else\if\@tmpc a%(a) axial
- \yl@xdiff=32
- \yl@ydiff=12
- \put(170,226){\line(0,1){168}}% single bond at 7 axial
- \putlratom{138}{406}{\@memberb}% left & right type
- \else\if\@tmpc e%(e) beta
- \yl@xdiff=26
- \yl@ydiff=46
- \put(170,226){\line(-5,-3){144}}% single bond at 7 equatorial
- \putlatom{10}{94}{\@memberb}% left type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=10
- \yl@ydiff=30
- \putlatom{40}{316}{\@memberb}% left type
- \put(160,216){\line(-1,1){120}}% double bond at 7
- \put(180,236){\line(-1,1){120}}% double bond at 7
- \else%
- \yl@xdiff=10
- \yl@ydiff=30
- \putlatom{40}{316}{\@memberb}% left type
- \put(170,226){\line(-1,1){120}}% single bond at 7
- \fi\fi\fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@chairiX}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%
-% % subst. on 10 %
-% %%%%%%%%%%%%%%%%
-\def\@chairiX{%
- \if\@tmpb a%single bond
- \yl@xdiff=40
- \yl@ydiff=104
- \put(573,91){\line(0,-1){168}}% single bond at 5 axial
- \putlratom{533}{-181}{\@memberb}% left type
- \else\if\@tmpb b%single bond
- \yl@xdiff=-36
- \yl@ydiff=3
- \put(573,91){\line(5,3){144}}% single bond at 5 equatorial
- \putlatom{753}{180}{\@memberb}% left type
- \else\if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=-10
- \yl@ydiff=56
- \put(573,91){\line(5,-4){170}}% single bond at 5
- \putratom{753}{-101}{\@memberb}% right type
- \else\if\@tmpc a%(a) axial
- \yl@xdiff=40
- \yl@ydiff=104
- \put(573,91){\line(0,-1){168}}% single bond at 5 axial
- \putlratom{533}{-181}{\@memberb}% left type
- \else\if\@tmpc e%(e) beta
- \yl@xdiff=-36
- \yl@ydiff=3
- \put(573,91){\line(5,3){144}}% single bond at 5 equatorial
- \putlatom{753}{180}{\@memberb}% left type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=10
- \yl@ydiff=86
- \putratom{733}{-141}{\@memberb}% right type
- \put(563,83){\line(5,-4){170}}% double bond at 5
- \put(583,99){\line(5,-4){170}}% double bond at 5
- \else%
- \yl@xdiff=-10
- \yl@ydiff=76
- \put(573,91){\line(5,-4){170}}% single bond at 5
- \putratom{753}{-121}{\@memberb}% right type
- \fi\fi\fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@chairiIII}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 3 %
-% %%%%%%%%%%%%%%%
-\def\@chairiIII{%
- \if\@tmpb a%single bond
- \yl@xdiff=-16
- \yl@ydiff=64
- \put(843,181){\line(5,-3){144}}% single bond at 3 equatorial
- \putratom{1003}{31}{\@memberb}% right type
- \else\ifx\@tmpb\empty%single bond
- \yl@xdiff=-16
- \yl@ydiff=64
- \put(843,181){\line(5,-3){144}}% single bond at 3 equatorial
- \putratom{1003}{31}{\@memberb}% right type
- \else\if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=10
- \yl@ydiff=30
- \put(843,181){\line(1,1){120}}% single bond at 3
- \putratom{953}{271}{\@memberb}% right type
- \else\if\@tmpc a%(a) axial
- \yl@xdiff=42
- \yl@ydiff=11
- \put(843,181){\line(0,1){168}}% single bond at 3 axial
- \putlratom{801}{360}{\@memberb}% left & right type
- \else\if\@tmpc e%(e) beta
- \yl@xdiff=-16
- \yl@ydiff=64
- \put(843,181){\line(5,-3){144}}% single bond at 3 equatorial
- \putratom{1003}{31}{\@memberb}% right type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=0
- \yl@ydiff=30
- \putratom{953}{271}{\@memberb}% right type
- \put(833,191){\line(1,1){120}}% double bond at 3
- \put(853,171){\line(1,1){120}}% double bond at 3
- \else%
- \yl@xdiff=10
- \yl@ydiff=30
- \put(843,181){\line(1,1){120}}% single bond at 3
- \putratom{953}{271}{\@memberb}% right type
- \fi\fi\fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@chairiIV}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 4 %
-% %%%%%%%%%%%%%%%
-\def\@chairiIV{%
- \if\@tmpb a%single bond
- \yl@xdiff=40
- \yl@ydiff=104
- \put(673,-46){\line(0,-1){168}}% single bond at 4 axial
- \putlratom{633}{-318}{\@memberb}% left & right type
- \else\if\@tmpb b%single bond
- \yl@xdiff=-6
- \yl@ydiff=17
- \put(673,-46){\line(5,3){144}}% single bond at 4 equatorial
- \putratom{823}{23}{\@memberb}% right type
- \else\if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=-10
- \yl@ydiff=92
- \put(673,-46){\line(1,-1){120}}% single bond at 4
- \putratom{803}{-258}{\@memberb}% right type
- \else\if\@tmpc a%(a) axial
- \yl@xdiff=40
- \yl@ydiff=104
- \put(673,-46){\line(0,-1){168}}% single bond at 4 axial
- \putlratom{633}{-318}{\@memberb}% left & right type
- \else\if\@tmpc e%(e) beta
- \yl@xdiff=-6
- \yl@ydiff=17
- \put(673,-46){\line(5,3){144}}% single bond at 4 equatorial
- \putratom{823}{23}{\@memberb}% right type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=-10
- \yl@ydiff=92
- \putratom{803}{-258}{\@memberb}% right type
- \put(663,-53){\line(1,-1){120}}% double bond at 4
- \put(683,-38){\line(1,-1){120}}% double bond at 4
- \else%
- \yl@xdiff=-10
- \yl@ydiff=76
- \put(673,-46){\line(5,-4){170}}% single bond at 4
- \putratom{853}{-258}{\@memberb}% right type
- \fi\fi\fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@chairiV}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 5 %
-% %%%%%%%%%%%%%%%
-\def\@chairiV{%
- \if\@tmpb a%single bond
- \yl@xdiff=26
- \yl@ydiff=102
- \put(270,90){\line(-5,-3){144}}% single bond at 5 equatorial
- \putratom{100}{-98}{\@memberb}% left type
- \else\ifx\@tmpb\empty%single bond
- \yl@xdiff=26
- \yl@ydiff=102
- \put(270,90){\line(-5,-3){144}}% single bond at 5 equatorial
- \putratom{100}{-98}{\@memberb}% left type
- \else\if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=0
- \yl@ydiff=46
- \put(270,90){\line(-5,4){170}}% single bond at 5
- \putlatom{100}{180}{\@memberb}% left type
- \else\if\@tmpc a%(a) axial
- \yl@xdiff=32
- \yl@ydiff=12
- \put(270,90){\line(0,1){168}}% single bond at 5 axial
- \putlratom{238}{270}{\@memberb}% left type
- \else\if\@tmpc e%(e) beta
- \yl@xdiff=36
- \yl@ydiff=102
- \put(270,90){\line(-5,-3){144}}% single bond at 5 equatorial
- \putratom{100}{-98}{\@memberb}% left type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=0
- \yl@ydiff=36
- \putlatom{100}{200}{\@memberb}% left or right type
- \put(260,80){\line(-5,4){170}}% double bond at 5
- \put(280,100){\line(-5,4){170}}% double bond at 5
- \else%
- \yl@xdiff=0
- \yl@ydiff=26
- \putlatom{100}{200}{\@memberb}% left type
- \put(270,90){\line(-5,4){170}}% single bond at 5
- \fi\fi\fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\@chairiI}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 1 %
-% %%%%%%%%%%%%%%%
-\def\@chairiI{%
- \if\@tmpb a%single bond
- \yl@xdiff=42
- \yl@ydiff=-10
- \put(0,0){\line(0,1){168}}% single bond at 1 axial
- \putlratom{-42}{178}{\@memberb}% left & right type
- \else\ifx\@tmpb\empty%
- \yl@xdiff=42
- \yl@ydiff=-10
- \put(0,0){\line(0,1){168}}% single bond at 1 axial
- \putlratom{-42}{178}{\@memberb}% left & right type
- \else\if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=42
- \yl@ydiff=-10
- \put(0,0){\line(0,1){168}}% single bond at 1 axial
- \putlratom{-42}{178}{\@memberb}% left & right type
- \else\if\@tmpc a%(a) axial
- \yl@xdiff=42
- \yl@ydiff=-10
- \put(0,0){\line(0,1){168}}% single bond at 1 axial
- \putlratom{-42}{178}{\@memberb}% left & right type
- \else\if\@tmpc e%(e) beta
- \yl@xdiff=42
- \yl@ydiff=-10
- \put(0,0){\line(0,1){168}}% single bond at 1 axial
- \putlratom{-42}{178}{\@memberb}% left & right type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=42
- \yl@ydiff=-10
- \put(0,0){\line(0,1){168}}% single bond at 1 axial
- \putlratom{-42}{178}{\@memberb}% left & right type
- \else%
- \yl@xdiff=42
- \yl@ydiff=-10
- \put(0,0){\line(0,1){168}}% single bond at 1 axial
- \putlratom{-42}{178}{\@memberb}% left & right type
- \fi\fi\fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@chairiII}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%
-% % subst. on 2 %
-% %%%%%%%%%%%%%%%%
-\def\@chairiII{%
- \if\@tmpb a%single bond
- \yl@xdiff=-10
- \yl@ydiff=13
- \put(0,0){\line(3,1){190}}% single bond at 6 equatorial
- \putratom{200}{50}{\@memberb}% right type
- \else\if\@tmpb b%single bond
- \yl@xdiff=-10
- \yl@ydiff=0
- \put(0,0){\line(3,4){120}}% % bond 1 to 6
- \putratom{130}{160}{\@memberb}% left type
- \else\if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=-10
- \yl@ydiff=-10
- \put(0,0){\line(1,1){120}}% single bond at 1
- \putratom{130}{130}{\@memberb}% left type
- \else\if\@tmpc a%(a) axial
- \yl@xdiff=-10
- \yl@ydiff=0
- \put(0,0){\line(3,4){120}}% % bond 1 to 6
- \putratom{130}{160}{\@memberb}% left type
- \else\if\@tmpc e%(e) beta
- \yl@xdiff=-10
- \yl@ydiff=13
- \put(0,0){\line(3,1){190}}% single bond at 6 equatorial
- \putratom{200}{50}{\@memberb}% right type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=-10
- \yl@ydiff=-10
- \putratom{130}{130}{\@memberb}% left type
- \put(-10,10){\line(1,1){120}}% double bond at 1
- \put(10,-10){\line(1,1){120}}% double bond at 1
- \else%
- \yl@xdiff=-10
- \yl@ydiff=-10
- \putratom{130}{130}{\@memberb}% left type
- \put(0,0){\line(1,1){120}}% single bond at 1
- \fi\fi\fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@chairigVIII}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 8 %
-% %%%%%%%%%%%%%%%
-\def\@chairiVIII{%
- \if\@tmpb a%single bond
- \yl@xdiff=16
- \yl@ydiff=36
- \put(0,0){\line(-5,3){144}}% single bond at 1 equatorial
- \putlatom{-160}{50}{\@memberb}% left type
- \else\if\@tmpb b%single bond
- \yl@xdiff=-10
- \yl@ydiff=0
- \put(0,0){\line(3,4){120}}% % bond 1 to 6
- \putratom{130}{160}{\@memberb}% left type
- \else\if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=4
- \yl@ydiff=36
- \put(0,0){\line(-5,3){144}}% single bond at 1 equatorial
- \putlatom{-140}{50}{\@memberb}% left type
- \else\if\@tmpc e% right-hand
- \yl@xdiff=-10
- \yl@ydiff=0
- \put(0,0){\line(3,4){120}}% % bond 1 to 6
- \putratom{130}{160}{\@memberb}% left type
- \else\if\@tmpc a% left-hand
- \yl@xdiff=16
- \yl@ydiff=36
- \put(0,0){\line(-5,3){144}}% single bond at 1 equatorial
- \putlatom{-160}{50}{\@memberb}% left type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=4
- \yl@ydiff=26
- \putlatom{-140}{60}{\@memberb}% left type
- \put(10,10){\line(-5,3){144}}% single bond at 1 equatorial
- \put(0,-10){\line(-5,3){144}}% single bond at 1 equatorial
- \else%
- \yl@xdiff=4
- \yl@ydiff=36
- \put(0,0){\line(-5,3){144}}% single bond at 1 equatorial
- \putlatom{-140}{50}{\@memberb}% left type
- \fi\fi\fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@chairiIX}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 9 %
-% %%%%%%%%%%%%%%%
-\def\@chairiIX{%
- \if\@tmpb a%single bond
- \yl@xdiff=16
- \yl@ydiff=36
- \put(0,0){\line(-5,3){144}}% single bond at 1 equatorial
- \putlatom{-160}{50}{\@memberb}% left type
- \else\if\@tmpb b%single bond
- \yl@xdiff=-16
- \yl@ydiff=36
- \put(0,0){\line(5,3){144}}% single bond at 6 equatorial
- \putratom{160}{50}{\@memberb}% left type
- \else\if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=4
- \yl@ydiff=36
- \put(0,0){\line(-5,3){144}}% single bond at 1 equatorial
- \putlatom{-140}{50}{\@memberb}% left type
- \else\if\@tmpc e% right-hand
- \yl@xdiff=-16
- \yl@ydiff=36
- \put(0,0){\line(5,3){144}}% single bond at 6 equatorial
- \putratom{160}{50}{\@memberb}% left type
- \else\if\@tmpc a% left-hand
- \yl@xdiff=16
- \yl@ydiff=36
- \put(0,0){\line(-5,3){144}}% single bond at 1 equatorial
- \putlatom{-160}{50}{\@memberb}% left type
- \fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=4
- \yl@ydiff=36
- \putlatom{-140}{50}{\@memberb}% left type
- \put(10,10){\line(-5,3){144}}% single bond at 1 equatorial
- \put(0,-10){\line(-5,3){144}}% single bond at 1 equatorial
- \else%
- \yl@xdiff=4
- \yl@ydiff=36
- \put(0,0){\line(-5,3){144}}% single bond at 1 equatorial
- \putlatom{-140}{50}{\@memberb}% left type
- \fi\fi\fi\fi}%
-%</ccycle>
-% \end{macrocode}
-% \end{macro}
-%
-% \Finale
-%
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/ccycle.ins b/Master/texmf-dist/source/latex/xymtex/ccycle.ins
deleted file mode 100644
index 1603014bdae..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/ccycle.ins
+++ /dev/null
@@ -1,50 +0,0 @@
-\def\batchfile{ccycle.ins}
-\input docstrip.tex
-\preamble
-
-This is a generated file.
-
-Copyright 1996,1998 by Shinsaku Fujita
-
-This file is part of the XyMTeX system.
-=======================================
-
-Version 1.01 Released on August 16, 1996
-Version 1.02 Released on October 31, 1996
-Version 2.00 Released on December 25, 1998
-
-Copyright (C) 1996,1998 by Shinsaku Fujita, all rights reserved.
-This style file is created for drawing chemical structural formulas
-This style file is to be contained in the ``xymtex'' directory which
-is an input directory for TeX.
-
-Copying of this file is authorized only if either
-
- (1) you make absolutely no changes to your copy, including name and
- directory name
- (2) if you do make changes,
- (a) you name it something other than the names included in the
- ``xymtex'' directory and
- (b) you acknowledge the original name.
- This restriction ensures that all standard styles are identical.
-
-=======================================
-
-This file contains several codes modified from latex.tex (LaTeX2.09)
-and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-Copyright 1994 the LaTeX3 project and the individual authors (For further
-copyright information see the file legal.txt of the LaTeX2e standard
-distribution, and any other copyright indicated in this file.)
-
-\endpreamble
-
-\keepsilent
-
-\generateFile{ccycle.drv}{t}{%
- \from{ccycle.dtx}{driver}}
-
-\generateFile{ccycle.sty}{t}{%
- \from{ccycle.dtx}{ccycle}}
-
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/chemist.drv b/Master/texmf-dist/source/latex/xymtex/chemist.drv
deleted file mode 100644
index 1ad0e7b0143..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/chemist.drv
+++ /dev/null
@@ -1,89 +0,0 @@
-%%
-%% This is file `chemist.drv',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% chemist.dtx (with options: `driver')
-%%
-%% This is a generated file.
-%%
-%% Copyright 1996, 2000 by Shinsaku Fujita
-%%
-%% This file is part of the ChemSci system.
-%% =======================================
-%%
-%% Released on June 1, 1996
-%% Released on November 3, 2000 (v2.00a)
-%%
-%% Copyright (C) 1996 by Shinsaku Fujita, all rights reserved.
-%% This style file is created for submitting a manuscript to
-%% scientific journals. This style file is to be contained in the
-%% ``chemist'' directory which is an input directory for TeX.
-%%
-%% For using this file, see
-%% Shinsaku Fujita, ``LaTeX for Chemists and Biochemists''
-%% Tokyo Kagaku Dojin, Tokyo (1993), Chapter 16.
-%%
-%% Copying of this file is authorized only if either
-%%
-%% (1) you make absolutely no changes to your copy, including name and
-%% directory name
-%% (2) if you do make changes,
-%% (a) you name it something other than the names included in the
-%% ``chemist'' directory and
-%% (b) you acknowledge the original name.
-%% This restriction ensures that all standard styles are identical.
-%%
-%% =======================================
-%%
-%% This file is a modification of latex.tex (LaTeX2.09) and of latex.ltx
-%% (a LaTeX2e), the reused parts of which is subject to
-%% Copyright 1994 the LaTeX3 project and the individual authors (For further
-%% copyright information see the file legal.txt of the LaTeX2e standard
-%% distribution, and any other copyright indicated in this file.)
-%%
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%%
-%% `chemist.dtx' ver1.01a (for LaTeX2e) 1996/06/15
-%% by Shinsaku Fujita
-%%
-\ProvidesFile{chemist.drv}
- [2000/11/03 v2.00a
- ChemSci package driver (English)
- ]
-\documentclass{ltxdoc}
-\GetFileInfo{chemist.drv}
-\title{Chemist Package \space\fileversion}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology \\
-Kyoto Institute of Technology
-%% Ashigara Research Laboratories \\
-%% Fuji Photo Film Co. Ltd.
-}
-\date{\filedate}
-\begin{document}
-\maketitle
-\tableofcontents
-\DocInput{chemist.dtx}
-\end{document}
-\def\versi@ndate{November 3, 2000}
-\def\versi@nno{ver2.00a}
-\def\copyrighth@lder{SF} % Shinsaku Fujita
-\endinput
-%%
-%% End of file `chemist.drv'.
diff --git a/Master/texmf-dist/source/latex/xymtex/chemist.dtx b/Master/texmf-dist/source/latex/xymtex/chemist.dtx
deleted file mode 100644
index 9d37ff1334c..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/chemist.dtx
+++ /dev/null
@@ -1,2359 +0,0 @@
-% \iffalse
-%
-% chemist.dtx
-%
-% Copyright (C) 1996, 1999, 2000 by Shinsaku Fujita All rights reserved.
-%
-% This file is part of the ChemSci system
-% ========================================
-%
-% This style file is created for submitting a manuscript to
-% scientific journals. This style file is to be contained in the
-% ``chemist'' directory which is an input directory for TeX.
-%
-% For using this file, see
-% Shinsaku Fujita, ``LaTeX for Chemists and Biochemists''
-% Tokyo Kagaku Dojin, Tokyo (1993), Chapter 16.
-%
-% Copying of this file is authorized only if either
-%
-% (1) you make absolutely no changes to your copy, including name and
-% directory name
-% (2) if you do make changes,
-% (a) you name it something other than the names included in the
-% ``chemist'' directory and
-% (b) you acknowledge the original name.
-% This restriction ensures that all standard styles are identical.
-%
-%=======================================
-%
-% This file is a modification of latex.tex (LaTeX2.09) and of latex.ltx
-% (LaTeX2e), the reused parts of which is subject to
-% Copyright 1994 the LaTeX3 project and the individual authors (For further
-% copyright information see the file legal.txt of the LaTeX2e standard
-% distribution, and any other copyright indicated in this file.)
-%
-%=======================================
-%
-% This file is a successor to:
-%
-% *********************************************************************
-% * chemist.sty <Sept 29 1991> by Shinsaku Fujita *
-% * counters and related matters for compounds. *
-% * ffboxit: November 2 1991 by S. Fujita *
-% * bslskipchange: November 6 1991 by S. Fujita (deleted) *
-% * chapinitial: 1991 November 7 by S. Fujita *
-% * variable arrows: 1992 May 24 by S. Fujita *
-% * reaction and scheme arrows (revised): 1992 May 24 by S. Fujita *
-% * changespace <=== bslskipchange: Dec 31 1992 by S. Fujita *
-% * (g)rshfboxit and (g)lshfboxit: January 3, 1993 by S. Fujita *
-% *********************************************************************
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Released on January 3, 1993
-% Copyright (C) 1993 by Shinsaku Fujita, all rights reserved.
-% This style file is created for making manuscripts of chemical fields.
-% This option style file is to be contained in the ``chemist'' directory
-% which is an input directory for TeX.
-%
-% For using this file, see
-% Shinsaku Fujita, ``LaTeX for Chemists and Biochemists''
-% Tokyo Kagaku Dojin, Tokyo (1993), Chapters 7, 9, 12 and 18.
-% このスタイル・ファイルの使用法は、
-% 藤田 眞作 著 『化学者・生化学者のためのLaTeX』
-% 東京化学同人、東京 (1993)、第7, 9, 12, 18章をご覧下さい。
-%
-% Copying of this file is authorized only if either
-% (1) you make absolutely no changes to your copy, including name and
-% directory name
-% (2) if you do make changes,
-% (a) you name it something other than the names included in the
-% ``chemist'' directory and
-% (b) you acknowledge the original name.
-% This restriction ensures that all standard styles are identical.
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{chemist}
-% \def\versi@ndate{January 03, 1993}
-% \def\versi@nno{ver1.00}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% Version 1.01
-% --- added the end commands of the \verbatim environment and the
-% \verb command contained in LaTeX 2.09
-% --- \LaTeX, \BibTeX logos etc improved
-% \typeout{verbatim for LaTeX2.09 (and LaTeX2e) in chemist.sty}
-% \typeout{logos for LaTeX2.09 (and LaTeX2e) in chemist.sty}
-% \def\versi@ndate{April 20, 1996}
-% \def\j@urnalname{chemist}
-% \def\versi@ndate{April 20, 1996}
-% \def\versi@nno{ver1.01}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{chemist} \def\journalID{chemist}
-% \def\versi@ndate{June 15, 1996}
-% \def\versi@nno{ver1.01a}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% \typeout{Package `\j@urnalname' (\versi@nno) <\versi@ndate>\space
-% [\copyrighth@lder]}
-% \typeout{chemist.sty ver1.01a (for LaTeX2e) 1996/06/15[SF]}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{chemist} \def\journalID{chemist}
-% \def\versi@ndate{March 16, 1999}
-% \def\versi@nno{ver2.00}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-%
-% \fi
-% \CheckSum{3588}
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%
-% \iffalse
-%%
-%% `chemist.dtx' ver1.01a (for LaTeX2e) 1996/06/15
-%% by Shinsaku Fujita
-%%
-%
-% \section{Initial declaration}
-%
-% \changes{v1.01a}{1996/06/15}{For LaTeX2e: dtx file}
-% \changes{v1.01a}{1996/07/16}{Comment out for use LaTeX2.09}
-% \changes{v2.00}{1999/03/16}{For XyMTeX 2.00 Enhanced Version}
-% \changes{v2.00a}{2000/11/03}{Bug fix}
-%
-% \begin{macrocode}
-% \NeedsTeXFormat{LaTeX2e}
-% \end{macrocode}
-%
-% \begin{macrocode}
-% <chemist>\ProvidesFile{chemist.sty}
-%<driver>\ProvidesFile{chemist.drv}
-%<driver> [2000/11/03 v2.00a
-% <chemist> ChemSci package ]
-%<driver> ChemSci package driver (English)
-% \end{macrocode}
-%
-%\setcounter{StandardModuleDepth}{1}
-%
-% \section{Driver file for this dtx file}
-%
-% \changes{v1.0a}{1996/06/15}{first draft}
-% \changes{v2.00a}{2000/11/05}{bug fix}
-%
-% \begin{macrocode}
-%<*driver>
- ]
-\documentclass{ltxdoc}
-\GetFileInfo{chemist.drv}
-\title{Chemist Package \space\fileversion}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology \\
-Kyoto Institute of Technology
-%% Ashigara Research Laboratories \\
-%% Fuji Photo Film Co. Ltd.
-}
-\date{\filedate}
-\begin{document}
-\maketitle
-\tableofcontents
-\DocInput{chemist.dtx}
-\end{document}
-%</driver>
-% \end{macrocode}
-%
-% \fi
-%
-% \StopEventually{}
-%
-% \section{{\sc docstrip} options}
-%
-% This dtx file provides the {\sffamily chemist} package
-% by docstrip processing.
-%
-% \DeleteShortVerb{\|}
-% \begin{center}
-% \begin{tabular}{|l|l|}
-% \hline
-% argument & package name \\
-% \hline
-% chemist & chemist.sty \\
-% driver & a documentation driver file \\
-% \hline
-% \end{tabular}
-% \end{center}
-% \MakeShortVerb{\|}
-%
-% \section{Version information}
-%
-% The old process for typing out version information remains active.
-% \begin{macrocode}
-%<chemist>\def\j@urnalname{chemist} \def\journalID{chemist}
-\def\versi@ndate{November 3, 2000}
-\def\versi@nno{ver2.00a}
-\def\copyrighth@lder{SF} % Shinsaku Fujita
-%<*chemist>
-\typeout{Package `\j@urnalname' (\versi@nno) <\versi@ndate>\space
-[\copyrighth@lder]}
-\typeout{chemist.sty ver2.00a (for LaTeX2e) 2000/11/03[SF]}
-%</chemist>
-% \end{macrocode}
-%
-% \section{Cross-references of compounds}
-%
-% The \textsf{compd} counter is introduced for numbering
-% chemical compounds.
-%
-% \begin{macro}{\thecompd}
-% \begin{macro}{\compd}
-% \begin{macro}{\nocompd}
-%
-% The |\thecompd| command prints compound numbering without
-% advancing the the \textsf{compd} counter.
-% The |\compd| command prints compound numbering and advances
-% the \textsf{compd} counter by one, while
-% the |\nocompd| advances the \textsf{compd} counter by one
-% without printing.
-% \changes{v1.01a}{1996/06/22}{the unskip command was deleted.}
-%
-% \begin{macrocode}
-%<*chemist>
-% *******************
-% * compound label *
-% * 1991 sept 29 *
-% *******************
-% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-\@ifundefined{chapter}{\newcounter{compd}}{\newcounter{compd}[chapter]}
-\def\thecompd{\arabic{compd}}
-%\def\compd{\refstepcounter{compd}\unskip{\large\bf \thecompd}}
-\def\compd{\leavevmode\refstepcounter{compd}{\large\bf \thecompd}}
-\def\nocompd{\refstepcounter{compd}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\compdlabel}
-% \begin{macro}{\nocompdlabel}
-% \begin{macro}{\cref}
-%
-% The cross-reference of compound numbers are conducted by using
-% |\label| and |\ref| commands. Alternative commands are also available
-% as follows.
-% \begin{macrocode}
-\def\compdlabel#1{\compd \label{#1}}
-\def\nocompdlabel#1{\nocompd \label{#1}}
-\@ifundefined{bf}{\def\bf{\normalfont\bfseries}}{}
-\def\cref#1{{\bf \ref{#1}}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\compdfbox}
-% \begin{macro}{\compdmbox}
-% \begin{macro}{\lbcompdpbox}
-%
-% For takeing a space for compound output, we can use |\compdfbox|
-% and like.
-%
-% \begin{macrocode}
-\def\compdfbox#1#2#3{\framebox[#1]{\rule[-0.3mm]{0pt}{#2} #3 }}
-\def\compdmbox#1#2#3{\makebox[#1]{\rule[-0.3mm]{0pt}{#2} #3 }}
-\def\lbcompdpbox#1#2#3{\parbox{#2}{\vskip 2em
- \parbox{#2}{#3 \par \centering{\compdlabel{#1}}\vskip 2em }}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The \textsf{deriv} counter is introduced for numbering
-% derivatives of a compound.
-% \changes{v1.01a}{1996/06/22}{the unskip command was deleted.}
-% \changes{v2.00}{1999/03/17}{derivnum added}
-%
-% \begin{macro}{\thederiv}
-% \begin{macro}{\deriv}
-% \begin{macro}{\noderiv}
-% \begin{macro}{\derivnum}
-%
-% \begin{macrocode}
-% ********************
-% * deriv label *
-% * 1991 oct 01 *
-% ********************
-% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-\newcounter{deriv}[compd]
-\def\thederiv {\thecompd\alph{deriv}}
-%\def\deriv{\refstepcounter{deriv}\unskip{\large\bf \thederiv}}
-\def\deriv{\leavevmode\refstepcounter{deriv}{\large\bf \thederiv}}
-\def\noderiv{\refstepcounter{deriv}}
-\def\derivnum{%
-\leavevmode\refstepcounter{deriv}{\large\bf \alph{deriv}}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\derivlabel}
-% \begin{macro}{\noderivlabel}
-%
-% The cross-reference of derivative numbers are conducted by using
-% |\label| and |\ref| commands.
-% Alternative commands are also available as follows.
-% \begin{macrocode}
-\def\derivlabel#1{\deriv \label{#1}}
-\def\noderivlabel#1{\noderiv \label{#1}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\derivfbox}
-% \begin{macro}{\derivmbox}
-% \begin{macro}{\lbderivpbox}
-%
-% For takeing a space for placing a derivative, we can use |\compdfbox|
-% and like.
-%
-% \begin{macrocode}
-\def\derivfbox#1#2#3{\framebox[#1]{\rule[-0.3mm]{0pt}{#2} #3 }}
-\def\derivmbox#1#2#3{\makebox[#1]{\rule[-0.3mm]{0pt}{#2} #3 }}
-\def\lbderivpbox#1#2#3{\parbox{#2}{\vskip 2em
- \parbox{#2}{#3 \par \centering{\derivlabel{#1}}\vskip 2em }}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\deriva}
-% \begin{macro}{\noderiva}
-% \begin{macro}{\derivalabel}
-% \begin{macro}{\noderivalabel}
-%
-% The \textsf{deriv} counter is also advanced by |\deriva| command and like.
-% This command produced the net output of the \textsf{deriv} counter.
-% \changes{v1.01a}{1996/06/22}{the unskip command was deleted.}
-% \begin{macrocode}
-% ********************
-% * deriva label *
-% * 1991 oct 05 *
-% ********************
-% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-%\def\deriva{\refstepcounter{deriv}\unskip{\large\bf \alph{deriv}}}
-\def\deriva{\leavevmode\refstepcounter{deriv}{\large\bf \alph{deriv}}}
-\def\noderiva{\refstepcounter{deriv}}
-\def\derivalabel#1{\deriva \label{#1}}
-\def\noderivalabel#1{\noderiva \label{#1}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \section{Boxes for placing compounds}
-%
-% \begin{macro}{\cdonecell}
-% \begin{macro}{\cdtwocell}
-%
-% These boxes with a given width are used for printing chemical compounds.
-% A box provided by |\cdonecell| is used for accomodating a compound.
-% A box provided by |\cdtwocell| is devied into two vertical cells
-% where the one is to place a compound and the other to place
-% the compound number.
-% \begin{macrocode}
-% ********************
-% * cdonecell label *
-% * 1991 oct 04 *
-% ********************
-% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-\def\cdonecell#1#2#3{\raisebox{#1}{\parbox{#2}{\centering{#3}}}}
-% #1 ue, #2 haba, #3 honbun
-\def\cdtwocell#1#2#3#4{\raisebox{#1}{
- \parbox{#2}{\centering{#3} \par \vskip 3pt \centering{#4} }}}
-% #1 ue, #2 haba, #3 ue honbun, #4 shita label
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \section{Arrows}
-%
-% \subsection{Arrows with variable length}
-%
-% \begin{macro}{\leftrightarrowfill}
-% \begin{macro}{\Leftarrowfill}
-% \begin{macro}{\Rightarrowfill}
-% \begin{macro}{\Leftrightarrowfill}
-%
-% LaTeX{} are possessed of |\leftarrowfill| and |\rightarrowfill| for
-% drawing arrows with variable length. The {\sffamily chemist}
-% package defines other arrows with variable length for drawing
-% chemical equations or schemes.
-%
-% \begin{macrocode}
-% *******************
-% * variable arrows * 1992 May 24 S. Fujita
-% *******************
-% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-\def\leftrightarrowfill{$\m@th \mathord\leftarrow \mkern-6mu
- \cleaders\hbox{$\mkern-2mu \mathord- \mkern-2mu$}\hfill
- \mkern-6mu \mathord\rightarrow$}
-\def\Leftarrowfill{$\m@th \mathord\Leftarrow \mkern-6mu
- \cleaders\hbox{$\mkern-2mu \mathord= \mkern-2mu$}\hfill
- \mkern-6mu \mathord=$}
-\def\Rightarrowfill{$\m@th \mathord= \mkern-6mu
- \cleaders\hbox{$\mkern-2mu \mathord= \mkern-2mu$}\hfill
- \mkern-6mu \mathord\Rightarrow$}
-\def\Leftrightarrowfill{$\m@th \mathord\Leftarrow \mkern-6mu
- \cleaders\hbox{$\mkern-2mu \mathord= \mkern-2mu$}\hfill
- \mkern-6mu \mathord\Rightarrow$}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Reaction arrows with variable length}
-%
-% \begin{macro}{\reactrarrow}
-% \begin{macro}{\reactlarrow}
-% \begin{macro}{\reactlrarrow}
-% \begin{macro}{\reacteqarrow}
-%
-% The {\sffamily chemist} package defines arrows with variable length
-% for drawing chemical equations, where additional information
-% can be written on the upper and/or downward sides of each arrow.
-% \changes{v2.00}{1999/02/02}{Vertical spacing changed}
-% \changes{v2.00}{1999/03/16}{Horizontal shift}
-% \begin{macrocode}
-% ******************* 1991 Oct 4 S. Fujita
-% * reaction arrows * Revised 1992 May 24 S.Fujita%1999/02/02 SF
-% *******************
-% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-%
-% #1 yoko #2 ue, #3 haba, #4 ya no ue, #5 ya no shita
-%
-\def\reactrarrow{\@ifnextchar[{\react@rarrow}{\react@rarrow[0pt]}}
-\def\react@rarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{%
- \parbox{#3}{\centering
- \baselineskip=.8\normalbaselineskip #4 \par
- \vskip-0.2\normalbaselineskip
- \rightarrowfill \par
- \vskip-0.1\normalbaselineskip #5}}}
-\def\reactlarrow{\@ifnextchar[{\react@larrow}{\react@larrow[0pt]}}
-\def\react@larrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{%
- \parbox{#3}{\centering
- \baselineskip=.8\normalbaselineskip #4 \par
- \vskip-0.2\normalbaselineskip
- \leftarrowfill \par
- \vskip-0.1\normalbaselineskip #5}}}
-\def\reactlrarrow{\@ifnextchar[{\react@lrarrow}{\react@lrarrow[0pt]}}
-\def\react@lrarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{%
- \parbox{#3}{\centering
- \baselineskip=.8\normalbaselineskip
- #4 \par
- \vskip-0.2\normalbaselineskip
- \centering{\leftrightarrowfill} \par
- \vskip-0.1\normalbaselineskip #5}}}
-\def\reacteqarrow{\@ifnextchar[{\react@eqarrow}{\react@eqarrow[0pt]}}
-\def\react@eqarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{%
- \parbox{#3}{\centering
- \baselineskip=.8\normalbaselineskip
- #4 \par
- \vskip-0.2\normalbaselineskip
- \rightarrowfill \par \vskip-0.55\normalbaselineskip%
- \leftarrowfill \par
- \vskip-0.1\normalbaselineskip #5}}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\k@nz@n}
-% The |\k@nz@n| command is used for changing a dimension to a
-% parameter for the \LaTeX{} picture environment.
-% \begin{macrocode}
-\def\k@nz@n#1{\@tempdima=#1\relax
-\@tempcnta=\@tempdima \@tempcntb=\unitlength
-\divide\@tempcnta by \@tempcntb
-\edef\kanzanchi{\the\@tempcnta}%
-\divide\@tempcnta by2\relax
-\edef\kanzanhalf{\the\@tempcnta}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\reactdarrow}
-% \begin{macro}{\reactuarrow}
-% \begin{macro}{\reactveqarrow}
-% \begin{macro}{\reactduarrow}
-% Vertical reaction arrows has been added.
-% \changes{v2.00}{1999/02/02}{New commands}
-% \begin{macrocode}
-\def\reactdarrow{\@ifnextchar[{\react@darrow}{\react@darrow[0pt]}}
-\def\react@darrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
-\def\arraystretch{0.8}%
-\begin{tabular}{l}#4\end{tabular}%
-{\tabcolsep=0pt
-\begin{tabular}{c}\begin{picture}(0,\kanzanchi)(0,0)
-\put(0,\kanzanchi){\vector(0,-1){\kanzanchi}}
-\end{picture}\end{tabular}}%
-\begin{tabular}{l}#5\end{tabular}}}
-%
-\def\reactuarrow{\@ifnextchar[{\react@uarrow}{\react@uarrow[0pt]}}
-\def\react@uarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
-\def\arraystretch{0.8}%
-\begin{tabular}{l}#4\end{tabular}%
-{\tabcolsep=0pt
-\begin{tabular}{c}\begin{picture}(0,\kanzanchi)(0,0)
-\put(0,0){\vector(0,1){\kanzanchi}}
-\end{picture}\end{tabular}}%
-\begin{tabular}{l}#5\end{tabular}}}
-%
-\def\reactveqarrow{\@ifnextchar[%]
-{\react@veqarrow}{\react@veqarrow[0pt]}}
-\def\react@veqarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
-\def\arraystretch{0.8}%
-\begin{tabular}{l}#4\end{tabular}%
-{\tabcolsep=0pt
-\begin{tabular}{c}\begin{picture}(40,\kanzanchi)(0,0)
-\put(40,0){\vector(0,1){\kanzanchi}}
-\put(0,\kanzanchi){\vector(0,-1){\kanzanchi}}
-\end{picture}\end{tabular}}%
-\begin{tabular}{l}#5\end{tabular}}}
-%
-\def\reactduarrow{\@ifnextchar[{\react@duarrow}{\react@duarrow[0pt]}}
-\def\react@duarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
-\def\arraystretch{0.8}%
-\begin{tabular}{l}#4\end{tabular}%
-{\tabcolsep=0pt
-\begin{tabular}{c}\begin{picture}(0,\kanzanchi)(0,0)
-\put(0,\kanzanhalf){\vector(0,1){\kanzanhalf}}
-\put(0,\kanzanhalf){\vector(0,-1){\kanzanhalf}}
-\end{picture}\end{tabular}}%
-\begin{tabular}{l}#5\end{tabular}}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\reactswarrow}
-% \begin{macro}{\reactsearrow}
-% \begin{macro}{\reactnwrarrow}
-% \begin{macro}{\reactnearrow}
-% Further reaction arrows have been added.
-% \changes{v2.00}{1999/02/02}{New commands}
-% \changes{v2.00}{2000/06/14}{Bug Fix: exchanged sw -- se and nw --ne}
-% \begin{macrocode}
-\def\reactsearrow{\@ifnextchar[{\react@searrow}{\react@searrow[0pt]}}
-\def\react@searrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
-\def\arraystretch{0.8}%
-\begin{picture}(\kanzanchi,\kanzanchi)(0,0)
-\put(0,\kanzanchi){\vector(1,-1){\kanzanchi}}
-\put(\kanzanhalf,\kanzanhalf){\hbox to0pt{%
-\begin{tabular}[b]{l}#4\end{tabular}\hss}}
-\put(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{\hss
-\begin{tabular}[t]{r}#5\end{tabular}}}
-\end{picture}}}
-%
-\def\reactnwarrow{\@ifnextchar[{\react@nwarrow}{\react@nwarrow[0pt]}}
-\def\react@nwarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
-\def\arraystretch{0.8}%
-\begin{picture}(\kanzanchi,\kanzanchi)(0,0)
-\put(\kanzanchi,0){\vector(-1,1){\kanzanchi}}
-\put(\kanzanhalf,\kanzanhalf){\hbox to0pt{%
-\begin{tabular}[b]{l}#4\end{tabular}\hss}}
-\put(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{\hss
-\begin{tabular}[t]{r}#5\end{tabular}}}
-\end{picture}}}
-%
-\def\reactnearrow{\@ifnextchar[{\react@nearrow}{\react@nearrow[0pt]}}
-\def\react@nearrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
-\def\arraystretch{0.8}%
-\begin{picture}(\kanzanchi,\kanzanchi)(0,0)
-\put(0,0){\vector(1,1){\kanzanchi}}
-\put(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{%
-\begin{tabular}[t]{l}#5\end{tabular}\hss}}
-\put(\kanzanhalf,\kanzanhalf){\hbox to0pt{\hss
-\begin{tabular}[b]{r}#4\end{tabular}}}
-\end{picture}}}
-%
-\def\reactswarrow{\@ifnextchar[{\react@swarrow}{\react@swarrow[0pt]}}
-\def\react@swarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
-\def\arraystretch{0.8}%
-\begin{picture}(\kanzanchi,\kanzanchi)(0,0)
-\put(\kanzanchi,\kanzanchi){\vector(-1,-1){\kanzanchi}}
-\put(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{%
-\begin{tabular}[t]{l}#5\end{tabular}\hss}}
-\put(\kanzanhalf,\kanzanhalf){\hbox to0pt{\hss
-\begin{tabular}[b]{r}#4\end{tabular}}}
-\end{picture}}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\reactdeqarrow}
-% \begin{macro}{\reactueqarrow}
-% \begin{macro}{\reactdlrarrow}
-% \begin{macro}{\reactulrarrow}
-% Further reaction arrows have been added.
-% \changes{v2.00}{1999/02/02}{New commands}
-% \begin{macrocode}
-\def\reactdeqarrow{\@ifnextchar[%]
-{\react@deqarrow}{\react@deqarrow[0pt]}}
-\def\react@deqarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
-\def\arraystretch{0.8}%
-\begin{picture}(\kanzanchi,\kanzanchi)(0,0)
-\put(0,\kanzanchi){\put(15,15){\vector(1,-1){\kanzanchi}}}
-\put(\kanzanchi,0){\put(-15,-15){\vector(-1,1){\kanzanchi}}}
-\put(\kanzanhalf,\kanzanhalf){\raise1ex\hbox to0pt{%
-\begin{tabular}[b]{l}#4\end{tabular}\hss}}
-\put(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{\hss
-\begin{tabular}[t]{r}#5\end{tabular}}}
-\end{picture}}}
-\def\reactueqarrow{\@ifnextchar[%]
-{\react@ueqarrow}{\react@ueqarrow[0pt]}}
-\def\react@ueqarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
-\def\arraystretch{0.8}%
-\begin{picture}(\kanzanchi,\kanzanchi)(0,0)
-\put(0,0){\put(-15,15){\vector(1,1){\kanzanchi}}}
-\put(\kanzanchi,\kanzanchi){\put(15,-15){\vector(-1,-1){\kanzanchi}}}
-\put(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{%
-\begin{tabular}[t]{l}#5\end{tabular}\hss}}
-\put(\kanzanhalf,\kanzanhalf){\raise1ex\hbox to0pt{\hss
-\begin{tabular}[b]{r}#4\end{tabular}}}
-\end{picture}}}
-\def\reactulrarrow{\@ifnextchar[%]
-{\react@ulrarrow}{\react@ulrarrow[0pt]}}
-\def\react@ulrarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
-\def\arraystretch{0.8}%
-\begin{picture}(\kanzanchi,\kanzanchi)(0,0)
-\put(\kanzanhalf,\kanzanhalf){\vector(1,1){\kanzanhalf}}
-\put(\kanzanhalf,\kanzanhalf){\vector(-1,-1){\kanzanhalf}}
-\put(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{%
-\begin{tabular}[t]{l}#5\end{tabular}\hss}}
-\put(\kanzanhalf,\kanzanhalf){\raise1ex\hbox to0pt{\hss
-\begin{tabular}[b]{r}#4\end{tabular}}}
-\end{picture}}}
-\def\reactdlrarrow{\@ifnextchar[%]
-{\react@dlrarrow}{\react@dlrarrow[0pt]}}
-\def\react@dlrarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
-\def\arraystretch{0.8}%
-\begin{picture}(\kanzanchi,\kanzanchi)(0,0)
-\put(\kanzanhalf,\kanzanhalf){\vector(-1,1){\kanzanhalf}}
-\put(\kanzanhalf,\kanzanhalf){\vector(1,-1){\kanzanhalf}}
-\put(\kanzanhalf,\kanzanhalf){\hbox to0pt{%
-\begin{tabular}[b]{l}#4\end{tabular}\hss}}
-\put(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{\hss
-\begin{tabular}[t]{r}#5\end{tabular}}}
-\end{picture}}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\schemelarrow}
-% \begin{macro}{\schemerarrow}
-% \begin{macro}{\schemelrarrow}
-%
-% The {\sffamily chemist} package defines double-line arrows with variable
-% length for drawing reaction schemes, where additional information
-% can be written on the upper and/or downward sides of each arrow.
-% \changes{v2.00}{1999/02/02}{Vertical spacing changed}
-% \begin{macrocode}
-% ********************************
-% * scheme arrows *
-% * 1991 OCT 4 S. Fujita *
-% * Revised 1992 May 24 S.Fujita * 1999/02/02 by S. Fujita
-% ********************************
-% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-\def\schemelarrow#1#2#3#4{\raisebox{#1}{%
- \parbox{#2}{\centering
- \baselineskip=.8\normalbaselineskip #3 \par
- \vskip-0.2\normalbaselineskip
- \centering{\Leftarrowfill} \par
- \vskip-0.1\normalbaselineskip #4}}}
-\def\schemerarrow#1#2#3#4{\raisebox{#1}{%
- \parbox{#2}{\centering
- \baselineskip=.8\normalbaselineskip #3 \par
- \vskip-0.2\normalbaselineskip
- \centering{\Rightarrowfill} \par
- \vskip-0.1\normalbaselineskip #4}}}
-\def\schemelrarrow#1#2#3#4{\raisebox{#1}{%
- \parbox{#2}{\centering
- \baselineskip=.8\normalbaselineskip #3 \par
- \vskip-0.2\normalbaselineskip
- \centering{\Leftrightarrowfill} \par
- \vskip-0.1\normalbaselineskip #4}}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\changespace}
-%
-% The |\changespace| command is used to change a vertical space
-% between lines.
-% \begin{macrocode}
-% *************************
-% * Changing line spacing *
-% *************************
-% After Chapter 3 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-\def\changespace#1{\def\baselinestretch{#1} \@normalsize}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-% %%%%%%%%%%1991 November 6%%%\bslskipchange%%%%%%%%%%
-% \newenvironment{bslskipchange}[1]%
-% {\par\begingroup\global\baselineskip= #1\normalbaselineskip}%
-% {\endgroup\par\global\baselineskip=\normalbaselineskip%
-% \global\@ignoretrue}
-% \end{macrocode}
-%
-% \section{Captions}
-% \subsection{Changing caption types within a float}
-% \changes{v1.00}{1993/06/17}{by S. Fujita}
-%
-% \begin{macro}{\tbcaption}
-% \begin{macro}{\fgcaption}
-% \begin{macro}{\smcaption}
-%
-% These commands enable us to place two or more floats of
-% different kinds in a single floating body.
-%
-% \begin{center}
-% \begin{tabular}{lp{5cm}}
-% \verb/\tbcaption[TCAP]{CAP}/ &
-% makes a table caption in a float other than ``table'' or
-% after using \verb/\fgcaption/ or \verb/\smcaption/ command. \\
-% \verb/\fgcaption[TCAP]{CAP}/ &
-% makes a figure caption in a float other than ``figure'' or
-% after using \verb/\tbcaption/ or \verb/\smcaption/ command. \\
-% \verb/\smcaption[TCAP]{CAP}/ &
-% makes a scheme caption in a float other than ``scheme'' or
-% after using \verb/\tbcaption/ or \verb/\fgcaption/ command. \\
-% \end{tabular}
-% \end{center}
-%
-% For exmaple, we have
-%
-% \begin{verbatim}
-% \begin{figure}
-% \caption{aaa} % 通常のキャプション。
-% \tbcaption{bbb} % 表のキャプションの強制的に変更。
-% \fgcaption[ccc]{ddd} %図のキャプションに戻す。
-% \end{figure}
-% \end{verbatim}
-%
-% \begin{macrocode}
-\def\tbcaption{\def\@captype{table}\caption}
-\def\fgcaption{\def\@captype{figure}\caption}
-\def\smcaption{\def\@captype{scheme}\caption}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\chapinitial}
-%
-% \begin{macrocode}
-% *****************
-% * miscellaneous *
-% *****************
-%%%%%%%%%%%1991 November 7%%%chapinitial%%%%%%%%%%%%%
-\def\chap@initial#1%
-{\medbreak\begingroup\clubpenalty=10000
- \def\par{\endgraf\endgroup\medbreak}
- \noindent\hangindent28pt\hangafter=-2
-\hbox to0pt{\hskip-\hangindent
-\hbox to28pt{\hss\raise-4pt\hbox{\lower3pt\hbox{\Huge\bf #1}} }
-} \hskip-5pt plus2pt minus2pt}
-\outer\def\chapinitial{\chap@initial}
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Redefinition of verbatim}
-%
-% \begin{macro}{\yen}
-%
-% The {\sffamily chemist} package uses a customaized defintion of |\yen| for
-% printing the top symbol of each command sequence.
-% \begin{macrocode}
-% ************
-% * ¥の定義 *
-% ************
-% % ¥ %%%%%from ascmac.sty%%%%added \leavevmode%%%%%%%%%%%%%%%%
-%\def\yen{\leavevmode{\setbox0=\hbox{Y}Y\kern-.97\wd0\vbox{%
-% \hrule\@height.1ex\@width.98\wd0%
-% \kern.33ex\hrule\@height.1ex\@width.98\wd0\kern.45ex}}}
-%
-\def\yen{\leavevmode\hbox{\setbox0=\hbox{Y}%
-\setbox1=\vbox{\hrule height.05\ht0 width.96\wd0%
-\kern.18\ht0\hrule height.05\ht0 width.96\wd0}%
-\setbox1=\hbox to\wd0{\raise.3\ht0\box1\hss}%
-{\ooalign{\hfil\box1\hfil\crcr\box0}}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\ifverbswitch}
-% \begin{macro}{\verb}
-%
-% The switch |\ifverbswitch| is used for changing |\yen| or
-% |\backslash| for the top symbol of each control sequence
-% printed by the |\verb| command.
-%
-% \begin{macrocode}
-% **************************
-% * ¥を含んだverbatim環境 *
-% **************************
-% %%%%%%1992 April 30 %%%verbatim%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % from 奥村晴彦 LaTeX美文書作成入門 1991 技術評論社 %
-% % omitted: =, by, etc. %
-% % added: verbswitch %
-% % \verbswitchtrue===> yen mark %
-% % \verbswitchfalse===> backslash mark %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newif\ifverbswitch \verbswitchtrue
-\let\old@verbatim\@verbatim
-\let\old@xverbatim\@xverbatim
-\let\old@sxverbatim\@sxverbatim
-\begingroup
- \catcode`\|=0 \catcode`\\=13
- |gdef|verbh@@k{|catcode`|\=13 |let\=|yen}
-|endgroup
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\verb{\begingroup \catcode``=13 \@noligs
- \tt \let\do\@makeother \dospecials
- \ifverbswitch \verbh@@k \fi \@ifstar{\@sverb}{\@verb}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{environment}{@verbatim}
-% \begin{environment}{verbatim}
-%
-% The switch |\ifverbswitch| is also effective
-% for in a verbtim environment.
-%
-% \begin{macrocode}
-\begingroup
-\catcode`|=0 \catcode`[=1 \catcode`]=2
-\catcode`\{=12 \catcode`\}=12 \catcode`\\=13
-|gdef|@xverbatim#1\end{verbatim}[#1|end[verbatim]]
-|gdef|@sxverbatim#1\end{verbatim*}[#1|end[verbatim*]]
-|endgroup
-% \end{macrocode}
-%
-% \begin{macrocode}
-\newdimen\verbatimleftmargin \verbatimleftmargin\leftmargini
-\newdimen\verbatimbaselineskip \verbatimbaselineskip11pt
-\def\verbatimsize{\small}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@verbatim{\trivlist \item[]%
- \if@minipage \else \vskip\baselineskip%
- \vskip-\verbatimbaselineskip \vskip\parskip\fi
- \leftskip\@totalleftmargin
- \if@minipage \else \advance\leftskip\verbatimleftmargin \fi
- \rightskip\z@ \parindent\z@ \parfillskip\@flushglue \parskip\z@
- \@tempswafalse \def\par{\if@tempswa\hbox{}\fi\@tempswatrue\@@par}
- \obeylines \verbatimsize \baselineskip\verbatimbaselineskip \tt
- \catcode``=13 \@noligs \let\do\@makeother \dospecials}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\verbatim{\ifverbswitch \@verbatim \else \old@verbatim \fi
-\frenchspacing \@vobeyspaces
-\ifverbswitch \verbh@@k \@xverbatim \else \old@xverbatim \fi}
-\@namedef{verbatim*}{%
- \ifverbswitch \@verbatim \verbh@@k \@sxverbatim
- \else \old@verbatim \old@sxverbatim \fi}
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%pLaTeX2e%%%%%%%%%%%%%1996/04/20 by S. Fujita%%%%%%
-% pLaTeX2eでは再定義されているので,上のままだとエラーになる
-% LaTeX2.09の定義を補っておく
-\def\@sverb#1{\def\@tempa ##1#1{##1\endgroup}\@tempa}
-\def\@verb{\obeyspaces \frenchspacing \@sverb}
-\def\@sverbtim{\obeyspaces\@verbatim}
-\let\endverbatim=\endtrivlist
-\@namedef{varbatim*}{\@verbatim\@sxverbatim}
-\expandafter\let\csname endverbatim*\endcsname =\endtrivlist
-% \end{macrocode}
-% \end{environment}
-% \end{environment}
-%
-%
-% \section{Shadowed Boxes}
-%
-% \begin{macro}{\fb@xit}
-% \begin{macro}{\fboxit}
-%
-% \begin{macrocode}
-%
-% <<Base box for boxes>>
-% \fb@xit{LWIDTH}{SPACE}{BWIDTH}{TEXT}
-% #1 LWIDTH: line thickness
-% #2 SPACE: spacing around the text
-% #3 BWIDTH: box width
-% #4 TEXT: text
-%
-\long\def\fb@xit#1#2#3#4{%
-\setbox4=\vbox{\hsize#3\noindent#4}%
-%\setbox4=\vbox{\hsize#3\noindent\strut#4\strut}%
-\vbox{\hrule\@height#1\hbox{\vrule\@width#1\kern#2\vbox{%
-\kern#2\box4\kern#2}\kern#1\vrule\@width#1}\hrule\@height#1}}
-%\kern#2\box4\kern#2}\vrule\@width#1}\hrule\@height#1}}
-% \end{macrocode}
-%
-% \begin{macrocode}
-%
-% \fboxit{BWIDTH}{TEXT}
-% #1 BWIDTH: box width
-% #2 TEXT: text
-%
-\long\def\fboxit#1#2{\fb@xit{\fboxrule}{\fboxsep}{#1}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\leftshfr@me}
-% \begin{macro}{\leftshframe}
-% \begin{macro}{\leftshfbox}
-%
-% \begin{macrocode}
-% % ************************************************************
-% % * 影のついた箱 *
-% % * January 3, 1993 by Shinsaku Fujita *
-% % * Borde ({\em \TeX{} by Example})の記載を参考にして作った*
-% % ************************************************************
-% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-%
-% left shadow box
-%
-% \leftshfr@me{SWIDTH}{SPACE}{BOXWIDTH}{TEXT}
-%
-% #1 SWIDTH: shadow width
-% #2 SPACE: spacing around the text
-% #3 BOXWIDTH: box width
-% #4 TEXT: text
-%
-% \leftshframe{BOXWIDTH}{TEXT}
-%
-% #1 BOXWIDTH: box width
-% #2 TEXT: text
-%
-% \leftshfbox{TEXT}
-%
-% #1 TEXT: text
-%
-% %%leftshfr@me#1 shadow width, #2 space, #3 boxwidth, #4 text%
-\long\def\leftshfr@me#1#2#3#4{\leavevmode%
- \vbox{\hbox{\hsize #3\vbox{%
- \hbox{\vrule\@width #1%
- \vbox{\kern-#1\fb@xit{%
- \fboxrule}{#2}{#3}{#4}\kern-\fboxrule}\kern-#1}%
- \hrule\@height#1}}}\strut\hskip #1\relax}
-% %leftshframe%%%%%%%%%%%%%%%%%%%%%%%%% #1 width, #2 text%%%%%
-\long\def\leftshframe#1#2{%
- \leftshfr@me{\fboxsep}{\fboxsep}{#1}{#2}}
-% %leftshfbox%%%%%%%%%%%%%%%%%%%%%%%%% #1 text%%%%%%%%%%%%%%%%
-\long\def\leftshfbox#1{\leavevmode\setbox0=\hbox{\fbox{#1}}%
- \vbox{\hbox{\vbox{\hbox{\vrule\@width\fboxsep\vbox{%
- \kern-\fboxsep\box0\kern-\fboxrule}\kern-\fboxsep}%
- \hrule\@height\fboxsep}}}\hskip\fboxsep\relax} %%%%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\rightshfr@me}
-% \begin{macro}{\rightshframe}
-% \begin{macro}{\rightshfbox}
-%
-% \begin{macrocode}
-%
-% right shadow box
-%
-% \rightshfr@me{SWIDTH}{SPACE}{BOXWIDTH}{TEXT}
-%
-% #1 SWIDTH: shadow width
-% #2 SPACE: spacing around the text
-% #3 BOXWIDTH: box width
-% #4 TEXT: text
-%
-% \rightshframe{BOXWIDTH}{TEXT}
-%
-% #1 BOXWIDTH: box width
-% #2 TEXT: text
-%
-% \rightshfbox{TEXT}
-%
-% #1 TEXT: text
-%
-% %rightshfr@me#1 shadow width, #2 space, #3 boxwidth, #4 text%
-\long\def\rightshfr@me#1#2#3#4{\leavevmode%
- \vbox{\hbox{\kern#1\vbox{\hsize#3\vbox{\kern-#1\hbox{%
- \kern-#1\fb@xit{\fboxrule}{#2}{#3}{#4}}\hrule\@height#1}}%
- \vrule\@width#1}}\strut}
-% %rightshframe%%%%%%%%%%%%%%%%%%%%%%%%% #1 width, #2 text%%%%%
-\long\def\rightshframe#1#2{%
- \rightshfr@me{\fboxsep}{\fboxsep}{#1}{#2}}
-% %rightshfbox%%%%%%%%%%%%%%%%%%%%%%%%% #1 text%%%%%%%%%%%%%%%%
-\long\def\rightshfbox#1{\leavevmode%
- \vbox{\hbox{\kern\fboxsep\vbox{\vbox{\kern-\fboxsep\hbox{%
- \kern-\fboxsep\fbox{#1}}\hrule\@height\fboxsep}}%
- \vrule\@width\fboxsep}}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{environment}{ffboxit}
-% \begin{macro}{\ffparbox}
-%
-% \begin{macrocode}
-% *****************************************
-% * 箱 (環境版) *
-% * November 2, 1991 by Shinsaku Fujita *
-% *****************************************
-% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-% %%%%%%1991 November 2 %%%ffboxit%%%%%%%%%%%%%%%%%%%%%%
-\def\ffboxit{\par\vskip1pc\hfil\vbox\bgroup
- \hrule\hbox\bgroup\vrule\kern3pt\vbox\bgroup\kern3pt}
-\def\endffboxit{\kern3pt\egroup\kern3pt\vrule\egroup\hrule\egroup
- \hfil\\}
-\def\ffparbox#1#2{\vbox{\hsize=#1 \noindent\strut #2\strut}}
-% \end{macrocode}
-% \end{macro}
-% \end{environment}
-%
-% \section{Framed box environment with and without shadows}
-%
-% \subsection{Framed box environment without shadows}
-%
-% \begin{macrocode}
-% %%%%%%1991 November 2 %%%frameboxit%%%old definition%%%%%%%%%%
-% with centering function
-%\def\frameboxit#1{\par\vskip1pc\hfil\vbox\bgroup
-% \hrule\hbox\bgroup\vrule\kern3pt\vbox\bgroup\kern3pt
-% \vbox\bgroup\hsize=#1 \noindent\strut
-% \@minipagetrue%
-% \everypar{\global\@minipagefalse\everypar{}}}
-%\def\endframeboxit{\strut\egroup\kern3pt\egroup%
-%\kern3pt\vrule\egroup
-% \hrule\egroup\hfil\\}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% <<Base box for box environments>>
-% \begin{fr@meboxit}{LWIDTH}{SPACE}{BWIDTH}
-% LWIDTH: line thickness
-% SPACE: spacing around the text
-% BWIDTH: box width
-% \end{fr@meboxit}
-%
-% %%fr@meboxit%%%%%#1 line width, #2 space, #3 width%%%%%%%%%%%%%
-%\def\fr@meboxit#1#2#3{\gdef\fr@meline{#1}\gdef\fr@mesp{#2}%
-% \hbox\bgroup\vbox\bgroup%
-% \hrule\@height#1\hbox\bgroup%
-% \vrule\@width#1\kern#2\vbox\bgroup%
-% \kern#2\vbox\bgroup\hsize=#3\strut%
-% \@minipagetrue%
-% \everypar{\global\@minipagefalse\everypar{}}}
-%\def\endfr@meboxit{\strut\egroup%
-%\kern\fr@mesp\egroup\kern\fr@mesp\egroup\hrule\@height\fr@meline%
-%\egroup\vrule\@width\fr@meline\egroup}
-% \end{macrocode}
-%
-% \begin{environment}{fr@meboxit}
-% \begin{environment}{frameboxit}
-%
-% \begin{macrocode}
-% %%%%%%%revised by S. Fujita, January 16, 1993%%%%%%%%%%%%%%%%%%%%%
-\long\def\fr@meboxit#1#2#3{\gdef\fr@meline{#1}\gdef\fr@mesp{#2}%
-% % \setbox4=\vbox\bgroup\hsize=#3\@parboxrestore\ignorespaces}
- \global\setbox4=\hbox\bgroup\minipage{#3}}
-% %\def\endfr@meboxit{\egroup%
-\def\endfr@meboxit{\endminipage\egroup%
- \hbox{\vbox{\hrule\@height\fr@meline%
- \hbox{\vrule\@width\fr@meline\kern\fr@mesp%
- \vbox{\kern\fr@meline\kern\fr@mesp\box4\kern\fr@mesp}%
-% % \vbox{\kern\fr@mesp\box4\kern\fr@mesp}%
- \kern\fr@mesp}\hrule\@height\fr@meline}%
- \vrule\@width\fr@meline}}
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%revised by S. Fujita, January 16, 1993%%%%%%%%%%%%%%%%%%%%
-\def\frameboxit#1{\leavevmode\fr@meboxit{\fboxrule}{\fboxsep}{#1}}
-\let\endframeboxit=\endfr@meboxit
-% \end{macrocode}
-% \end{environment}
-% \end{environment}
-%
-% \subsection{Framed box environment with shadows}
-%
-% \begin{environment}{lshfr@meboxit}
-% \begin{environment}{lshfboxit}
-%
-% \begin{macrocode}
-% *****************************************
-% * 影のついた箱 (環境版) *
-% * January 16, 1993 by Shinsaku Fujita *
-% * \sh@hwidth: 水平の影の太さ *
-% * \sh@vwidth: 垂直の影の太さ *
-% *****************************************
-% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-%
-% <<Base box for box environments>> See above
-% \begin{fr@meboxit}{LWIDTH}{SPACE}{BWIDTH}
-% LWIDTH: line thickness
-% SPACE: spacing around the text
-% BWIDTH: box width
-% \end{fr@meboxit}
-%
-% <<Base box environment with left shadow>>
-% \begin{lshfr@meboxit}{HSWIDTH}{VSWIDTH}{SPACE}{BWIDTH}
-% HSWIDTH: the thickness of the horizontal shadow
-% VSWIDTH: the thickness of the vertical shadow
-% SPACE: spacing around the text
-% BWIDTH: box width
-% \end{lshfr@meboxit}
-%
-% <<Box environment with left shadow>>
-% \begin{lshfboxit}{BWIDTH}
-% BWIDTH: box width
-% \end{lshfboxit}
-%
-% %%%lshfr@meboxit#1 #2 shadow width, #3 space, #4 boxwidth%%%%
-\def\lshfr@meboxit#1#2#3#4{\gdef\sh@hwidth{#1}\gdef\sh@vwidth{#2}%
-\leavevmode%
- \vbox\bgroup\hbox\bgroup\hsize #4\vbox\bgroup%
- \hbox\bgroup\vrule\@width\sh@vwidth%
- \vbox\bgroup\kern-\sh@hwidth\fr@meboxit{\fboxrule}{#3}{#4}}
-\def\endlshfr@meboxit{\endfr@meboxit%%%%\kern-\fboxrule
- \egroup\kern-\sh@vwidth\egroup%
- \hrule\@height\sh@hwidth\egroup\egroup\egroup%
- \strut\kern\sh@hwidth\relax}
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%lshfboxit%%%%%%%%%%%%%%%%%%%%%%%%% #1 width %%%%%%%%
-\def\lshfboxit#1{\leavevmode%
- \lshfr@meboxit{\fboxsep}{\fboxsep}{\fboxsep}{#1}}
-\let\endlshfboxit=\endlshfr@meboxit
-% \end{macrocode}
-% \end{environment}
-% \end{environment}
-%
-% \begin{environment}{rshfr@meboxit}
-% \begin{environment}{rshfboxit}
-%
-% \begin{macrocode}
-% <<Base box environment with right shadow>>
-% \begin{rshfr@meboxit}{HSWIDTH}{VSWIDTH}{SPACE}{BWIDTH}
-% HSWIDTH: the thickness of the horizontal shadow
-% VSWIDTH: the thickness of the vertical shadow
-% SPACE: spacing around the text
-% BWIDTH: box width
-% \end{rshfr@meboxit}
-%
-% <<Box environment with right shadow>>
-% \begin{rshfboxit}{BWIDTH}
-% BWIDTH: box width
-% \end{rshfboxit}
-%
-% %%rshfr@meboxit#1 #2 shadow width, #3 space, #4 boxwidth%%%
-\def\rshfr@meboxit#1#2#3#4{%
- \gdef\sh@hwidth{#1}\gdef\sh@vwidth{#2}%
- \leavevmode%
- \vbox\bgroup\hbox\bgroup\kern\sh@vwidth%
- \vbox\bgroup\hsize#4\vbox\bgroup%
- \kern-\sh@hwidth\hbox\bgroup\kern-\sh@vwidth%
- \fr@meboxit{\fboxrule}{#3}{#4}}
-\def\endrshfr@meboxit{\endfr@meboxit\egroup%
- \hrule\@height\sh@hwidth%
- \egroup\egroup\vrule\@width\sh@vwidth\egroup\egroup\strut}
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%rshfboxit%%%%%%%%%%%%%%%%%%%%%%%%% #1 width%%%%%%%%
-\def\rshfboxit#1{\leavevmode%
- \rshfr@meboxit{\fboxsep}{\fboxsep}{\fboxsep}{#1}}
-\let\endrshfboxit=\endrshfr@meboxit
-% \end{macrocode}
-% \end{environment}
-% \end{environment}
-%
-% \subsection{Framed box environment with gradient shadows}
-%
-% \begin{macro}{\hsgr@d}
-% \begin{macro}{\vsgr@d}
-% \begin{macro}{\vwgr@d}
-% \begin{macro}{\hwgr@d}
-% \begin{macro}{\vsepgr@d}
-% \begin{macro}{\hsepgr@d}
-% \begin{macro}{\nrep}
-% \begin{macro}{\nrepmax}
-%
-% \begin{macrocode}
-% %%parameters%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newdimen\hsgr@d \newdimen\vsgr@d
-\newdimen\vwgr@d \newdimen\hwgr@d
-\newdimen\vsepgr@d \newdimen\hsepgr@d
-\newcount\nrep \newcount\nrepmax
-%\nrepmax=20
-\nrepmax=25
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{environment}{grshfr@meboxit}
-% \begin{environment}{grshfboxit}
-%
-% \begin{macrocode}
-% *****************************************
-% * 斜の影のついた箱 (環境版) *
-% * Box environments with gradient shadow *
-% * January 16, 1993 by Shinsaku Fujita *
-% *****************************************
-% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-%
-% <<Base box environment with gradient right shadow>>
-% \begin{grshfr@meboxit}{HSWIDTH}{VSWIDTH}{SPACE}{BWIDTH}
-% HSWIDTH: the thickness of the horizontal shadow
-% VSWIDTH: the thickness of the vertical shadow
-% SPACE: spacing around the text
-% BWIDTH: box width
-% \end{grshfr@meboxit}
-%
-% <<Box environment with gradient right shadow>>
-% \begin{grshfboxit}{BWIDTH}
-% BWIDTH: box width
-% \end{grshfboxit}
-% %%%%%%%%grshfr@meboxit#1 #2 shadow width, #3 space, #4 boxwidth%%%
-\def\grshfr@meboxit#1#2#3#4{%
- \hsgr@d=0pt \advance\hsgr@d by#1 \divide\hsgr@d by\nrepmax%
- \vsgr@d=0pt \advance\vsgr@d by#2 \divide\vsgr@d by\nrepmax%
- \leavevmode%
- \setbox0=\vbox\bgroup\fr@meboxit{\fboxrule}{#3}{#4}}
-\def\brb@xit#1{\vbox{\setbox1=\hbox{#1}%
- \offinterlineskip%
- \hbox{\copy1\vsepgr@d=\nrep\vsgr@d%
- \vwgr@d=\ht1\advance\vwgr@d by-\vsepgr@d%
- \vrule\@height\vwgr@d\@width\vsgr@d}%
- \hbox{\hsepgr@d=\nrep\hsgr@d\kern\hsepgr@d%
- \vbox{\hwgr@d=\wd1\advance\hwgr@d by-\hsepgr@d%
- \hrule\@height\hsgr@d\@width\hwgr@d}}}}
-\def\lprb@xit{\expandafter\setbox0=\expandafter\brb@xit{\box0}}
-\def\endgrshfr@meboxit{\endfr@meboxit\egroup%
- \nrep=\@ne\@whilenum\nrep<\nrepmax\do%
- {\lprb@xit\advance\nrep\@ne}\box0\relax}
-% %%%%% in TeX grammer
-%\def\endgrshfr@meboxit{\endfr@meboxit\egroup%
-% \nrep=\@ne \loop \lprb@xit \advance\nrep\@ne%
-% \ifnum \nrep<\nrepmax \repeat \box0\relax}
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%grshfboxit%%%%%%%%%%%%%%%%%%%%%%%%% #1 width, #2 text%%%%%%%%
-\def\grshfboxit#1{\leavevmode%
- \grshfr@meboxit{\fboxsep}{\fboxsep}{\fboxsep}{#1}}
-\let\endgrshfboxit=\endgrshfr@meboxit
-% \end{macrocode}
-% \end{environment}
-% \end{environment}
-%
-% \begin{environment}{glshfr@meboxit}
-% \begin{environment}{glshfboxit}
-%
-% \begin{macrocode}
-% <<Base box environment with gradient left shadow>>
-% \begin{glshfr@meboxit}{HSWIDTH}{VSWIDTH}{SPACE}{BWIDTH}
-% HSWIDTH: the thickness of the horizontal shadow
-% VSWIDTH: the thickness of the vertical shadow
-% SPACE: spacing around the text
-% BWIDTH: box width
-% \end{glshfr@meboxit}
-%
-% <<Box environment with gradient left shadow>>
-% \begin{glshfboxit}{BWIDTH}
-% BWIDTH: box width
-% \end{glshfboxit}
-% %%%%%%%%glshfr@meboxit#1 #2 shadow width, #3 space, #4 boxwidth%%
-\def\glshfr@meboxit#1#2#3#4{%
- \hsgr@d=0pt \advance\hsgr@d by#1 \divide\hsgr@d by\nrepmax%
- \vsgr@d=0pt \advance\vsgr@d by#2 \divide\vsgr@d by\nrepmax%
- \leavevmode%
- \setbox0=\vbox\bgroup\fr@meboxit{\fboxrule}{#3}{#4}}
-\def\blb@xit#1{%
- \vbox{\setbox1=\hbox{#1}%
- \offinterlineskip%
- \vsepgr@d=\nrep\vsgr@d%
- \vwgr@d=\ht1\advance\vwgr@d by-\vsepgr@d%
- \hsepgr@d=\nrep\hsgr@d%
- \hwgr@d=\wd1\advance\hwgr@d by-\hsepgr@d%
- \hbox{\vrule\@height\vwgr@d\@width\vsgr@d\copy1}%
- \hbox{\kern-\vsgr@d%
- \vrule\@height\hsgr@d\@width\hwgr@d}}}
-% %% \hbox{\vbox{\hrule\@height\hsgr@d\@width\hwgr@d}}}}
-\def\lplb@xit{\expandafter\setbox0=\expandafter\blb@xit{\box0}}
-\def\endglshfr@meboxit{\endfr@meboxit\egroup%
- \nrep=\@ne\@whilenum\nrep<\nrepmax\do%
- {\lplb@xit\advance\nrep\@ne}\box0\relax}
-% %%%%% in TeX grammer
-%\def\endglshfr@meboxit{\endfr@meboxit\egroup%
-% \nrep=\@ne \loop \lplb@xit \advance\nrep\@ne%
-% \ifnum\nrep<\nrepmax\repeat\box0\relax}
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%glshfboxit%%%%%%%%%%%%%%%%%%%%%%%%% #1 width, #2 text%%%
-\def\glshfboxit#1{\leavevmode%
- \glshfr@meboxit{\fboxsep}{\fboxsep}{\fboxsep}{#1}}
-\let\endglshfboxit=\endglshfr@meboxit
-% \end{macrocode}
-% \end{environment}
-% \end{environment}
-%
-% \section{(Mini)screen environment}
-% \subsection{(Mini)screen environment without a title}
-%
-% \begin{macro}{\@oval}
-% \begin{macro}{\h@b@x}
-% \begin{macro}{\@vrf@}
-% \changes{v2.00}{2000/06/15}{ybaselineshift etc.}
-%
-% \begin{macrocode}
-\@ifundefined{ybaselineshift}{%
-\newdimen\ybaselineshift \ybaselineshift=\z@}{}
-\@ifundefined{tbaselineshift}{%
-\newdimen\tbaselineshift \tbaselineshift=\z@}{}
-\newdimen\@savetbaselineshift \@savetbaselineshift=\z@
-\def\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen
- \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
- \@tfor\@tempa :=#3\do{\csname @ov\@tempa false\endcsname}\@ovxx
- #1\unitlength \@ovyy #2\unitlength
- \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi
- \advance\@tempdimb -2pt\relax
- \@getcirc \@tempdimb
- \@ovro \ht\@tempboxa \@ovri \dp\@tempboxa
- \@ovdx\@ovxx \advance\@ovdx -\@tempdima \divide\@ovdx \tw@
- \@ovdy\@ovyy \advance\@ovdy -\@tempdima \divide\@ovdy \tw@
- \@circlefnt \setbox\@tempboxa
- \hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi
- \if@ovl \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx \fi
- \if@ovt \@ovhorz \kern -\@ovxx \fi
- \if@ovb \raise \@ovyy \@ovhorz \fi}\advance\@ovdx\@ovro
- \advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@
- \@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}%
- \endgroup}
-\def\h@b@x#1#2#3{\hbox to\dimen1%
- {\@oval(#3,#3)[#1]\hfil\@oval(#3,#3)[#2]}}
-\def\@vrf@#1#2{\vskip#1\leaders\vrule\@width#2\vfil\vskip#1}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{environment}{miniscreen}
-% \begin{environment}{screen}
-% \changes{v2.00}{2000/06/15}{ybaselineshift etc.}
-%
-% \begin{macrocode}
-% ******************
-% * miniscreen環境 *
-% ******************
-%
-% ASCII版Micro\TeXのscreen環境を枠の幅を指定できるように改変
-%
-% ifcase文 ==> 直接計算
-% dimen類 ==> dimen0 to dimen5
-% box類 ==> box0 and box1
-%
-% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-% miniscreen environment
-%
-\let\miniscreentoprule=\hrule
-\def\miniscreen{\@ifnextchar[{\@miniscreen}{\@miniscreen[0]}}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\miniscreen{\@ifnextchar[{\@miniscreen}{\@miniscreen[0]}}
-\def\@miniscreen[#1]#2{\dimen1=#2\relax%
-\@savetbaselineshift\tbaselineshift \tbaselineshift\z@
-\@tempcnta=-2 \multiply\@tempcnta by#1\relax%
-\advance\@tempcnta by 20\relax \dimen5=1pt
-\multiply\dimen5\@tempcnta
-\dimen4=-1pt \multiply\dimen4 by#1\relax
-\advance\dimen4 by 10pt
-\dimen3=\dimen4 \advance\dimen3 by -.2pt
-\par\vspace{.3\baselineskip}%
-\dimen2=\dimen1 \advance\dimen2 by .1pt
-\advance\dimen1 -\dimen5\relax%
-\setbox0=\hbox\bgroup\minipage{\dimen1
-\tbaselineshift\@savetbaselineshift}}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\endminiscreen{\endminipage\egroup%
-\setbox1=\hbox to\dimen2{\hfil\vbox{\offinterlineskip%
-\thinlines\unitlength=1pt
-\miniscreentoprule%\hrule
-\kern\dimen3%
-\h@b@x{tl}{tr}{\@tempcnta}%
-\kern-\dimen4\box0\h@b@x{bl}{br}{\@tempcnta}%
-\kern-.4pt\hrule}\hfil}\dimen0=\ht1\noindent%
-\hbox to\dimen2{\hbox to.4pt{%
-\vbox to\dimen0{\@vrf@{\dimen4}{.4pt}}\hss}%
-\box1\hbox to.2pt{%
- \hss\vbox to\dimen0{\@vrf@{\dimen4}{.4pt}}}\hss}}%
-% %%%%%%alternative
-%\def\miniscreen{\@ifnextchar[{\@miniscreen}{\@miniscreen[0]}}
-%\def\@miniscreen[#1]#2{\noindent\minipage{#2}\@screen[#1]}
-%\def\endminiscreen{\endscreen\endminipage}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\screen{\@ifnextchar[{\@screen}{\@miniscreen[0]{\linewidth}}}
-\def\@screen[#1]{\miniscreen[#1]{\linewidth}}
-\let\endscreen=\endminiscreen
-% \end{macrocode}
-% \end{environment}
-% \end{environment}
-%
-% \subsection{(Mini)screen environment with a title}
-%
-% \begin{macro}{\tboxscreentoprule}
-% \begin{macro}{\tboxtitle}
-%
-% \begin{macrocode}
-\def\tboxscreentoprule{%
-\hbox to\wd0{\smash{\lower.4ex\hbox{%
-\fboxsep=2pt \fbox{\small \tboxtitle}}}\hrulefill}}
-\def\tboxtitle{\bf Memorandum}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{environment}{\tboxminiscreen}
-% \begin{environment}{\tboxscreen}
-%
-% \begin{macrocode}
-% ******************
-% * tboxscreen環境 *
-% ******************
-% 1996/06/04 by Shinsaku Fujita
-%
-\def\tboxminiscreen{\@ifnextchar[{\vskip8pt
- \let\miniscreentoprule=\tboxscreentoprule%
- \@miniscreen}{\vskip8pt
- \let\miniscreentoprule=\tboxscreentoprule%
- \@miniscreen[0]}}
-\let\endtboxminiscreen=\endminiscreen
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\tboxscreen{\@ifnextchar[{\@tboxscreen}%
-{\@tboxscreen[0]}}
-\def\@tboxscreen[#1]{\tboxminiscreen[#1]{\linewidth}}
-\let\endtboxscreen=\endtboxminiscreen
-% \end{macrocode}
-% \end{environment}
-% \end{environment}
-%
-% \section{Further boxes}
-%
-% \begin{macro}{\sboxit}
-%
-% \begin{macrocode}
-% ******************************
-% * \sboxit 左右の余裕のない箱 *
-% ******************************
-% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-\def\sboxit#1#2{\vbox{\hrule\hbox%
-{\vrule\vbox{\kern3pt\vbox{\hsize #1 \noindent #2}%
-\kern3pt}\vrule}\hrule}}
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Boxes with no height or no width}
-%
-% \begin{macro}{\bury}
-% \begin{macro}{\pushtowall}
-%
-% \begin{macrocode}
-% ***********************
-% * bury and pushtowall *
-% ***********************
-% After Chapter 7 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-%
-% \bury[下げ幅]{内容}
-% 下げ幅のデフォルト値は,\normalbaselineksipの半分
-%
-% (旧) \def\bury#1{\smash{\lower.5\normalbaselineskip\hbox{#1}}}
-% これは,「化学と生化学のためのLaTeX」に載せた定義です.
-% 以下の定義は,下げ幅をオプション引数として取るように
-% 拡張したものです.
-%
-\def\bury{\@ifnextchar [{\@bury}{\@bury[.5\normalbaselineskip]}}
-\def\@bury[#1]#2{\smash{\lower#1\hbox{#2}}}
-%
-% \pushtowall{内容}
-% 水平方向の押し付ける命令 (\smashの水平方向版)
-%
-\def\finpushw@ll{\wd0=0pt \box0}
-\def\makepushw@ll#1{\setbox0=\hbox{#1}\finpushw@ll}
-\def\mathpushw@ll#1#2{\setbox0=\hbox{$\m@th#1{#2}$}\finpushw@ll}
-\def\pushtowall{\relax \leavevmode
- \ifmmode\def\next{\mathpalette\mathpushw@ll}
- \else\let\next\makepushw@ll \fi \next}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\penetrate}
-%
-% \begin{macrocode}
-% \penetrate{DIM}{OBJ}
-% 幅無し<OBJ>を、印字位置はそのままにして、<DIM>だけ移動させる。この時
-% 引き続く文字の印字位置は<OBJ>がなかったとした時の位置になる。
-% (\bury命令の水平方向版)
-%
-% (比較)
-% aaa bbb \penetrate{-50pt}{ccc} ddd eee fff \\
-% aaa bbb \hspace{-50pt} ccc ddd eee fff \\
-%
-\def\penetrate#1#2{\pushtowall{\hbox{\hskip#1\hbox{#2}}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Symbols for instant photography}
-%
-% \begin{macro}{\cyan}
-% \begin{macro}{\magenta}
-% \begin{macro}{\yellow}
-% \begin{macro}{\cyandv}
-% \begin{macro}{\magentadv}
-% \begin{macro}{\yellowdv}
-% \begin{macro}{\agxlatent}
-% \begin{macro}{\agxdv}
-% \begin{macro}{\agx}
-%
-% \begin{macrocode}
-% ***********************
-% * instant photography *
-% ***********************
-% After Chapter 7 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-\def\cyan{\mbox{$\bigcirc$\kern-.06em{--}\kern-.06em
- \ooalign{\hfil
- \raise.05ex\hbox{\scriptsize C}\hfil\cr\cr$\bigcirc$}\,}}
-\def\magenta{\mbox{$\bigcirc$\kern-.06em{--}\kern-.06em
- \ooalign{\hfil
- \raise.05ex\hbox{\scriptsize M}\hfil\cr\cr$\bigcirc$}\,}}
-\def\yellow{\mbox{$\bigcirc$\kern-.06em{--}\kern-.06em
- \ooalign{\hfil
- \raise.05ex\hbox{\scriptsize Y}\hfil\cr\cr$\bigcirc$}\,}}
-\def\cyandv{\mbox{$\bigotimes$\kern-.06em{--}\kern-.06em
- \ooalign{\hfil
- \raise.05ex\hbox{\scriptsize C}\hfil\cr\cr$\bigcirc$}\,}}
-\def\magentadv{\mbox{$\bigotimes$\kern-.06em{--}\kern-.06em
- \ooalign{\hfil
- \raise.05ex\hbox{\scriptsize M}\hfil\cr\cr$\bigcirc$}\,}}
-\def\yellowdv{\mbox{$\bigotimes$\kern-.06em{--}\kern-.06em
- \ooalign{\hfil
- \raise.05ex\hbox{\scriptsize Y}\hfil\cr\cr$\bigcirc$}\,}}
-\def\agxlatent{%
- \mbox{\ooalign{%
- \hfil\raise.07ex\hbox{\footnotesize $\bullet$}\hfil\cr\cr
- $\triangle$}\,}}
-\def\agxdv{%
- \mbox{\ooalign{\hfil\raise.07ex\hbox{%
- \small $\spadesuit$}\hfil\cr\cr
- $\triangle$}\,}}
-\def\agx{\mbox{$\triangle$}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \section{Various arrows with fixed length}
-%
-% \begin{macro}{\llongrightarrow}
-% \begin{macro}{\llongleftarrow}
-% \begin{macro}{\llongleftrightarrow}
-% \begin{macro}{\Equilibarrow}
-% \begin{macro}{\Llongrightarrow}
-% \begin{macro}{\Llongleftarrow}
-% \begin{macro}{\Llongleftrightarrow}
-%
-% \begin{macrocode}
-% ***********************
-% * various long arrows *
-% ***********************
-% After Chapter 18 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-\def\llongrightarrow{%%%--->
-\relbar\joinrel\relbar\joinrel\relbar\joinrel\rightarrow}
-\def\llongleftarrow{%%%<---
- \leftarrow\joinrel\relbar\joinrel\relbar\joinrel\relbar}
-\def\llongleftrightarrow{%%%<--->
- \leftarrow\joinrel\relbar\joinrel\relbar\joinrel\rightarrow}
-\def\Equilibarrow{%%%<--- and --->
- \mathrel{\ooalign{\raise.35ex\hbox{$\llongrightarrow$}\crcr
- \lower.35ex\hbox{$\llongleftarrow$}}}}
-\def\Llongrightarrow{%%%===>
- \Relbar\joinrel\Relbar\joinrel\Relbar\joinrel\Rightarrow}
-\def\Llongleftarrow{%%%<===
- \Leftarrow\joinrel\Relbar\joinrel\Relbar\joinrel\Relbar}
-\def\Llongleftrightarrow{%%<===>
- \Leftarrow\joinrel\Relbar\joinrel\Relbar\joinrel\Rightarrow}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-
-%
-% \begin{macro}{\llongleftharpoondown}
-% \begin{macro}{\llongrightharpoondown}
-% \begin{macro}{\equilibarrow}
-%
-% \begin{macrocode}
-\def\llongleftharpoondown{%%% /---
- \leftharpoondown\joinrel\relbar\joinrel\relbar\joinrel\relbar}
-\def\llongrightharpoonup{%%%---/
- \relbar\joinrel\relbar\joinrel\relbar\joinrel\rightharpoonup}
-\def\equilibarrow{%%% /--- and ---/
- \mathrel{\ooalign{%
- \raise.3ex\hbox{$\llongrightharpoonup$}\crcr
- \lower.3ex\hbox{$\llongleftharpoondown$}}}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\eqproton}
-%
-% \begin{macrocode}
-% *******************************
-% * 平衡の両側矢印の上にH+を書く*
-% *******************************
-\def\eqproton{\stackrel{{\rm \displaystyle H}^{+}}{\Equilibarrow}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\lllongrightarrow}
-% \begin{macro}{\lllongleftarrow}
-% \begin{macro}{\lllongleftrightarrow}
-% \begin{macro}{\Equiliblongarrow}
-% \begin{macro}{\Lllongrightarrow}
-% \begin{macro}{\Lllongleftarrow}
-% \begin{macro}{\Lllongleftrightarrow}
-%
-% \begin{macrocode}
-% ****************
-% * 長い長い矢印 *
-% ****************
-\def\lllongrightarrow{\relbar\joinrel\relbar%
- \joinrel\relbar\joinrel\relbar\joinrel\rightarrow}
-\def\lllongleftarrow{%%%<-------
- \leftarrow\joinrel\relbar\joinrel\relbar%
- \joinrel\relbar\joinrel\relbar}
-\def\lllongleftrightarrow{%%%<------->
- \leftarrow\joinrel\relbar\joinrel\relbar%
- \joinrel\relbar\joinrel\rightarrow}
-\def\Equiliblongarrow{%%%<------- and ------->
- \mathrel{\ooalign{\raise.35ex\hbox{$\lllongrightarrow$}\crcr
- \lower.35ex\hbox{$\lllongleftarrow$}}}}
-\def\Lllongrightarrow{%%%=======>
- \Relbar\joinrel\Relbar\joinrel\Relbar\joinrel%
- \Relbar\joinrel\Rightarrow}
-\def\Lllongleftarrow{%%%<=======
- \Leftarrow\joinrel\Relbar\joinrel\Relbar\joinrel%
- \Relbar\joinrel\Relbar}
-\def\Lllongleftrightarrow{%%<=======>
- \Leftarrow\joinrel\Relbar\joinrel\Relbar\joinrel%
- \Relbar\joinrel\Rightarrow}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\lllongleftharpoondown}
-% \begin{macro}{\lllongrightharpoondown}
-% \begin{macro}{\equiliblongarrow}
-% \begin{macro}{\deHBr}
-%
-% \begin{macrocode}
-\def\lllongleftharpoondown{%%% /-------
- \leftharpoondown\joinrel\relbar\joinrel\relbar%
- \joinrel\relbar\joinrel\relbar}
-\def\lllongrightharpoonup{%%%-------/
- \relbar\joinrel\relbar\joinrel\relbar\joinrel%
- \relbar\joinrel\rightharpoonup}
-\def\equiliblongarrow{%%% /------ and ------/
- \mathrel{\ooalign{%
- \raise.3ex\hbox{$\lllongrightharpoonup$}\crcr
- \lower.3ex\hbox{$\lllongleftharpoondown$}}}}
-% %%%%%
-\def\deHBr{\stackrel{\displaystyle \rm -HBr}%
-{\stackrel{\displaystyle \lllongrightarrow}{\rm E2}}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \section{Chemical Corrections}
-%
-% \subsection{Correction commands}
-%
-% \begin{macro}{\chemcorr}
-% \begin{macro}{\leavechemcorr}
-%
-% \changes{v2.00a}{2000/11/03}{chemcorr 3.0pt into 3.5pt}
-% \begin{macrocode}
-% ********************
-% * chemform command *
-% ********************
-% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-\def\chemcorr{%
- \fontdimen16\textfont2=3.5pt
- \fontdimen17\textfont2=3.5pt
- %\fontdimen14\textfont2=3.8pt
-}
-\def\leavechemcorr{%
- \fontdimen16\textfont2=1.49998pt
- \fontdimen17\textfont2=2.47217pt
- %\fontdimen14\textfont2=3.62892pt
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Chem Version}
-%
-% \begin{macro}{\ifnewl@tex}
-%
-% The `chem' for mathversion is introduced to describe chemical equations.
-% \begin{macrocode}
-\newif\ifnewl@tex \newl@textrue
-\@ifundefined{DeclareMathVersion}%
- {\global\newl@texfalse}{\global\newl@textrue}%
-%
-\ifnewl@tex\@ifundefined{mv@chem}{\DeclareMathVersion{chem}%
- \SetSymbolFont{letters}{chem}{OT1}{cmr}{m}{n}}{}\fi
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\chemform}
-%
-% \changes{v2.00a}{2000/11/03}{change the position of chemcorr
-% in chemform command}
-%
-% \begin{macrocode}
-\ifnewl@tex
-\def\chemform#1{{\mathversion{chem}%
-$\chemcorr #1$\leavechemcorr}}
-\else
-\def\chemform#1{\chemcorr
-$\rm #1$\leavechemcorr}
-\fi
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{environment}{chemmath}
-%
-% \changes{v2.00a}{2000/11/03}{change the position of chemcorr
-% in chemmath command}
-% \begin{macrocode}
-% ************************
-% * chemmath environment *
-% ************************
-% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-\ifnewl@tex
-\def\chemmath{\begingroup\mathversion{chem}\[\chemcorr}
-\def\endchemmath{\]\endgroup\leavechemcorr}
-\else
-\def\chemmath{\chemcorr\[\rm}
-\def\endchemmath{\] \leavechemcorr}
-\fi
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{chemeqn}
-%
-% \changes{v2.00a}{2000/11/03}{change the position of chemcorr
-% in chemeqn command}
-% \begin{macrocode}
-% ***********************
-% * chemeqn environment *
-% ***********************
-% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-\ifnewl@tex
-\def\chemeqn{\begingroup\mathversion{chem}\equation\chemcorr}
-\def\endchemeqn{\endequation\endgroup\leavechemcorr}
-\else
-\def\chemeqn{\chemcorr\equation\rm}
-\def\endchemeqn{\endequation\leavechemcorr}
-\fi
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{chemeqnarray}
-%
-% \changes{v2.00a}{2000/11/03}{change the position of chemcorr
-% in chemeqnarray command}
-% \begin{macrocode}
-% ****************************
-% * chemeqnarray environment *
-% ****************************
-% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-\ifnewl@tex
-\def\chemeqnarray{\stepcounter{equation}
- \let\@currentlabel=\theequation
- \global\@eqnswtrue
- \global\@eqcnt\z@\tabskip\@centering
- \let\\=\@eqncr
- \begingroup\mathversion{chem}
-$$\chemcorr\halign to \displaywidth\bgroup
- \@eqnsel\hskip\@centering
- $\rm \displaystyle\tabskip\z@{##}$ &
- \global\@eqcnt\@ne
- \hskip \arraycolsep \hfil$\rm{##}$\hfil &
- \global\@eqcnt\tw@ \hskip \arraycolsep
- $\rm \displaystyle\tabskip\z@{##}$\hfil
- \tabskip\@centering &
- \llap{##}\tabskip\z@\cr}
-\def\endchemeqnarray{\endeqnarray\endgroup
-\leavechemcorr}
-\else
-\def\chemeqnarray{\stepcounter{equation}
- \let\@currentlabel=\theequation
- \global\@eqnswtrue
- \global\@eqcnt\z@\tabskip\@centering
- \let\\=\@eqncr \chemcorr
-$$\halign to \displaywidth\bgroup
- \@eqnsel\hskip\@centering
- $\rm \displaystyle\tabskip\z@{##}$ &
- \global\@eqcnt\@ne
- \hskip \arraycolsep \hfil$\rm{##}$\hfil &
- \global\@eqcnt\tw@ \hskip \arraycolsep
- $\rm \displaystyle\tabskip\z@{##}$\hfil
- \tabskip\@centering &
- \llap{##}\tabskip\z@\cr}
-\def\endchemeqnarray{\endeqnarray
-\leavechemcorr}
-\fi
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{chemeqnarray*}
-%
-% \begin{macrocode}
-% *****************************
-% * chemeqnarray* environment *
-% *****************************
-% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-% bug fix (1996/06/15) the end command is replaced.
-\let\@seqncr=\@eqncr
-\ifnewl@tex
-\@namedef{chemeqnarray*}{%
-\def\@eqncr{\nonumber\@seqncr}\chemeqnarray}
-\@namedef{endchemeqnarray*}{\nonumber\endchemeqnarray}
-\else
-\@namedef{chemeqnarray*}{%
-\def\@eqncr{\nonumber\@seqncr\rm}\chemeqnarray}
-\@namedef{endchemeqnarray*}{\nonumber\endchemeqnarray}
-\fi
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{chemeqnarraya}
-%
-% \begin{macrocode}
-% *****************
-% * chemeqnarraya *
-% *****************
-% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by S. Fujita
-% revised may 21 1992 by S. Fujita
-\def\chemeqnarraya{\chemeqn@rraya \chemeqnarray}
-\def\chemeqn@rraya{%
- \c@enumi=\c@equation
- \advance\c@enumi\@ne
- \c@equation=\z@
- \@ifundefined{chapter}%
-{\def\theequation{\theenumi\alph{equation}}}%
-{\def\theequation{%
-\thechapter.\theenumi\alph{equation}}}}
-\def\endchemeqnarraya{\endchemeqnarray
-\global\c@equation=\c@enumi}
-% \end{macrocode}
-% \end{environment}
-%
-% \section{XyMcompd and XyMtab Environments}
-%
-% These environments are designed for XyM Markup Language
-% to treat a XyM tag and a XyMtab tag.
-%
-% \begin{environment}{XyMcompd}
-% \changes{v2.00}{1999/03/16}{New Environment}
-%
-% \begin{macrocode}
-\def\XyMcompd(#1,#2)(#3,#4)#5#6{%
-\begingroup
-\edef\xymrefa{#5}\edef\xymrefb{#6}%
-\edef\kkk{#1}%
-\begin{tabular}{c}
-\ifx\kkk\empty\else
-\begin{picture}(#1,#2)(#3,#4)\fi\ignorespaces}
-\def\endXyMcompd{%
-\ifx\kkk\empty\else\end{picture}\fi
-\\[-\baselineskip]
-\ifx\xymrefa\empty\else{\bf \compd\xymrefb
-\expandafter\label{\xymrefa}}\fi
-\end{tabular}\endgroup}
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{XyMtab}
-% \changes{v2.00}{1999/03/16}{New Environment}
-%
-% \begin{macrocode}
-\def\XyMtab#1{\center\tabular{#1c}}
-\def\endXyMtab{\endtabular\endcenter}
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{macro}{\derivlist}
-% \changes{v2.00}{1999/03/17}{New command}
-%
-% For example, derivatives are specified as follows:
-% \begin{verbatim}
-% \derivlist{X = Cl;X = F;X = Me}
-% \end{verbatim}
-%
-% \begin{macrocode}
-\def\derivlist#1{%
-\mbox{}\\
-\begingroup\def\arraystretch{0.7}%
-\begin{tabular}{l}
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else%
-\hbox to2em{\hss\derivnum}:\space\member \\
-\fi}\end{tabular}\endgroup}
-% \end{macrocode}
-% \end{macro}
-% This command is used in the XyMderiv environment.
-%
-% \begin{environment}{XyMderiv}
-% \changes{v2.00}{1999/03/17}{New Environment}
-%
-% \begin{macrocode}
-\def\XyMderiv{\tabular{c}}
-\def\endXyMderiv{\endtabular}
-% \end{macrocode}
-% \end{environment}
-%
-% \section{Useful commands}
-%
-% \begin{macro}{\endash}
-% \begin{macro}{\Cent}
-% \begin{macro}{\degC}
-% \begin{macro}{\degF}
-%
-% \begin{macrocode}
-% ***************
-% * temperature *
-% ***************
-% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-\def\endash{\mbox{--{}}}
-\def\Cent{\mbox{\raise.9ex\hbox{%
- \scriptsize$\circ$}\kern-.12em\hbox{C}}}
-\def\degC{\mbox{\kern-.2em\char'27\kern-.3em C}}
-\def\degF{\mbox{\kern-.2em\char'27\kern-.3em F}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-
-% \begin{macro}{\yubin}
-% \begin{macro}{\Yubin}
-%
-% \begin{macrocode}
-% *******************
-% * yubin and Yubin *
-% *******************
-% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-\def\yubin{$\overline{\top}$}
-\def\Yubin#1{\leavevmode\hbox{\vbox{\hrule\@height.12ex\@width.7em
-\kern.28ex\hrule\@height.12ex\@width.7em
-\hbox{\kern.35em\kern-.06ex
-\vbox{\hrule\@height1ex\@width.12ex}}}\kern.1em{#1}}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\xlethead}
-%
-% \begin{macrocode}
-% ***********
-% * lethead *
-% ***********
-% After Chapter 18 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-\def\xlethead#1{%
- \kern-.6667\baselineskip \line{\hrulefill\phantom{ #1 }\hrulefill}
- \kern-.6667\baselineskip \line{\hrulefill\phantom{ #1 }\hrulefill}
- \kern-.6667\baselineskip \line{\hrulefill\hbox{ #1 }\hrulefill}}
-\def\lethead#1#2#3{\def\line{\hbox to\textwidth}
- \vbox{\line{\hrulefill}
- \xlethead{#1} \xlethead{#2} \xlethead{#3}
- \kern-.6667\baselineskip \line{\hrulefill}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\horizon}
-%
-% \begin{macrocode}
-% ************
-% * baseline *
-% ************
-% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-\def\horizon{\rule{12pt}{0.1pt}}
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Logos}
-%
-% \begin{macro}{\resetfontsize}
-% \begin{macro}{\Bib}
-% \begin{macro}{\BibTeX}
-% \begin{macro}{\jBibTeX}
-%
-% \begin{macrocode}
-% ********************************
-% * Redefinition of Logos *
-% * January 3, 1993 by S. Fujita *
-% ********************************
-% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
-\newcount\TestCount \def\tmpkern{\kern0pt}
-\ifnewl@tex \else
-\def\resetfontsize{%
- \ifx\@currsize\normalsize%
- \def\tmpf@ntsize{%
- \load{\footnotesize}{\sf}%
- \load{\footnotesize}{\sl}%
- \load{\footnotesize}{\bf}%
- \def\tmpkern{\kern0.05em}%
- \footnotesize}\fi
- \ifx\@currsize\scriptsize \let\tmpf@ntsize=\tiny\fi
- \ifx\@currsize\footnotesize \let\tmpf@ntsize=\tiny\fi
- \ifx\@currsize\small \let\tmpf@ntsize=\scriptsize\fi
- \ifx\@currsize\large \let\tmpf@ntsize=\small\fi
- \ifx\@currsize\Large \let\tmpf@ntsize=\@normalsize\fi
- \ifx\@currsize\LARGE \let\tmpf@ntsize=\large\fi
- \ifx\@currsize\huge \let\tmpf@ntsize=\Large\fi
- \ifx\@currsize\Huge \let\tmpf@ntsize=\LARGE\fi}
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-\ifnewl@tex \else
-\def\Bib{\ifnum \fam=\m@ne \fam=\z@ \fi\TestCount=\fam\leavevmode%
- \edef\aaa{\fontname\scriptfont\fam}%
- \edef\bbb{\fontname\textfont\fam}%
- \resetfontsize%
- \hbox{$\fam=\TestCount\textstyle B$}%
- \ifx\aaa\bbb%
- \hbox{\tmpf@ntsize\bf
- $\fam=\TestCount\kern-.025em I\kern-.045em B$}%
- \else%
- \hbox{$\fam\TestCount\scriptstyle\kern-.025em I\kern-.045em B$}%
- \fi
-}
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-%\def\BibTeX{\Bib\kern-.08em\TeX}
-%\def\jBibTeX{\leavevmode\lower.46ex\hbox{J}
-%\kern-.08em\Bib\kern-.08em\TeX}
-% %%\def\BibTeX{%
-% {\rm B\kern-.05em{\sc i\kern-.025emb}\kern-.08em\TeX}}
-% %%%%%1996/04/20 by Shinsaku Fujita%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifnewl@tex
-\DeclareRobustCommand{\BibTeX}{%
- B\hbox{$\m@th$\csname S@\f@size\endcsname
- \fontsize\sf@size\z@ \math@fontsfalse\selectfont
- \kern-.025em I\kern-.045em B}\kern-.08em\TeX}
-\else \def\BibTeX{\Bib\kern-.08em\TeX} \fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-\ifnewl@tex
-\DeclareRobustCommand{\jBibTeX}{\mbox{%
- \if b\expandafter\@car\f@series\@nil\boldmath\fi
- \leavevmode\lower.46ex\hbox{J}\kern-.08em\BibTeX}}
-\else
-\def\jBibTeX{\leavevmode\lower.46ex\hbox{J}%
- \kern-.08em\Bib\kern-.08em\TeX}
-\fi
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\jTeX}
-% \begin{macro}{\pTeX}
-%
-% \begin{macrocode}
-\def\jTeX{\leavevmode\lower.46ex\hbox{J}\kern-.15em\TeX}
-\def\pTeX{p\kern-.15em\TeX}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\Sub}
-% \begin{macro}{\Subbib}
-%
-% \begin{macrocode}
-\ifnewl@tex \else
-\def\Sub{\leavevmode\ifnum \fam=\m@ne \fam=\z@ \fi%
- \TestCount=\fam{S}%
- \edef\aaa{\fontname\scriptfont\fam}%
- \edef\bbb{\fontname\textfont\fam}%
- \ifx\aaa\bbb\resetfontsize%
- \hbox{\tmpf@ntsize\bf%
- $\fam=\TestCount\kern-.045em{U}\kern-.12em{B}$}%
- \else%
- \hbox{$\fam\TestCount%
- \scriptstyle\kern-.045em{U}\kern-.12em{B}$}%
- \fi}
-\fi
-%\def\SubBib{\Sub\kern-.08em\Bib}
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%1996/04/20 by Shinsaku Fujita%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifnewl@tex
-\DeclareRobustCommand{\SubBib}{S\hbox{$\m@th$%
- \csname S@\f@size\endcsname\fontsize\sf@size\z@
- \math@fontsfalse\selectfont%
- \kern-.045em{U}\kern-.12em{B}}B\hbox{$\m@th$%
- \csname S@\f@size\endcsname\fontsize\sf@size\z@
- \math@fontsfalse\selectfont \kern-.025em I\kern-.045em B}}
-\else \def\SubBib{\Sub\kern-.08em\Bib} \fi
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-
-% \begin{macro}{\La}
-% \begin{macro}{\LaTeX}
-%
-% \begin{macrocode}
-%\def\La{\TestCount=\fam \leavevmode L\raise.42ex
-% \hbox{$\fam\TestCount\scriptstyle\kern-.3em A$}}
-\ifnewl@tex \else
-\def\La{\ifnum \fam=\m@ne \fam=\z@ \fi\TestCount=\fam%
- \edef\aaa{\fontname\scriptfont\fam}%
- \edef\bbb{\fontname\textfont\fam}\leavevmode{L}%
- \ifx\aaa\bbb \resetfontsize%
- \raise.46ex\hbox{{\tmpf@ntsize\bf%
- $\fam\TestCount\kern-.4em\tmpkern{A}$}}%
- \else%
- \raise.42ex\hbox{$\fam\TestCount\scriptstyle\kern-.3em{A}$}%
- \fi}
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%1996/04/20 by Shinsaku Fujita%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%\def\LaTeX{\La\kern-.15em\TeX}
-\ifnewl@tex \else \def\LaTeX{\La\kern-.15em\TeX}\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-%\def\jLaTeX{\leavevmode\lower.46ex\hbox{J}\kern-.08em\LaTeX}
-\ifnewl@tex
- \DeclareRobustCommand{\jLaTeX}%
- {\leavevmode\lower.46ex\hbox{J}\kern-.08em\LaTeX}
-\else
- \def\jLaTeX{\leavevmode\lower.46ex\hbox{J}\kern-.08em\LaTeX}
-\fi
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\PiC}
-% \begin{macro}{\PiCTeX}
-%
-% \begin{macrocode}
-\def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC}
-% \end{macrocode}
-%
-% \begin{macrocode}
-%\def\PiCTeX{\PiC\kern-.11em\TeX}
-\ifnewl@tex
-\DeclareRobustCommand{\PiCTeX}{\PiC\kern-.11em\TeX}
-\else
-\def\PiCTeX{\PiC\kern-.11em\TeX}
-\fi
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\tpic}
-% \begin{macro}{\PiCTeX}
-%
-% \begin{macrocode}
-%\def\tpic{\TestCount=\fam \leavevmode T%
-% \hbox{$\fam\TestCount\scriptstyle
-%\kern-.025em P\kern-.025em I\kern-.025emC$}}
-\ifnewl@tex
-\DeclareRobustCommand{\tpic}{T\hbox{$\m@th$%
- \csname S@\f@size\endcsname\fontsize\sf@size\z@
- \math@fontsfalse\selectfont
- \kern-.025em P\kern-.025em I\kern-.025emC}}
-\else
-\def\tpic{\ifnum \fam=\m@ne \fam=\z@ \fi%
- \TestCount=\fam \leavevmode%
- \edef\aaa{\fontname\scriptfont\fam}%
- \edef\bbb{\fontname\textfont\fam}%
- \resetfontsize\hbox{$\fam=\TestCount\textstyle T$}%
- \ifx\aaa\bbb\hbox{\tmpf@ntsize\bf$\fam=\TestCount%
- \kern-.025em P\kern-.025em I\kern-.025emC$}\else%
- \hbox{$\fam\TestCount\scriptstyle%
- \kern-.025em P\kern-.025em I\kern-.025emC$}\fi}
-\fi
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\Post}
-% \begin{macro}{\Script}
-% \begin{macro}{\PostScript}
-%
-% \begin{macrocode}
-\ifnewl@tex \else
-\def\Post{\ifnum \fam=\m@ne \fam=\z@ \fi%
- \TestCount=\fam\leavevmode%
- \edef\aaa{\fontname\scriptfont\fam}%
- \edef\bbb{\fontname\textfont\fam}%
- \resetfontsize%
- \hbox{$\fam=\TestCount\textstyle P$}%
- \ifx\aaa\bbb%
- \hbox{\tmpf@ntsize\bf%
- $\fam=\TestCount\kern-.045em O\kern-.015em ST$}%
- \else%
- \hbox{$\fam\TestCount%
- \scriptstyle\kern-.045em O\kern-.015em ST$}%
- \fi}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\Script{\ifnum \fam=\m@ne \fam=\z@ \fi%
- \TestCount=\fam\leavevmode%
- \edef\aaa{\fontname\scriptfont\fam}%
- \edef\bbb{\fontname\textfont\fam}%
- \resetfontsize%
- \hbox{$\fam=\TestCount\textstyle S$}%
- \ifx\aaa\bbb%
- \hbox{\tmpf@ntsize\bf$\fam=\TestCount\kern-.035em %
- C\kern-.015em R\kern-.015em IP\kern-.035em T$}%
- \else%
- \hbox{$\fam\TestCount\scriptstyle\kern-.035em %
- C\kern-.015em R\kern-.015em IP\kern-.035em T$}%
- \fi}
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-%\def\PostScript{\Post\Script}
-% %%%%%1996/04/20 by Shinsaku Fujita%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifnewl@tex
-\DeclareRobustCommand{\PostScript}{P\hbox{$\m@th$%
- \csname S@\f@size\endcsname\fontsize\sf@size\z@
- \math@fontsfalse\selectfont
- \kern-.045em O\kern-.015em ST}S\hbox{$\m@th$%
- \csname S@\f@size\endcsname\fontsize\sf@size\z@
- \math@fontsfalse\selectfont
- \kern-.035em C\kern-.015em R\kern-.015em IP\kern-.035em T}}
-\else
-\def\PostScript{\Post\Script}
-\fi
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \section{Double and triple bonds}
-%
-% \begin{macro}{\triplebond}
-% \begin{macro}{\doublebond}
-% \begin{macro}{\tbond}
-% \begin{macro}{\dbond}
-%
-% \begin{macrocode}
-% *****************
-% * 二重 三重結合 *
-% *****************
-\def\triplebond{\leavevmode\kern.2pt\raisebox{.2ex}{%
-\hbox{\vbox{\hrule height.03ex width1em\kern.4ex
-\hrule height.03ex width1em\kern.4ex
-\hrule height.03ex width1em}}}\hskip.4pt}
-\def\doublebond{\leavevmode\kern.2pt\raisebox{.3ex}{%
-\hbox{\vbox{\hrule height.03ex width1em\kern.6ex
-\hrule height.03ex width1em}}}\hskip.4pt}
-\let\tbond=\triplebond
-\let\dbond=\doublebond
-%</chemist>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \Finale
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/chemist.ins b/Master/texmf-dist/source/latex/xymtex/chemist.ins
deleted file mode 100644
index f43ac6a0280..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/chemist.ins
+++ /dev/null
@@ -1,53 +0,0 @@
-\def\batchfile{chemist.ins}
-\input docstrip.tex
-\preamble
-
-This is a generated file.
-
-Copyright 1996, 2000 by Shinsaku Fujita
-
-This file is part of the ChemSci system.
-=======================================
-
-Released on June 1, 1996
-Released on November 3, 2000 (v2.00a)
-
-Copyright (C) 1996 by Shinsaku Fujita, all rights reserved.
-This style file is created for submitting a manuscript to
-scientific journals. This style file is to be contained in the
-``chemist'' directory which is an input directory for TeX.
-
-For using this file, see
- Shinsaku Fujita, ``LaTeX for Chemists and Biochemists''
- Tokyo Kagaku Dojin, Tokyo (1993), Chapter 16.
-
-Copying of this file is authorized only if either
-
- (1) you make absolutely no changes to your copy, including name and
- directory name
- (2) if you do make changes,
- (a) you name it something other than the names included in the
- ``chemist'' directory and
- (b) you acknowledge the original name.
- This restriction ensures that all standard styles are identical.
-
-=======================================
-
-This file is a modification of latex.tex (LaTeX2.09) and of latex.ltx
-(a LaTeX2e), the reused parts of which is subject to
-Copyright 1994 the LaTeX3 project and the individual authors (For further
-copyright information see the file legal.txt of the LaTeX2e standard
-distribution, and any other copyright indicated in this file.)
-
-\endpreamble
-
-\keepsilent
-
-\generateFile{chemist.drv}{t}{%
- \from{chemist.dtx}{driver}}
-
-\generateFile{chemist.sty}{t}{%
- \from{chemist.dtx}{chemist}}
-
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/chemstr.drv b/Master/texmf-dist/source/latex/xymtex/chemstr.drv
deleted file mode 100644
index c9832eaad5a..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/chemstr.drv
+++ /dev/null
@@ -1,82 +0,0 @@
-%%
-%% This is file `chemstr.drv',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% chemstr.dtx (with options: `driver')
-%%
-%% This is a generated file.
-%%
-%% Copyright 1996, 1988 by Shinsaku Fujita
-%%
-%% This file is part of the XyMTeX system.
-%% =======================================
-%%
-%% Version 1.01 Released on August 16, 1996
-%% Version 1.02 Released on October 31, 1998 (private version)
-%% Version 2.00 Released on December 25, 1998
-%%
-%% Copyright (C) 1996, 1998 by Shinsaku Fujita, all rights reserved.
-%% This style file is created for drawing chemical structural formulas
-%% This style file is to be contained in the ``xymtex'' directory which
-%% is an input directory for TeX.
-%%
-%% Copying of this file is authorized only if either
-%%
-%% (1) you make absolutely no changes to your copy, including name and
-%% directory name
-%% (2) if you do make changes,
-%% (a) you name it something other than the names included in the
-%% ``xymtex'' directory and
-%% (b) you acknowledge the original name.
-%% This restriction ensures that all standard styles are identical.
-%%
-%% =======================================
-%%
-%% This file contains several codes modified from latex.tex (LaTeX2.09)
-%% and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-%% Copyright 1994 the LaTeX3 project and the individual authors (For further
-%% copyright information see the file legal.txt of the LaTeX2e standard
-%% distribution, and any other copyright indicated in this file.)
-%%
-%% File: chemstr.dtx
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{chemstr.dtx}[1998/12/25 v2.00 XyMTeX{} package file]
-\documentclass{ltxdoc}
-\GetFileInfo{chemstr.dtx}
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-\title{Basic Commands for Drawing Chemical Structures
-by {\sffamily chemstr.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606 Japan
-}
-\date{\filedate}
-\begin{document}
- \maketitle
- \DocInput{chemstr.dtx}
-\end{document}
-\endinput
-%%
-%% End of file `chemstr.drv'.
diff --git a/Master/texmf-dist/source/latex/xymtex/chemstr.dtx b/Master/texmf-dist/source/latex/xymtex/chemstr.dtx
deleted file mode 100644
index 0bab3fdb3ea..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/chemstr.dtx
+++ /dev/null
@@ -1,8567 +0,0 @@
-% \iffalse meta-comment
-%% File: chemstr.dtx
-%
-% Copyright 1993,1996,1998 by Shinsaku Fujita
-%
-% This file is part of XyMTeX system.
-% -------------------------------------
-%
-% This file is a successor to:
-%
-% chemstr.sty
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 1.00}
-% \typeout{ -- Released December 1, 1993 by Shinsaku Fujita}
-% Copyright (C) 1993 by Shinsaku Fujita, all rights reserved.
-%
-% This file is a part of the macro package ``XyMTeX'' which has been
-% designed for typesetting chemical structural formulas.
-%
-% This file is to be contained in the ``xymtex'' directory which is
-% an input directory for TeX. It is a LaTeX optional style file and
-% should be used only within LaTeX, because several macros of the file
-% are based on LaTeX commands.
-%
-% For the review of XyMTeX, see
-% (1) Shinsaku Fujita, ``Typesetting structural formulas with the text
-% formatter TeX/LaTeX'', Computers and Chemistry, in press.
-% The following book deals with an application of TeX/LaTeX to
-% preparation of manuscripts of chemical fields:
-% (2) Shinsaku Fujita, ``LaTeX for Chemists and Biochemists''
-% Tokyo Kagaku Dozin, Tokyo (1993) [in Japanese].
-%
-% Copying of this file is authorized only if either
-% (1) you make absolutely no changes to your copy, including name and
-% directory name; or
-% (2) if you do make changes,
-% (a) you name it something other than the names included in the
-% ``xymtex'' directory and
-% (b) you are requested to leave this notice intact.
-% This restriction ensures that all standard styles are identical.
-%
-% Please report any bugs, comments, suggestions, etc. to:
-% Shinsaku Fujita,
-% Ashigara Research Laboratories, Fuji Photo Film Co., Ltd.,
-% Minami-Ashigara, Kanagawa-ken, 250-01, Japan.
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% Bug Fix:
-% 1993/11/14 S. Fujita
-% A and B are interchanged.
-% a and b are interchanged.
-%
-% \def\j@urnalname{chemstr}
-% \def\versi@ndate{December 01, 1993}
-% \def\versi@nno{ver1.00}
-% \def\copyrighth@lder{SF}% % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% \typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 1.01}
-% \typeout{ -- Released August 16, 1996 by Shinsaku Fujita}
-% \def\j@urnalname{chemstr}
-% \def\versi@ndate{August 16, 1996}
-% \def\versi@nno{ver1.01}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-%
-% New address:
-% Shinsaku Fujita,
-% Department of Chemistry and Materials Technology,
-% Kyoto Institute of Technology, \\
-% Matsugasaki, Sakyoku, Kyoto, 606 Japan
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{chemstr}
-% \def\versi@ndate{October 31, 1998}
-% \def\versi@nno{ver1.02}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% \fi
-%
-% \CheckSum{13300}
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%
-% \setcounter{StandardModuleDepth}{1}
-%
-% \StopEventually{}
-% \MakeShortVerb{\|}
-%
-% \iffalse
-% \changes{v1.01}{1996/06/26}{first edition for LaTeX2e}
-% \changes{v1.02}{1998/10/31}{revised edition for LaTeX2e}
-% \changes{v2.00}{1998/12/25}{enhanced edition for LaTeX2e}
-% \fi
-%
-% \iffalse
-%<*driver>
-\NeedsTeXFormat{pLaTeX2e}
-% \fi
-\ProvidesFile{chemstr.dtx}[1998/12/25 v2.00 XyMTeX{} package file]
-% \iffalse
-\documentclass{ltxdoc}
-\GetFileInfo{chemstr.dtx}
-%
-% %%XyMTeX Logo: Definition 2%%%
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\title{Basic Commands for Drawing Chemical Structures
-by {\sffamily chemstr.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606 Japan
-% % (old address)
-% % Ashigara Research Laboratories,
-% % Fuji Photo Film Co., Ltd., \\
-% % Minami-Ashigara, Kanagawa, 250-01 Japan
-}
-\date{\filedate}
-%
-\begin{document}
- \maketitle
- \DocInput{chemstr.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \section{Introduction}\label{chemstr:intro}
-%
-% \subsection{Options for {\sffamily docstrip}}
-%
-% \DeleteShortVerb{\|}
-% \begin{center}
-% \begin{tabular}{|l|l|}
-% \hline
-% \emph{option} & \emph{function}\\ \hline
-% chemstr & chemstr.sty \\
-% driver & driver for this dtx file \\
-% \hline
-% \end{tabular}
-% \end{center}
-% \MakeShortVerb{\|}
-%
-% \subsection{Version Information}
-%
-% \begin{macrocode}
-%<*chemstr>
-\typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 2.00}
-\typeout{ -- Released December 25, 1998 by Shinsaku Fujita}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\j@urnalname{chemstr}
-\def\versi@ndate{December 25, 1998}
-\def\versi@nno{ver2.00}
-\def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\typeout{XyMTeX Macro File `\j@urnalname' (\versi@nno) <\versi@ndate>%
-\space[\copyrighth@lder]}
-% \end{macrocode}
-%
-% \section{List of commands for chemstr.sty}
-%
-% \begin{verbatim}
-% *********************************
-% * chemstr.sty: list of commands *
-% *********************************
-%
-% <For separating an augument list to each argument>
-%
-% \@forsemicol
-% \@forl@@p
-% \@iforl@@p
-% \@m@mb@r
-% \twoch@r
-% \twoCH@R (terminater //)
-% \twoch@@r
-% \twoCH@@R (terminater //)
-% \threech@r
-% \end{verbatim}
-%
-% \begin{verbatim}
-% <Convention>
-%
-% \rmoiety
-% \lmoiety
-% \putlatom
-% \putratom
-% \putlratom
-% \Putlratom
-%
-% \end{verbatim}
-%
-% \begin{verbatim}
-% <Treatment of substitution positions>
-%
-% \if@clip \@clipfalse \@cliptrue
-% \if@aclip \@aclipfalse \@acliptrue
-% \if@bclip \@bclipfalse \@bcliptrue
-% \if@cclip \@cclipfalse \@ccliptrue
-% \if@eclip \@eclipfalse \@ecliptrue
-% \if@fclip \@fclipfalse \@fcliptrue
-% \iforigpt \origptfalse \origpttrue
-% \@tmpaa (counter)
-%
-% <Structures as substituents>
-% \@yl
-% \yl@xdiff \yl@ydiff
-% \yl@shiftii
-% \yl@shifti
-% \@ylii
-% \@yli
-% \@@ylii
-% \@@yli
-%
-% <Fused positions check>
-% \fuseAx \fuseAy
-% \fuseBx \fuseBy
-%
-% \end{verbatim}
-%
-% \begin{verbatim}
-% <VERTICAL SETTING>
-% Substitution
-%
-% \@substa
-% \@substb
-% \@substc
-% \@substd
-% \@subste
-% \@substf
-%
-% \end{verbatim}
-%
-% \begin{verbatim}
-% Setting of atoms and bonds
-%
-% \setsixringv (on a vertical six-membered ring)
-% \setdecaringv (on a decaline (six-six) ring)
-% \setfusedbond (at fused bond positions)
-% \if@clipfuse \@clipfusefalse \@clipfusetrue
-% \setatombond (at an appropiate position)
-%
-% Placing structures as substituents
-% \ylposition
-% \ylfusedpostion
-% \ylatombondposition
-%
-% \end{verbatim}
-%
-% \begin{verbatim}
-% <HORIZONTAL SETTING>
-% Substitution
-%
-% \@hsubsta
-% \@hsubstb
-% \@hsubstc
-% \@hsubstd
-% \@hsubste
-% \@hsubstf
-%
-% \end{verbatim}
-%
-% \begin{verbatim}
-% Setting of atoms and bonds
-%
-% \setsixringh (on a horizontal six-membered ring)
-%
-% Placing structures as substituents
-%
-% \ylpositionh
-%
-% \end{verbatim}
-%
-% \begin{verbatim}
-% <Linking unit>
-%
-% \ryl (right linking unit)
-% \lyl (left linking unit)
-%
-% <Setting fused rings>
-%
-% \set@fusionadd@sixv \set@fusion@sixv
-% \set@fusionadd@sixvi \set@fusion@sixvi
-% \set@fusionadd@sixh \set@fusion@sixh
-% \set@fusionadd@sixhi \set@fusion@sixhi
-%
-% \set@fusion@decav
-% \set@fusion@decavb
-% \set@fusion@decavt
-% \set@fusion@decah
-%
-% \set@fusion@hanthrav
-% \set@fusion@hphenanv
-%
-% \set@fusionadd@fivev \set@fusion@fivev
-% \set@fusionadd@fivevi \set@fusion@fivevi
-% \set@fusionadd@fiveh \set@fusion@fiveh
-% \set@fusionadd@fivehi \set@fusion@fivehi
-%
-% \set@fusion@nonav \set@fusion@nonavi
-% \set@fusion@nonah \set@fusion@nonahi
-% \end{verbatim}
-%
-% \section{Initialization and conventions}
-% \subsection{Logos}
-%
-% The logo of \XyMTeX{} is defined in two ways. The first definition uses
-% the \verb/\fam/ command, which sometimes shows unusual behavior. The
-% second definition is adopted in the present version of \XyMTeX{}, since
-% this aims at the compatibility to \LaTeXe{}.
-%
-% \begin{macro}{\XyMTeX}
-% \begin{macrocode}
-% ***************
-% * XyMTeX Logo *
-% ***************
-% %%XyMTeX Logo: Definition 1%%%
-%\newcount\TestCount
-%\def\XyM{\ifnum\fam=-1\relax\fam=0\relax\fi\TestCount=\fam%
-%X\kern-.30em\smash{\raise.50ex\hbox{$\fam\TestCount\Upsilon$}}%
-%\kern-.30em{M}}
-%\def\XyMTeX{\XyM\kern-.1em\TeX}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%XyMTeX Logo: Definition 2%%%
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Macros for treating argumets}
-%
-% For separating each argument (BONDLIST, SUBSLIST or ATOMLIST) into
-% components (descriptors), we define several useful macros.
-%
-% \begin{macro}{\@forsemicol}
-% \begin{macro}{\@forl@@p}
-% \begin{macro}{\@iforl@@p}
-%
-% The macro |\@forsemicol| resembles the |\@for| macro that is
-% the \LaTeX{} original macro; however a semicolon is used as
-% a separating key in place of a comma.
-%
-% \changes{v1.01}{1996/07/06}{\cs{@forsemicol}: \cs{edef}
-% to \cs{expandafter}}
-% \changes{v1.01}{1996/07/06}{\cs{@iforl@@p} replaced by
-% a LaTeX2e-like definitiion}
-%
-% \begin{macrocode}
-% ****************************************************
-% * For separating an augument list to each argument *
-% ****************************************************
-%
-\def\@forsemicol#1:=#2\do#3{%
-% \edef\@fortmp{#2}%1996/07/06 by S. Fujita
- \expandafter\def\expandafter\@fortmp\expandafter{#2}%
- \ifx\@fortmp\@empty \else%
- \expandafter\@forl@@p#2;\@nil;\@nil\@@#1{#3}\fi}
-\long\def\@forl@@p#1;#2;#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else%
- #5\def#4{#2}\ifx #4\@nnil \else#5\@iforl@@p #3\@@#4{#5}\fi\fi}
-\long\def\@iforl@@p#1;#2\@@#3#4{\def#3{#1}\ifx #3\@nnil%
- \expandafter\@fornoop \else
- #4\relax\expandafter\@iforl@@p\fi#2\@@#3{#4}}
-%\def\@iforl@@p#1;#2\@@#3#4{\def#3{#1}\ifx #3\@nnil%
-% \let\@nextwhile=\@fornoop \else%
-% #4\relax\let\@nextwhile=\@iforl@@p\fi\@nextwhile#2\@@#3{#4}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% The macro |\@m@mb@r| separates a character string into to portions
-% by using a double equality symbol (|==|) and a semicolon as delimiters.
-% The first potion consists of a locant number and a bond modifier (stored
-% in |\@membera|), which are further separated by the macro |\twoch@r|,
-% |\twoch@@r| or |\threech@r|.
-% The second potion shows a substituent (stored in |\@memberb|),
-% which is printed by means of an appropiate command.
-%
-% \begin{macro}{\@m@mb@r}
-% \begin{macro}{\twoch@r}
-% \begin{macro}{\twoch@@r}
-% \begin{macro}{\threech@r}
-% \begin{macrocode}
-\def\@m@mb@r#1==#2;{\gdef\@membera{#1}\gdef\@memberb{#2}}
-\def\twoch@r#1#2{\gdef\@tmpa{#1}\gdef\@tmpb{#2}}
-\def\twoch@@r#1#2{\gdef\@@tmpa{#1}\gdef\@@tmpb{#2}}
-\def\threech@r#1#2#3{\gdef\@tmpa{#1}\gdef\@tmpb{#2}\gdef\@tmpc{#3}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The following two commands are added to treat spiro fusion.
-% \changes{v2.00}{1998/11/15}{Added for spiro fusion}
-%
-% \begin{macro}{\twoCH@R}
-% \begin{macro}{\twoCH@@R}
-% \begin{macrocode}
-\def\twoCH@@R#1#2//{\gdef\@@tmpa{#1}\gdef\@@tmpb{#2}}
-\def\twoCH@R#1#2//{\gdef\@tmpa{#1}\gdef\@tmpb{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Conventions}
-%
-% Switches for characterizing substitution sites as
-% left, right or left-right boxes become effective in
-% the commands |\putlatom|, |\putratom| and |\putlratom|.
-% They are used for warning wrong or unnecessary usages of
-% |\lmoiety| or |\rmoiety|.
-%
-% \changes{v1.02}{1998/10/20}{Switches \cs{@leftput} added}
-%
-% \begin{macro}{\if@leftput}
-% \begin{macro}{\if@rightput}
-% \begin{macro}{\if@leftrightput}
-% \begin{macro}{\resetlrput}
-% \begin{macrocode}
-\newif\if@rightput \@rightputfalse
-\newif\if@leftput \@leftputfalse
-\newif\if@leftrightput \@leftrightputfalse
-\def\resetlrput{\@rightputfalse\@leftputfalse
-\@leftrightputfalse}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% We can use the macro |\rmoiety| for drawing a right-hand substituent
-% and the macro |\lmoiety| for drawing a left-hand substituent.
-%
-% \changes{v1.02}{1998/10/20}{The definitions of \cs{rmoiety} and
-% \cs{lmoiety} are changed. Warning function is added.}
-%
-% When you use a |\rmoiety| command in a left box produced by
-% a |\putlatom| command, the warning ``Wrong |\rmoiety|'' is reported.
-% When you use a |\lmoiety| command in a right box produced by
-% a |\putratom| command, the warning ``Wrong |\lmoiety|'' is reported.
-% If the ``draft'' option is effective, these cases are designated by
-% solid squares at the corresponding positions on pages.
-%
-% \begin{macro}{\rmoiety}
-% \begin{macro}{\lmoiety}
-% \begin{macrocode}
-% **************
-% * Convention *
-% **************
-% %\def\rmoiety#1{#1 \hss}
-% %\def\lmoiety#1{\hss #1}
-\def\rmoiety#1{\if@leftput
-\XyMTeXWarning{Wrong \string\rmoiety\space used in a left box}%
-\hbox to0pt{%
-\hbox to0pt{\hss\vrule width\overfullrule height\overfullrule}#1\hss}%
-\else\if@rightput\XyMTeXWarning{Unnecessary \string\rmoiety\space
-used in a right box}\hbox to0pt{#1\hss}%
-\else\if@leftrightput\hbox to0pt{#1\hss}%
-\fi\fi\fi\resetlrput}
-\def\lmoiety#1{\if@rightput
-\XyMTeXWarning{Wrong \string\lmoiety\space used in a right box}%
-\hbox to0pt{\hss#1\kern-.72em%
-\hbox to0pt{\vrule width\overfullrule height\overfullrule\hss}}\else
-\if@leftput\XyMTeXWarning{Unnecessary \string\lmoiety\space
-used in a left box}\hbox to0pt{\hss#1}%
-\else\if@leftrightput\hbox to0pt{\hss#1\kern-.72em}%
-\else\hbox to0pt{\hss#1\kern-.72em}\fi\fi\fi\resetlrput}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% Warnings from \XyMTeX{} are concerned with commands
-% |\rmoiety| and |\lmoiety|.
-%
-% \begin{macro}{\XyMTeXWarning}
-% \begin{macrocode}
-\def\XyMTeXWarning#1{%
-\begingroup
- \let\protect\string
- \immediate\write\@unused{^^IXyMTeX Warning: #1\space
- on input line \the\inputlineno^^I}%
-\endgroup}
-% \end{macrocode}
-% \end{macro}
-%
-% Warnings concerned with ring fusion are based on
-% the command |\FuseWarning| of \XyMTeX{}.
-% \changes{v2.00}{1998/11/15}{Warning function is added.}
-%
-% \begin{macro}{\@cnttempa}
-% \begin{macro}{\@cnttempb}
-% \begin{macro}{\FuseWarning}
-% \begin{macrocode}
-\newcount\@cnttempa
-\newcount\@cnttempb
-\def\FuseWarning#1#2#3#4#5#6#7{%
-\@tempcnta=#1 \@tempcntb=#2
-\@cnttempa=#3 \advance\@cnttempa-#5
-\@cnttempb=#4 \advance\@cnttempb-#6
-\ifnum\@tempcnta=\@cnttempa
- \ifnum\@tempcntb=\@cnttempb\else
- \XyMTeXWarning{Mismatched fusion at bond `#7'}%
- \fi
-\else
- \XyMTeXWarning{Mismatched fusion at bond `#7'}%
-\fi}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The original \LaTeX{} command |\put| is changed into macros suitable to
-% more specific uses as follows.
-%
-% \changes{v1.02}{1998/10/20}{The definition is changed. Warning function
-% for \cs{rmoiety} is added.}
-%
-% \begin{macro}{\putlatom}
-% \begin{macrocode}
-% %\def\putlatom#1#2#3{\put(#1,#2){\hbox to0pt{\hss #3}}}
-\def\putlatom#1#2#3{\begingroup\resetlrput
-\put(#1,#2){\@leftputtrue\hbox to0pt{\hss #3}\@leftputfalse}\endgroup}
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.02}{1998/10/20}{The definition is changed. Warning function
-% for \cs{lmoiety} is added.}
-%
-% \begin{macro}{\putratom}
-% \begin{macrocode}
-%\def\putratom#1#2#3{\put(#1,#2){\hbox to0pt{#3 \hss}}}
-\def\putratom#1#2#3{\begingroup\resetlrput
-\put(#1,#2){\@rightputtrue\hbox to0pt{#3 \hss}\@rightputfalse}\endgroup}
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.02}{1998/10/20}{The definition is changed. Warning function
-% for \cs{lmoiety} and \cs{rmoiety|} is added.}
-%
-% \begin{macro}{\putlratom}
-% \begin{macrocode}
-\def\putlratom#1#2#3{\begingroup\resetlrput
-\put(#1,#2){\@leftrightputtrue\hbox to.72em{#3\hss}}%
-\@leftrightputfalse\endgroup}
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.01b}{1998/10/06}{\cs{putlratom}: delete \sc{setbox0}}
-% \changes{v1.02}{1998/10/20}{The old definition is
-% totally replaced by the new definition}
-%
-% \begin{verbatim}
-% % old definitions
-% % \begin{macrocode}
-% % changed to avoid Overfull warnings 1993/11/11/S.Fujita
-% % \newif\if@moiety \@moietyfalse
-% % \def\putlratom#1#2#3{%
-% % \def\lmoiety##1{\global\@moietytrue}%
-% % \setbox0=\hbox{#3}%deleted by S. Fujita
-% % \if@moiety\def\lmoiety##1{\hss ##1}%
-% % \put(#1,#2){\hbox to.72em{#3}}\global\@moietyfalse
-% % \else\put(#1,#2){\hbox to.6em{#3\hss}}\fi}%
-% % \def\putlratom#1#2#3{\put(#1,#2){\hbox to.6em{#3}}}
-% % \end{macrocode}
-% \end{verbatim}
-%
-% \begin{macro}{\Putlratom}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \begin{macrocode}
-\def\Putlratom#1#2#3{\put(#1,#2){\hbox to.8em{#3}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Parameters}
-%
-% The original point for drawing a structural formula is shifted to an
-% appropriate position, which is designated by the following parmeters
-% (counters) for coordinates.
-%
-%
-% \begin{macro}{\noshift}
-% \begin{macro}{\shifti}
-% \begin{macro}{\shiftii}
-% \begin{macro}{\shiftiii}
-% \begin{macrocode}
-% *******************************
-% * Parameters for Coordinates *
-% *******************************
-\newcount\noshift \noshift=0\relax%
-\newcount\shifti \shifti=240\relax%
-\newcount\shiftii \shiftii=400\relax%
-\newcount\shiftiii \shiftiii=800\relax%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The unit length for \XyMTeX{} is selected to be 0.1pt. This value
-% should not be maintained as possible as you can. A smaller value
-% may disapper a sloped line of short length.
-% \begin{macrocode}
-\unitlength.1pt%
-% \end{macrocode}
-%
-% Parameters for ring fusion are used in fusering.sty.
-% \changes{v2.00}{1999/2/16}{This has been added to process the old XyMTeX
-% manual for Version 1.01}
-%
-% \begin{macro}{\fuseAx}
-% \begin{macro}{\fuseBx}
-% \begin{macro}{\fuseAy}
-% \begin{macro}{\fuseBy}
-% \begin{macrocode}
-\def\fuseAx{0}
-\def\fuseBx{0}
-\def\fuseAy{0}
-\def\fuseBy{0}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Various switchs}
-%
-% These macros are used for clipping spaces at substitution positions.
-% Note that |\if@clip| is used in place of |\if@dclip|.
-%
-% \begin{macro}{\if@clip}
-% \begin{macro}{\if@aclip}
-% \begin{macro}{\if@bclip}
-% \begin{macro}{\if@cclip}
-% \begin{macro}{\if@eclip}
-% \begin{macro}{\if@fclip}
-% \begin{macro}{\iforigpt}
-% \begin{macro}{\@tmpaa}
-% \begin{macrocode}
-% ***************************************
-% * various flags (switches) *
-% * treatment of substitution positions *
-% ***************************************
-%
-% for 6- or lower-membered cycles
-%
-\newif\if@clip \@clipfalse% % switch for clipping at 4
-\newif\if@aclip \@aclipfalse% % switch for clipping at 1
-\newif\if@bclip \@bclipfalse% % switch for clipping at 2
-\newif\if@cclip \@cclipfalse% % switch for clipping at 3
-\newif\if@eclip \@eclipfalse% % switch for clipping at 5
-\newif\if@fclip \@fclipfalse% % switch for clipping at 6
-\newif\iforigpt \origptfalse% % switch for showing the original point
-\newcount\@tmpaa%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\if@gclip}
-% \begin{macro}{\if@hclip}
-% \begin{macro}{\if@iclip}
-% \begin{macro}{\if@jclip}
-% \begin{macrocode}
-%
-% for further-membered cycles
-%
-\newif\if@gclip \@gclipfalse%
-\newif\if@hclip \@hclipfalse%
-\newif\if@iclip \@iclipfalse%
-\newif\if@jclip \@jclipfalse%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Various commands and switchs for using substituents}
-%
-% For drawing a structure as a substituent, the argument (yl) can
-% be used. The following commands and counters are used for shifting
-% the substituent.
-% \changes{v1.02}{1998/10/31}{Commands for setting substituents}
-% \changes{v2.00}{1998/12/25}{Added: \cs{reset@yl@xydiff}}
-%
-% \begin{macro}{\@yl}
-% \begin{macro}{\yl@xdiff}
-% \begin{macro}{\yl@ydiff}
-% \begin{macro}{\yl@shiftii}
-% \begin{macro}{\yl@shifti}
-% \begin{macro}{\@ylii}
-% \begin{macro}{\@yli}
-% \begin{macro}{\@@ylii}
-% \begin{macro}{\@@yli}
-% \begin{macrocode}
-\def\@yl{(yl)}
-\newcount\yl@xdiff
-\newcount\yl@ydiff
-\newcount\yl@shiftii
-\newcount\yl@shifti
-\def\@ylii{0}\def\@yli{0}
-\def\@@ylii{}\def\@@yli{}
-\def\reset@@yl{\gdef\@@ylii{}\gdef\@@yli{}}
-\def\reset@yl@xydiff{\yl@xdiff=0 \yl@ydiff=0\relax}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The following switches are used for shifting the substituent.
-% The locant flags such as |\@ylatrue| have been stoped to use.
-% \changes{v1.02}{1998/10/11}{Delete \cs{@ylatrue} etc.}
-% \changes{v1.02}{1998/10/31}{Commands for setting substituents}
-%
-% Old definition:
-% \begin{macrocode}
-% %%%%% \newif\if@yla \@ylafalse
-% %%%%% \newif\if@ylb \@ylbfalse
-% %%%%% \newif\if@ylc \@ylcfalse
-% %%%%% \newif\if@yld \@yldfalse
-% %%%%% \newif\if@yle \@ylefalse
-% %%%%% \newif\if@ylf \@ylffalse
-% \end{macrocode}
-%
-% \begin{macro}{\if@ylsw}
-% \begin{macro}{\if@@ylsw}
-% \begin{macrocode}
-\newif\if@ylsw \@ylswfalse
-\newif\if@@ylsw \@@ylswfalse
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{verbatim}
-% Old definition:
-% % \begin{macrocode}
-% %%%%% \def\@reset@ylsw{\@ylafalse\@ylbfalse\@ylcfalse
-% %%%%% \@yldfalse\@ylefalse\@ylffalse\@ylswfalse}
-% % \end{macrocode}
-% \end{verbatim}
-%
-% \begin{macro}{\@reset@ylsw}
-% \begin{macrocode}
-\def\@reset@ylsw{\@ylswfalse\@@ylswfalse}
-% \end{macrocode}
-% \end{macro}
-%
-% The further fusion of a three- or four-membered ring at a center bond
-% of a six-six or six-five ring is permitted, while that of a five-
-% or more-membered ring is not permitted. The macro |\@smallringsw|
-% is used for such switching (fusering.sty).
-%
-% \begin{macro}{\if@smallringsw}
-% \begin{macrocode}
-\newif\if@smallringsw \@smallringswfalse
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Initialization}
-%
-% The |\iniflag| command initializes all of the clipping flags.
-% The |\iniatom| command initializes all of the strings of temporary use
-% such as |\aaa| and |\bbb|, which are associated with respective
-% atom positions.
-% The |\resetbdsw| command resets all of the strings of temporary use
-% such as |\@aaa| and |\@bbb|, which are associated with respective
-% bond positions.
-%
-% \begin{macro}{\iniflag}
-% \begin{macro}{\iniatom}
-% \begin{macro}{\resetbdsw}
-% \changes{v1.02}{1998/10/25}{Delete \sc{global}}
-%
-% \begin{macrocode}
-% %\def\iniflag{%
-% %\global\@aclipfalse\global\@bclipfalse%
-% %\global\@cclipfalse\global\@clipfalse\global\@eclipfalse%
-% %\global\@fclipfalse\global\@gclipfalse\global\@hclipfalse%
-% %\global\@iclipfalse\global\@jclipfalse%
-% %\global\@clipfusefalse}%
-% %\def\iniatom{%
-% %\gdef\aaa{}\gdef\bbb{}\gdef\ccc{}\gdef\ddd{}%
-% %\gdef\eee{}\gdef\fff{}%
-% %\gdef\ggg{}\gdef\hhh{}\gdef\iii{}\gdef\jjj{}%
-% %\gdef\@aaa{}\gdef\@bbb{}\gdef\@ccc{}\gdef\@ddd{}%
-% %\gdef\@eee{}\gdef\@fff{}%
-% %}%
-% %\def\resetbdsw{\gdef\@aaa{a}\gdef\@bbb{b}\gdef\@ccc{c}%
-% %\gdef\@ddd{d}\gdef\@eee{e}\gdef\@fff{f}}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\iniflag{%
-\@aclipfalse\@bclipfalse\@cclipfalse\@clipfalse\@eclipfalse%
-\@fclipfalse\@gclipfalse\@hclipfalse%
-\@iclipfalse\@jclipfalse\@clipfusefalse%
-\global\@smallringswfalse%
-}%
-\def\iniatom{%
-\def\aaa{}\def\bbb{}\def\ccc{}\gdef\ddd{}%
-\def\eee{}\def\fff{}%
-\def\ggg{}\def\hhh{}\def\iii{}\gdef\jjj{}%
-\def\@aaa{}\def\@bbb{}\def\@ccc{}\def\@ddd{}%
-\def\@eee{}\def\@fff{}%
-\def\@ggg{}\def\@hhh{}\def\@iii{}%
-\def\@jjj{}\def\@kkk{}%
-}%
-\def\resetbdsw{\def\@aaa{a}\def\@bbb{b}\def\@ccc{c}%
-\def\@ddd{d}\def\@eee{e}\def\@fff{f}%
-\def\@ggg{g}\def\@hhh{h}\def\@iii{i}%
-\def\@jjj{j}\def\@kkk{k}%
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% At the beginning of \XyMTeX\ processing, we initialize atom
-% information by the command |\iniatom|.
-%
-% \begin{macrocode}
-\iniatom
-% \end{macrocode}
-%
-%
-% \section{Macros for Vertical formulas}
-% \subsection{Placing substituents for vertical formulas}
-%
-% Such a drawing command as |\setsixringv| uses several inner macros
-% for placing substituents with bonds. The first set of inner macros
-% are shown as follows.
-%
-% The command |\ylposition| is to obtain the shift values
-% |\@ylii| and |\@yli| which are used for shifting the standard
-% point of a substituent.
-% The locant flags such as |\@ylatrue| have been stoped to use.
-% \changes{v1.02}{1998/10/11}{Delete \cs{@ylatrue} etc.}
-% \changes{v1.02}{1998/10/31}{Commands for setting substituents}
-%
-% \begin{macro}{\ylposition}
-% \begin{macrocode}
-\def\ylposition#1#2#3#4#5{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}\relax%
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifnum#5<0\relax%
-\@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
-\else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax\fi
-\ifnum\@tmpaa>#3\relax%
-\ifnum\@tmpaa<#4\relax%
-\ifcase\@tmpaa%0 omit
-% \end{macrocode}
-%
-% The flags |\@lyatrue| etc are not used in a revised edition.
-%
-% \begin{macrocode}
- \or\ifx\aaa\empty
- \gdef\@ylii{0}\gdef\@yli{-406}\global\@ylswtrue%\@ylatrue% subst. on 1
- \else
- \gdef\@ylii{0}\gdef\@yli{-442}\global\@ylswtrue%\@ylatrue% subst. on 1
- \fi
- \or\ifx\bbb\empty
- \gdef\@ylii{-171}\gdef\@yli{-303}\global\@ylswtrue%\@ylbtrue% subst. on 2
- \else
- \gdef\@ylii{-213}\gdef\@yli{-327}\global\@ylswtrue%\@ylbtrue% subst. on 2
- \fi
- \or\ifx\ccc\empty
- \gdef\@ylii{-171}\gdef\@yli{-103}\global\@ylswtrue%\@ylctrue% subst. on 3
- \else
- \gdef\@ylii{-213}\gdef\@yli{-79}\global\@ylswtrue%\@ylctrue% subst. on 3
- \fi
- \or\ifx\ddd\empty
- \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%\@yldtrue% subst. on 4
- \else
- \gdef\@ylii{0}\gdef\@yli{36}\global\@ylswtrue%\@yldtrue% subst. on 4
- \fi
- \or\ifx\eee\empty
- \gdef\@ylii{171}\gdef\@yli{-103}\global\@ylswtrue%\@yletrue% subst. on 5
- \else
- \gdef\@ylii{213}\gdef\@yli{-79}\global\@ylswtrue%\@yletrue% subst. on 5
- \fi
- \or\ifx\fff\empty
- \gdef\@ylii{171}\gdef\@yli{-303}\global\@ylswtrue%\@ylftrue% subst. on 6
- \else
- \gdef\@ylii{213}\gdef\@yli{-327}\global\@ylswtrue%\@ylftrue% subst. on 6
- \fi%
-\fi%end of ifcase
-\fi\fi\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% The |\@substa| command is used for placing a substituent (|\@memberb|) at
-% the 1-position (top) of a vertical six-membered ring. The bond linking
-% between the substituent and the 1-position is drawn in the light of
-% the corresponding bond modifier (|\@tmpc| = Sa, Sb, SA, SB etc.).
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/15}{New bond modifiers: FA, FB, GA, GB, Su, and Sd}
-% \begin{macro}{\@substa}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 1 %
-% %%%%%%%%%%%%%%%
-\def\@substa{%
-\if@aclip% %clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \put(0,436){\line(0,1){110}}% % single bond at 1
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=-36\relax
- \yl@ydiff=-27\relax
- \putlatom{-42}{563}{\@memberb}% % left type
- {%
- \thicklines%
- \put(-18,436){\line(-3,5){60}}% % single bond at 1
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=37\relax
- \yl@ydiff=-27\relax
- \putratom{41}{563}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(18,436){\line(3,5){60}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(18,436)(72,526)}}%
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=36\relax
- \yl@ydiff=-27\relax
- \putratom{41}{563}{\@memberb}% % right type
- {%
- \thicklines%
- \put(18,436){\line(3,5){60}}% % single bond at 1
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=-37\relax
- \yl@ydiff=-27\relax
- \putlatom{-42}{563}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(-18,436){\line(-3,5){60}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(-18,436)(-72,526)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-36\relax
- \yl@ydiff=-27\relax
- \putlatom{-42}{563}{\@memberb}% % left type
- \put(-18,436){\line(-3,5){60}}% % single bond at 1
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=37\relax
- \yl@ydiff=-27\relax
- \putratom{41}{563}{\@memberb}% % right type
- \put(18,436){\line(3,5){60}}% % single bond at 1
- \fi\fi\fi\fi\fi%
- \fi\fi
- \else\if\@tmpb D%double bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \put(-12,436){\line(0,1){110}}% % double bond at 1
- \put(12,436){\line(0,1){110}}% % double bond at 1
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- {%
- \thicklines%
- \put(0,436){\line(0,1){110}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \@ifundefined{dottedline}{%
- \put(0,436){\line(0,1){110}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,436)(0,546)}}%
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(0,406){\setatombondd}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(0,406){\setatombondf}%
- }%
- \else%
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \put(0,436){\line(0,1){110}}% % single bond at 1
- \fi\fi\fi\fi%
- \fi\fi%
-\else% % no clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \put(0,406){\line(0,1){140}}% % single bond at 1
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=-30\relax
- \yl@ydiff=-37\relax
- \putlatom{-42}{563}{\@memberb}% % left type
- {%
- \thicklines%
- \put(0,406){\line(-3,5){72}}% % single bond at 1
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=31\relax
- \yl@ydiff=-37\relax
- \putratom{41}{563}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(0,406){\line(3,5){72}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,406)(72,526)}}%
- \else\if\@tmpc u%(u) upper --- (B) beta
- \yl@xdiff=30\relax
- \yl@ydiff=-37\relax
- \putratom{41}{563}{\@memberb}% % right type
- {%
- \thicklines%
- \put(0,406){\line(3,5){72}}% % single bond at 1
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=-31\relax
- \yl@ydiff=-37\relax
- \putlatom{-42}{563}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(0,406){\line(-3,5){72}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,406)(-72,526)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-30\relax
- \yl@ydiff=-37\relax
- \putlatom{-42}{563}{\@memberb}% % left type
- \put(0,406){\line(-3,5){72}}% % single bond at 1
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=31\relax
- \yl@ydiff=-37\relax
- \putratom{41}{563}{\@memberb}% % right type
- \put(0,406){\line(3,5){72}}% % single bond at 1
- \fi\fi\fi\fi\fi%
- \fi\fi%
- \else\if\@tmpb D%double bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \put(-12,406){\line(0,1){140}}% % double bond at 1
- \put(12,406){\line(0,1){140}}% % double bond at 1
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- {%
- \thicklines%
- \put(0,406){\line(0,1){140}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \@ifundefined{dottedline}{%
- \put(0,406){\line(0,1){140}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,406)(0,546)}}%
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(0,406){\setatombondd}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(0,406){\setatombondf}%
- }%
- \else%
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \put(0,406){\line(0,1){140}}% % single bond at 1
- \fi\fi\fi\fi%
- \fi\fi
- \fi}% end of \@substa
-% \end{macrocode}
-% \end{macro}
-%
-% The |\@substb| command is used for placing a substituent (|\@memberb|) at
-% the 2-position (upper-right) of a vertical six-membered ring.
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/15}{New bond modifiers: FA, FB, GA, GB, Su, and Sd}
-% \begin{macro}{\@substb}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 2 %
-% %%%%%%%%%%%%%%%
-\def\@substb{%
- \if@bclip %clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=-10\relax
- \yl@ydiff=24\relax
- \putratom{311}{363}{\@memberb}% % right type
- \put(201,327){\line(5,3){100}}% % single bond at 2
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=-7\relax
- \yl@ydiff=38\relax
- \putratom{268}{420}{\@memberb}% % right type
- {%
- \thicklines%
- \put(201,358){\line(3,5){60}}% % single bond at 2
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=-17\relax
- \yl@ydiff=23\relax
- \putratom{318}{280}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(201,303){\line(1,0){100}}% % single bond at 2
- }{{\thicklines%
- \dottedline{20}(201,303)(301,303)}}%
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=-17\relax
- \yl@ydiff=23\relax
- \putratom{318}{280}{\@memberb}% % right type
- {%
- \thicklines%
- \put(201,303){\line(1,0){100}}% % single bond at 2
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=-7\relax
- \yl@ydiff=38\relax
- \putratom{268}{420}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(201,358){\line(3,5){60}}% % single bond at 2
- }{{\thicklines%
- \dottedline{20}(201,358)(261,458)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-7\relax
- \yl@ydiff=38\relax
- \putratom{268}{420}{\@memberb}% % right type
- \put(201,358){\line(3,5){60}}% % single bond at 2
- \else\if\@tmpc a%(a) alpha%
- \yl@xdiff=-17\relax
- \yl@ydiff=23\relax
- \putratom{318}{280}{\@memberb}% % right type
- \put(201,303){\line(1,0){100}}% % single bond at 2
- \fi\fi\fi\fi\fi%
- \fi\fi%
- \else\if\@tmpb D%double bond
- \yl@xdiff=-10\relax
- \yl@ydiff=18\relax
- \putratom{311}{363}{\@memberb}% % right type
- \put(194,331){\line(5,3){100}}% % double bond at 2
- \put(200,305){\line(5,3){100}}% % double bond at 2
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=24\relax
- \putratom{311}{363}{\@memberb}% % right type
- {%
- \thicklines%
- \put(201,327){\line(5,3){100}}% % single bond at 2
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=24\relax
- \putratom{311}{363}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(201,327){\line(5,3){100}}% % single bond at 2
- }{{\thicklines%
- \dottedline{20}(201,327)(301,387)}}%
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(171,303){\setatombonda}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(171,303){\setatombonde}%
- }%
- \else%
- \yl@xdiff=-10\relax
- \yl@ydiff=24\relax
- \putratom{311}{363}{\@memberb}% % right type
- \put(201,327){\line(5,3){100}}% % single bond at 2
- \fi\fi\fi\fi%
- \fi\fi%
- \else% %no clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=-10\relax
- \yl@ydiff=12\relax
- \putratom{301}{363}{\@memberb}% % right type
- \put(171,303){\line(5,3){120}}% % single bond at 2
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=-15\relax
- \yl@ydiff=13\relax
- \putratom{258}{410}{\@memberb}% % right type
- {%
- \thicklines%
- \put(171,303){\line(3,5){72}}% % single bond at 2
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=-7\relax
- \yl@ydiff=23\relax
- \putratom{318}{280}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(171,303){\line(1,0){140}}% % single bond at 2
- }{{\thicklines%
- \dottedline{20}(171,303)(311,303)}}%
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=-7\relax
- \yl@ydiff=23\relax
- \putratom{318}{280}{\@memberb}% % right type
- {%
- \thicklines%
- \put(171,303){\line(1,0){140}}% % single bond at 2
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=-15\relax
- \yl@ydiff=13\relax
- \putratom{258}{410}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(171,303){\line(3,5){72}}% % single bond at 2
- }{{\thicklines%
- \dottedline{20}(171,303)(243,423)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-15\relax
- \yl@ydiff=13\relax
- \putratom{258}{410}{\@memberb}% % right type
- \put(171,303){\line(3,5){72}}% % single bond at 2
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=-7\relax
- \yl@ydiff=23\relax
- \putratom{318}{280}{\@memberb}% % right type
- \put(171,303){\line(1,0){140}}% % single bond at 2
- \fi\fi\fi\fi\fi%
- \fi\fi%
- \else\if\@tmpb D%double bond
- \yl@xdiff=-10\relax
- \yl@ydiff=6\relax
- \putratom{301}{363}{\@memberb}% % right type
- \put(168,310){\line(5,3){120}}% % double bond at 2
- \put(174,284){\line(5,3){120}}% % double bond at 2
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=12\relax
- \putratom{301}{363}{\@memberb}% % right type
- {%
- \thicklines%
- \put(171,303){\line(5,3){120}}% % single bond at 2
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=12\relax
- \putratom{301}{363}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(171,303){\line(5,3){120}}% % single bond at 2
- }{{\thicklines%
- \dottedline{20}(171,303)(291,375)}}%
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(171,303){\setatombonda}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(171,303){\setatombonde}%
- }%
- \else%
- \yl@xdiff=-10\relax
- \yl@ydiff=12\relax
- \putratom{301}{363}{\@memberb}% % right type
- \put(171,303){\line(5,3){120}}% % single bond at 2
- \fi\fi\fi\fi%
- \fi\fi
- \fi}% end of \@substb
-% \end{macrocode}
-% \end{macro}
-%
-% The |\@substc| command is used for placing a substituent (|\@memberb|) at
-% the 3-position (lower-right) of a vertical six-membered ring.
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff|} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/15}{New bond modifiers: FA, FB, GA, GB, Su, and Sd}
-% \begin{macro}{\@substc}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 3 %
-% %%%%%%%%%%%%%%%
-\def\@substc{%
- \if@cclip %clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=-10\relax
- \yl@ydiff=46\relax
- \putratom{311}{-27}{\@memberb}% % right type
- \put(201,79){\line(5,-3){110}}% % single bond at 3
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=-7\relax
- \yl@ydiff=28\relax
- \putratom{268}{-80}{\@memberb}% % right type
- {%
- \thicklines%
- \put(201,48){\line(3,-5){60}}% % single bond at 3
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=-17\relax
- \yl@ydiff=29\relax
- \putratom{318}{74}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(201,103){\line(1,0){100}}% % single bond at 3
- }{{\thicklines%
- \dottedline{20}(201,103)(301,103)}}%
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=-17\relax
- \yl@ydiff=29\relax
- \putratom{318}{74}{\@memberb}% % right type
- {%
- \thicklines%
- \put(201,103){\line(1,0){100}}% % single bond at 3
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=-7\relax
- \yl@ydiff=28\relax
- \putratom{268}{-80}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(201,48){\line(3,-5){60}}% % single bond at 3
- }{{\thicklines%
- \dottedline{20}(201,48)(261,-52)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-7\relax
- \yl@ydiff=28\relax
- \putratom{268}{-80}{\@memberb}% % right type
- \put(201,48){\line(3,-5){60}}% % single bond at 3
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=-17\relax
- \yl@ydiff=29\relax
- \putratom{318}{74}{\@memberb}% % right type
- \put(201,103){\line(1,0){100}}% % single bond at 3
- \fi\fi\fi\fi\fi%
- \fi\fi
- \else\if\@tmpb D%double bond
- \yl@xdiff=-10\relax
- \yl@ydiff=52\relax
- \putratom{311}{-27}{\@memberb}% % right type
- \put(194,76){\line(5,-3){100}}% % double bond at 3
- \put(200,101){\line(5,-3){100}}% % double bond at 3
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=46\relax
- \putratom{311}{-27}{\@memberb}% % right type
- {%
- \thicklines%
- \put(201,79){\line(5,-3){100}}% % single bond at 3
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=46\relax
- \putratom{311}{-27}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(201,79){\line(5,-3){100}}% % single bond at 3
- }{{\thicklines%
- \dottedline{20}(201,79)(301,19)}}%
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(171,103){\setatombondf}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(171,103){\setatombondc}%
- }%
- \else%
- \yl@xdiff=-10\relax
- \yl@ydiff=46\relax
- \putratom{311}{-27}{\@memberb}% % right type
- \put(201,79){\line(5,-3){100}}% % single bond at 3
- \fi\fi\fi\fi%
- \fi\fi%
- \else%no clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=-10\relax
- \yl@ydiff=58\relax
- \putratom{301}{-27}{\@memberb}% % right type
- \put(171,103){\line(5,-3){120}}% % single bond at 3
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=-10\relax
- \yl@ydiff=48\relax
- \putratom{258}{-70}{\@memberb}% % right type
- {%
- \thicklines%
- \put(171,103){\line(3,-5){72}}% % single bond at 3
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=-10\relax
- \yl@ydiff=30\relax
- \putratom{318}{74}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(171,103){\line(1,0){140}}% % single bond at 3
- }{{\thicklines%
- \dottedline{20}(171,103)(311,103)}}%
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=-10\relax
- \yl@ydiff=30\relax
- \putratom{318}{74}{\@memberb}% % right type
- {%
- \thicklines%
- \put(171,103){\line(1,0){140}}% % single bond at 3
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=-10\relax
- \yl@ydiff=48\relax
- \putratom{258}{-70}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(171,103){\line(3,-5){72}}% % single bond at 3
- }{{\thicklines%
- \dottedline{20}(171,103)(243,-17)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-10\relax
- \yl@ydiff=48\relax
- \putratom{258}{-70}{\@memberb}% % right type
- \put(171,103){\line(3,-5){72}}% % single bond at 3
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=-10\relax
- \yl@ydiff=30\relax
- \putratom{318}{74}{\@memberb}% % right type
- \put(171,103){\line(1,0){140}}% % single bond at 3
- \fi\fi\fi\fi\fi%
- \fi\fi
- \else\if\@tmpb D%double bond
- \yl@xdiff=-10\relax
- \yl@ydiff=65\relax
- \putratom{301}{-27}{\@memberb}% % right type
- \put(168,96){\line(5,-3){120}}% % double bond at 3
- \put(174,121){\line(5,-3){120}}% % double bond at 3
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=58\relax
- \putratom{301}{-27}{\@memberb}% % right type
- {%
- \thicklines%
- \put(171,103){\line(5,-3){120}}% % single bond at 3
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=58\relax
- \putratom{301}{-27}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(171,103){\line(5,-3){120}}% % single bond at 3
- }{{\thicklines%
- \dottedline{20}(171,103)(291,31)}}%
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(171,103){\setatombondf}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(171,103){\setatombondc}%
- }%
- \else%
- \yl@xdiff=-10\relax
- \yl@ydiff=58\relax
- \putratom{301}{-27}{\@memberb}% % right type
- \put(171,103){\line(5,-3){120}}% % single bond at 3
- \fi\fi\fi\fi%
- \fi\fi
- \fi
-}% end of \@substc
-% \end{macrocode}
-% \end{macro}
-%
-% The |\@substd| command is used for placing a substituent (|\@memberb|) at
-% the 4-position (bottom) of a vertical six-membered ring.
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/15}{New bond modifiers: FA, FB, GA, GB, Su, and Sd}
-% \begin{macro}{\@substd}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 4 %
-% %%%%%%%%%%%%%%%
-\def\@substd{%
-\if@clip %clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \put(0,-30){\line(0,-1){110}}% % single bond at 4
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=-36\relax
- \yl@ydiff=100\relax
- \putlatom{-42}{-230}{\@memberb}% % left type
- {%
- \thicklines%
- \put(-18,-30){\line(-3,-5){60}}% % single bond at 4
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=37\relax
- \yl@ydiff=100\relax
- \putratom{41}{-230}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(18,-30){\line(3,-5){60}}% % single bond at 4
- }{{\thicklines%
- \dottedline{20}(18,-30)(72,-120)}}%
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=37\relax
- \yl@ydiff=100\relax
- \putratom{41}{-230}{\@memberb}% % right type
- {%
- \thicklines%
- \put(18,-30){\line(3,-5){60}}% % single bond at 4
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=-36\relax
- \yl@ydiff=100\relax
- \putlatom{-42}{-230}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(-18,-30){\line(-3,-5){60}}% % single bond at 4
- }{{\thicklines%
- \dottedline{20}(-18,-30)(-78,-130)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-36\relax
- \yl@ydiff=100\relax
- \putlatom{-42}{-230}{\@memberb}% % left type
- \put(-18,-30){\line(-3,-5){60}}% % single bond at 4
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=37\relax
- \yl@ydiff=100\relax
- \putratom{41}{-230}{\@memberb}% % right type
- \put(18,-30){\line(3,-5){60}}% % single bond at 4
- \fi\fi\fi\fi\fi%
- \fi\fi
- \else\if\@tmpb D%double bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \put(-12,-30){\line(0,-1){110}}% % double bond at 4
- \put(12,-30){\line(0,-1){110}}% % double bond at 4
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- {%
- \thicklines%
- \put(0,-30){\line(0,-1){110}}% % single bond at 4
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \@ifundefined{dottedline}{%
- \put(0,-30){\line(0,-1){110}}% % single bond at 4
- }{{\thicklines%
- \dottedline{20}(0,-30)(0,-140)}}%
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(0,0){\setatombonde}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(0,0){\setatombondg}%
- }%
- \else%
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \put(0,-30){\line(0,-1){110}}% % single bond at 4
- \fi\fi\fi\fi%
- \fi\fi%
- \else%no clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \put(0,0){\line(0,-1){140}}% % single bond at 4
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=-30\relax
- \yl@ydiff=110\relax
- \putlatom{-42}{-230}{\@memberb}% % left type
- {%
- \thicklines%
- \put(0,0){\line(-3,-5){72}}% % single bond at 4
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=31\relax
- \yl@ydiff=110\relax
- \putratom{41}{-230}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(0,0){\line(3,-5){72}}% % single bond at 4
- }{{\thicklines%
- \dottedline{20}(0,0)(72,-120)}}%
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=31\relax
- \yl@ydiff=110\relax
- \putratom{41}{-230}{\@memberb}% % right type
- {%
- \thicklines%
- \put(0,0){\line(3,-5){72}}% % single bond at 4
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=-30\relax
- \yl@ydiff=110\relax
- \putlatom{-42}{-230}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(0,0){\line(-3,-5){72}}% % single bond at 4
- }{{\thicklines%
- \dottedline{20}(0,0)(-72,-120)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-30\relax
- \yl@ydiff=110\relax
- \putlatom{-42}{-230}{\@memberb}% % left type
- \put(0,0){\line(-3,-5){72}}% % single bond at 4
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=31\relax
- \yl@ydiff=110\relax
- \putratom{41}{-230}{\@memberb}% % right type
- \put(0,0){\line(3,-5){72}}% % single bond at 4
- \fi\fi\fi\fi\fi%
- \fi\fi%
- \else\if\@tmpb D%double bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \put(-12,0){\line(0,-1){140}}% % double bond at 4
- \put(12,0){\line(0,-1){140}}% % double bond at 4
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- {%
- \thicklines%
- \put(0,0){\line(0,-1){140}}% % single bond at 4
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \@ifundefined{dottedline}{%
- \put(0,0){\line(0,-1){140}}% % single bond at 4
- }{{\thicklines%
- \dottedline{20}(0,0)(0,-140)}}%
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(0,0){\setatombonde}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(0,0){\setatombondg}%
- }%
- \else%
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \put(0,0){\line(0,-1){140}}% % single bond at 4
- \fi\fi\fi\fi%
- \fi\fi%
- \fi}%end of \@substd
-% \end{macrocode}
-% \end{macro}
-%
-% The |\@subste| command is used for placing a substituent (|\@memberb|) at
-% the 5-position (lower-left) of a vertical six-membered ring.
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/15}{New bond modifiers: FA, FB, GA, GB, Su, and Sd}
-% \begin{macro}{\@subste}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 5 %
-% %%%%%%%%%%%%%%%
-\def\@subste{%
- \if@eclip%clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=10\relax
- \yl@ydiff=46\relax
- \putlatom{-311}{-27}{\@memberb}% % left type
- \put(-201,79){\line(-5,-3){110}}% % single bond at 5
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=7\relax
- \yl@ydiff=38\relax
- \putlatom{-268}{-80}{\@memberb}% % left type
- {%
- \thicklines%
- \put(-201,48){\line(-3,-5){60}}% % single bond at 5
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=17\relax
- \yl@ydiff=29\relax
- \putlatom{-318}{74}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(-201,103){\line(-1,0){100}}% % single bond at 5
- }{{\thicklines%
- \dottedline{20}(-201,103)(-301,103)}}%
- \else\if\@tmpc u% (u) up --- (B) beta
- \yl@xdiff=17\relax
- \yl@ydiff=29\relax
- \putlatom{-318}{74}{\@memberb}% % left type
- {%
- \thicklines%
- \put(-201,103){\line(-1,0){100}}% % single bond at 5
- }%
- \else\if\@tmpc d% (d) down --- (A) alpha
- \yl@xdiff=7\relax
- \yl@ydiff=38\relax
- \putlatom{-268}{-80}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(-201,48){\line(-3,-5){60}}% % single bond at 5
- }{{\thicklines%
- \dottedline{20}(-201,48)(-261,-52)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=7\relax
- \yl@ydiff=38\relax
- \putlatom{-268}{-80}{\@memberb}% % left type
- \put(-201,48){\line(-3,-5){60}}% % single bond at 5
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=17\relax
- \yl@ydiff=29\relax
- \putlatom{-318}{74}{\@memberb}% % left type
- \put(-201,103){\line(-1,0){100}}% % single bond at 5
- \fi\fi\fi\fi\fi%
- \fi\fi%
- \else\if\@tmpb D%double bond
- \yl@xdiff=10\relax
- \yl@ydiff=62\relax
- \putlatom{-311}{-27}{\@memberb}% % left type
- \put(-194,76){\line(-5,-3){100}}% % double bond at 5
- \put(-200,101){\line(-5,-3){100}}% % double bond at 5
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=10\relax
- \yl@ydiff=46\relax
- \putlatom{-311}{-27}{\@memberb}% % left type
- {%
- \thicklines%
- \put(-201,79){\line(-5,-3){100}}% % single bond at 5
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=10\relax
- \yl@ydiff=46\relax
- \putlatom{-311}{-27}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(-201,79){\line(-5,-3){100}}% % single bond at 5
- }{{\thicklines%
- \dottedline{20}(-201,79)(-301,21)}}%
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(-171,103){\setatombondc}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(-171,103){\setatombondd}%
- }%
- \else%
- \yl@xdiff=10\relax
- \yl@ydiff=46\relax
- \putlatom{-311}{-27}{\@memberb}% % left type
- \put(-201,79){\line(-5,-3){100}}% % single bond at 5
- \fi\fi\fi\fi%
- \fi\fi%
-\else%no clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=10\relax
- \yl@ydiff=56\relax
- \putlatom{-301}{-27}{\@memberb}% % left type
- \put(-171,103){\line(-5,-3){120}}% % single bond at 5
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=15\relax
- \yl@ydiff=63\relax
- \putlatom{-258}{-70}{\@memberb}% % left type
- {%
- \thicklines%
- \put(-171,103){\line(-3,-5){72}}% % single bond at 5
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=15\relax
- \yl@ydiff=29\relax
- \putlatom{-326}{74}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(-171,103){\line(-1,0){140}}% % single bond at 5
- }{{\thicklines%
- \dottedline{20}(-171,103)(-311,103)}}%
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=15\relax
- \yl@ydiff=29\relax
- \putlatom{-326}{74}{\@memberb}% % left type
- {%
- \thicklines%
- \put(-171,103){\line(-1,0){140}}% % single bond at 5
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=15\relax
- \yl@ydiff=63\relax
- \putlatom{-258}{-70}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(-171,103){\line(-3,-5){72}}% % single bond at 5
- }{{\thicklines%
- \dottedline{20}(-171,103)(-243,-17)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=15\relax
- \yl@ydiff=63\relax
- \putlatom{-258}{-70}{\@memberb}% % left type
- \put(-171,103){\line(-3,-5){72}}% % single bond at 5
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=15\relax
- \yl@ydiff=29\relax
- \putlatom{-326}{74}{\@memberb}% % left type
- \put(-171,103){\line(-1,0){140}}% % single bond at 5
- \fi\fi\fi\fi\fi%
- \fi\fi
- \else\if\@tmpb D%double bond
- \yl@xdiff=10\relax
- \yl@ydiff=62\relax
- \putlatom{-301}{-27}{\@memberb}% % left type
- \put(-168,96){\line(-5,-3){120}}% % double bond at 5
- \put(-174,121){\line(-5,-3){120}}% % double bond at 5
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=10\relax
- \yl@ydiff=56\relax
- \putlatom{-301}{-27}{\@memberb}% % left type
- {%
- \thicklines%
- \put(-171,103){\line(-5,-3){120}}% % single bond at 5
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=56\relax
- \putlatom{-301}{-27}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(-171,103){\line(-5,-3){120}}% % single bond at 5
- }{{\thicklines%
- \dottedline{20}(-171,103)(-311,31)}}%
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(-171,103){\setatombondc}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(-171,103){\setatombondd}%
- }%
- \else%
- \yl@xdiff=10\relax
- \yl@ydiff=56\relax
- \putlatom{-301}{-27}{\@memberb}% % left type
- \put(-171,103){\line(-5,-3){120}}%% single bond at 5
- \fi\fi\fi\fi%
- \fi\fi%
- \fi}% end of \@subste
-% \end{macrocode}
-% \end{macro}
-%
-% The |\@substf| command is used for placing a substituent (|\@memberb|) at
-% the 6-position (upper-left) of a vertical six-membered ring.
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/15}{New bond modifiers: FA, FB, GA, GB, Su, and Sd}
-% \begin{macro}{\@substf}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 6 %
-% %%%%%%%%%%%%%%%
-\def\@substf{%
- \if@fclip %clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=10\relax
- \yl@ydiff=24\relax
- \putlatom{-311}{363}{\@memberb}% % left type
- \put(-201,327){\line(-5,3){100}}% % single bond at 6
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=8\relax
- \yl@ydiff=38\relax
- \putlatom{-268}{420}{\@memberb}% % left type
- {%
- \thicklines%
- \put(-201,358){\line(-3,5){60}}% % single bond at 6
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=17\relax
- \yl@ydiff=23\relax
- \putlatom{-318}{280}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(-201,303){\line(-1,0){100}}% % single bond at 6
- }{{\thicklines%
- \dottedline{20}(-201,303)(-301,303)}}%
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=17\relax
- \yl@ydiff=23\relax
- \putlatom{-318}{280}{\@memberb}% % left type
- {%
- \thicklines%
- \put(-201,303){\line(-1,0){100}}% % single bond at 6
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=8\relax
- \yl@ydiff=38\relax
- \putlatom{-268}{420}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(-201,358){\line(-3,5){60}}% % single bond at 6
- }{{\thicklines%
- \dottedline{20}(-201,358)(-261,458)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=8\relax
- \yl@ydiff=38\relax
- \putlatom{-268}{420}{\@memberb}% % left type
- \put(-201,358){\line(-3,5){60}}% % single bond at 6
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=17\relax
- \yl@ydiff=23\relax
- \putlatom{-318}{280}{\@memberb}% % left type
- \put(-201,303){\line(-1,0){100}}% % single bond at 6
- \fi\fi\fi\fi\fi%
- \fi\fi
- \else\if\@tmpb D%double bond
- \yl@xdiff=10\relax
- \yl@ydiff=6\relax
- \putlatom{-311}{363}{\@memberb}% % left type
- \put(-194,331){\line(-5,3){100}}% % double bond at 6
- \put(-200,305){\line(-5,3){100}}% % double bond at 6
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=10\relax
- \yl@ydiff=24\relax
- \putlatom{-311}{363}{\@memberb}% % left type
- {%
- \thicklines%
- \put(-201,327){\line(-5,3){100}}% % single bond at 6
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=10\relax
- \yl@ydiff=24\relax
- \putlatom{-311}{363}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(-201,327){\line(-5,3){100}}% % single bond at 6
- }{{\thicklines%
-% \dottedline{20}(-201,327)(-301,375)}}%
- \dottedline{20}(-201,327)(-301,387)}}%1998/10/11 by SF
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(-171,303){\setatombondg}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(-171,303){\setatombonda}%
- }%
- \else%
- \yl@xdiff=10\relax
- \yl@ydiff=24\relax
- \putlatom{-311}{363}{\@memberb}% % left type
- \put(-201,327){\line(-5,3){100}}% % single bond at 6
- \fi\fi\fi\fi%
- \fi\fi
-\else%no clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=10\relax
- \yl@ydiff=12\relax
- \putlatom{-301}{363}{\@memberb}% % left type
- \put(-171,303){\line(-5,3){120}}% % single bond at 6
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=15\relax
- \yl@ydiff=13\relax
- \putlatom{-258}{410}{\@memberb}% % left type
- {%
- \thicklines%
- \put(-171,303){\line(-3,5){72}}% % single bond at 6
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=15\relax
- \yl@ydiff=23\relax
- \putlatom{-326}{280}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(-171,303){\line(-1,0){140}}% % single bond at 6
- }{{\thicklines%
- \dottedline{20}(-171,303)(-311,303)}}%
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=15\relax
- \yl@ydiff=23\relax
- \putlatom{-326}{280}{\@memberb}% % left type
- {%
- \thicklines%
- \put(-171,303){\line(-1,0){140}}% % single bond at 6
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=15\relax
- \yl@ydiff=13\relax
- \putlatom{-258}{410}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(-171,303){\line(-3,5){72}}% % single bond at 6
- }{{\thicklines%
- \dottedline{20}(-171,303)(-243,423)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=15\relax
- \yl@ydiff=13\relax
- \putlatom{-258}{410}{\@memberb}% % left type
- \put(-171,303){\line(-3,5){72}}% % single bond at 6
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=15\relax
- \yl@ydiff=23\relax
- \putlatom{-326}{280}{\@memberb}% % left type
- \put(-171,303){\line(-1,0){140}}% % single bond at 6
- \fi\fi\fi\fi\fi%
- \fi\fi%
- \else\if\@tmpb D%double bond
- \yl@xdiff=10\relax
- \yl@ydiff=6\relax
- \putlatom{-301}{363}{\@memberb}% % left type
- \put(-168,310){\line(-5,3){120}}% % double bond at 6
- \put(-174,284){\line(-5,3){120}}% % double bond at 6
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=10\relax
- \yl@ydiff=12\relax
- \putlatom{-301}{363}{\@memberb}% % left type
- {%
- \thicklines%
- \put(-171,303){\line(-5,3){120}}% % single bond at 6
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=12\relax
- \putlatom{-301}{363}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(-171,303){\line(-5,3){120}}% % single bond at 6
- }{{\thicklines%
- \dottedline{20}(-171,303)(-311,375)}}%
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(-171,303){\setatombondg}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(-171,303){\setatombonda}%
- }%
- \else%
- \yl@xdiff=10\relax
- \yl@ydiff=12\relax
- \putlatom{-301}{363}{\@memberb}% % left type
- \put(-171,303){\line(-5,3){120}}% % single bond at 6
- \fi\fi\fi\fi%
- \fi\fi
-\fi}% end of \@substf
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Setting-up substituents and bonds on a six-membered ring}
-%
-% The |\setsixringv| takes 5 arguments.
-%
-% \begin{verbatim}
-% **************************************************************
-% * setting of atoms and bonds on a vertical six-membered ring *
-% **************************************************************
-%
-% \setsixringv{SUBSLIST}{AD}{LOWER}{UPPER}{ORDER}
-% \end{verbatim}
-%
-% The first argument |SUBSLIST| is a list of substituents, which is
-% represented in the standard format of \XyMTeX{}.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents (max 6 substitution positions)
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The second argument |AD| is an adjustment value, which adjusts the original
-% set of locant numbers into the standard one between 1 to 6 for drawing
-% a six-membered ring.
-% The effective range of the standared set of locant numbers is
-% restricted by the auguments |LOWER| and |UPPER|. A minus value of
-% the last argument shows the anti-clockwise numbering, while zero or
-% a plus value represents the clockwise numbering.
-%
-% \begin{verbatim}
-%
-% AD : adjustment e.g. 0 for six-membered rings
-% LOWER : lower limit LOWER < effective range < UPPER
-% UPPER : upper limit
-% ORDER : >= 0 clockwise, <0 anti-clockwise
-% \end{verbatim}
-%
-% \changes{v1.02}{1998/10/31}{Adding switches \cs{@yla} etc.}
-%
-% \begin{macro}{\setsixringv}
-% \begin{macrocode}
-\def\setsixringv#1#2#3#4#5{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifnum#5 < 0\relax%
-\@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
-\else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax \fi
-\ifnum\@tmpaa >#3\relax%
-\ifnum\@tmpaa <#4\relax%
-\ifcase\@tmpaa%0 omit
-% \end{macrocode}
-%
-% The following commands are not used in a revised version
-% because of the direct use of |\ifx\@memberb\@yl\else...\fi|.
-%
-% \begin{macrocode}
-% %\or \if@yla\else\@substa\fi% subst. on 1
-% %\or \if@ylb\else\@substb\fi% subst. on 2
-% %\or \if@ylc\else\@substc\fi% subst. on 3
-% %\or \if@yld\else\@substd\fi% subst. on 4
-% %\or \if@yle\else\@subste\fi% subst. on 5
-% %\or \if@ylf\else\@substf\fi% subst. on 6
-% \end{macrocode}
-%
-% \begin{macrocode}
- \or\@substa% subst. on 1
- \or\@substb% subst. on 2
- \or\@substc% subst. on 3
- \or\@substd% subst. on 4
- \or\@subste% subst. on 5
- \or\@substf% subst. on 6
-\fi%end of ifcase
-\fi%
-\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Setting-up substituents and bonds on a decaline ring}
-%
-% The command |\setdecaringv|
-% has been stopped to use and replaced by % |\setsixringv|
-% (version 1.02).
-%
-% The |\setdecaringv| takes 5 arguments.
-%
-% \begin{verbatim}
-% ***********************************************************
-% * setting of atoms and bonds on a decaline (six-six) ring *
-% ***********************************************************
-%
-% \setdecaringv{SUBSLIST}{AD}{LOWER}{UPPER}{ORDER}
-% \end{verbatim}
-%
-% The first argument |SUBSLIST| is a list of substituents, which is
-% represented in the standard format of \XyMTeX{}.
-%
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents (max 8 substitution positions)
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% Substituents at the fused positions are designated by
-% the number 0 and the following bond modifiers.
-%
-% \begin{verbatim}
-% for 0 (fused positions)
-%
-% 0FA : alpha single bond at 8a
-% 0FB : beta single bond at 8a
-% 0FU : unspecified single bond at 8a
-% 0GA : alpha single bond at 4a
-% 0GB : beta single bond at 4a
-% 0GU : unspecified single bond at 4a
-%
-% \end{verbatim}
-%
-% The second argument |AD| is an adjustment value, which adjusts the original
-% set of locant numbers into the standard one between 0 to 8 for drawing
-% a decaline (six-six fused) ring.
-% The effective range of the standared set of locant numbers is
-% restricted by the auguments |LOWER| and |UPPER|. A minus value of
-% the last argument shows the anti-clockwise numbering, while zero or
-% a plus value represents the clockwise numbering.
-%
-% \begin{verbatim}
-% AD : adjustment e.g. 0 for six-membered rings
-% LOWER : lower limit LOWER < effective range < UPPER
-% UPPER : upper limit
-% ORDER : >= 0 clockwise, <0 anti-clockwise
-%
-% \end{verbatim}
-%
-% \begin{verbatim}
-% (Deleted)
-% % \begin{macro}{\setdecaringv}
-% % \begin{macrocode}
-% \def\setdecaringv#1#2#3#4#5{%
-% \@forsemicol\member:=#1\do{\expandafter\@m@mb@r\member;\relax%
-% \expandafter\threech@r\@membera{}{}%
-% \ifnum#5 <0\relax%
-% \@tmpaa=-\@tmpa\relax\advance\@tmpaa by #2\relax%
-% \else\@tmpaa=\@tmpa\relax\advance\@tmpaa by #2\relax\fi%
-% \ifnum\@tmpaa >#3\relax%
-% \ifnum\@tmpaa <#4\relax%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% \ifcase\@tmpaa%
-% % %%%%%%%%%%%%%%%%%%
-% % 0 fused positions
-% % %%%%%%%%%%%%%%%%%%
-% \if\@tmpb F%single bond at 8a (fused position)
-% \if\@tmpc B%beta single bond at 8a (fused position)
-% \putlratom{140}{460}{\@memberb}% % left or right type
-% {%
-% \thicklines%
-% \put(171,303){\line(0,1){140}}% % single bond at 8a
-% }%
-% \else\if\@tmpc A%alpha single bond at 8a (fused position)
-% \putlratom{140}{460}{\@memberb}% % left or right type
-% \@ifundefined{dottedline}{%
-% \put(171,303){\line(0,1){140}}% % single bond at 8a
-% }{{\thicklines%
-% \dottedline{20}(171,303)(171,443)}}%
-% \else\if\@tmpc U%beta single bond at 8a (fused position)
-% \putlratom{140}{460}{\@memberb}% % left or right type
-% \put(168,303){$\wr$}% unspecified single bond at 4a
-% \put(168,353){$\wr$}%
-% \put(168,403){$\wr$}%
-% \else\if\@tmpc S%beta single bond at 8a (fused position)
-% \putlratom{140}{460}{\@memberb}% % left or right type
-% \put(171,303){\line(0,1){140}}% % single bond at 8a
-% \else\ifx\@tmpc\empty%beta single bond at 8a (fused position)
-% \putlratom{140}{460}{\@memberb}% % left or right type
-% \put(171,303){\line(0,1){140}}% % single bond at 8a
-% \fi\fi\fi\fi\fi%
-% \else\if\@tmpb G%single bond at 4a (fused position)
-% \if\@tmpc B%beta single bond at 4a (fused position)
-% \putlratom{140}{-127}{\@memberb}% % left or right type
-% {%
-% \thicklines%
-% \put(171,103){\line(0,-1){140}}% % single bond at 4a
-% }%
-% \else\if\@tmpc A%alpha single bond at 4a (fused position)
-% \putlratom{140}{-127}{\@memberb}% % left or right type
-% \@ifundefined{dottedline}{%
-% \put(171,103){\line(0,-1){140}}% % single bond at 4a
-% }{{\thicklines%
-% \dottedline{20}(171,103)(171,-37)}}%
-% \else\if\@tmpc U%beta single bond at 4a (fused position)
-% \putlratom{140}{-127}{\@memberb}% % left or right type
-% \put(168,43){$\wr$}% unspecified single bond at 4a
-% \put(168,-8){$\wr$}%
-% \put(168,-57){$\wr$}%
-% \else\if\@tmpc S%alpha single bond at 4a (fused position)
-% \putlratom{140}{-127}{\@memberb}% % left or right type
-% \put(171,103){\line(0,-1){140}}% % single bond at 4a
-% \else\ifx\@tmpc\empty%alpha single bond at 4a (fused position)
-% \putlratom{140}{-127}{\@memberb}% % left or right type
-% \put(171,103){\line(0,-1){140}}% % single bond at 4a
-% \fi\fi\fi\fi\fi%
-% \fi\fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%
-% \or% subst. on 1
-% % %%%%%%%%%%%%%%%%
-% \if\@tmpb S%single bond
-% \ifx\@tmpc\empty%
-% \put(342,406){\line(0,1){140}}% % single bond at 1
-% \putlratom{311}{563}{\@memberb}% % left or right type
-% \else\if\@tmpc B%(B) beta
-% \putlatom{300}{563}{\@memberb}% % left type
-% {%
-% \thicklines%
-% \put(342,406){\line(-3,5){72}}% % single bond at 1
-% }%
-% \else\if\@tmpc A%(A) alpha
-% \putratom{383}{563}{\@memberb}% % right type
-% \@ifundefined{dottedline}{%
-% \put(342,406){\line(3,5){72}}% % single bond at 1
-% }{{\thicklines%
-% \dottedline{20}(342,406)(414,526)}}%
-% \else\if\@tmpc b%(b) beta
-% \putlatom{300}{563}{\@memberb}% % left type
-% \put(342,406){\line(-3,5){72}}% % single bond at 1
-% \else\if\@tmpc a%(a) alpha
-% \putratom{383}{563}{\@memberb}% % right type
-% \put(342,406){\line(3,5){72}}% % single bond at 1
-% \fi\fi\fi\fi\fi
-% \else\if\@tmpb D%double bond
-% \putlratom{311}{563}{\@memberb}% % left or right type
-% \put(330,406){\line(0,1){140}}% % double bond at 1
-% \put(354,406){\line(0,1){140}}% % double bond at 1
-% \else\if\@tmpb B%beta single bond
-% \putlratom{311}{563}{\@memberb}% % left or right type
-% {%
-% \thicklines%
-% \put(342,406){\line(0,1){140}}% % single bond at 1
-% }%
-% \else\if\@tmpb A%alpha single bond
-% \putlratom{311}{563}{\@memberb}% % left or right type
-% \@ifundefined{dottedline}{%
-% \put(342,406){\line(0,1){140}}% %single bond at 1
-% }{{\thicklines%
-% \dottedline{20}(342,406)(342,546)}}%
-% \else%
-% \putlratom{311}{563}{\@memberb}% % left or right type
-% \put(342,406){\line(0,1){140}}% % single bond at 1
-% \fi\fi\fi\fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%
-% \or% subst. on 2
-% % %%%%%%%%%%%%%%%
-% \if\@tmpb S%single bond
-% \ifx\@tmpc\empty%
-% \putratom{643}{363}{\@memberb}% % right type
-% \put(513,303){\line(5,3){120}}% % single bond at 2
-% \else\if\@tmpc B%(B) beta
-% \putratom{600}{410}{\@memberb}% % right type
-% {%
-% \thicklines%
-% \put(513,303){\line(3,5){72}}% % single bond at 2
-% }%
-% \else\if\@tmpc A%(A) alpha
-% \putratom{660}{280}{\@memberb}% % right type
-% \@ifundefined{dottedline}{%
-% \put(513,303){\line(1,0){140}}% % single bond at 2
-% }{{\thicklines%
-% \dottedline{20}(513,303)(653,303)}}%
-% \else\if\@tmpc b%(b) beta
-% \putratom{600}{410}{\@memberb}% % right type
-% \put(513,303){\line(3,5){72}}% % single bond at 2
-% \else\if\@tmpc a%(a) alpha
-% \putratom{660}{280}{\@memberb}% % right type
-% \put(513,303){\line(1,0){140}}% % single bond at 2
-% \fi\fi\fi\fi\fi%
-% \else\if\@tmpb D%double bond
-% \putratom{643}{363}{\@memberb}% % right type
-% \put(510,310){\line(5,3){120}}% % double bond at 2
-% \put(516,284){\line(5,3){120}}% % double bond at 2
-% \else\if\@tmpb B%beta single bond
-% \putratom{643}{363}{\@memberb}% % right type
-% {%
-% \thicklines%
-% \put(513,303){\line(5,3){120}}% % single bond at 2
-% }%
-% \else\if\@tmpb A%alpha single bond
-% \putratom{643}{363}{\@memberb}% % right type
-% \@ifundefined{dottedline}{%
-% \put(513,303){\line(5,3){120}}% % single bond at 2
-% }{{\thicklines%
-% \dottedline{20}(513,303)(633,375)}}%
-% \else%
-% \putratom{643}{363}{\@memberb}% % right type
-% \put(513,303){\line(5,3){120}}% % single bond at 2
-% \fi\fi\fi\fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%
-% \or% subst. on 3
-% % %%%%%%%%%%%%%%%
-% \if\@tmpb S%single bond
-% \ifx\@tmpc\empty%
-% \putratom{643}{-27}{\@memberb}% % right type
-% \put(513,103){\line(5,-3){120}}% % single bond at 3
-% \else\if\@tmpc B%(B) beta
-% \putratom{600}{-70}{\@memberb}% % right type
-% {%
-% \thicklines%
-% \put(513,103){\line(3,-5){72}}% % single bond at 3
-% }%
-% \else\if\@tmpc A%(A) alpha
-% \putratom{660}{74}{\@memberb}% % right type
-% \@ifundefined{dottedline}{%
-% \put(513,103){\line(1,0){140}}% % single bond at 3
-% }{{\thicklines%
-% \dottedline{20}(513,103)(653,103)}}%
-% \else\if\@tmpc b%(b) beta
-% \putratom{600}{-70}{\@memberb}% % right type
-% \put(513,103){\line(3,-5){72}}% % single bond at 3
-% \else\if\@tmpc a%(a) alpha
-% \putratom{660}{74}{\@memberb}% % right type
-% \put(513,103){\line(1,0){140}}% % single bond at 3
-% \fi\fi\fi\fi\fi%
-% \else\if\@tmpb D%double bond
-% \putratom{643}{-27}{\@memberb}% % right type
-% \put(510,96){\line(5,-3){120}}% % double bond at 3
-% \put(516,121){\line(5,-3){120}}% % double bond at 3
-% \else\if\@tmpb B%beta single bond
-% \putratom{643}{-27}{\@memberb}% % right type
-% {%
-% \thicklines%
-% \put(513,103){\line(5,-3){120}}% % single bond at 3
-% }%
-% \else\if\@tmpb A%alpha single bond
-% \putratom{643}{-27}{\@memberb}% % right type
-% \@ifundefined{dottedline}{%
-% \put(513,103){\line(5,-3){120}}% % single bond at 3
-% }{{\thicklines%
-% \dottedline{20}(513,103)(633,31)}}%
-% \else%
-% \putratom{643}{-27}{\@memberb}% % right type
-% \put(513,103){\line(5,-3){120}}% % single bond at 3
-% \fi\fi\fi\fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%
-% \or% subst. on 4
-% % %%%%%%%%%%%%%%%
-% \if\@tmpb S%single bond
-% \ifx\@tmpc\empty%
-% \putlratom{311}{-230}{\@memberb}% % left or right type
-% \put(342,0){\line(0,-1){140}}% % single bond at 4
-% \else\if\@tmpc B%(B) beta
-% \putlatom{300}{-230}{\@memberb}% % left type
-% {%
-% \thicklines%
-% \put(342,0){\line(-3,-5){72}}% % single bond at 4
-% }%
-% \else\if\@tmpc A%(A) alpha
-% \putratom{383}{-230}{\@memberb}% % right type
-% \@ifundefined{dottedline}{%
-% \put(342,0){\line(3,-5){72}}% % single bond at 4
-% }{{\thicklines%
-% \dottedline{20}(342,0)(414,-120)}}%
-% \else\if\@tmpc b%(b) beta
-% \putlatom{300}{-230}{\@memberb}% % left type
-% \put(342,0){\line(-3,-5){72}}% % single bond at 4
-% \else\if\@tmpc a%(a) alpha
-% \putratom{383}{-230}{\@memberb}% % right type
-% \put(342,0){\line(3,-5){72}}% % single bond at 4
-% \fi\fi\fi\fi\fi%
-% \else\if\@tmpb D%double bond
-% \putlratom{311}{-230}{\@memberb}% % left or right type
-% \put(330,0){\line(0,-1){140}}% % double bond at 4
-% \put(354,0){\line(0,-1){140}}% % double bond at 4
-% \else\if\@tmpb B%beta single bond
-% \putlratom{311}{-230}{\@memberb}% % left or right type
-% {%
-% \thicklines%
-% \put(342,0){\line(0,-1){140}}% % single bond at 4
-% }%
-% \else\if\@tmpb A%alpha single bond
-% \putlratom{311}{-230}{\@memberb}% % left or right type
-% \@ifundefined{dottedline}{%
-% \put(342,0){\line(0,-1){140}}% % single bond at 4
-% }{{\thicklines%
-% \dottedline{20}(342,0)(342,-140)}}%
-% \else%
-% \putlratom{311}{-230}{\@memberb}% % left or right type
-% \put(342,0){\line(0,-1){140}}% % single bond at 4
-% \fi\fi\fi\fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%
-% \or% subst. on 5
-% % %%%%%%%%%%%%%%%
-% \if\@tmpb S%single bond
-% \ifx\@tmpc\empty%
-% \putlratom{-31}{-230}{\@memberb}% % left or right type
-% \put(0,0){\line(0,-1){140}}% % single bond at 5
-% \else\if\@tmpc B%(B) beta
-% \putlatom{-42}{-230}{\@memberb}% % left type
-% {%
-% \thicklines%
-% \put(0,0){\line(-3,-5){72}}% % single bond at 5
-% }%
-% \else\if\@tmpc A%(A) alpha
-% \putratom{41}{-230}{\@memberb}% % right type
-% \@ifundefined{dottedline}{%
-% \put(0,0){\line(3,-5){72}}% % single bond at 5
-% }{{\thicklines%
-% \dottedline{20}(0,0)(72,-120)}}%
-% \else\if\@tmpc b%(b) beta
-% \putlatom{-42}{-230}{\@memberb}% % left type
-% \put(0,0){\line(-3,-5){72}}% % single bond at 5
-% \else\if\@tmpc a%(a) alpha
-% \putratom{41}{-230}{\@memberb}% % right type
-% \put(0,0){\line(3,-5){72}}% % single bond at 5
-% \fi\fi\fi\fi\fi
-% \else\if\@tmpb D%double bond
-% \putlratom{-31}{-230}{\@memberb}% % left or right type
-% \put(-12,0){\line(0,-1){140}}% % double bond at 5
-% \put(12,0){\line(0,-1){140}}% % double bond at 5
-% \else\if\@tmpb B%beta single bond
-% \putlratom{-31}{-230}{\@memberb}% % left or right type
-% {%
-% \thicklines%
-% \put(0,0){\line(0,-1){140}}% % single bond at 5
-% }%
-% \else\if\@tmpb A%alpha single bond
-% \putlratom{-31}{-230}{\@memberb}% % left or right type
-% \@ifundefined{dottedline}{%
-% \put(0,0){\line(0,-1){140}}% % single bond at 5
-% }{{\thicklines%
-% \dottedline{20}(0,0)(0,-140)}}%
-% \else%
-% \putlratom{-31}{-230}{\@memberb}% % left or right type
-% \put(0,0){\line(0,-1){140}}% % single bond at 5
-% \fi\fi\fi\fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%
-% \or% subst. on 6
-% % %%%%%%%%%%%%%%%
-% \if\@tmpb S%single bond
-% \ifx\@tmpc\empty%
-% \putlatom{-301}{-27}{\@memberb}% % left type
-% \put(-171,103){\line(-5,-3){120}}% % single bond at 6
-% \else\if\@tmpc B%(B) beta
-% \putlatom{-258}{-70}{\@memberb}% % left type
-% {%
-% \thicklines%
-% \put(-171,103){\line(-3,-5){72}}% % single bond at 6
-% }%
-% \else\if\@tmpc A%(A) alpha
-% \putlatom{-326}{74}{\@memberb}% % left type
-% \@ifundefined{dottedline}{%
-% \put(-171,103){\line(-1,0){140}}% % single bond at 6
-% }{{\thicklines%
-% \dottedline{20}(-171,103)(-311,103)}}%
-% \else\if\@tmpc b%(b) beta
-% \putlatom{-258}{-70}{\@memberb}% % left type
-% \put(-171,103){\line(-3,-5){72}}% % single bond at 6
-% \else\if\@tmpc a%(a) alpha
-% \putlatom{-326}{74}{\@memberb}% % left type
-% \put(-171,103){\line(-1,0){140}}% % single bond at 6
-% \fi\fi\fi\fi\fi
-% \else\if\@tmpb D%double bond
-% \putlatom{-301}{-27}{\@memberb}% % left type
-% \put(-168,96){\line(-5,-3){120}}% % double bond at 6
-% \put(-174,121){\line(-5,-3){120}}% % double bond at 6
-% \else\if\@tmpb B%beta single bond
-% \putlatom{-301}{-27}{\@memberb}% % left type
-% {%
-% \thicklines%
-% \put(-171,103){\line(-5,-3){120}}% % single bond at 6
-% }%
-% \else\if\@tmpb A%alpha single bond
-% \putlatom{-301}{-27}{\@memberb}% % left type
-% \@ifundefined{dottedline}{%
-% \put(-171,103){\line(-5,-3){120}}% % single bond at 6
-% }{{\thicklines%
-% \dottedline{20}(-171,103)(-311,31)}}%
-% \else%
-% \putlatom{-301}{-27}{\@memberb}% % left type
-% \put(-171,103){\line(-5,-3){120}}% single bond at 6
-% \fi\fi\fi\fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%
-% \or% subst. on 7
-% % %%%%%%%%%%%%%%%
-% \if\@tmpb S%single bond
-% \ifx\@tmpc\empty%
-% \putlatom{-301}{363}{\@memberb}% % left type
-% \put(-171,303){\line(-5,3){120}}% % single bond at 7
-% \else\if\@tmpc B%(B) beta
-% \putlatom{-258}{410}{\@memberb}% % left type
-% {%
-% \thicklines%
-% \put(-171,303){\line(-3,5){72}}% % single bond at 7
-% }%
-% \else\if\@tmpc A%(A) alpha
-% \putlatom{-326}{280}{\@memberb}% % left type
-% \@ifundefined{dottedline}{%
-% \put(-171,303){\line(-1,0){140}}% % single bond at 7
-% }{{\thicklines%
-% \dottedline{20}(-171,303)(-311,303)}}%
-% \else\if\@tmpc b%(b) beta
-% \putlatom{-258}{410}{\@memberb}% % left type
-% \put(-171,303){\line(-3,5){72}}% % single bond at 7
-% \else\if\@tmpc a%(a) alpha
-% \putlatom{-326}{280}{\@memberb}% % left type
-% \put(-171,303){\line(-1,0){140}}% % single bond at 7
-% \fi\fi\fi\fi\fi
-% \else\if\@tmpb D%double bond
-% \putlatom{-301}{363}{\@memberb}% % left type
-% \put(-168,310){\line(-5,3){120}}% % double bond at 7
-% \put(-174,284){\line(-5,3){120}}% % double bond at 7
-% \else\if\@tmpb B%beta single bond
-% \putlatom{-301}{363}{\@memberb}% % left type
-% {%
-% \thicklines%
-% \put(-171,303){\line(-5,3){120}}% % single bond at 7
-% }%
-% \else\if\@tmpb A%alpha single bond
-% \putlatom{-301}{363}{\@memberb}% % left type
-% \@ifundefined{dottedline}{%
-% \put(-171,303){\line(-5,3){120}}% % single bond at 7
-% }{{\thicklines%
-% \dottedline{20}(-171,303)(-311,375)}}%
-% \else%
-% \putlatom{-301}{363}{\@memberb}% % left type
-% \put(-171,303){\line(-5,3){120}}% % single bond at 7
-% \fi\fi\fi\fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%
-% \or% subst. on 8
-% % %%%%%%%%%%%%%%%
-% \if\@tmpb S%single bond
-% \ifx\@tmpc\empty%
-% \put(0,406){\line(0,1){140}}% % single bond at 8
-% \putlratom{-31}{563}{\@memberb}% % left or right type
-% \else\if\@tmpc B%(B) beta
-% \putlatom{-42}{563}{\@memberb}% % left type
-% {%
-% \thicklines%
-% \put(0,406){\line(-3,5){72}}% % single bond at 8
-% }%
-% \else\if\@tmpc A%(A) alpha
-% \putratom{41}{563}{\@memberb}% % right type
-% \@ifundefined{dottedline}{%
-% \put(0,406){\line(3,5){72}}% % single bond at 8
-% }{{\thicklines%
-% \dottedline{20}(0,406)(72,526)}}%
-% \else\if\@tmpc b%(b) beta
-% \putlatom{-42}{563}{\@memberb}% % left type
-% \put(0,406){\line(-3,5){72}}% % single bond at 8
-% \else\if\@tmpc a%(a) alpha
-% \putratom{41}{563}{\@memberb}% % right type
-% \put(0,406){\line(3,5){72}}% % single bond at 8
-% \fi\fi\fi\fi\fi%
-% \else\if\@tmpb D%double bond
-% \putlratom{-31}{563}{\@memberb}% % left or right type
-% \put(-12,406){\line(0,1){140}}% % double bond at 8
-% \put(12,406){\line(0,1){140}}% % double bond at 8
-% \else\if\@tmpb B%beta single bond
-% \putlratom{-31}{563}{\@memberb}% % left or right type
-% {%
-% \thicklines%
-% \put(0,406){\line(0,1){140}}% % single bond at 8
-% }%
-% \else\if\@tmpb A%alpha single bond
-% \putlratom{-31}{563}{\@memberb}% % left or right type
-% \@ifundefined{dottedline}{%
-% \put(0,406){\line(0,1){140}}% % single bond at 8
-% }{{\thicklines%
-% \dottedline{20}(0,406)(0,546)}}%
-% \else%
-% \putlratom{-31}{563}{\@memberb}% % left or right type
-% \put(0,406){\line(0,1){140}}% % single bond at 8
-% \fi\fi\fi\fi%
-% \fi %end of ifcase
-% \fi\fi}}%
-% % \end{macrocode}
-% % \end{macro}
-% \end{verbatim}
-%
-% \subsection{Setting-up substituents and bonds at fused positions}
-%
-% The command |\ylfusedposition| is to obtain the shift values
-% |\@ylii| and |\@yli| which are used for shifting the standard
-% point of a substituent.
-% The locant flags such as |\@ylatrue| have been stopped to use.
-% \changes{v1.02}{1998/10/11}{Delete \cs{@ylatrue} etc.}
-% \changes{v1.02}{1998/10/13}{Adding \cs{@fused@link} condition}
-% \changes{v1.02}{1998/10/31}{Commands for setting substituents}
-%
-% \begin{macro}{\ylfusedposition}
-% \begin{macrocode}
-\def\ylfusedposition#1#2#3#4#5{%
-\@@ylswfalse%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifnum#5<0\relax%
-\@tmpaa=-\@tmpa\relax\advance\@tmpaa by #2\relax%
-\@fused@linktrue
-\else\@tmpaa=\@tmpa\relax\advance\@tmpaa by #2\relax
-\@fused@linkfalse\fi%
-\ifnum\@tmpaa >#3\relax%
-\ifnum\@tmpaa <#4\relax%
-\ifcase\@tmpaa%
-% %%%%%%%%%%%%%%%%%%
-% 0 fused positions % F == (171,303) G == (171,103)
-% %%%%%%%%%%%%%%%%%%
- \if\@tmpb F%single bond at F (fused position)
- \def\@ylii{-171}\def\@yli{-303}\@ylswtrue%\@ylatrue% subst. on 0
- \else\if\@tmpb G%single bond at G (fused position)
- \def\@ylii{-171}\def\@yli{-103}\@ylswtrue%\@ylatrue% subst. on 0
- \fi\fi%
-% %%%%%%%%%%%%%%%%
-\or% subst. on 1 F == (0,406), G == (171,303) for \@fused@linkfalse
- % subst. on 1 G == (0,406), F == (171,303) for \@fused@linktrue
-% %%%%%%%%%%%%%%%%
-\if@fused@link
- \if\@tmpb G%single bond at F (5,-3) fusion
- \def\@ylii{0}\def\@yli{-406}\@ylswtrue%\@ylatrue% subst. on 1
- \else\if\@tmpb F%single bond at G
- \def\@ylii{-171}\def\@yli{-303}\@ylswtrue%\@ylatrue% subst. on 1
- \fi\fi%
-\else
- \if\@tmpb F%single bond at F (5,-3) fusion
- \def\@ylii{0}\def\@yli{-406}\@ylswtrue%\@ylatrue% subst. on 1
- \else\if\@tmpb G%single bond at G
- \def\@ylii{-171}\def\@yli{-303}\@ylswtrue%\@ylatrue% subst. on 1
- \fi\fi%
-\fi
-% %%%%%%%%%%%%%%%%
-\or% subst. on 2 F == (0,406), G == (-171,303) for \@fused@linkfalse
- % subst. on 2 G == (0,406), F == (-171,303) for \@fused@linktrue
-% %%%%%%%%%%%%%%%%
-\if@fused@link
- \if\@tmpb G%single bond at (-5,-3) fusion
- \def\@ylii{0}\def\@yli{-406}\@ylswtrue%\@ylatrue% subst. on 2
- \else\if\@tmpb F%single bond at G
- \def\@ylii{171}\def\@yli{-303}\@ylswtrue%\@ylatrue% subst. on 2
- \fi\fi%
-\else
- \if\@tmpb F%single bond at (-5,-3) fusion
- \def\@ylii{0}\def\@yli{-406}\@ylswtrue%\@ylatrue% subst. on 2
- \else\if\@tmpb G%single bond at G
- \def\@ylii{171}\def\@yli{-303}\@ylswtrue%\@ylatrue% subst. on 2
- \fi\fi%
-\fi
-% %%%%%%%%%%%%%%%%%%
-\or %3 fused positions % G == (303,171) F == (103,171)
-% %%%%%%%%%%%%%%%%%%
- \if\@tmpb G%single bond at G (fused position)
- \def\@ylii{-303}\def\@yli{-171}\@ylswtrue%\@ylatrue% subst. on 3
- \else\if\@tmpb F%single bond at F (fused position)
- \def\@ylii{-103}\def\@yli{-171}\@ylswtrue%\@ylatrue% subst. on 3
- \fi\fi%
-\fi%end of ifcase
-\fi\fi\fi\fi\fi}}% end of \ylfusedposition
-% \end{macrocode}
-% \end{macro}
-%
-% The bond-setting commands |\GFbonda|, |\GFbondb|, |\GFbondc| and
-% |\GFbondd|, which are separated from the old |\setfusedbond| command,
-% are used to place a bond and a substituent at a fulsed position of
-% such a compound as a decaline.
-%
-% \changes{v1.02}{1998/10/12}{Separate \cs{GFbonda} etc.}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\GFbonda}
-% \begin{macro}{\GFbonda@a}
-% \begin{macro}{\GFbonda@b}
-% \begin{macrocode}
-\def\GFbonda{%
-% %%%%%%%%%%%%%%%%%%
-% 0 fused positions % F == (171,303) G == (171,103)
-% %%%%%%%%%%%%%%%%%%
- \if\@tmpb F%single bond at F (fused position)
- \GFbonda@a
- \else\if\@tmpb G%single bond at G (fused position)
- \GFbonda@b
- \fi\fi%
-}%end of GFbonda
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\GFbonda@a{%
- \if\@tmpc B%beta single bond
- \yl@xdiff=31\relax%171-140
- \yl@ydiff=-17\relax%460-(303+140)
- \putlratom{140}{460}{\@memberb}% % left or right type
- {%
- \thicklines%
- \put(171,303){\line(0,1){140}}% % single bond at F
- }%
- \else\if\@tmpc A%alpha single bond
- \yl@xdiff=31\relax%171-140
- \yl@ydiff=-17\relax%460-(303+140)
- \putlratom{140}{460}{\@memberb}% % left or right type
- \@ifundefined{dottedline}{%
- \put(171,303){\line(0,1){140}}% % single bond at F
- }{{\thicklines%
- \dottedline{20}(171,303)(171,443)}}%
- \else\if\@tmpc U% unspecified single bond
- \yl@xdiff=31\relax%171-140
- \yl@ydiff=-17\relax%460-(303+140)
- \putlratom{140}{460}{\@memberb}% % left or right type
- \put(168,303){$\wr$}% unspecified single bond at F
- \put(168,353){$\wr$}%
- \put(168,403){$\wr$}%
- \else\if\@tmpc S%beta single bond
- \yl@xdiff=31\relax%171-140
- \yl@ydiff=-17\relax%460-(303+140)
- \putlratom{140}{460}{\@memberb}% % left or right type
- \put(171,303){\line(0,1){140}}% % single bond at F
- \else\ifx\@tmpc\empty%beta single bond
- \yl@xdiff=31\relax%171-140
- \yl@ydiff=-17\relax%460-(303+140)
- \putlratom{140}{460}{\@memberb}% % left or right type
- \put(171,303){\line(0,1){140}}% % single bond at F
- \fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\GFbonda@b{%
- \if\@tmpc B%beta single bond
- \yl@xdiff=31\relax%171-140
- \yl@ydiff=90\relax%127-(140-103)
- \putlratom{140}{-127}{\@memberb}% % left or right type
- {%
- \thicklines%
- \put(171,103){\line(0,-1){140}}% % single bond at G
- }%
- \else\if\@tmpc A%alpha single bond
- \yl@xdiff=31\relax%171-140
- \yl@ydiff=90\relax%127-(140-103)
- \putlratom{140}{-127}{\@memberb}% % left or right type
- \@ifundefined{dottedline}{%
- \put(171,103){\line(0,-1){140}}% % single bond at G
- }{{\thicklines%
- \dottedline{20}(171,103)(171,-37)}}%
- \else\if\@tmpc U%beta single bond
- \yl@xdiff=31\relax%171-140
- \yl@ydiff=90\relax%127-(140-103)
- \putlratom{140}{-127}{\@memberb}% % left or right type
- \put(168,43){$\wr$}% unspecified single bond at G
- \put(168,-8){$\wr$}%
- \put(168,-57){$\wr$}%
- \else\if\@tmpc S%alpha single bond
- \yl@xdiff=31\relax%171-140
- \yl@ydiff=90\relax%127-(140-103)
- \putlratom{140}{-127}{\@memberb}% % left or right type
- \put(171,103){\line(0,-1){140}}% % single bond at G
- \else\ifx\@tmpc\empty%alpha single bond
- \yl@xdiff=31\relax%171-140
- \yl@ydiff=90\relax%127-(140-103)
- \putlratom{140}{-127}{\@memberb}% % left or right type
- \put(171,103){\line(0,-1){140}}% % single bond at G
- \fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\GFbondb}
-% \begin{macro}{\GFbondb@a}
-% \begin{macro}{\GFbondb@b}
-% \begin{macrocode}
-\def\GFbondb{%
-% %%%%%%%%%%%%%%%%
-% subst. on 1 F == (0,406), G == (171,303) for \@fused@linkfalse
-% subst. on 1 G == (0,406), F == (171,303) for \@fused@linktrue
-% %%%%%%%%%%%%%%%%
- \if@fused@link
- \if\@tmpb G%single bond at G (5,-3) fusion
- \GFbondb@a
- \else\if\@tmpb F%single bond at F
- \GFbondb@b
- \fi\fi%
- \else
- \if\@tmpb F%single bond at F (5,-3) fusion
- \GFbondb@a
- \else\if\@tmpb G%single bond at G
- \GFbondb@b
- \fi\fi%
- \fi
-}% end of \GFbondb
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\GFbondb@a{%
- \if\@tmpc B%beta single bond
- \yl@xdiff=10\relax%
- \yl@ydiff=22\relax%
- \putlatom{-130}{466}{\@memberb}% % left type
- {%
- \thicklines%
- \put(0,406){\line(-5,3){120}}% % single bond at F
- }%
- \else\if\@tmpc A%alpha single bond
- \yl@xdiff=10\relax%
- \yl@ydiff=22\relax%
- \putlatom{-130}{466}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(0,406){\line(-5,3){120}}% % single bond at F
- }{{\thicklines%
-% \dottedline{20}(0,406)(-140,478)}}%
- \dottedline{20}(0,406)(-120,478)}}%
- \else\if\@tmpc U%unspecified single bond
- \yl@xdiff=10\relax%
- \yl@ydiff=22\relax%
- \putlatom{-130}{466}{\@memberb}% % left type
- \put(0,406){\line(-5,3){120}}% % single bond at F
- \else\if\@tmpc S%beta single bond
- \yl@xdiff=10\relax%
- \yl@ydiff=22\relax%
- \putlatom{-130}{466}{\@memberb}% % left type
- \put(0,406){\line(-5,3){120}}% % single bond at F
- \else\ifx\@tmpc\empty%beta single bond
- \yl@xdiff=10\relax%
- \yl@ydiff=22\relax%
- \putlatom{-130}{466}{\@memberb}% % left type
- \put(0,406){\line(-5,3){120}}% % single bond at F
- \else\if\@tmpc D%beta single bond (downward)
- \yl@xdiff=31\relax%
- \yl@ydiff=90\relax%
- \putlratom{-31}{176}{\@memberb}% % left or right type
- {%
- \thicklines%
- \put(0,406){\line(0,-1){140}}% % single bond at F
- }%
- \else\if\@tmpc C%alpha single bond (downward)
- \yl@xdiff=31\relax%
- \yl@ydiff=90\relax%
- \putlratom{-31}{176}{\@memberb}% % left or right type
- \@ifundefined{dottedline}{%
- \put(0,406){\line(0,-1){140}}% % single bond at F
- }{{\thicklines%
- \dottedline{20}(0,406)(0,266)}}%
- \fi\fi\fi\fi\fi\fi\fi%
-}% end of \GFbondb@a
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\GFbondb@b{%
- \if\@tmpc B%beta single bond
- \yl@xdiff=-10\relax%
- \yl@ydiff=58\relax%
- \putratom{301}{173}{\@memberb}% % right type
- {%
- \thicklines%
- \put(171,303){\line(5,-3){120}}% % single bond at G
- }%
- \else\if\@tmpc A%alpha single bond
- \yl@xdiff=-10\relax%
- \yl@ydiff=58\relax%
- \putratom{301}{173}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(171,303){\line(5,-3){120}}% % single bond at G
- }{{\thicklines%
- \dottedline{20}(171,303)(291,231)}}%
- \else\if\@tmpc U%unspecified single bond
- \yl@xdiff=-10\relax%
- \yl@ydiff=58\relax%
- \putratom{301}{173}{\@memberb}% % right type
- \put(171,303){\line(5,-3){120}}% % single bond at G
- \else\if\@tmpc S%alpha single bond
- \yl@xdiff=-10\relax%
- \yl@ydiff=58\relax%
- \putratom{301}{173}{\@memberb}% % right type
- \put(171,303){\line(5,-3){120}}% % single bond at G
- \else\ifx\@tmpc\empty%alpha single bond
- \yl@xdiff=-10\relax%
- \yl@ydiff=58\relax%
- \putratom{301}{173}{\@memberb}% % right type
- \put(171,303){\line(5,-3){120}}% % single bond at G
- \else\if\@tmpc D%beta single bond (upward)
- \yl@xdiff=31\relax%
- \yl@ydiff=-17\relax%
- \putlratom{140}{460}{\@memberb}% % left or right type
- {%
- \thicklines%
- \put(171,303){\line(0,1){140}}% % single bond at G
- }%
- \else\if\@tmpc C%alpha single bond (upward)
- \yl@xdiff=31\relax%
- \yl@ydiff=-17\relax%
- \putlratom{140}{460}{\@memberb}% % left or right type
- \@ifundefined{dottedline}{%
- \put(171,303){\line(0,1){140}}% % single bond at G
- }{{\thicklines%
- \dottedline{20}(171,303)(171,443)}}%
- \fi\fi\fi\fi\fi\fi\fi%
-}% end of \GFbondb@b
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\GFbondc}
-% \begin{macro}{\GFbondc@a}
-% \begin{macro}{\GFbondc@b}
-% \begin{macrocode}
-\def\GFbondc{%
-% %%%%%%%%%%%%%%%%
-% subst. on 2 F == (0,406), G == (-171,303) for \@fused@linkfalse
-% subst. on 2 G == (0,406), F == (-171,303) for \@fused@linktrue
-% %%%%%%%%%%%%%%%%
-\if@fused@link
- \if\@tmpb G%single bond at (-5,-3) fusion
- \GFbondc@a
- \else\if\@tmpb F%single bond at F
- \GFbondc@b
- \fi\fi%
-\else
- \if\@tmpb F%single bond at (-5,-3) fusion
- \GFbondc@a
- \else\if\@tmpb G%single bond at G
- \GFbondc@b
- \fi\fi%
-\fi
-}% end of \GFbondc
-% \end{macrocode}
-%
-% \begin{macrocode}
- \def\GFbondc@a{%
- \if\@tmpc B%beta single bond
- \yl@xdiff=-10\relax%
- \yl@ydiff=12\relax%
- \putratom{130}{466}{\@memberb}% % right type
- {%
- \thicklines%
- \put(0,406){\line(5,3){120}}% % single bond at F
- }%
- \else\if\@tmpc A%alpha single bond
- \yl@xdiff=-10\relax%
- \yl@ydiff=12\relax%
- \putratom{130}{466}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(0,406){\line(5,3){120}}% % single bond at F
- }{{\thicklines%
- \dottedline{20}(0,406)(120,478)}}%
- \else\if\@tmpc U%unspecified single bond
- \yl@xdiff=-10\relax%
- \yl@ydiff=12\relax%
- \putratom{130}{466}{\@memberb}% % right type
- \put(0,406){\line(5,3){120}}% % single bond at F
- \else\if\@tmpc S%beta single bond
- \yl@xdiff=-10\relax%
- \yl@ydiff=12\relax%
- \putratom{130}{466}{\@memberb}% % right type
- \put(0,406){\line(5,3){120}}% % single bond at F
- \else\ifx\@tmpc\empty%beta single bond
- \yl@xdiff=-10\relax%
- \yl@ydiff=12\relax%
- \putratom{130}{466}{\@memberb}% % right type
- \put(0,406){\line(5,3){120}}% % single bond at F
- \else\if\@tmpc D%beta single bond (downward)
- \yl@xdiff=31\relax%
- \yl@ydiff=90\relax%
- \putlratom{-31}{176}{\@memberb}% % left or right type
- {%
- \thicklines%
- \put(0,406){\line(0,-1){140}}% % single bond at F
- }%
- \else\if\@tmpc C%alpha single bond (downward)
- \yl@xdiff=31\relax%
- \yl@ydiff=90\relax%
- \putlratom{-31}{176}{\@memberb}% % left or right type
- \@ifundefined{dottedline}{%
- \put(0,406){\line(0,-1){140}}% % single bond at F
- }{{\thicklines%
- \dottedline{20}(0,406)(0,266)}}%
- \fi\fi\fi\fi\fi\fi\fi%
-}% end of \GFbondc@a
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\GFbondc@b{%
- \if\@tmpc B%beta single bond
- \yl@xdiff=10\relax%
- \yl@ydiff=59\relax%
- \putlatom{-301}{173}{\@memberb}% % left type
- {%
- \thicklines%
- \put(-171,303){\line(-5,-3){120}}% % single bond at G
- }%
- \else\if\@tmpc A%alpha single bond
- \yl@xdiff=10\relax%
- \yl@ydiff=59\relax%
- \putlatom{-301}{173}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(-171,303){\line(-5,-3){120}}% % single bond at G
- }{{\thicklines%
-% \dottedline{20}(-171,303)(-311,231)}}%
- \dottedline{20}(-171,303)(-291,231)}}%
- \else\if\@tmpc U%unspecified single bond
- \yl@xdiff=10\relax%
- \yl@ydiff=59\relax%
- \putlatom{-301}{173}{\@memberb}% % left type
- \put(-171,303){\line(-5,-3){120}}% single bond at G
- \else\if\@tmpc S%alpha single bond
- \yl@xdiff=10\relax%
- \yl@ydiff=59\relax%
- \putlatom{-301}{173}{\@memberb}% % left type
- \put(-171,303){\line(-5,-3){120}}% single bond at G
- \else\ifx\@tmpc\empty%alpha single bond
- \yl@xdiff=10\relax%
- \yl@ydiff=59\relax%
- \putlatom{-301}{173}{\@memberb}% % left type
- \put(-171,303){\line(-5,-3){120}}% single bond at G
- \else\if\@tmpc D%beta single bond (upward)
- \yl@xdiff=-30\relax%
- \yl@ydiff=-17\relax%
- \putlratom{201}{460}{\@memberb}% % left or right type
- {%
- \thicklines%
- \put(-171,303){\line(0,1){140}}% % single bond at G
- }%
- \else\if\@tmpc C%alpha single bond (upward)
- \yl@xdiff=-30\relax%
- \yl@ydiff=-17\relax%
- \putlratom{201}{460}{\@memberb}% % left or right type
- \@ifundefined{dottedline}{%
- \put(-171,303){\line(0,1){140}}% % single bond at G
- }{{\thicklines%
- \dottedline{20}(-171,303)(-171,443)}}%
- \fi\fi\fi\fi\fi\fi\fi%
-}% end of \GFbondc@b
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\GFbondd}
-% \begin{macrocode}
-\def\GFbondd{%
-% %%%%%%%%%%%%%%%%%%
-% 3 fused positions % G == (303,171) F == (103,171)
-% %%%%%%%%%%%%%%%%%%
- \if\@tmpb G%single bond at G (fused position)
- \if\@tmpc B%beta single bond
- \yl@xdiff=-17\relax%
- \yl@ydiff=31\relax%
- \putlratom{460}{140}{\@memberb}% % left or right type
- {%
- \thicklines%
- \put(303,171){\line(1,0){140}}% % single bond at G
- }%
- \else\if\@tmpc A%alpha single bond
- \yl@xdiff=-17\relax%
- \yl@ydiff=31\relax%
- \putlratom{460}{140}{\@memberb}% % left or right type
- \@ifundefined{dottedline}{%
- \put(303,171){\line(1,0){140}}% % single bond at G
- }{{\thicklines%
- \dottedline{20}(303,171)(443,171)}}%
- \else\if\@tmpc U% unspecified single bond
- \yl@xdiff=-17\relax%
- \yl@ydiff=31\relax%
- \putlratom{460}{140}{\@memberb}% % left or right type
- \put(303,148){$\sim$}% unspecified single bond at G
- \put(353,148){$\sim$}%
- \put(403,148){$\sim$}%
- \else\if\@tmpc S%beta single bond
- \yl@xdiff=-17\relax%
- \yl@ydiff=31\relax%
- \putlratom{460}{140}{\@memberb}% % left or right type
- \put(303,171){\line(1,0){140}}% % single bond at G
- \else\ifx\@tmpc\empty%beta single bond
- \yl@xdiff=-17\relax%
- \yl@ydiff=31\relax%
- \putlratom{460}{140}{\@memberb}% % left or right type
- \put(303,171){\line(1,0){140}}% % single bond at G
- \fi\fi\fi\fi\fi%
- \else\if\@tmpb F%single bond at F (fused position)
- \if\@tmpc B%beta single bond
- \yl@xdiff=20\relax%
- \yl@ydiff=31\relax%
-% \putlratom{-127}{140}{\@memberb}% % left or right type
- \putlatom{-57}{140}{\@memberb}% % left type
- {%
- \thicklines%
- \put(103,171){\line(-1,0){140}}% % single bond at F
- }%
- \else\if\@tmpc A%alpha single bond
- \yl@xdiff=20\relax%
- \yl@ydiff=31\relax%
-% \putlratom{-127}{140}{\@memberb}% % left or right type
- \putlatom{-57}{140}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(103,171){\line(-1,0){140}}% % single bond at F
- }{{\thicklines%
- \dottedline{20}(103,171)(-37,171)}}%
- \else\if\@tmpc U%beta single bond
- \yl@xdiff=20\relax%
- \yl@ydiff=31\relax%
- \putlatom{-57}{140}{\@memberb}% % left type
-% \putlratom{-127}{140}{\@memberb}% % left or right type
- \put(40,148){$\sim$}% unspecified single bond at F
- \put(-13,148){$\sim$}%
- \put(-62,148){$\sim$}%
- \else\if\@tmpc S%alpha single bond
- \yl@xdiff=20\relax%
- \yl@ydiff=31\relax%
- \putlatom{-57}{140}{\@memberb}% % left type
-% \putlratom{-127}{140}{\@memberb}% % left or right type
- \put(103,171){\line(-1,0){140}}% % single bond at F
- \else\ifx\@tmpc\empty%alpha single bond
- \yl@xdiff=20\relax%
- \yl@ydiff=31\relax%
- \putlatom{-57}{140}{\@memberb}% % left type
-% \putlratom{-127}{140}{\@memberb}% % left or right type
- \put(103,171){\line(-1,0){140}}% % single bond at F
- \fi\fi\fi\fi\fi%
- \fi\fi%
-}% end of \GFbondd
-% \end{macrocode}
-% \end{macro}
-%
-% The |\setfusedbond| takes 5 arguments.
-%
-% \begin{verbatim}
-% ******************************************************
-% * setting of atoms and bonds at fused bond positions *
-% ******************************************************
-%
-% \setfusedbond{SUBSLIST}{AD}{LOWER}{UPPER}{ORDER}
-% \end{verbatim}
-%
-% The first argument |SUBSLIST| is a list of substituents, which is
-% represented in the standard format of \XyMTeX{}.
-% Substituents at the fused positions (vertical bonds) are designated by
-% the number 0 and the following bond modifiers.
-% They are placed by means of the |\GFbonda| command.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents (max 3 substitution positions)
-%
-% for 0 (vertical (0,1) fused positions)
-% F == (171,303) G == (171,103)
-%
-% 0FA : alpha single bond at F
-% 0FB : beta single bond at F
-% 0FU : unspecified single bond at F
-% 0GA : alpha single bond at G
-% 0GB : beta single bond at G
-% 0GU : unspecified single bond at G
-%
-% \end{verbatim}
-%
-% Substituents at the fused positions (diagonal bonds) are designated by
-% the number 1 and the following bond modifiers.
-% They are placed by means of the |\GFbondb| command.
-% \begin{verbatim}
-% for 1 (diagonal (5,-3) fused positions)
-% F == (0,406), G == (171,303)
-%
-% 1FA : alpha single bond at F
-% 1FB : beta single bond at F
-% 1FC : alpha single bond (downward) at F
-% 1FD : beta single bond (downward) at F
-% 1FU : unspecified single bond at F
-% 1GA : alpha single bond at G
-% 1GB : beta single bond at G
-% 1GC : alpha single bond (upward) at G
-% 1GD : beta single bond (upward) at G
-% 1GU : unspecified single bond at G
-%
-% \end{verbatim}
-%
-% Substituents at the fused positions (other diagonal bonds) are designated by
-% the number 2 and the following bond modifiers.
-% They are placed by means of the |\GFbondc| command.
-% \begin{verbatim}
-% for 2 (diagonal (-5,-3) fused positions)
-% F == (0,406), G == (-171,303)
-%
-% 2FA : alpha single bond at F
-% 2FB : beta single bond at F
-% 2FC : alpha single bond (upward) at F
-% 2FD : beta single bond (upward) at F
-% 2FU : unspecified single bond at F
-% 2GA : alpha single bond at G
-% 2GB : beta single bond at G
-% 2GC : alpha single bond (downward) at G
-% 2GD : beta single bond (downward) at G
-% 2GU : unspecified single bond at G
-%
-% \end{verbatim}
-%
-% Substituents at the fused positions (horizontal bonds) are designated by
-% the number 3 and the following bond modifiers.
-% They are placed by means of the |\GFbondd| command.
-% \begin{verbatim}
-% for 3 (horizontal (1,0) fused positions)
-% G == (303,171) F == (103,171)
-% %%%% F == (303,171) G == (103,171)
-%
-% 3FA : alpha single bond at F
-% 3FB : beta single bond at F
-% 3FU : unspecified single bond at F
-% 3GA : alpha single bond at G
-% 3GB : beta single bond at G
-% 3GU : unspecified single bond at G
-% \end{verbatim}
-%
-% The second argument |AD| is an adjustment value, which adjusts the original
-% set of locant numbers into the standard one between 0 to 3 for drawing
-% substituents on fused positions.
-% The effective range of the standared set of locant numbers is
-% restricted by the auguments |LOWER| and |UPPER|. A minus value of
-% the last argument shows the anti-clockwise numbering, while zero or
-% a plus value represents the clockwise numbering.
-%
-% \begin{verbatim}
-%
-% AD : adjustment e.g. 0 for six-membered rings
-% LOWER : lower limit LOWER < effective range < UPPER
-% UPPER : upper limit
-% ORDER : >= 0 clockwise, <0 anti-clockwise
-%
-% \end{verbatim}
-%
-% \changes{v1.02}{1998/10/31}{Adding the \cs{\@memberb=\@y} condition}
-% \changes{v1.02}{1998/10/31}{Separate \cs{GFbonda} etc.}
-%
-% \begin{macro}{\setfusedbond}
-% \begin{macrocode}
-\newif\if@fused@link \@fused@linkfalse
-\def\setfusedbond#1#2#3#4#5{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifnum#5<0\relax%
-\@tmpaa=-\@tmpa\relax\advance\@tmpaa by #2\relax\@fused@linktrue
-\else\@tmpaa=\@tmpa\relax\advance\@tmpaa by #2\relax
-\@fused@linkfalse\fi%
-\ifnum\@tmpaa >#3\relax%
-\ifnum\@tmpaa <#4\relax%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\ifcase\@tmpaa%
-% %%%%%%%%%%%%%%%%%%
-% 0 fused positions % F == (171,303) G == (171,103)
-% %%%%%%%%%%%%%%%%%%
-\GFbonda
-% %%%%%%%%%%%%%%%%
-\or% subst. on 1 F == (0,406), G == (171,303)
-% %%%%%%%%%%%%%%%%
-\GFbondb
-% %%%%%%%%%%%%%%%%
-\or% subst. on 2 F == (0,406), G == (-171,303) for \@fused@linkfalse
- % subst. on 2 G == (0,406), F == (-171,303) for \@fused@linktrue
-% %%%%%%%%%%%%%%%%
-\GFbondc
-% %%%%%%%%%%%%%%%%%%
-\or %3 fused positions % G == (303,171) F == (103,171)
-% %%%%%%%%%%%%%%%%%%
-\GFbondd
-\fi%end of ifcase
-\fi\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Setting-up substituents and bonds at a given postion}
-%
-% The |\setatombond| takes 3 arguments.
-%
-% \begin{verbatim}
-% ********************************************************
-% * setting of atoms and bonds at an appropiate position *
-% ********************************************************
-%
-% \setatombond{SUBSLIST}{AD}{SLOPE}
-% \end{verbatim}
-%
-% The first argument |SUBSLIST| is a list of substituents, which is
-% represented in the standard format of \XyMTeX{}.
-% Substituents at the fused positions (vertical bonds) are designated by
-% the number 0 and the following bond modifiers.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents (max 3 substitution positions)
-% \end{verbatim}
-%
-% The second argument |AD| is an adjustment value, which adjusts the original
-% locant number into 1.
-%
-% \begin{verbatim}
-% AD : adjustment,
-% Set AD as being 1 = position number - AD
-% \end{verbatim}
-%
-% The argument |SLOPE| has the following meanings.
-% \begin{verbatim}
-% SLOPE
-%
-% 1 : (0,1) 7 : (0,-1)
-% 2 : (3,5) 8 : (-3,-5)
-% 3 : (5,3) 9 : (-5,-3)
-% 4 : (1,0) 10 : (-1,0)
-% 5 : (5,-3) 11 : (-5,3)
-% 6 : (3,-5) 12 : (-3,5)
-% \end{verbatim}
-%
-% \changes{v1.02}{1998/10/14}{The bond-setting commands such as
-% \cs{setatombonda} ... \cs{setatombondh} are separated from
-% the original \cs{setatombond}.}
-%
-% \begin{macro}{\setatombond}
-% \begin{macrocode}
-\newif\if@clipfuse \@clipfusefalse
-\def\setatombond#1#2#3{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\@tmpaa=\@tmpa\relax\advance\@tmpaa by #2\relax
-\ifx\@memberb\@yl\else
-\ifnum\@tmpaa >0\relax%
-\ifnum\@tmpaa <2\relax%
-\ifcase\@tmpaa%
-% %%%%%%%%%%%%%%%%
-\or% subst. on 1
-% %%%%%%%%%%%%%%%%
-%
-% (0,1)
-%
- \ifnum#3=1\relax%(upward)
- \setatombonda
-%
-% (1,0)
-%
- \else\ifnum#3=4\relax%(right)
- \setatombondb
-%
-% (0,-1)
-%
- \else\ifnum#3=7\relax%(downward)
- \setatombondc
-%
-% (-5,3)
-%
- \else\ifnum#3=11\relax%
- \setatombondd
-%
-% (5,-3)
-%
- \else\ifnum#3=5\relax%
- \setatombonde
-%
-% (5,3)
-%
- \else\ifnum#3=3\relax%
- \setatombondf
-%
-% (-5,-3)
-%
- \else\ifnum#3=9\relax%
- \setatombondg
-%
-% (-1,0)
-%
- \else\ifnum#3=10\relax%(left)
- \setatombondh
-\fi\fi\fi\fi\fi\fi\fi\fi%
-\fi%end of ifcase
-\fi\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% The command |\setatombond| uses the following bond-setting
-% commands.
-%
-% \begin{macro}{\setatombonda}
-% \begin{macro}{\setatombondb}
-% \begin{macro}{\setatombondc}
-% \begin{macro}{\setatombondd}
-% \begin{macro}{\setatombonde}
-% \begin{macro}{\setatombondf}
-% \begin{macro}{\setatombondg}
-% \begin{macro}{\setatombondh}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-\def\setatombonda{%upward (0,1)
- \if@clipfuse%
- \if\@tmpb B%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- {%
- \thicklines%
-% \put(0,30){\line(0,1){110}}% % single bond at 1
- \put(0,40){\line(0,1){100}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \@ifundefined{dottedline}{%
-% \put(0,30){\line(0,1){110}}% % single bond at 1
- \put(0,40){\line(0,1){100}}% % single bond at 1
- }{{\thicklines%
-% \dottedline{20}(0,30)(0,140)}}%
- \dottedline{20}(0,40)(0,140)}}%
- \else\if\@tmpb U% unspecified single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \put(-3,30){$\wr$}% unspecified single bond at 1
- \put(-3,80){$\wr$}%
- \else\if\@tmpb S%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
-% \put(0,30){\line(0,1){110}}% % single bond at 1
- \put(0,40){\line(0,1){100}}% % single bond at 1
- \else\if\@tmpb D%double bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \put(-10,40){\line(0,1){100}}% % single bond at 1
- \put(10,40){\line(0,1){100}}% % single bond at 1
- \else\if\@tmpb T%double bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \put(-15,40){\line(0,1){100}}% % single bond at 1
- \put(0,40){\line(0,1){100}}% % single bond at 1
- \put(15,40){\line(0,1){100}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
-% \put(0,30){\line(0,1){110}}% % single bond at 1
- \put(0,40){\line(0,1){100}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putlratom{-31}{157}{\@memberb}% % left or right type
- \else%no clip
- \if\@tmpb B%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- {%
- \thicklines%
- \put(0,0){\line(0,1){140}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \@ifundefined{dottedline}{%
- \put(0,0){\line(0,1){140}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,0)(0,140)}}%
- \else\if\@tmpb U% unspecified single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \put(-3,0){$\wr$}% unspecified single bond at 1
- \put(-3,50){$\wr$}%
- \put(-3,100){$\wr$}%
- \else\if\@tmpb S%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \put(0,0){\line(0,1){140}}% % single bond at 1
- \else\if\@tmpb D%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \put(-10,0){\line(0,1){140}}% % single bond at 1
- \put(10,0){\line(0,1){140}}% % single bond at 1
- \else\if\@tmpb T%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \put(-15,0){\line(0,1){140}}% % single bond at 1
- \put(0,0){\line(0,1){140}}% % single bond at 1
- \put(15,0){\line(0,1){140}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \put(0,0){\line(0,1){140}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putlratom{-31}{157}{\@memberb}% % left or right type
- \fi%
-}% end of \setatombonda
-% \end{macrocode}
-%
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-\def\setatombondb{%(right) (1,0)
- \if@clipfuse%
- \if\@tmpb B%beta single bond
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- {%
- \thicklines%
- \put(30,0){\line(1,0){110}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \@ifundefined{dottedline}{%
- \put(30,0){\line(1,0){110}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(30,0)(140,0)}}%
- \else\if\@tmpb U%beta single bond
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \put(30,0){\line(1,0){110}}% % single bond at 1
- \else\if\@tmpb S%alpha single bond
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \put(40,0){\line(1,0){100}}% % single bond at 1
- \else\if\@tmpb D%alpha single bond
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \put(40,10){\line(1,0){100}}% % single bond at 1
- \put(40,-10){\line(1,0){100}}% % single bond at 1
- \else\if\@tmpb T%alpha single bond
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \put(40,15){\line(1,0){100}}% % single bond at 1
- \put(40,0){\line(1,0){100}}% % single bond at 1
- \put(40,-15){\line(1,0){100}}% % single bond at 1
- \else\ifx\@tmpb\empty%alpha single bond
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \put(40,0){\line(1,0){100}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putratom{157}{-31}{\@memberb}% % right type only
- \else%
- \if\@tmpb B%beta single bond
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- {%
- \thicklines%
- \put(0,0){\line(1,0){140}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \@ifundefined{dottedline}{%
- \put(0,0){\line(1,0){140}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,0)(140,0)}}%
- \else\if\@tmpb U%beta single bond
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \put(0,0){\line(1,0){140}}% % single bond at 1
- \else\if\@tmpb S%alpha single bond
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \put(0,0){\line(1,0){140}}% % single bond at 1
- \else\if\@tmpb D%alpha single bond
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \put(0,10){\line(1,0){140}}% % single bond at 1
- \put(0,-10){\line(1,0){140}}% % single bond at 1
- \else\if\@tmpb T%alpha single bond
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \put(0,-15){\line(1,0){140}}% % single bond at 1
- \put(0,0){\line(1,0){140}}% % single bond at 1
- \put(0,15){\line(1,0){140}}% % single bond at 1
- \else\ifx\@tmpb\empty%alpha single bond
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \put(0,0){\line(1,0){140}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putratom{157}{-31}{\@memberb}% % right type only
- \fi%
-}% end of \setatombondb
-% \end{macrocode}
-%
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-\def\setatombondc{%(downward) (0,-1)
- \if@clipfuse%
- \if\@tmpb B%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- {%
- \thicklines%
-% \put(0,-30){\line(0,-1){110}}% % single bond at 1
- \put(0,-40){\line(0,-1){100}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \@ifundefined{dottedline}{%
-% \put(0,-30){\line(0,-1){110}}% % single bond at 1
- \put(0,-40){\line(0,-1){100}}% % single bond at 1
- }{{\thicklines%
-% \dottedline{20}(0,-30)(0,-140)}}%
- \dottedline{20}(0,-40)(0,-140)}}%
- \else\if\@tmpb U%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \put(-3,-90){$\wr$}% unspecified single bond at 1
- \put(-3,-140){$\wr$}%
- \else\if\@tmpb S%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
-% \put(0,-30){\line(0,-1){110}}% % single bond at 1
- \put(0,-40){\line(0,-1){100}}% % single bond at 1
- \else\if\@tmpb D%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \put(10,-40){\line(0,-1){100}}% % single bond at 1
- \put(-10,-40){\line(0,-1){100}}% % single bond at 1
- \else\if\@tmpb T%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \put(15,-40){\line(0,-1){100}}% % single bond at 1
- \put(0,-40){\line(0,-1){100}}% % single bond at 1
- \put(-15,-40){\line(0,-1){100}}% % single bond at 1
- \else\ifx\@tmpb\empty%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
-% \put(0,-30){\line(0,-1){110}}% % single bond at 1
- \put(0,-40){\line(0,-1){100}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \else%no clipping
- \if\@tmpb B%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- {%
- \thicklines%
- \put(0,0){\line(0,-1){140}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \@ifundefined{dottedline}{%
- \put(0,0){\line(0,-1){140}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,0)(0,-140)}}%
- \else\if\@tmpb U%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \put(-3,-60){$\wr$}% unspecified single bond at 1
- \put(-3,-110){$\wr$}%
- \put(-3,-160){$\wr$}%
- \else\if\@tmpb S%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \put(0,0){\line(0,-1){140}}% % single bond at 1
- \else\if\@tmpb D%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \put(10,0){\line(0,-1){140}}% % single bond at 1
- \put(-10,0){\line(0,-1){140}}% % single bond at 1
- \else\if\@tmpb T%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \put(15,0){\line(0,-1){140}}% % single bond at 1
- \put(0,0){\line(0,-1){140}}% % single bond at 1
- \put(-15,0){\line(0,-1){140}}% % single bond at 1
- \else\ifx\@tmpb\empty%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \put(0,0){\line(0,-1){140}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \fi%
-}% end of \setatombondc
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\setatombondd{% (-5,3)
- \if@clipfuse%
- \yl@xdiff=-10\relax
- \yl@ydiff=18\relax
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
- \put(-30,18){\line(-5,3){100}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \@ifundefined{dottedline}{%
- \put(-30,18){\line(-5,3){100}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(-30,18)(-130,78)}}%
- \else\if\@tmpb U%unspecified single bond
- \put(-30,18){\line(-5,3){100}}% % single bond at 1
- \else\if\@tmpb S%beta single bond
- \put(-30,18){\line(-5,3){100}}% % single bond at 1
- \else\if\@tmpb D%beta single bond
- \put(-36,8){\line(-5,3){100}}% % single bond at 1
- \put(-24,24){\line(-5,3){100}}% % single bond at 1
- \else\if\@tmpb T%beta single bond
- \put(-39,3){\line(-5,3){100}}% % single bond at 1
- \put(-30,18){\line(-5,3){100}}% % single bond at 1
- \put(-21,33){\line(-5,3){100}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
- \put(-30,18){\line(-5,3){100}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putlatom{-130}{60}{\@memberb}% % left type
- \else%no clipping
- \yl@xdiff=-10\relax
- \yl@ydiff=18\relax
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
- \put(0,0){\line(-5,3){130}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \@ifundefined{dottedline}{%
- \put(0,0){\line(-5,3){130}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,0)(-130,78)}}%
- \else\if\@tmpb U%unspecified single bond
- \put(0,0){\line(-5,3){130}}% % single bond at 1
- \else\if\@tmpb S%beta single bond
- \put(0,0){\line(-5,3){130}}% % single bond at 1
- \else\if\@tmpb D%beta single bond
- \put(6,10){\line(-5,3){130}}% % single bond at 1
- \put(-6,-10){\line(-5,3){130}}% % single bond at 1
- \else\if\@tmpb T%beta single bond
- \put(9,15){\line(-5,3){130}}% % single bond at 1
- \put(0,0){\line(-5,3){130}}% % single bond at 1
- \put(-9,-15){\line(-5,3){130}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
- \put(0,0){\line(-5,3){130}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putlatom{-130}{60}{\@memberb}% % left type
- \fi%
-}% end of \setatombondd
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\setatombonde{%(5,-3)
- \if@clipfuse%
- \yl@xdiff=-10\relax
- \yl@ydiff=52\relax
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
-% \put(20,-12){\line(5,-3){100}}% % single bond at 1
- \put(30,-18){\line(5,-3){100}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
-% \putratom{301}{173}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
-% \put(20,-12){\line(5,-3){100}}% % single bond at 1
- \put(30,-18){\line(5,-3){100}}% % single bond at 1
- }{{\thicklines%
-% \dottedline{20}(20,-12)(120,-72)}}%
- \dottedline{20}(30,-18)(130,-78)}}%
- \else\if\@tmpb U%unspecified single bond
- \put(30,-18){\line(5,-3){100}}% % single bond at 1
-% \put(20,-12){\line(5,-3){100}}% % single bond at 1
- \else\if\@tmpb S%alpha single bond
- \put(30,-18){\line(5,-3){100}}% % single bond at 1
-% \put(20,-12){\line(5,-3){100}}% % single bond at 1
- \else\if\@tmpb D%alpha single bond
- \put(36,-12){\line(5,-3){100}}% % single bond at 1
- \put(24,-28){\line(5,-3){100}}% % single bond at 1
- \else\if\@tmpb T%alpha single bond
- \put(39,-3){\line(5,-3){100}}% % single bond at 1
- \put(30,-18){\line(5,-3){100}}% % single bond at 1
- \put(21,-33){\line(5,-3){100}}% % single bond at 1
- \else\ifx\@tmpb\empty%alpha single bond
- \put(30,-18){\line(5,-3){100}}% % single bond at 1
-% \put(20,-12){\line(5,-3){100}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putratom{140}{-130}{\@memberb}% % right type
-% \putratom{130}{-130}{\@memberb}% % right type
- \else%no clipping
- \yl@xdiff=-10\relax
- \yl@ydiff=52\relax
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
-% \put(0,0){\line(5,-3){120}}% % single bond at 1
- \put(0,0){\line(5,-3){130}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
-% \putratom{301}{173}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
-% \put(0,0){\line(5,-3){120}}% % single bond at 1
- \put(0,0){\line(5,-3){130}}% % single bond at 1
- }{{\thicklines%
-% \dottedline{20}(0,0)(120,-72)}}%
- \dottedline{20}(0,0)(130,-78)}}%
- \else\if\@tmpb U%unspecified single bond
-% \put(0,0){\line(5,-3){120}}% % single bond at 1
- \put(0,0){\line(5,-3){130}}% % single bond at 1
- \else\if\@tmpb S%alpha single bond
-% \put(0,0){\line(5,-3){120}}% % single bond at 1
- \put(0,0){\line(5,-3){130}}% % single bond at 1
- \else\if\@tmpb D%alpha single bond
- \put(6,10){\line(5,-3){130}}% % single bond at 1
- \put(-6,-10){\line(5,-3){130}}% % single bond at 1
- \else\if\@tmpb T%alpha single bond
- \put(9,15){\line(5,-3){130}}% % single bond at 1
- \put(0,0){\line(5,-3){130}}% % single bond at 1
- \put(-9,-15){\line(5,-3){130}}% % single bond at 1
- \else\ifx\@tmpb\empty%alpha single bond
-% \put(0,0){\line(5,-3){120}}% % single bond at 1
- \put(0,0){\line(5,-3){130}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putratom{140}{-130}{\@memberb}% % right type
- \fi%
-}% end of \setatombonde
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\setatombondf{%% (5,3)
- \if@clipfuse%
- \yl@xdiff=-10\relax
- \yl@ydiff=18\relax
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
-% \put(20,12){\line(5,3){100}}% % single bond at 1
- \put(30,18){\line(5,3){100}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \@ifundefined{dottedline}{%
- \put(30,18){\line(5,3){100}}% % single bond at 1
-% \put(20,12){\line(5,3){100}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(30,18)(130,78)}}%
-% \dottedline{20}(0,406)(120,72)}}%
- \else\if\@tmpb U%unspecified single bond
- \put(30,18){\line(5,3){100}}% % single bond at 1
-% \put(20,12){\line(5,3){100}}% % single bond at 1
- \else\if\@tmpb S%beta single bond
-% \put(20,12){\line(5,3){100}}% % single bond at 1
- \put(30,18){\line(5,3){100}}% % single bond at 1
- \else\if\@tmpb D%beta single bond
- \put(36,8){\line(5,3){100}}% % single bond at 1
- \put(24,24){\line(5,3){100}}% % single bond at 1
- \else\if\@tmpb T%beta single bond
- \put(39,3){\line(5,3){100}}% % single bond at 1
- \put(30,18){\line(5,3){100}}% % single bond at 1
- \put(21,33){\line(5,3){100}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
- \put(30,18){\line(5,3){100}}% % single bond at 1
-% \put(20,12){\line(5,3){100}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putratom{140}{60}{\@memberb}% % right type
-% \putratom{130}{60}{\@memberb}% % right type
- \else%no clipping
- \yl@xdiff=-10\relax
- \yl@ydiff=18\relax
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
- \put(0,0){\line(5,3){130}}% % single bond at 1
-% \put(0,0){\line(5,3){120}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
-% \putratom{130}{466}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
-% \put(0,0){\line(5,3){120}}% % single bond at 1
- \put(0,0){\line(5,3){130}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,0)(130,78)}}%
-% \dottedline{20}(0,406)(120,72)}}%
- \else\if\@tmpb U%unspecified single bond
-% \put(0,0){\line(5,3){120}}% % single bond at 1
- \put(0,0){\line(5,3){130}}% % single bond at 1
- \else\if\@tmpb S%beta single bond
- \put(0,0){\line(5,3){130}}% % single bond at 1
-% \put(0,0){\line(5,3){120}}% % single bond at 1
- \else\if\@tmpb D%beta single bond
- \put(6,-10){\line(5,3){130}}% % single bond at 1
- \put(-6,10){\line(5,3){130}}% % single bond at 1
- \else\if\@tmpb T%beta single bond
- \put(9,-15){\line(5,3){130}}% % single bond at 1
- \put(0,0){\line(5,3){130}}% % single bond at 1
- \put(-9,15){\line(5,3){130}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
-% \put(0,0){\line(5,3){120}}% % single bond at 1
- \put(0,0){\line(5,3){130}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putratom{140}{60}{\@memberb}% % right type
-% \putratom{130}{60}{\@memberb}% % right type
- \fi%
-}% end of \setatombondf
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\setatombondg{%% (-5,-3)
- \if@clipfuse%
- \yl@xdiff=0\relax
-% \yl@ydiff=62\relax
- \yl@ydiff=52\relax%1999/1/6 by Shinsaku Fujita
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
- \put(-30,-18){\line(-5,-3){100}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \@ifundefined{dottedline}{%
- \put(-30,-18){\line(-5,-3){100}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(-20,-12)(-120,-72)}}%
- \else\if\@tmpc U%unspecified single bond
- \put(-30,-18){\line(-5,-3){100}}% % single bond at 1
- \else\if\@tmpc S%alpha single bond
- \put(-30,-18){\line(-5,-3){100}}% % single bond at 1
- \else\if\@tmpb D%double bond
- \put(-36,-12){\line(-5,-3){100}}% % single bond at 1
- \put(-24,-28){\line(-5,-3){100}}% % single bond at 1
- \else\if\@tmpb T%triple bond
- \put(-39,-3){\line(-5,-3){100}}% % single bond at 1
- \put(-30,-18){\line(-5,-3){100}}% % single bond at 1
- \put(-21,-33){\line(-5,-3){100}}% % single bond at 1
- \else\ifx\@tmpc\empty%alpha single bond
- \put(-30,-18){\line(-5,-3){100}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putlatom{-130}{-130}{\@memberb}% % left type
- \else%
- \yl@xdiff=0\relax
-% \yl@ydiff=62\relax
- \yl@ydiff=52\relax%1999/1/6 by Shinsaku Fujita
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
- \put(0,0){\line(-5,-3){130}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \@ifundefined{dottedline}{%
- \put(0,0){\line(-5,-3){130}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,0)(-130,-78)}}%
- \else\if\@tmpc U%unspecified single bond
- \put(0,0){\line(-5,-3){130}}% % single bond at 1
- \else\if\@tmpc S%alpha single bond
- \put(0,0){\line(-5,-3){130}}% % single bond at 1
- \else\if\@tmpb D%alpha single bond
- \put(-6,10){\line(-5,-3){130}}% % single bond at 1
- \put(6,-10){\line(-5,-3){130}}% % single bond at 1
- \else\if\@tmpb T%alpha single bond
- \put(-9,15){\line(-5,-3){130}}% % single bond at 1
- \put(0,0){\line(-5,-3){130}}% % single bond at 1
- \put(9,-15){\line(-5,-3){130}}% % single bond at 1
- \else\ifx\@tmpc\empty%alpha single bond
- \put(0,0){\line(-5,-3){130}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putlatom{-130}{-130}{\@memberb}% % left type
- \fi%
-}% end of \setatombondg
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\setatombondh{% (-1,0)
- \yl@xdiff=17\relax
- \yl@ydiff=31\relax
- \if@clipfuse%
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
- \put(-30,0){\line(-1,0){110}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \@ifundefined{dottedline}{%
- \put(-30,0){\line(-1,0){110}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(-30,0)(-140,0)}}%
- \else\if\@tmpb U%beta single bond
- \put(-30,0){\line(-1,0){110}}% % single bond at 1
- \else\if\@tmpb S%alpha single bond
- \put(-40,0){\line(-1,0){100}}% % single bond at 1
- \else\if\@tmpb D%alpha single bond
- \put(-40,10){\line(-1,0){100}}% % single bond at 1
- \put(-40,-10){\line(-1,0){100}}% % single bond at 1
- \else\if\@tmpb T%alpha single bond
- \put(-40,15){\line(-1,0){100}}% % single bond at 1
- \put(-40,0){\line(-1,0){100}}% % single bond at 1
- \put(-40,-15){\line(-1,0){100}}% % single bond at 1
- \else\ifx\@tmpb\empty%alpha single bond
- \put(-40,0){\line(-1,0){100}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putlatom{-157}{-31}{\@memberb}% % left type only
- \else%
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
- \put(0,0){\line(-1,0){140}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \@ifundefined{dottedline}{%
- \put(0,0){\line(-1,0){140}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,0)(-140,0)}}%
- \else\if\@tmpb U%beta single bond
- \put(0,0){\line(-1,0){140}}% % single bond at 1
- \else\if\@tmpb S%alpha single bond
- \put(0,0){\line(-1,0){140}}% % single bond at 1
- \else\if\@tmpb D%alpha single bond
- \put(0,10){\line(-1,0){140}}% % single bond at 1
- \put(0,-10){\line(-1,0){140}}% % single bond at 1
- \else\if\@tmpb T%alpha single bond
- \put(0,-15){\line(-1,0){140}}% % single bond at 1
- \put(0,0){\line(-1,0){140}}% % single bond at 1
- \put(0,15){\line(-1,0){140}}% % single bond at 1
- \else\ifx\@tmpb\empty%alpha single bond
- \put(0,0){\line(-1,0){140}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putlatom{-157}{-31}{\@memberb}% % left type only
- \fi%
-}% end of \setatombondh
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\ylatombondposition| is used to calculate the shift values
-% (|\@ylii| and |\@yli|) for applying the |\setatombond| command.
-% \changes{v1.02}{1998/10/15}{New command: \cs{ylatombondposition}
-% for setting substituents}
-%
-% \begin{macro}{\ylatombondposition}
-% \begin{macrocode}
-\def\ylatombondposition#1#2#3{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\@tmpaa=\@tmpa\relax\advance\@tmpaa by #2\relax
-\ifnum\@tmpaa >0\relax%
-\ifnum\@tmpaa <2\relax%
-\ifcase\@tmpaa%
-% %%%%%%%%%%%%%%%%
-\or% subst. on 1
-% %%%%%%%%%%%%%%%%
-%
-% (0,1)
-%
- \ifnum#3=1\relax%upward
- \if@clipfuse%
- \gdef\@ylii{0}\gdef\@yli{-48}\global\@ylswtrue%
- \else
- \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%
- \fi
-% \setatombonda
-%
-% (1,0)
-%
- \else\ifnum#3=4\relax%(right)
- \if@clipfuse%
- \gdef\@ylii{-40}\gdef\@yli{0}\global\@ylswtrue%
- \else
- \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%
- \fi
-% \setatombondb
-%
-% (0,-1)
-%
- \else\ifnum#3=7\relax%(downward)
- \if@clipfuse%
- \gdef\@ylii{0}\gdef\@yli{48}\global\@ylswtrue%
- \else
- \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%
- \fi
-% \setatombondc
-%
-% (-5,3)
-%
- \else\ifnum#3=11\relax%
- \if@clipfuse%
- \gdef\@ylii{50}\gdef\@yli{-30}\global\@ylswtrue%
- \else
- \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%
- \fi
-% \setatombondd
-%
-% (5,-3)
-%
- \else\ifnum#3=5\relax%
- \if@clipfuse%
- \gdef\@ylii{-50}\gdef\@yli{30}\global\@ylswtrue%
- \else
- \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%
- \fi
-% \setatombonde
-%
-% (5,3)
-%
- \else\ifnum#3=3\relax%
- \if@clipfuse%
- \gdef\@ylii{-50}\gdef\@yli{-30}\global\@ylswtrue%
- \else
- \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%
- \fi
-% \setatombondf
-%
-% (-5,-3)
-%
- \else\ifnum#3=9\relax%
- \if@clipfuse%
- \gdef\@ylii{50}\gdef\@yli{30}\global\@ylswtrue%
- \else
- \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%
- \fi
-% \setatombondg
-%
-% (-1,0)
-%
- \else\ifnum#3=10\relax%(left)
- \if@clipfuse%
- \gdef\@ylii{40}\gdef\@yli{0}\global\@ylswtrue%
- \else
- \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%
- \fi
-% \setatombondh
-\fi\fi\fi\fi\fi\fi\fi\fi%
-\fi%end of ifcase
-\fi\fi\fi\fi%
-\fi}}% end of \ylatombondposition
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Macros for horizontal formulas}
-% \subsection{Placing substituents for horizontal formulas}
-%
-% Such a drawing command as |\setsixringh| uses several inner macros
-% for placing substituents with bonds. The first set of inner macros
-% are shown as follows.
-%
-% The command |\ylpositionh| is to obtain the shift values
-% |\@ylii| and |\@yli| which are used for shifting the standard point
-% of a substituent.
-% The locant flags such as |\@ylatrue| have been stopped to use.
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylpositionh}.
-% Commands for setting substituents}
-%
-% \begin{macro}{\ylpositionh}
-% \begin{macrocode}
-\def\ylpositionh#1#2#3#4#5{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}\relax%
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifnum#5<0\relax%
-\@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
-\else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax\fi
-\ifnum\@tmpaa>#3\relax%
-\ifnum\@tmpaa<#4\relax%
-\ifcase\@tmpaa%0 omit
- \or\ifx\aaa\empty
- \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%\@ylatrue% subst. on 1
- \else
- \gdef\@ylii{30}\gdef\@yli{0}\global\@ylswtrue%\@ylatrue% subst. on 1
- \fi
- \or\ifx\bbb\empty
- \gdef\@ylii{-103}\gdef\@yli{-171}\global\@ylswtrue%\@ylbtrue% subst. on 2
- \else
- \gdef\@ylii{-73}\gdef\@yli{-223}\global\@ylswtrue%\@ylbtrue% subst. on 2
- \fi
- \or \ifx\ccc\empty
- \gdef\@ylii{-303}\gdef\@yli{-171}\global\@ylswtrue%\@ylctrue% subst. on 3
- \else
- \gdef\@ylii{-333}\gdef\@yli{-223}\global\@ylswtrue%\@ylctrue% subst. on 3
- \fi
- \or\ifx\ddd\empty
- \gdef\@ylii{-406}\gdef\@yli{0}\global\@ylswtrue%\@yldtrue% subst. on 4
- \else
- \gdef\@ylii{-436}\gdef\@yli{0}\global\@ylswtrue%\@yldtrue% subst. on 4
- \fi
- \or\ifx\eee\empty
- \gdef\@ylii{-303}\gdef\@yli{171}\global\@ylswtrue%\@yletrue% subst. on 5
- \else
- \gdef\@ylii{-333}\gdef\@yli{223}\global\@ylswtrue%\@yletrue% subst. on 5
- \fi
- \or \ifx\fff\empty
- \gdef\@ylii{-103}\gdef\@yli{171}\global\@ylswtrue%\@ylftrue% subst. on 6
- \else
- \gdef\@ylii{-73}\gdef\@yli{223}\global\@ylswtrue%\@ylftrue% subst. on 6
- \fi
-\fi%end of ifcase
-\fi\fi\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-% The |\@hsubsta| command is used for placing a substituent (|\@memberb|) at
-% the 1-position (top) of a vertical six-membered ring. The bond linking
-% between the substituent and the 1-position is drawn in the light of
-% the corresponding bond modifier (|\@tmpc| = Sa, Sb, SA, SB etc.).
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/15}{Added bond modifiers: FA, FB, GA, GB, Su, Sd}
-% \begin{macro}{\@hsubsta}
-% *************************************************************
-% * treatment of substitution positions for a horizontal type *
-% *************************************************************
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 1 %
-% %%%%%%%%%%%%%%%
-\def\@hsubsta{%
-\if@aclip %clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=17\relax
- \yl@ydiff=31\relax
- \putlatom{-157}{-31}{\@memberb}% % left type only
- \put(-30,0){\line(-1,0){110}}% % single bond at 1
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=27\relax
- \yl@ydiff=36\relax
- \putlatom{-157}{42}{\@memberb}% % left type
- {%
- \thicklines%
- \put(-30,18){\line(-5,3){100}}% % single bond at 1
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=37\relax
- \yl@ydiff=28\relax
- \putlatom{-157}{-100}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(-30,-18){\line(-5,-3){100}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(-30,-18)(-120,-72)}}%
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=37\relax
- \yl@ydiff=28\relax
- \putlatom{-157}{-100}{\@memberb}% % left type
- {%
- \thicklines%
- \put(-30,-18){\line(-5,-3){100}}% % single bond at 1
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=27\relax
- \yl@ydiff=36\relax
- \putlatom{-157}{42}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(-30,18){\line(-5,3){100}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(-30,18)(-130,78)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=27\relax
- \yl@ydiff=36\relax
- \putlatom{-157}{42}{\@memberb}% % left type
- \put(-30,18){\line(-5,3){100}}% % single bond at 1
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=27\relax
- \yl@ydiff=28\relax
- \putlatom{-157}{-100}{\@memberb}% % left type
- \put(-30,-18){\line(-5,-3){100}}% % single bond at 1
- \fi\fi\fi\fi\fi
- \fi\fi
- \else\if\@tmpb D%double bond
- \yl@xdiff=17\relax
- \yl@ydiff=31\relax
- \putlatom{-157}{-31}{\@memberb}% % left type only
- \put(-30,-12){\line(-1,0){110}}% % double bond at 1
- \put(-30,12){\line(-1,0){110}}% % double bond at 1
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=17\relax
- \yl@ydiff=31\relax
- \putlatom{-157}{-31}{\@memberb}% % left type only
- {%
- \thicklines%
- \put(-30,0){\line(-1,0){110}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=17\relax
- \yl@ydiff=31\relax
- \putlatom{-157}{-31}{\@memberb}% % left type only
- \@ifundefined{dottedline}{%
- \put(-30,0){\line(-1,0){110}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(-30,0)(-140,0)}}%
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(0,0){\setatombondG}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(0,0){\setatombondD}%
- }%
- \else%
- \yl@xdiff=17\relax
- \yl@ydiff=31\relax
- \putlatom{-157}{-31}{\@memberb}% % left type only
- \put(-40,0){\line(-1,0){100}}% % single bond at 1
- \fi\fi\fi\fi
- \fi\fi%
-\else%% no clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=17\relax
- \yl@ydiff=31\relax
- \putlatom{-157}{-31}{\@memberb}% % left type only
- \put(0,0){\line(-1,0){140}}% % single bond at 1
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=37\relax
- \yl@ydiff=30\relax
- \putlatom{-157}{42}{\@memberb}% % left type
- {%
- \thicklines%
- \put(0,0){\line(-5,3){120}}% % single bond at 1
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=37\relax
- \yl@ydiff=28\relax
- \putlatom{-157}{-100}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(0,0){\line(-5,-3){120}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,0)(-120,-72)}}%
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=37\relax
- \yl@ydiff=28\relax
- \putlatom{-157}{-100}{\@memberb}% % left type
- {%
- \thicklines%
- \put(0,0){\line(-5,-3){120}}% % single bond at 1
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=37\relax
- \yl@ydiff=30\relax
- \putlatom{-157}{42}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(0,0){\line(-5,3){120}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,0)(-120,72)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=37\relax
- \yl@ydiff=30\relax
- \putlatom{-157}{42}{\@memberb}% % left type
- \put(0,0){\line(-5,3){120}}% % single bond at 1
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=37\relax
- \yl@ydiff=28\relax
- \putlatom{-157}{-100}{\@memberb}% % left type
- \put(0,0){\line(-5,-3){120}}% % single bond at 1
- \fi\fi\fi\fi\fi
- \fi\fi
- \else\if\@tmpb D%double bond
- \yl@xdiff=17\relax
- \yl@ydiff=31\relax
- \putlatom{-157}{-31}{\@memberb}% % left type only
- \put(0,-12){\line(-1,0){140}}% % double bond at 1
- \put(0,12){\line(-1,0){140}}% % double bond at 1
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=17\relax
- \yl@ydiff=31\relax
- \putlatom{-157}{-31}{\@memberb}% % left type only
- {%
- \thicklines%
- \put(0,0){\line(-1,0){140}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=17\relax
- \yl@ydiff=31\relax
- \putlatom{-157}{-31}{\@memberb}% % left type only
- \@ifundefined{dottedline}{%
- \put(0,0){\line(-1,0){140}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,0)(-140,0)}}%
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(0,0){\setatombondG}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(0,0){\setatombondD}%
- }%
- \else%
- \yl@xdiff=17\relax
- \yl@ydiff=31\relax
- \putlatom{-157}{-31}{\@memberb}% % left type only
- \put(0,0){\line(-1,0){140}}% % single bond at 1
- \fi\fi\fi\fi%
- \fi\fi
- \fi}%end of \@hsubsta
-% \end{macrocode}
-% \end{macro}
-%
-% The |\@hsubstb| command is used for placing a substituent (|\@memberb|) at
-% the 2-position (upper-left) of a vertical six-membered ring.
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/15}{Added bond modifiers: FA, FB, GA, GB, Su, Sd}
-% \begin{macro}{\@hsubstb}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 2 %
-% %%%%%%%%%%%%%%%
-\def\@hsubstb{%
- \if@bclip %clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=43\relax
- \yl@ydiff=5\relax
- \putlratom{-27}{331}{\@memberb}%
- \put(79,221){\line(-3,5){63}}% % single bond at 2 (62=>63)
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=0\relax
- \yl@ydiff=21\relax
- \putlatom{-41}{240}{\@memberb}% % left type
- {%
- \thicklines%
- \put(59,201){\line(-5,3){100}}% % single bond at 2
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=20\relax
- \yl@ydiff=-10\relax
- \putratom{83}{331}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(103,221){\line(0,1){100}}% % single bond at 2
- }{{\thicklines%
- \dottedline{20}(103,221)(103,321)}}%1998/10/11 by SF
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=20\relax
- \yl@ydiff=-10\relax
- \putratom{83}{331}{\@memberb}% % right type
- {%
- \thicklines%
- \put(103,221){\line(0,1){100}}% % single bond at 2
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=0\relax
- \yl@ydiff=21\relax
- \putlatom{-41}{240}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(59,201){\line(-5,3){100}}% % single bond at 2
- }{{\thicklines%
- \dottedline{20}(59,201)(-41,261)}}%1998/10/11 by SF
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=0\relax
- \yl@ydiff=21\relax
- \putlatom{-41}{240}{\@memberb}% % left type
- \put(59,201){\line(-5,3){100}}% % single bond at 2
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=20\relax
- \yl@ydiff=-10\relax
- \putratom{83}{331}{\@memberb}% % right type
- \put(103,221){\line(0,1){100}}% % single bond at 2
- \fi\fi\fi\fi\fi%
- \fi\fi
- \else\if\@tmpb D%double bond
- \yl@xdiff=49\relax
- \yl@ydiff=-13\relax
- \putlratom{-27}{331}{\@memberb}%
- \put(78,208){\line(-3,5){63}}% % double bond at 2(62->63)
- \put(100,219){\line(-3,5){63}}% % double bond at 2(62->63)
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=43\relax
- \yl@ydiff=5\relax
- \putlratom{-27}{331}{\@memberb}%
- {%
- \thicklines%
- \put(79,221){\line(-3,5){63}}% % single bond at 2 (62->63)
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=43\relax
- \yl@ydiff=5\relax
- \putlratom{-27}{331}{\@memberb}%
- \@ifundefined{dottedline}{%
- \put(79,221){\line(-3,5){63}}% % single bond at 2(62->63)
- }{{\thicklines%
- \dottedline{20}(79,221)(16,326)}}%1998/10/11 by SF
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(103,171){\setatombondh}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(103,171){\setatombondF}%
- }%
- \else%
- \yl@xdiff=43\relax
- \yl@ydiff=5\relax
- \putlratom{-27}{331}{\@memberb}%
- \put(79,221){\line(-3,5){63}}% % single bond at 2 (62->63)
- \fi\fi\fi\fi%
- \fi\fi
- \else%%no clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=58\relax
- \yl@ydiff=-41\relax
- \putlratom{-27}{331}{\@memberb}%
- \put(103,171){\line(-3,5){72}}% % single bond at 2
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=14\relax
- \yl@ydiff=-3\relax
- \putlatom{-31}{240}{\@memberb}% % left type
- {%
- \thicklines%
- \put(103,171){\line(-5,3){120}}% % single bond at 2
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=20\relax
- \yl@ydiff=-20\relax
- \putratom{83}{331}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(103,171){\line(0,1){140}}% % single bond at 2
- }{{\thicklines%
- \dottedline{20}(103,171)(103,311)}}%1998/10/11 by SF
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=20\relax
- \yl@ydiff=-20\relax
- \putratom{83}{331}{\@memberb}% % right type
- {%
- \thicklines%
- \put(103,171){\line(0,1){140}}% % single bond at 2
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=14\relax
- \yl@ydiff=-3\relax
- \putlatom{-31}{240}{\@memberb}% % left type
- \@ifundefined{dottedline}{%
- \put(103,171){\line(-5,3){120}}% % single bond at 2
- }{{\thicklines%
- \dottedline{20}(103,171)(-7,243)}}%1998/10/11 by SF
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=14\relax
- \yl@ydiff=-3\relax
- \putlatom{-31}{240}{\@memberb}% % left type
- \put(103,171){\line(-5,3){120}}% % single bond at 2
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=20\relax
- \yl@ydiff=-20\relax
- \putratom{83}{331}{\@memberb}% % right type
- \put(103,171){\line(0,1){140}}% % single bond at 2
- \fi\fi\fi\fi\fi%
- \fi\fi
- \else\if\@tmpb D%double bond
- \yl@xdiff=64\relax
- \yl@ydiff=-41\relax
- \putlratom{-27}{331}{\@memberb}%
- \put(96,168){\line(-3,5){72}}% % double bond at 2
- \put(121,174){\line(-3,5){72}}% % double bond at 2
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=58\relax
- \yl@ydiff=-41\relax
- \putlratom{-27}{331}{\@memberb}%
- {%
- \thicklines%
- \put(103,171){\line(-3,5){72}}% % single bond at 2
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=58\relax
- \yl@ydiff=-41\relax
- \putlratom{-27}{331}{\@memberb}%
- \@ifundefined{dottedline}{%
- \put(103,171){\line(-3,5){72}}% % single bond at 2
- }{{\thicklines%
- \dottedline{20}(103,171)(31,291)}}%
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(103,171){\setatombondh}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(103,171){\setatombondF}%
- }%
- \else%
- \yl@xdiff=58\relax
- \yl@ydiff=-41\relax
- \putlratom{-27}{331}{\@memberb}%
- \put(103,171){\line(-3,5){72}}% % single bond at 2
- \fi\fi\fi\fi%
- \fi\fi
- \fi}% end of \@hsubstb
-% \end{macrocode}
-% \end{macro}
-%
-% The |\@hsubstc| command is used for placing a substituent (|\@memberb|) at
-% the 3-position (upper-right) of a vertical six-membered ring.
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/15}{Added bond modifiers: FA, FB, GA, GB, Su, Sd}
-% \begin{macro}{\@hsubstc}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 3 %
-% %%%%%%%%%%%%%%%
-\def\@hsubstc{%
- \if@cclip %clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=43\relax
- \yl@ydiff=5\relax
- \putratom{363}{331}{\@memberb}%
- \put(343,221){\line(3,5){63}}% % single bond at 3 (62->63)
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=0\relax
- \yl@ydiff=21\relax
- \putratom{443}{240}{\@memberb}% % right type
- {%
- \thicklines%
- \put(343,201){\line(5,3){100}}% % single bond at 3
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=20\relax
- \yl@ydiff=0\relax
- \putratom{283}{331}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(303,221){\line(0,1){110}}% % single bond at 3
- }{{\thicklines%
- \dottedline{20}(303,221)(303,331)}}%
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=20\relax
- \yl@ydiff=0\relax
- \putratom{283}{331}{\@memberb}% % right type
- {%
- \thicklines%
- \put(303,221){\line(0,1){110}}% % single bond at 3
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=0\relax
- \yl@ydiff=21\relax
- \putratom{443}{240}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(343,201){\line(5,3){100}}% % single bond at 3
- }{{\thicklines%
- \dottedline{20}(343,201)(443,261)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=0\relax
- \yl@ydiff=21\relax
- \putratom{443}{240}{\@memberb}% % right type
- \put(343,201){\line(5,3){100}}% % single bond at 3
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=20\relax
- \yl@ydiff=0\relax
- \putratom{283}{331}{\@memberb}% % right type
- \put(303,221){\line(0,1){110}}% % single bond at 3
- \fi\fi\fi\fi\fi%
- \fi\fi
- \else\if\@tmpb D%double bond
- \yl@xdiff=22\relax
- \yl@ydiff=-18\relax
- \putratom{363}{331}{\@memberb}%
- \put(328,208){\line(3,5){63}}% % double bond at 3
- \put(303,214){\line(3,5){63}}% % double bond at 3
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=43\relax
- \yl@ydiff=5\relax
- \putratom{363}{331}{\@memberb}%
- {%
- \thicklines%
- \put(343,221){\line(3,5){63}}% % single bond at 3
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=43\relax
- \yl@ydiff=5\relax
- \putratom{363}{331}{\@memberb}%
- \@ifundefined{dottedline}{%
- \put(343,221){\line(3,5){63}}% % single bond at 3 (62->63)
- }{{\thicklines%
- \dottedline{20}(343,221)(406,326)}}% 1998/10/11 by SF
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(303,171){\setatombondD}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(303,171){\setatombondb}%
- }%
- \else%
- \yl@xdiff=43\relax
- \yl@ydiff=5\relax
- \putratom{363}{331}{\@memberb}%
- \put(343,221){\line(3,5){63}}% % single bond at 3 (62->63)
- \fi\fi\fi\fi%
- \fi\fi
- \else%no clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=12\relax
- \yl@ydiff=-40\relax
- \putratom{363}{331}{\@memberb}%
- \put(303,171){\line(3,5){72}}% % single bond at 3
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=-20\relax
- \yl@ydiff=3\relax
- \putratom{443}{240}{\@memberb}% % right type
- {%
- \thicklines%
- \put(303,171){\line(5,3){120}}% % single bond at 3
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=20\relax
- \yl@ydiff=-20\relax
- \putratom{283}{331}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(303,171){\line(0,1){140}}% % single bond at 3
- }{{\thicklines%
- \dottedline{20}(303,171)(303,311)}}%
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=20\relax
- \yl@ydiff=-20\relax
- \putratom{283}{331}{\@memberb}% % right type
- {%
- \thicklines%
- \put(303,171){\line(0,1){140}}% % single bond at 3
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=-20\relax
- \yl@ydiff=3\relax
- \putratom{443}{240}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(303,171){\line(5,3){120}}% % single bond at 3
- }{{\thicklines%
- \dottedline{20}(303,171)(423,243)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-20\relax
- \yl@ydiff=3\relax
- \putratom{443}{240}{\@memberb}% % right type
- \put(303,171){\line(5,3){120}}% % single bond at 3
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=20\relax
- \yl@ydiff=-20\relax
- \putratom{283}{331}{\@memberb}% % right type
- \put(303,171){\line(0,1){140}}% % single bond at 3
- \fi\fi\fi\fi\fi%
- \fi\fi%
- \else\if\@tmpb D%double bond
- \yl@xdiff=6\relax
- \yl@ydiff=-40\relax
- \putratom{363}{331}{\@memberb}%
- \put(310,168){\line(3,5){72}}% % double bond at 3
- \put(284,174){\line(3,5){72}}% % double bond at 3
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=12\relax
- \yl@ydiff=-40\relax
- \putratom{363}{331}{\@memberb}%
- {%
- \thicklines%
- \put(303,171){\line(3,5){72}}% % single bond at 3
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=12\relax
- \yl@ydiff=-40\relax
- \putratom{363}{331}{\@memberb}%
- \@ifundefined{dottedline}{%
- \put(303,171){\line(3,5){72}}% % single bond at 3
- }{{\thicklines%
- \dottedline{20}(303,171)(375,291)}}%
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(303,171){\setatombondD}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(303,171){\setatombondb}%
- }%
- \else%
- \yl@xdiff=12\relax
- \yl@ydiff=-40\relax
- \putratom{363}{331}{\@memberb}%
- \put(303,171){\line(3,5){72}}% % single bond at 3
- \fi\fi\fi\fi%
- \fi\fi
- \fi}% end of \@hsubstc
-% \end{macrocode}
-% \end{macro}
-%
-% The |\@hsubstd| command is used for placing a substituent (|\@memberb|) at
-% the 4-position (right-hand) of a vertical six-membered ring.
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/15}{Added bond modifiers: FA, FB, GA, GB, Su, Sd}
-% \begin{macro}{\@substd}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 4 %
-% %%%%%%%%%%%%%%%
-\def\@hsubstd{%
-\if@clip %clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \putratom{563}{-31}{\@memberb}% % right type only
- \put(436,0){\line(1,0){110}}% % single bond at 4
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=-27\relax
- \yl@ydiff=36\relax
- \putratom{563}{42}{\@memberb}% % right type only
- {%
- \thicklines%
- \put(436,18){\line(5,3){100}}% % single bond at 4
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=-27\relax
- \yl@ydiff=22\relax
- \putratom{563}{-100}{\@memberb}% % right type only
- \@ifundefined{dottedline}{%
- \put(436,-18){\line(5,-3){100}}% % single bond at 4
- }{{\thicklines%
- \dottedline{20}(436,-18)(526,-72)}}%
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=-27\relax
- \yl@ydiff=22\relax
- \putratom{563}{-100}{\@memberb}% % right type only
- {%
- \thicklines%
- \put(436,-18){\line(5,-3){100}}% % single bond at 4
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=-27\relax
- \yl@ydiff=36\relax
- \putratom{563}{42}{\@memberb}% % right type only
- \@ifundefined{dottedline}{%
- \put(436,18){\line(5,3){100}}% % single bond at 4
- }{{\thicklines%
- \dottedline{20}(436,18)(536,78)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-27\relax
- \yl@ydiff=36\relax
- \putratom{563}{42}{\@memberb}% % right type only
- \put(436,18){\line(5,3){100}}% % single bond at 4
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=-27\relax
- \yl@ydiff=22\relax
- \putratom{563}{-100}{\@memberb}% % right type only
- \put(436,-18){\line(5,-3){100}}% % single bond at 4
- \fi\fi\fi\fi\fi%
- \fi\fi
- \else\if\@tmpb D%double bond
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \putratom{563}{-31}{\@memberb}% % right type only
- \put(436,-12){\line(1,0){110}}% % double bond at 4
- \put(436,12){\line(1,0){110}}% % double bond at 4
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \putratom{563}{-31}{\@memberb}% % right type only
- {%
- \thicklines%
- \put(436,0){\line(1,0){110}}% % single bond at 4
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \putratom{563}{-31}{\@memberb}% % right type only
- \@ifundefined{dottedline}{%
- \put(436,0){\line(1,0){110}}% % single bond at 4
- }{{\thicklines%
- \dottedline{20}(436,0)(546,0)}}%
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(406,0){\setatombondF}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(406,0){\setatombondE}%
- }%
- \else%
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \putratom{563}{-31}{\@memberb}% % right type only
- \put(436,0){\line(1,0){110}}% % single bond at 4
- \fi\fi\fi\fi%
- \fi\fi
-\else%% no clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \putratom{563}{-31}{\@memberb}% % right type only
- \put(406,0){\line(1,0){140}}% % single bond at 4
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=-37\relax
- \yl@ydiff=30\relax
- \putratom{563}{42}{\@memberb}% % right type only
- {%
- \thicklines%
- \put(406,0){\line(5,3){120}}% % single bond at 4
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=-37\relax
- \yl@ydiff=28\relax
- \putratom{563}{-100}{\@memberb}% % right type only
- \@ifundefined{dottedline}{%
- \put(406,0){\line(5,-3){120}}% % single bond at 4
- }{{\thicklines%
- \dottedline{20}(406,0)(526,-72)}}%
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=-37\relax
- \yl@ydiff=28\relax
- \putratom{563}{-100}{\@memberb}% % right type only
- {%
- \thicklines%
- \put(406,0){\line(5,-3){120}}% % single bond at 4
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=-37\relax
- \yl@ydiff=30\relax
- \putratom{563}{42}{\@memberb}% % right type only
- \@ifundefined{dottedline}{%
- \put(406,0){\line(5,3){120}}% % single bond at 4
- }{{\thicklines%
- \dottedline{20}(406,0)(526,72)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-37\relax
- \yl@ydiff=30\relax
- \putratom{563}{42}{\@memberb}% % right type only
- \put(406,0){\line(5,3){120}}% % single bond at 4
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=-37\relax
- \yl@ydiff=28\relax
- \putratom{563}{-100}{\@memberb}% % right type only
- \put(406,0){\line(5,-3){120}}% % single bond at 4
- \fi\fi\fi\fi\fi%
- \fi\fi
- \else\if\@tmpb D%double bond
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \putratom{563}{-31}{\@memberb}% % right type only
- \put(406,-12){\line(1,0){140}}% % double bond at 4
- \put(406,12){\line(1,0){140}}% % double bond at 4
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \putratom{563}{-31}{\@memberb}% % right type only
- {%
- \thicklines%
- \put(406,0){\line(1,0){140}}% % single bond at 4
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \putratom{563}{-31}{\@memberb}% % right type only
- \@ifundefined{dottedline}{%
- \put(406,0){\line(1,0){140}}% % single bond at 4
- }{{\thicklines%
- \dottedline{20}(406,0)(546,0)}}%
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(406,0){\setatombondF}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(406,0){\setatombondE}%
- }%
- \else%
- \yl@xdiff=-17\relax
- \yl@ydiff=31\relax
- \putratom{563}{-31}{\@memberb}% % right type only
- \put(406,0){\line(1,0){140}}% % single bond at 4
- \fi\fi\fi\fi%
- \fi\fi
- \fi}% end of \@hsubstd
-% \end{macrocode}
-% \end{macro}
-%
-% The |\@hsubste| command is used for placing a substituent (|\@memberb|) at
-% the 5-position (lower-right) of a vertical six-membered ring.
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/15}{Added bond modifiers: FA, FB, GA, GB, Su, Sd}
-% \begin{macro}{\@hsubste}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 5 %
-% %%%%%%%%%%%%%%%
-\def\@hsubste{%
- \if@eclip %clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=43\relax
- \yl@ydiff=76\relax
- \putratom{363}{-402}{\@memberb}%
- \put(343,-221){\line(3,-5){63}}%% single bond at 5 (62=>63)
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=0\relax
- \yl@ydiff=41\relax
- \putratom{443}{-301}{\@memberb}% % right type
- {%
- \thicklines%
- \put(343,-201){\line(5,-3){100}}% % single bond at 5
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=20\relax
- \yl@ydiff=71\relax
- \putratom{283}{-402}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(303,-221){\line(0,-1){110}}% % single bond at 5
- }{{\thicklines%
- \dottedline{20}(303,-221)(303,-321)}}%
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=20\relax
- \yl@ydiff=71\relax
- \putratom{283}{-402}{\@memberb}% % right type
- {%
- \thicklines%
- \put(303,-221){\line(0,-1){110}}% % single bond at 5
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=0\relax
- \yl@ydiff=41\relax
- \putratom{443}{-301}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(343,-201){\line(5,-3){100}}% % single bond at 5
- }{{\thicklines%
- \dottedline{20}(343,-201)(443,-260)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=0\relax
- \yl@ydiff=41\relax
- \putratom{443}{-301}{\@memberb}% % right type
- \put(343,-201){\line(5,-3){100}}% % single bond at 5
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=20\relax
- \yl@ydiff=71\relax
- \putratom{283}{-402}{\@memberb}% % right type
- \put(303,-221){\line(0,-1){110}}% % single bond at 5
- \fi\fi\fi\fi\fi%
- \fi\fi
- \else\if\@tmpb D%double bond
- \yl@xdiff=22\relax
- \yl@ydiff=82\relax
- \putratom{363}{-402}{\@memberb}
- \put(328,-208){\line(3,-5){63}}% % double bond at 5 (62->63)
- \put(306,-224){\line(3,-5){63}}% % double bond at 5 (62->63)
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=43\relax
- \yl@ydiff=76\relax
- \putratom{363}{-402}{\@memberb}%
- {%
- \thicklines%
- \put(343,-221){\line(3,-5){63}}%% single bond at 5(62->63)
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=43\relax
- \yl@ydiff=76\relax
- \putratom{363}{-402}{\@memberb}%
- \@ifundefined{dottedline}{%
- \put(343,-221){\line(3,-5){63}}% % single bond at 5 (62->63)
- }{{\thicklines%
- \dottedline{20}(343,-221)(406,-326)}}%1998/10/11 by SF
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(303,-171){\setatombondb}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(303,-171){\setatombondG}%
- }%
- \else%
- \yl@xdiff=43\relax
- \yl@ydiff=76\relax
- \putratom{363}{-402}{\@memberb}%
- \put(343,-221){\line(3,-5){63}}% % single bond at 5(62->63)
- \fi\fi\fi\fi%
- \fi\fi
- \else%no clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=9\relax
- \yl@ydiff=111\relax
- \putratom{363}{-402}{\@memberb}%
- \put(303,-171){\line(3,-5){72}}% % single bond at 5
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=-20\relax
- \yl@ydiff=58\relax
- \putratom{443}{-301}{\@memberb}% % right type
- {%
- \thicklines%
- \put(303,-171){\line(5,-3){120}}% % single bond at 5
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=20\relax
- \yl@ydiff=81\relax
- \putratom{283}{-402}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(303,-171){\line(0,-1){140}}% % single bond at 5
- }{{\thicklines%
- \dottedline{20}(303,-171)(303,-321)}}%
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=20\relax
- \yl@ydiff=81\relax
- \putratom{283}{-402}{\@memberb}% % right type
- {%
- \thicklines%
- \put(303,-171){\line(0,-1){140}}% % single bond at 5
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=-20\relax
- \yl@ydiff=58\relax
- \putratom{443}{-301}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(303,-171){\line(5,-3){120}}% % single bond at 5
- }{{\thicklines%
- \dottedline{20}(303,-171)(423,-243)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-20\relax
- \yl@ydiff=58\relax
- \putratom{443}{-301}{\@memberb}% % right type
- \put(303,-171){\line(5,-3){120}}% % single bond at 5
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=20\relax
- \yl@ydiff=81\relax
- \putratom{283}{-402}{\@memberb}% % right type
- \put(303,-171){\line(0,-1){140}}% % single bond at 5
- \fi\fi\fi\fi\fi%
- \fi\fi
- \else\if\@tmpb D%double bond
- \yl@xdiff=3\relax
- \yl@ydiff=111\relax
- \putratom{363}{-402}{\@memberb}%
- \put(310,-168){\line(3,-5){72}}% % double bond at 5
- \put(284,-174){\line(3,-5){72}}% % double bond at 5
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=9\relax
- \yl@ydiff=111\relax
- \putratom{363}{-402}{\@memberb}%
- {%
- \thicklines%
- \put(303,-171){\line(3,-5){72}}% % single bond at 5
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=9\relax
- \yl@ydiff=111\relax
- \putratom{363}{-402}{\@memberb}%
- \@ifundefined{dottedline}{%
- \put(303,-171){\line(3,-5){72}}% % single bond at 5
- }{{\thicklines%
- \dottedline{20}(303,-171)(375,-291)}}%
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(303,-171){\setatombondb}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(303,-171){\setatombondG}%
- }%
- \else%
- \yl@xdiff=9\relax
- \yl@ydiff=111\relax
- \putratom{363}{-402}{\@memberb}%
- \put(303,-171){\line(3,-5){72}}% % single bond at 5
- \fi\fi\fi\fi%
- \fi\fi
- \fi}% end of \@hsubste
-% \end{macrocode}
-% \end{macro}
-%
-% The |\@hsubstf| command is used for placing a substituent (|\@memberb|) at
-% the 6-position (lower-left) of a vertical six-membered ring.
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/15}{Added bond modifiers: FA, FB, GA, GB, Su, Sd}
-% \begin{macro}{\@hsubstf}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 6 %
-% %%%%%%%%%%%%%%%
-\def\@hsubstf{%
- \if@fclip %clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=43\relax
- \yl@ydiff=76\relax
- \putlratom{-27}{-402}{\@memberb}%
- \put(79,-221){\line(-3,-5){63}}% % single bond at 6 (62=>63)
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=-10\relax
- \yl@ydiff=40\relax
- \putlatom{-31}{-301}{\@memberb}% % right type
- {%
- \thicklines%
- \put(59,-201){\line(-5,-3){100}}% % single bond at 6
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=20\relax
- \yl@ydiff=81\relax
- \putratom{83}{-402}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(103,-221){\line(0,-1){100}}% % single bond at 6
- }{{\thicklines%
- \dottedline{20}(103,-221)(103,-321)}}%
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=20\relax
- \yl@ydiff=81\relax
- \putratom{83}{-402}{\@memberb}% % right type
- {%
- \thicklines%
- \put(103,-221){\line(0,-1){100}}% % single bond at 6
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=-10\relax
- \yl@ydiff=40\relax
- \putlatom{-31}{-301}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(59,-201){\line(-5,-3){100}}% % single bond at 6
- }{{\thicklines%
- \dottedline{20}(59,-201)(-41,-261)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-10\relax
- \yl@ydiff=40\relax
- \putlatom{-31}{-301}{\@memberb}% % right type
- \put(59,-201){\line(-5,-3){100}}% % single bond at 6
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=20\relax
- \yl@ydiff=81\relax
- \putratom{83}{-402}{\@memberb}% % right type
- \put(103,-221){\line(0,-1){100}}% % single bond at 6
- \fi\fi\fi\fi\fi
- \fi\fi
- \else\if\@tmpb D%double bond
- \yl@xdiff=49\relax
- \yl@ydiff=82\relax
- \putlratom{-27}{-402}{\@memberb}%
- \put(78,-208){\line(-3,-5){63}}% % double bond at 6 (62->63)
- \put(106,-219){\line(-3,-5){63}}% % double bond at 6 (62->63)
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=43\relax
- \yl@ydiff=76\relax
- \putlratom{-27}{-402}{\@memberb}%
- {%
- \thicklines%
- \put(79,-221){\line(-3,-5){63}}% % single bond at 6 (62=>63)
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=43\relax
- \yl@ydiff=76\relax
- \putlratom{-27}{-402}{\@memberb}%
- \@ifundefined{dottedline}{%
- \put(79,-221){\line(-3,-5){63}}% single bond at 6 (62=>63)
- }{{\thicklines%
- \dottedline{20}(79,-221)(16,-326)}}%1998/10/11 by SF
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(103,-171){\setatombondE}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusetrue
- \put(103,-171){\setatombondh}%
- }%
- \else%
- \yl@xdiff=43\relax
- \yl@ydiff=76\relax
- \putlratom{-27}{-402}{\@memberb}%
- \put(79,-221){\line(-3,-5){63}}% % single bond at 6(62->63)
- \fi\fi\fi\fi%
- \fi\fi
- \else%%no clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=59\relax
- \yl@ydiff=111\relax
- \putlratom{-27}{-402}{\@memberb}%
- \put(108,-171){\line(-3,-5){72}}% % single bond at 6
-% \else\if\@tmpb B%beta single bond
- \else\if\@tmpc B%beta single bond%1998/10/11 by S. Fujita
- \yl@xdiff=8\relax
- \yl@ydiff=58\relax
- \putlatom{-31}{-301}{\@memberb}% % right type
- {%
- \thicklines%
- \put(103,-171){\line(-5,-3){120}}% % single bond at 6
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=20\relax
- \yl@ydiff=91\relax
- \putratom{83}{-402}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(103,-171){\line(0,-1){140}}% % single bond at 6
- }{{\thicklines%
- \dottedline{20}(103,-171)(103,-311)}}%1998/10/17 by SF
- \else\if\@tmpc u%(u) up --- (B) beta
- \yl@xdiff=20\relax
- \yl@ydiff=91\relax
- \putratom{83}{-402}{\@memberb}% % right type
- {%
- \thicklines%
- \put(103,-171){\line(0,-1){140}}% % single bond at 6
- }%
- \else\if\@tmpc d%(d) down --- (A) alpha
- \yl@xdiff=8\relax
- \yl@ydiff=58\relax
- \putlatom{-31}{-301}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(103,-171){\line(-5,-3){120}}% % single bond at 6
- }{{\thicklines%
- \dottedline{20}(103,-171)(-17,-243)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=8\relax
- \yl@ydiff=58\relax
- \putlatom{-31}{-301}{\@memberb}% % right type
- \put(103,-171){\line(-5,-3){120}}% % single bond at 6
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=20\relax
- \yl@ydiff=91\relax
- \putratom{83}{-402}{\@memberb}% % right type
- \put(103,-171){\line(0,-1){140}}% % single bond at 6
- \fi\fi\fi\fi\fi%
- \fi\fi
- \else\if\@tmpb D%double bond
- \yl@xdiff=65\relax
- \yl@ydiff=111\relax
- \putlratom{-27}{-402}{\@memberb}%
- \put(96,-168){\line(-3,-5){72}}% % double bond at 6
- \put(121,-174){\line(-3,-5){72}}% % double bond at 6
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=59\relax
- \yl@ydiff=111\relax
- \putlratom{-27}{-402}{\@memberb}%
- \put(108,-171){\line(-3,-5){72}}% % single bond at 6
- {%
- \thicklines%
- \put(108,-171){\line(-3,-5){72}}% % single bond at 6
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=59\relax
- \yl@ydiff=111\relax
- \putlratom{-27}{-402}{\@memberb}%
- \@ifundefined{dottedline}{%
- \put(108,-171){\line(-3,-5){72}}% % single bond at 6
- }{{\thicklines%
- \dottedline{20}(103,-171)(31,-291)}}%
- \else\if\@tmpb F%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(103,-171){\setatombondE}%
- }%
- \else\if\@tmpb G%fused bond
- {\let\@tmpb=\@tmpc\@clipfusefalse
- \put(103,-171){\setatombondh}%
- }%
- \else%
- \yl@xdiff=59\relax
- \yl@ydiff=111\relax
- \putlratom{-27}{-402}{\@memberb}%
- \put(108,-171){\line(-3,-5){72}}% % single bond at 6
- \fi\fi\fi\fi%
- \fi\fi
- \fi}% end of \@hsubstf
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Setting-up substituents and bonds on a six-membered ring}
-%
-% The |\setsixringh| macro takes 5 arguments, which have the same meanings
-% as described in the definition of the |\setsixringv| macro.
-%
-% \begin{verbatim}
-% ****************************************************************
-% * setting of atoms and bonds on a horizontal six-membered ring *
-% ****************************************************************
-%
-% \setsixringh{SUBSLIST}{AD}{LOWER}{UPPER}{ORDER}
-%
-% \end{verbatim}
-%
-% The first argument |SUBSLIST| is a list of substituents, which is
-% represented in the standard format of \XyMTeX{}.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents (max 6 substitution positions)
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% \end{verbatim}
-%
-% The second argument |AD| is an adjustment value, which adjusts the original
-% set of locant numbers into the standard one between 1 to 6 for drawing
-% a six-membered ring.
-% The effective range of the standared set of locant numbers is
-% restricted by the auguments |LOWER| and |UPPER|. A minus value of
-% the last argument shows the anti-clockwise numbering, while zero or
-% a plus value represents the clockwise numbering.
-%
-% \begin{verbatim}
-% AD : adjustment e.g. 0 for six-membered rings
-% LOWER : lower limit LOWER < effective range < UPPER
-% UPPER : upper limit
-% ORDER : >= 0 clockwise, <0 anti-clockwise
-%
-% \end{verbatim}
-%
-% \changes{v1.02}{1998/10/11}{Adding switches \cs{@yla} etc.}
-% \changes{v1.02}{1998/10/31}{Deleting switches \cs{@yla} etc.}
-%
-% \begin{macro}{\setsixringh}
-% \begin{macrocode}
-\def\setsixringh#1#2#3#4#5{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifnum#5 < 0\relax%
-\@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
-\else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax \fi
-\ifnum\@tmpaa >#3\relax%
-\ifnum\@tmpaa <#4\relax%
-\ifcase\@tmpaa%0 omit
-% \end{macrocode}
-%
-% The following commands are not used in a revised version
-% because of the direct use of |\ifx\@memberb\@yl\else...\fi|.
-%
-% \begin{macrocode}
-% %\or \if@yla\else\@hsubsta\fi% subst. on 1
-% %\or \if@ylb\else\@hsubstb\fi% subst. on 2
-% %\or \if@ylc\else\@hsubstc\fi% subst. on 3
-% %\or \if@yld\else\@hsubstd\fi% subst. on 4
-% %\or \if@yle\else\@hsubste\fi% subst. on 5
-% %\or \if@ylf\else\@hsubstf\fi% subst. on 6
-% \end{macrocode}
-%
-% \begin{macrocode}
- \or\@hsubsta% subst. on 1
- \or\@hsubstb% subst. on 2
- \or\@hsubstc% subst. on 3
- \or\@hsubstd% subst. on 4
- \or\@hsubste% subst. on 5
- \or\@hsubstf% subst. on 6
-\fi%end of ifcase
-\fi\fi\fi\fi}}% %end of setsixringh
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Mocros linking Substituents}
-% \subsection{Right-handed linking unit}
-%
-% A structure-drawing command can be used to typeset a substituent
-% by using a (yl)-argument. Moreover, the macro |\ryl| permits us
-% to draw an intermediate linking unit.
-% \changes{v1.02}{1998/10/25}{New command: \cs{ryl} etc.}
-%
-% \begin{macro}{\ryl}
-% \begin{macro}{\@ryl}
-% \begin{macrocode}
-\newcount\x@ryl
-\newcount\y@ryl
-\def\ryl{\@ifnextchar({\@ryl}{\@ryl()}}
-\def\@ryl(#1)#2{%
-\iniatom\iniflag%initialize
-\@reset@ylsw%
-\def\centeraaa{}%
-\x@ryl=0\y@ryl=0
-\@forsemicol\member:=#1\do{%
-\if@ylsw%
-\XyMTeXWarning{Duplicated items in the first augument of \string\ryl}%
-\else%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\settowidth{\dimen0}{\@memberb}%
-\x@ryl=\dimen0%%%dimension => counter
-\divide\x@ryl\unitlength
-\advance\x@ryl by-70
-\y@ryl=0
-\ifcase\@tmpa%
-\def\centeraaa{\@memberb}\@ylswtrue
-\advance\y@ryl by50
-\or%1
-\def\centeraaa{\@memberb}\@ylswtrue
-\advance\x@ryl by30
-\advance\y@ryl by50
-\or%2
-\def\centeraaa{\@memberb}\@ylswtrue
-\advance\x@ryl by40
-\advance\y@ryl by40
-\or%3
-\def\centeraaa{\@memberb}\@ylswtrue
-\advance\x@ryl by50
-\advance\y@ryl by30
-\or%4
-\def\centeraaa{\@memberb}\@ylswtrue
-\advance\x@ryl by50
-\advance\y@ryl by0
-\or%5
-\def\centeraaa{\@memberb}\@ylswtrue
-\advance\x@ryl by50
-\advance\y@ryl by-30
-\or%6
-\def\centeraaa{\@memberb}\@ylswtrue
-\advance\x@ryl by50
-\advance\y@ryl by-50
-\or%7
-\def\centeraaa{\@memberb}\@ylswtrue
-\advance\x@ryl by30
-\advance\y@ryl by-50
-\or%8
-\def\centeraaa{\@memberb}\@ylswtrue
-\advance\y@ryl by-50
-\fi
-\fi\fi}%
- \yl@shiftii=\x@ryl
- \yl@shifti=-\y@ryl
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\ifx\centeraaa\empty\else%
- \@clipfusetrue
- \putlatom{40}{-30}{\centeraaa}% % left type
-\fi%
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifcase\@tmpa%
-\setatombonda% 0 (upward) (0,1)
-\or\setatombondF%1 (3,5)
-\or\setatombondA%2 (1,1)
-\or\setatombondf%3 (5,3)
-\or\setatombondb%4 (1,0)
-\or\setatombonde%5 (5,-3)
-\or\setatombondB%6 (1,-1)
-\or\setatombondE%7 (3,-5)
-\or\setatombondc%8 (0,-1)
-\fi%end of ifcase
-\fi
-}\end{picture}}% %end of \ryl macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The substituent-setting commands |\setatombondF| etc. are used
-% in the macro |\ryl|.
-%
-% \begin{macro}{\setatombondF}
-% \changes{v1.02}{1998/10/25}{New command: \cs{setatombondF}}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-\def\setatombondF{%% (3,5)
- \if@clipfuse%
- \if\@tmpb B%beta single bond
- \yl@xdiff=10\relax
- \yl@ydiff=-10\relax
- {%
- \thicklines%
- \put(30,50){\line(3,5){60}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=10\relax
- \yl@ydiff=-10\relax
- \@ifundefined{dottedline}{%
- \put(30,50){\line(3,5){60}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(30,50)(90,150)}}%
- \else\if\@tmpb U%unspecified single bond
- \yl@xdiff=10\relax
- \yl@ydiff=-10\relax
- \put(30,50){\line(3,5){60}}% % single bond at 1
- \else\if\@tmpb S%beta single bond
- \yl@xdiff=10\relax
- \yl@ydiff=-10\relax
- \put(30,50){\line(3,5){60}}% % single bond at 1
- \else\if\@tmpb D%double bond
- \yl@xdiff=10\relax
- \yl@ydiff=-10\relax
- \put(40,44){\line(3,5){60}}% % single bond at 1
- \put(20,56){\line(3,5){60}}% % single bond at 1
- \else\if\@tmpb T%triple bond
- \yl@xdiff=10\relax
- \yl@ydiff=-10\relax
- \put(45,41){\line(3,5){60}}% % single bond at 1
- \put(30,50){\line(3,5){60}}% % single bond at 1
- \put(15,59){\line(3,5){60}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
- \yl@xdiff=10\relax
- \yl@ydiff=-10\relax
- \put(30,50){\line(3,5){60}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putratom{80}{160}{\@memberb}% % right type
- \else%no clipping
- \if\@tmpb B%beta single bond
- \yl@xdiff=10\relax
- \yl@ydiff=-10\relax
- {%
- \thicklines%
- \put(0,0){\line(3,5){90}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=10\relax
- \yl@ydiff=-10\relax
- \@ifundefined{dottedline}{%
- \put(0,0){\line(3,5){90}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,0)(90,150)}}%
- \else\if\@tmpb U%unspecified single bond
- \yl@xdiff=10\relax
- \yl@ydiff=-10\relax
- \put(0,0){\line(3,5){90}}% % single bond at 1
- \else\if\@tmpb S%beta single bond
- \yl@xdiff=10\relax
- \yl@ydiff=-10\relax
- \put(0,0){\line(3,5){90}}% % single bond at 1
- \else\if\@tmpb D%beta single bond
- \yl@xdiff=10\relax
- \yl@ydiff=-10\relax
- \put(10,-6){\line(3,5){90}}% % single bond at 1
- \put(-10,6){\line(3,5){90}}% % single bond at 1
- \else\if\@tmpb T%beta single bond
- \yl@xdiff=10\relax
- \yl@ydiff=-10\relax
- \put(15,-9){\line(3,5){90}}% % single bond at 1
- \put(0,0){\line(3,5){90}}% % single bond at 1
- \put(-15,9){\line(3,5){90}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
- \yl@xdiff=10\relax
- \yl@ydiff=-10\relax
- \put(0,0){\line(3,5){90}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putratom{80}{160}{\@memberb}% % right type
- \fi%
-}% end of \setatombondF
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\setatombondE}
-% \changes{v1.02}{1998/10/25}{New command: \cs{setatombondE}}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-\def\setatombondE{%% (3,-5)
- \if@clipfuse%
- \yl@xdiff=10\relax
- \yl@ydiff=70\relax
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
- \put(30,-50){\line(3,-5){60}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \@ifundefined{dottedline}{%
- \put(30,-50){\line(3,-5){60}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(30,-50)(90,-150)}}%
- \else\if\@tmpb U%unspecified single bond
- \put(30,-50){\line(3,-5){60}}% % single bond at 1
- \else\if\@tmpb S%beta single bond
- \put(30,-50){\line(3,-5){60}}% % single bond at 1
- \else\if\@tmpb D%double bond
- \put(40,-44){\line(3,-5){60}}% % single bond at 1
- \put(20,-56){\line(3,-5){60}}% % single bond at 1
- \else\if\@tmpb T%triple bond
- \put(45,-41){\line(3,-5){60}}% % single bond at 1
- \put(30,-50){\line(3,-5){60}}% % single bond at 1
- \put(15,-59){\line(3,-5){60}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
- \put(30,-50){\line(3,-5){60}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putratom{80}{-220}{\@memberb}% % right type
- \else%no clipping
- \yl@xdiff=10\relax
- \yl@ydiff=70\relax
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
- \put(0,0){\line(3,-5){90}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \@ifundefined{dottedline}{%
- \put(0,0){\line(3,-5){90}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,0)(90,-150)}}%
- \else\if\@tmpb U%unspecified single bond
- \put(0,0){\line(3,-5){90}}% % single bond at 1
- \else\if\@tmpb S%beta single bond
- \put(0,0){\line(3,-5){90}}% % single bond at 1
- \else\if\@tmpb D%beta single bond
- \put(10,6){\line(3,-5){90}}% % single bond at 1
- \put(-10,-6){\line(3,-5){90}}% % single bond at 1
- \else\if\@tmpb T%beta single bond
- \put(15,9){\line(3,-5){90}}% % single bond at 1
- \put(0,0){\line(3,-5){90}}% % single bond at 1
- \put(-15,-9){\line(3,-5){90}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
- \put(0,0){\line(3,-5){90}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putratom{80}{-220}{\@memberb}% % right type
- \fi%
-}% end of \setatombondE
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\setatombondA}
-% \changes{v1.02}{1998/10/25}{New command: \cs{setatombondA}}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-\def\setatombondA{%% (1,1)
- \yl@xdiff=0\relax
- \yl@ydiff=0\relax
- \if@clipfuse%
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
- \put(40,40){\line(1,1){100}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \@ifundefined{dottedline}{%
- \put(40,40){\line(1,1){100}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(40,40)(140,140)}}%
- \else\if\@tmpb U%unspecified single bond
- \put(40,40){\line(1,1){100}}% % single bond at 1
- \else\if\@tmpb S%beta single bond
- \put(40,40){\line(1,1){100}}% % single bond at 1
- \else\if\@tmpb D%double bond
- \put(46,36){\line(1,1){100}}% % single bond at 1
- \put(36,46){\line(1,1){100}}% % single bond at 1
- \else\if\@tmpb T%triple bond
- \put(50,30){\line(1,1){100}}% % single bond at 1
- \put(40,40){\line(1,1){100}}% % single bond at 1
- \put(30,50){\line(1,1){100}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
- \put(40,40){\line(1,1){100}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putratom{140}{140}{\@memberb}% % right type
- \else%no clipping
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
- \put(0,0){\line(1,1){120}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \@ifundefined{dottedline}{%
- \put(0,0){\line(1,1){120}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,0)(120,120)}}%
- \else\if\@tmpb U%unspecified single bond
- \put(0,0){\line(1,1){120}}% % single bond at 1
- \else\if\@tmpb S%beta single bond
- \put(0,0){\line(1,1){120}}% % single bond at 1
- \else\if\@tmpb D%beta single bond
- \put(6,-6){\line(1,1){120}}% % single bond at 1
- \put(-6,6){\line(1,1){120}}% % single bond at 1
- \else\if\@tmpb T%beta single bond
- \put(10,-10){\line(1,1){120}}% % single bond at 1
- \put(0,0){\line(1,1){120}}% % single bond at 1
- \put(-10,10){\line(1,1){120}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
- \put(0,0){\line(1,1){120}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putratom{120}{120}{\@memberb}% % right type
- \fi%
-}% end of \setatombondA
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\setatombondB}
-% \changes{v1.02}{1998/10/25}{New command: \cs{setatombondB}}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-\def\setatombondB{%% (1,-1)
- \if@clipfuse%
- \yl@xdiff=0\relax
- \yl@ydiff=60\relax
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
- \put(40,-40){\line(1,-1){100}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \@ifundefined{dottedline}{%
- \put(40,-40){\line(1,-1){100}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(40,-40)(140,-140)}}%
- \else\if\@tmpb U%unspecified single bond
- \put(40,-40){\line(1,-1){100}}% % single bond at 1
- \else\if\@tmpb S%beta single bond
- \put(40,-40){\line(1,-1){100}}% % single bond at 1
- \else\if\@tmpb D%double bond
- \put(46,-36){\line(1,-1){100}}% % single bond at 1
- \put(36,-46){\line(1,-1){100}}% % single bond at 1
- \else\if\@tmpb T%triple bond
- \put(50,-30){\line(1,-1){100}}% % single bond at 1
- \put(40,-40){\line(1,-1){100}}% % single bond at 1
- \put(30,-50){\line(1,-1){100}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
- \put(40,-40){\line(1,-1){100}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putratom{140}{-200}{\@memberb}% % right type
- \else%no clipping
- \yl@xdiff=0\relax
- \yl@ydiff=60\relax
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
- \put(0,0){\line(1,-1){120}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \@ifundefined{dottedline}{%
- \put(0,0){\line(1,-1){120}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,0)(120,-120)}}%
- \else\if\@tmpb U%unspecified single bond
- \put(0,0){\line(1,-1){120}}% % single bond at 1
- \else\if\@tmpb S%beta single bond
- \put(0,0){\line(1,-1){120}}% % single bond at 1
- \else\if\@tmpb D%beta single bond
- \put(6,6){\line(1,-1){120}}% % single bond at 1
- \put(-6,-6){\line(1,-1){120}}% % single bond at 1
- \else\if\@tmpb T%beta single bond
- \put(10,10){\line(1,-1){120}}% % single bond at 1
- \put(0,0){\line(1,-1){120}}% % single bond at 1
- \put(-10,-10){\line(1,-1){120}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
- \put(0,0){\line(1,-1){120}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putratom{120}{-180}{\@memberb}% % right type
- \fi%
-}% end of \setatombondB
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Left-handed linking unit}
-%
-% A structure-drawing command can be used to typeset a substituent
-% by using a (yl)-argument. Moreover, the macro |\lyl| permits us
-% to draw an intermediate linking unit.
-% \changes{v1.02}{1998/10/25}{New command: \cs{lyl} etc.}
-% \begin{macro}{\lyl}
-% \begin{macrocode}
-\def\lyl{\@ifnextchar({\@lyl}{\@lyl()}}
-\def\@lyl(#1)#2{%
-\iniatom\iniflag%initialize
-\@reset@ylsw%
-\def\centeraaa{}%
-\x@ryl=0\y@ryl=0
-\@forsemicol\member:=#1\do{%
-\if@ylsw%
-\XyMTeXWarning{Duplicated items in the first augument of \string\ryl}%
-\else%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\settowidth{\dimen0}{\@memberb}%
-\x@ryl=\dimen0%%%dimension => counter
-\divide\x@ryl\unitlength
-\advance\x@ryl by-80
-\y@ryl=0
-\ifcase\@tmpa%
-\def\centeraaa{\@memberb}\@ylswtrue
-%\advance\x@ryl by0
-\advance\y@ryl by50
-\or%1
-\def\centeraaa{\@memberb}\@ylswtrue
-\advance\x@ryl by30
-\advance\y@ryl by50
-\or%2
-\def\centeraaa{\@memberb}\@ylswtrue
-\advance\x@ryl by40
-\advance\y@ryl by40
-\or%3
-\def\centeraaa{\@memberb}\@ylswtrue
-\advance\x@ryl by50
-\advance\y@ryl by30
-\or%4
-\def\centeraaa{\@memberb}\@ylswtrue
-\advance\x@ryl by50
-\advance\y@ryl by0
-\or%5
-\def\centeraaa{\@memberb}\@ylswtrue
-\advance\x@ryl by50
-\advance\y@ryl by-30
-\or%6
-\def\centeraaa{\@memberb}\@ylswtrue
-\advance\x@ryl by50
-\advance\y@ryl by-50
-\or%7
-\def\centeraaa{\@memberb}\@ylswtrue
-\advance\x@ryl by30
-\advance\y@ryl by-50
-\or%8
-\def\centeraaa{\@memberb}\@ylswtrue
-%\advance\x@ryl by0
-\advance\y@ryl by-50
-\fi
-\fi\fi}%
- \yl@shiftii=-\x@ryl
- \yl@shifti=-\y@ryl
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\ifx\centeraaa\empty\else%
- \@clipfusetrue
- \putratom{-40}{-30}{\centeraaa}% % right type
-\fi%
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifcase\@tmpa%
-\setatombonda% 0 (upward) (0,1)
-\or\setatombondD%1 (-3,5)
-\or\setatombondH%2 (-1,1)
-\or\setatombondd%3 (-5,3)
-\or\setatombondh%4 (-1,0)
-\or\setatombondg%5 (-5,-3)
-\or\setatombondC%6 (-1,-1)
-\or\setatombondG%7 (-3,-5)
-\or\setatombondc%8 (0,-1)
-\fi%end of ifcase
-\fi
-}\end{picture}}% %end of \lyl macro
-% \end{macrocode}
-% \end{macro}
-%
-% The substituent-setting commands |\setatombondD| etc. are used
-% in the macro |\ryl|.
-%
-% \begin{macro}{\setatombondD}
-% \changes{v1.02}{1998/10/25}{New command: \cs{setatombondD}}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-\def\setatombondD{%% (-3,5)
- \if@clipfuse%
- \if\@tmpb B%beta single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=-10\relax
- {%
- \thicklines%
- \put(-30,50){\line(-3,5){60}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=-10\relax
- \@ifundefined{dottedline}{%
- \put(-30,50){\line(-3,5){60}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(-30,50)(-90,150)}}%
- \else\if\@tmpb U%unspecified single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=-10\relax
- \put(-30,50){\line(-3,5){60}}% % single bond at 1
- \else\if\@tmpb S%beta single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=-10\relax
- \put(-30,50){\line(-3,5){60}}% % single bond at 1
- \else\if\@tmpb D%double bond
- \yl@xdiff=-10\relax
- \yl@ydiff=-10\relax
- \put(-40,44){\line(-3,5){60}}% % single bond at 1
- \put(-20,56){\line(-3,5){60}}% % single bond at 1
- \else\if\@tmpb T%triple bond
- \yl@xdiff=-10\relax
- \yl@ydiff=-10\relax
- \put(-45,41){\line(-3,5){60}}% % single bond at 1
- \put(-30,50){\line(-3,5){60}}% % single bond at 1
- \put(-15,59){\line(-3,5){60}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=-10\relax
- \put(-30,50){\line(-3,5){60}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putlatom{-80}{160}{\@memberb}% % left type
- \else%no clipping
- \if\@tmpb B%beta single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=-10\relax
- {%
- \thicklines%
- \put(0,0){\line(-3,5){90}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=-10\relax
- \@ifundefined{dottedline}{%
- \put(0,0){\line(-3,5){90}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,0)(-90,150)}}%
- \else\if\@tmpb U%unspecified single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=-10\relax
- \put(0,0){\line(-3,5){90}}% % single bond at 1
- \else\if\@tmpb S%beta single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=-10\relax
- \put(0,0){\line(-3,5){90}}% % single bond at 1
- \else\if\@tmpb D%beta single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=-10\relax
- \put(-10,-6){\line(-3,5){90}}% % single bond at 1
- \put(10,6){\line(-3,5){90}}% % single bond at 1
- \else\if\@tmpb T%beta single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=-10\relax
- \put(-15,-9){\line(-3,5){90}}% % single bond at 1
- \put(0,0){\line(-3,5){90}}% % single bond at 1
- \put(15,9){\line(-3,5){90}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=-10\relax
- \put(0,0){\line(-3,5){90}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putlatom{-80}{160}{\@memberb}% % left type
- \fi%
-}% end of \setatombondD
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\setatombondG}
-% \changes{v1.02}{1998/10/25}{New command: \cs{setatombondG}}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-\def\setatombondG{%% (-3,-5)
- \if@clipfuse%
- \yl@xdiff=-10\relax
- \yl@ydiff=70\relax
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
- \put(-30,-50){\line(-3,-5){60}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \@ifundefined{dottedline}{%
- \put(-30,-50){\line(-3,-5){60}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(-30,-50)(-90,-150)}}%
- \else\if\@tmpb U%unspecified single bond
- \put(-30,-50){\line(-3,-5){60}}% % single bond at 1
- \else\if\@tmpb S%beta single bond
- \put(-30,-50){\line(-3,-5){60}}% % single bond at 1
- \else\if\@tmpb D%double bond
- \put(-40,-44){\line(-3,-5){60}}% % single bond at 1
- \put(-20,-56){\line(-3,-5){60}}% % single bond at 1
- \else\if\@tmpb T%triple bond
- \put(-45,-41){\line(-3,-5){60}}% % single bond at 1
- \put(-30,-50){\line(-3,-5){60}}% % single bond at 1
- \put(-15,-59){\line(-3,-5){60}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
- \put(-30,-50){\line(-3,-5){60}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putlatom{-80}{-220}{\@memberb}% % left type
- \else%no clipping
- \yl@xdiff=-10\relax
- \yl@ydiff=70\relax
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
- \put(0,0){\line(-3,-5){90}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \@ifundefined{dottedline}{%
- \put(0,0){\line(-3,-5){90}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,0)(-90,-150)}}%
- \else\if\@tmpb U%unspecified single bond
- \put(0,0){\line(-3,-5){90}}% % single bond at 1
- \else\if\@tmpb S%beta single bond
- \put(0,0){\line(-3,-5){90}}% % single bond at 1
- \else\if\@tmpb D%beta single bond
- \put(-10,6){\line(-3,-5){90}}% % single bond at 1
- \put(10,-6){\line(-3,-5){90}}% % single bond at 1
- \else\if\@tmpb T%beta single bond
- \put(-15,9){\line(-3,-5){90}}% % single bond at 1
- \put(0,0){\line(-3,-5){90}}% % single bond at 1
- \put(15,-9){\line(-3,-5){90}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
- \put(0,0){\line(-3,-5){90}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putlatom{-80}{-220}{\@memberb}% % left type
- \fi%
-}% end of \setatombondG
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\setatombondH}
-% \changes{v1.02}{1998/10/25}{New command: \cs{setatombondH}}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-\def\setatombondH{%% (-1,1)
- \yl@xdiff=0\relax
- \yl@ydiff=0\relax
- \if@clipfuse%
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
- \put(-40,40){\line(-1,1){100}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \@ifundefined{dottedline}{%
- \put(-40,40){\line(-1,1){100}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(-40,40)(-140,140)}}%
- \else\if\@tmpb U%unspecified single bond
- \put(-40,40){\line(-1,1){100}}% % single bond at 1
- \else\if\@tmpb S%beta single bond
- \put(-40,40){\line(-1,1){100}}% % single bond at 1
- \else\if\@tmpb D%double bond
- \put(-46,36){\line(-1,1){100}}% % single bond at 1
- \put(-36,46){\line(-1,1){100}}% % single bond at 1
- \else\if\@tmpb T%triple bond
- \put(-50,30){\line(-1,1){100}}% % single bond at 1
- \put(-40,40){\line(-1,1){100}}% % single bond at 1
- \put(-30,50){\line(-1,1){100}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
- \put(-40,40){\line(-1,1){100}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putlatom{-140}{140}{\@memberb}% % left type
- \else%no clipping
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
- \put(0,0){\line(-1,1){120}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \@ifundefined{dottedline}{%
- \put(0,0){\line(-1,1){120}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,0)(-120,120)}}%
- \else\if\@tmpb U%unspecified single bond
- \put(0,0){\line(-1,1){120}}% % single bond at 1
- \else\if\@tmpb S%beta single bond
- \put(0,0){\line(-1,1){120}}% % single bond at 1
- \else\if\@tmpb D%beta single bond
- \put(-6,-6){\line(-1,1){120}}% % single bond at 1
- \put(6,6){\line(-1,1){120}}% % single bond at 1
- \else\if\@tmpb T%beta single bond
- \put(-10,-10){\line(-1,1){120}}% % single bond at 1
- \put(0,0){\line(-1,1){120}}% % single bond at 1
- \put(10,10){\line(-1,1){120}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
- \put(0,0){\line(-1,1){120}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putlatom{-120}{120}{\@memberb}% % left type
- \fi%
-}% end of \setatombondH
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\setatombondC}
-% \changes{v1.02}{1998/10/25}{New command: \cs{setatombondC}}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-\def\setatombondC{%% (-1,-1)
- \if@clipfuse%
- \yl@xdiff=0\relax
- \yl@ydiff=60\relax
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
- \put(-40,-40){\line(-1,-1){100}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \@ifundefined{dottedline}{%
- \put(-40,-40){\line(-1,-1){100}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(-40,-40)(-140,-140)}}%
- \else\if\@tmpb U%unspecified single bond
- \put(-40,-40){\line(-1,-1){100}}% % single bond at 1
- \else\if\@tmpb S%beta single bond
- \put(-40,-40){\line(-1,-1){100}}% % single bond at 1
- \else\if\@tmpb D%double bond
- \put(-46,-36){\line(-1,-1){100}}% % single bond at 1
- \put(-36,-46){\line(-1,-1){100}}% % single bond at 1
- \else\if\@tmpb T%triple bond
- \put(-50,-30){\line(-1,-1){100}}% % single bond at 1
- \put(-40,-40){\line(-1,-1){100}}% % single bond at 1
- \put(-30,-50){\line(-1,-1){100}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
- \put(-40,-40){\line(-1,-1){100}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putlatom{-140}{-200}{\@memberb}% % left type
- \else%no clipping
- \yl@xdiff=0\relax
- \yl@ydiff=60\relax
- \if\@tmpb B%beta single bond
- {%
- \thicklines%
- \put(0,0){\line(-1,-1){120}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \@ifundefined{dottedline}{%
- \put(0,0){\line(-1,-1){120}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,0)(-120,-120)}}%
- \else\if\@tmpb U%unspecified single bond
- \put(0,0){\line(-1,-1){120}}% % single bond at 1
- \else\if\@tmpb S%beta single bond
- \put(0,0){\line(-1,-1){120}}% % single bond at 1
- \else\if\@tmpb D%beta single bond
- \put(-6,6){\line(-1,-1){120}}% % single bond at 1
- \put(6,-6){\line(-1,-1){120}}% % single bond at 1
- \else\if\@tmpb T%beta single bond
- \put(-10,10){\line(-1,-1){120}}% % single bond at 1
- \put(0,0){\line(-1,-1){120}}% % single bond at 1
- \put(10,-10){\line(-1,-1){120}}% % single bond at 1
- \else\ifx\@tmpb\empty%beta single bond
- \put(0,0){\line(-1,-1){120}}% % single bond at 1
- \fi\fi\fi\fi\fi\fi\fi%
- \putlatom{-120}{-180}{\@memberb}% % left type
- \fi%
-}% end of \setatombondC
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Minor Linking Units}
-%
-% \begin{macro}{\ayl}
-% \begin{macrocode}
-\def\ayl{\@ifnextchar({\@ayl@}{\@ayl@(10,40)}}
-\def\@ayl@(#1,#2)#3{\begingroup\yl@xdiff=0 \yl@ydiff=0%
-\kern#1\unitlength\raise#2\unitlength\hbox to0pt{#3\hss}%
-\endgroup}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\upnobond}
-% \begin{macro}{\downnobond}
-% \begin{macrocode}
-\def\upnobond#1#2{%
-\hbox{\hbox to0.72em{\hss#1\hss}\kern-0.72em\raise2.2ex\hbox{#2}}}
-\def\downnobond#1#2{%
-\hbox{\hbox to0.72em{\hss#1\hss}\kern-0.72em\lower2.2ex\hbox{#2}}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \section{Spriro-Ring Commands}
-% \subsection{Basic Commands for Six-Membered Rings}
-%
-% For treating spiro-ring fusion, the following basic commands
-% (|\test@vertix| and |\test@vertix@sixv|) are added at the
-% time of releasing Version 2.00. These commands are generally
-% used for detecting hetero atoms at respective vertices of a
-% heterocyclic ring.
-%
-% The command |\test@vertix| is used in |\test@vertix@sixv|.
-% which is designed to test the existence of a hetero atom
-% (or an equivalent) at each vertix of a six-membered ring.
-%
-% \begin{macro}{\test@vertix}
-% \begin{macro}{\test@vertix@sixv}
-% \changes{v2.00}{1998/11/15}{New command: \cs{test@vertix} and
-% \cs{test@vertix@sixv}}
-% \begin{macrocode}
-\def\test@vertix#1{%
- \expandafter\def\csname #1#1#1\endcsname{@}%
- \if\@tmpb h\relax
- \expandafter\def\csname #1#1#1\endcsname{@}%
- \else\if\@tmpb s\relax
- \expandafter\def\csname #1#1#1\endcsname{}%
- \fi\fi}
-% \end{macrocode}
-%
-% The command |\test@vertix@sixv| is designed to test
-% the existence of a hetero atom (or an equivalent)
-% at each vertix of a six-membered ring.
-%
-% \begin{macrocode}
-\def\test@vertix@sixv#1#2#3#4#5#6#7{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoCH@R\@membera//%
-\ifcase\@tmpa%
-% \changes{v2.00}{1996/11/14}{@ in place of a net value}
- \or \test@vertix{#2}%
- \or \test@vertix{#3}%
- \or \test@vertix{#4}%
- \or
- \if\@tmpb a%
- \def\iii{@}%
- \else
- \test@vertix{#5}%
- \fi
- \or \test@vertix{#6}%
- \or \test@vertix{#7}%
-\fi\fi}}% end of \test@vertix@sixv
-%\def\test@vertix@sixv#1#2#3#4#5#6#7{%
-%\@forsemicol\member:=#1\do{%
-%\expandafter\@m@mb@r\member;\relax%
-%\expandafter\twoch@r\@membera{}%
-%\ifcase\@tmpa%
-%% \changes{v2.00}{1996/11/14}{@ in place of a net value}
-% \or \test@vertix{#2}%
-% \or \test@vertix{#3}%
-% \or \test@vertix{#4}%
-% \or \test@vertix{#5}%
-% \or \test@vertix{#6}%
-% \or \test@vertix{#7}%
-%\fi}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The command |\set@hetatom@sixv| is to set a spiro group
-% (stored as |\@memberb|)
-% at a vertix designated by |\@tmpaa| (or originally by |\@tmpa|).
-% The atom modifier `s' designates that the spiro group contains
-% a carbon atom (a vertix) at a spiro position, while `h'
-% represents the presence of a hetero atom at a spiro position.
-% The absence of such atom modifiers shows the substitution
-% of a usual hetero atom. The command |\set@hetatom@sixv| is
-% used in such commands as |\sixheterov| and |\sixheterovi|
-% for treating thier ATOMLISTs,
-% e.g. |1==N;1s==\sixheterov{}{1==(yl)}|.
-%
-% \begin{macro}{\set@hetatom@sixv}
-% \changes{v2.00}{1998/11/15}{New command: \cs{set@hetatom@sixv}}
-% \begin{macrocode}
-\def\set@hetatom@sixv#1#2#3#4#5{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\ifnum#5 < 0\relax%
-\@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
-\else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax \fi
-\ifnum\@tmpaa >#3\relax%
-\ifnum\@tmpaa <#4\relax%
-\ifcase\@tmpaa%
-\or%position 1
- \if\@tmpb h\relax
- \@acliptrue%
- \putratom{0}{356}{\@memberb}% % right type
- \else\if\@tmpb s\relax
- \@aclipfalse%
- \putratom{0}{406}{\@memberb}% % right type
- \else\if\@tmpb a\relax%omit fused position
- \else
- \@acliptrue%
- \putratom{-31}{356}{\@memberb}% % right type
- \fi\fi\fi
-\or%position 2
- \if\@tmpb h\relax
- \@bcliptrue%
- \putratom{135}{280}{\@memberb}% % right type
- \else\if\@tmpb s\relax
- \@bclipfalse%
- \putratom{175}{303}{\@memberb}% % right type
- \else\if\@tmpb a\relax%omit fused position
- \else
- \@bcliptrue%
- \putratom{135}{280}{\@memberb}% % right type
- \fi\fi\fi
-\or%position 3
- \if\@tmpb h\relax
- \@ccliptrue%
- \putratom{135}{95}{\@memberb}% % right type
- \else\if\@tmpb s\relax
- \@cclipfalse%
- \putratom{175}{103}{\@memberb}% % right type
- \else\if\@tmpb a\relax%omit fused position
- \else
- \@ccliptrue%
- \putratom{135}{65}{\@memberb}% % right type
- \fi\fi\fi
-\or%position 4
- \if\@tmpb h\relax
- \@cliptrue%
- \putratom{0}{50}{\@memberb}% % right type
- \else\if\@tmpb s\relax
- \@clipfalse%
- \putratom{0}{0}{\@memberb}% % right type
- \else\if\@tmpb a\relax%omit fused position
- \else
- \@cliptrue%
- \putratom{-31}{-10}{\@memberb}% % right type
- \fi\fi\fi
-\or%position 5
- \if\@tmpb h\relax
- \@ecliptrue%
- \putlatom{-135}{95}{\@memberb}% % right type
- \else\if\@tmpb s\relax
- \@eclipfalse%
- \putlatom{-175}{103}{\@memberb}% % right type
- \else\if\@tmpb a\relax%omit fused position
- \else
- \@ecliptrue%
- \putlatom{-135}{65}{\@memberb}% % left type
- \fi\fi\fi
-\or%position 6
- \if\@tmpb h\relax
- \@fcliptrue%
- \putlatom{-135}{280}{\@memberb}% % right type
- \else\if\@tmpb s\relax
- \@fclipfalse%
- \putlatom{-175}{303}{\@memberb}% % right type
- \else\if\@tmpb a\relax%omit fused position
- \else
- \@fcliptrue%
- \putlatom{-135}{280}{\@memberb}% % left type
- \fi\fi\fi
-\fi% end of ifcase
-\fi\fi\fi}}% end of the macro \set@hetatom@sixv
-% \end{macrocode}
-% \end{macro}
-%
-% The command |\set@hetatom@sixh| is to set a spiro group
-% (stored as |\@memberb|)
-% at a vertix designated by |\@tmpaa| (or originally by |\@tmpa|).
-% The atom modifier `s' designates that the spiro group contains
-% a carbon atom (a vertix) at a spiro position, while `h'
-% represents the presence of a hetero atom at a spiro position.
-% The absence of such atom modifiers shows the substitution
-% of a usual hetero atom. The command |\set@hetatom@sixh| is
-% used in such commands as |\sixheteroh| and |\sixheterohi|
-% for treating thier ATOMLISTs,
-% e.g. |1==N;1s==\sixheteroh{}{1==(yl)}|.
-%
-% \begin{macro}{\set@hetatom@sixh}
-% \changes{v2.00}{1998/11/23}{New command: \cs{set@hetatom@sixh}}
-% \begin{macrocode}
-\def\set@hetatom@sixh#1#2#3#4#5{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-%\expandafter\twoch@r\@membera{}%
-\expandafter\twoCH@R\@membera//%
-\ifnum#5 < 0\relax%
-\@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
-\else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax \fi
-\ifnum\@tmpaa >#3\relax%
-\ifnum\@tmpaa <#4\relax%
-\ifcase\@tmpaa%
-\or%position 1
- \if\@tmpb h\relax
- \@acliptrue%
- \putlatom{60}{0}{\@memberb}% % left type
- \else\if\@tmpb s\relax
- \@aclipfalse%
- \putlatom{0}{0}{\@memberb}% % left type
- \else\if\@tmpb a\relax%omit fused position
- \else
- \@acliptrue%
- \putlatom{60}{-36}{\@memberb}% % left type
- \fi\fi\fi
-\or%position 2
- \if\@tmpb h\relax
- \@bcliptrue%
- \putlatom{135}{141}{\@memberb}% % left type
- \else\if\@tmpb s\relax
- \@bclipfalse%
- \putlatom{103}{171}{\@memberb}% % left type
- \else\if\@tmpb a\relax%omit fused position
- \else
- \@bcliptrue%
- \putlatom{135}{141}{\@memberb}% % left type
- \fi\fi\fi
-\or%position 3
- \if\@tmpb h\relax
- \@ccliptrue%
- \putratom{273}{141}{\@memberb}% % right type
- \else\if\@tmpb s\relax
- \@cclipfalse%
- \putratom{303}{171}{\@memberb}% % right type
- \else\if\@tmpb a\relax%omit fused position
- \else
- \@ccliptrue%
- \putratom{273}{141}{\@memberb}% % right type
- \fi\fi\fi
-\or%position 4
- \if\@tmpb h\relax
- \@cliptrue%
- \putratom{346}{0}{\@memberb}% % right type
- \else\if\@tmpb s\relax
- \@clipfalse%
- \putratom{406}{0}{\@memberb}% % right type
- \else\if\@tmpb a\relax%omit fused position
- \else
- \@cliptrue%
- \putratom{346}{-36}{\@memberb}% % right type
- \fi\fi\fi
-\or%position 5
- \if\@tmpb h\relax
- \@ecliptrue%
- \putratom{283}{-131}{\@memberb}% % right type
- \else\if\@tmpb s\relax
- \@eclipfalse%
- \putratom{303}{-171}{\@memberb}% % right type
- \else\if\@tmpb a\relax%omit fused position
- \else
- \@ecliptrue%
- \putratom{273}{-211}{\@memberb}% % right type
- \fi\fi\fi
-\or%position 6
- \if\@tmpb h\relax
- \@fcliptrue%
- \putlatom{125}{-131}{\@memberb}% % left type
- \else\if\@tmpb s\relax
- \@fclipfalse%
- \putlatom{103}{-171}{\@memberb}% % left type
- \else\if\@tmpb a\relax%omit fused position
- \else
- \@fcliptrue%
- \putlatom{135}{-211}{\@memberb}% % left type
- \fi\fi\fi
-\fi% end of ifcase
-\fi\fi\fi}}% end of the macro \set@hetatom@sixh
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Basic Commands for Six-Six Rings}
-%
-% The command |\test@vertix@decav| is designed to test
-% the existence of a hetero atom (or an equivalent)
-% at each vertix of a six-six fused ring.
-%
-% \begin{macro}{\test@vertix@decav}
-% \begin{macrocode}
-\def\test@vertix@decav#1#2#3#4#5#6#7{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\ifcase\@tmpa%
- \or\or\or\or\or\or
- \or \test@vertix{#2}%
- \or
- \if\@tmpb a%
- \def\jjj{@}%
- \else
- \test@vertix{#3}%
- \fi
- \or \test@vertix{#4}%
- \or \test@vertix{#5}%
-% \or \test@vertix{#6}%
-% \or \test@vertix{#7}%
-\fi\fi}}
-% \end{macrocode}
-% \end{macro}
-%
-% The command |\set@vrtx@fuse| is to set an atom (stored as
-% |\@memberb|) at one (stored as |\@tmpa|) of the fused vertices
-% of a six-six ring.
-% These vertices are incapable of accomodating a spiro group.
-% On the other hand, the other positions can take spiro groups
-% (stored as |\@memberb|), which are treated by means of
-% the command |\set@hetatom@sixv|.
-% The command |\set@vrtx@fuse| is used in such commands
-% as |\decaheterov| for treating thier ATOMLISTs,
-%
-% \begin{macro}{\set@vrtx@fuse}
-% \changes{v2.00}{1998/11/15}{New command: \cs{set@vrtx@fuse}}
-% \begin{macrocode}
-\def\set@vrtx@fuse#1{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\ifcase\@tmpa%
- \or
- \or
- \or
- \or%%%%4
- \if\@tmpb a%
- \global\@icliptrue%
- \putlatom{207}{65}{\@memberb}% % left type
- \else\relax
- \fi
- \or%5
- \or%6
- \or%7
- \or%
- \if\@tmpb a%
- \global\@jcliptrue%
- \putlatom{207}{280}{\@memberb}% % left type
- \else\relax
- \fi
-\or%9 (= 4a)
- \global\@icliptrue%
- \putlatom{207}{65}{\@memberb}% % left type
-\or%10 (= 8a)
- \global\@jcliptrue%
- \putlatom{207}{280}{\@memberb}% % left type
-\fi\fi}%
-}% end of the macro \set@vrtx@fuse
-% \end{macrocode}
-% \end{macro}
-%
-% The command |\set@vrtx@fuseh| is to set an atom (stored as
-% |\@memberb|) at one (stored as |\@tmpa|) of the fused vertices
-% of a six-six ring.
-% These vertices are incapable of accomodating a spiro group.
-% On the other hand, the other positions can take spiro groups
-% (stored as |\@memberb|), which are treated by means of
-% the command |\set@hetatom@sixh|.
-% The command |\set@vrtx@fuseh| is used in such commands
-% as |\decaheteroh| for treating thier ATOMLISTs,
-%
-% \begin{macro}{\set@vrtx@fuseh}
-% \changes{v2.00}{1998/11/15}{New command: \cs{set@vrtx@fuseh}}
-% \begin{macrocode}
-\def\set@vrtx@fuseh#1{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoCH@R\@membera//%
-\ifcase\@tmpa%
- \or
- \or
- \or
- \or%%%%4
- \if\@tmpb a%
- \global\@icliptrue%
- \putratom{273}{-211}{\@memberb}% % right type
- \else\relax
- \fi
- \or%5
- \or%6
- \or%7
- \or%
- \if\@tmpb a%
- \global\@jcliptrue%
- \putlatom{135}{-211}{\@memberb}% % left type
- \else\relax
- \fi
-\or%9 (= 4a)
- \ifx\@tmpb\empty
- \global\@icliptrue%
- \putratom{273}{-211}{\@memberb}% % right type
- \else
- \XyMTeXWarning{Forbidden spiro ring for the 4a position}%
- \fi
-\or%10 (= 8a)
- \ifx\@tmpb\empty
- \global\@jcliptrue%
- \putlatom{135}{-211}{\@memberb}% % left type
- \else
- \XyMTeXWarning{Forbidden spiro ring for the 8a position}%
- \fi
-\fi\fi}%
-}% end of the macro \set@vrtx@fuseh
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Ring-fusion Commands for Six-Membered Rings}
-% \subsection{Normal Vertical Type}
-%
-% The macro |\set@fusionadd@sixv| is an inner command contained
-% in the definition of |\sixheterov| etc., where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusion@sixv|.
-%
-% \begin{macro}{\set@fusionadd@sixv}
-% \changes{v2.00}{1998/11/15}{New command: \cs{set@fusionadd@sixv}}
-% \begin{macrocode}
-\def\set@fusionadd@sixv{%
- \if\@@tmpa 1\relax%
- \putratom{-38}{282}{\@@tmpb}% % right type
- \else\if\@@tmpa 2\relax%
- \putratom{60}{253}{\@@tmpb}% % right type
- \else\if\@@tmpa 3\relax%
- \putratom{60}{120}{\@@tmpb}% % right type
- \else\if\@@tmpa 4\relax%
- \putratom{-38}{88}{\@@tmpb}% % right type
- \else\if\@@tmpa 6\relax%
- \putratom{-90}{253}{\@@tmpb}% % right type
- \else\if\@@tmpa 5\relax%
- \putratom{-90}{120}{\@@tmpb}% % right type
- \else
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
- \set@fusion@sixv
- \fi\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% The inner command |\set@fusion@sixv| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@sixv}
-% \changes{v2.00}{1998/11/15}{New command: \cs{set@fusion@sixv}}
-% \begin{macrocode}
-\def\set@fusion@sixv{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if\@@tmpa d\relax%
- \putlratom{0}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, h, or other}%
- \else\if\@@tmpa D\relax%
- \putlratom{-171}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, H, or other}%
- \else\if\@@tmpa e\relax%
- \putlratom{-171}{103}{\@@tmpb}% % bond fused
- \FuseWarning{0}{-200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, k, or other}%
- \else\if\@@tmpa E\relax%
- \putlratom{-171}{303}{\@@tmpb}% % bond fused
- \FuseWarning{0}{200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, K, or other}%
- \else\if\@@tmpa f\relax%
- \putlratom{-171}{303}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{f, j, or other}%
- \else\if\@@tmpa F\relax%
- \putlratom{0}{406}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{F, J, or other}%
- \else\if\@@tmpa a\relax%
- \putlratom{0}{406}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}%
- \else\if\@@tmpa A\relax%
- \putlratom{171}{303}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}%
- \else\if\@@tmpa b\relax%
- \putlratom{171}{303}{\@@tmpb}% % bond fused
- \FuseWarning{0}{200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}%
- \else\if\@@tmpa B\relax%
- \putlratom{171}{103}{\@@tmpb}% % bond fused
- \FuseWarning{0}{-200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}%
- \else\if\@@tmpa c\relax%
- \putlratom{171}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c, e, or other}%
- \else\if\@@tmpa C\relax%
- \putlratom{0}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C, E, or other}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@sixv
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse Vertical Type}
-%
-% The macro |\set@fusionadd@sixvi| is an inner command contained
-% in the definition of |\sixheterovi| etc., where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusion@sixvi|.
-%
-% \begin{macro}{\set@fusionadd@sixvi}
-% \changes{v2.00}{1998/11/15}{New command: \cs{set@fusionadd@sixvi}}
-% \begin{macrocode}
-\def\set@fusionadd@sixvi{%
- \if\@@tmpa 4\relax%
- \putratom{-38}{282}{\@@tmpb}% % right type
- \else\if\@@tmpa 3\relax%
- \putratom{60}{253}{\@@tmpb}% % right type
- \else\if\@@tmpa 2\relax%
- \putratom{60}{120}{\@@tmpb}% % right type
- \else\if\@@tmpa 1\relax%
- \putratom{-38}{88}{\@@tmpb}% % right type
- \else\if\@@tmpa 5\relax%
- \putratom{-90}{253}{\@@tmpb}% % right type
- \else\if\@@tmpa 6\relax%
- \putratom{-90}{120}{\@@tmpb}% % right type
- \else
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
- \set@fusion@sixvi
- \fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusionadd@sixvi
-% \end{macrocode}
-% \end{macro}
-%
-% The inner command |\set@fusion@sixvi| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@sixvi}
-% \changes{v2.00}{1998/11/15}{New command: \cs{set@fusion@sixvi}}
-% \begin{macrocode}
-\def\set@fusion@sixvi{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
- \if\@@tmpa a\relax%
- \putlratom{0}{0}{\@@tmpb}% % right type
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a or other}%
- \else\if\@@tmpa A\relax%
- \putlratom{171}{103}{\@@tmpb}% % right type
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A or other}%
- \else\if\@@tmpa b\relax%
- \putlratom{171}{103}{\@@tmpb}% % right type
- \FuseWarning{0}{-200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b or other}%
- \else\if\@@tmpa B\relax%
- \putlratom{171}{303}{\@@tmpb}% % right type
- \FuseWarning{0}{200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B or other}%
- \else\if\@@tmpa c\relax%
- \putlratom{171}{303}{\@@tmpb}% % right type
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c or other}%
- \else\if\@@tmpa C\relax%
- \putlratom{0}{406}{\@@tmpb}% % right type
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C or other}%
- \else\if\@@tmpa d\relax%
- \putlratom{0}{406}{\@@tmpb}% % right type
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d or other}%
- \else\if\@@tmpa D\relax%
- \putlratom{-171}{303}{\@@tmpb}% % right type
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D or other}%
- \else\if\@@tmpa e\relax%
- \putlratom{-171}{303}{\@@tmpb}% % right type
- \FuseWarning{0}{200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e or other}%
- \else\if\@@tmpa E\relax%
- \putlratom{-171}{103}{\@@tmpb}% % right type
- \FuseWarning{0}{-200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E or other}%
- \else\if\@@tmpa f\relax%
- \putlratom{-171}{103}{\@@tmpb}% % right type
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{f or other}%
- \else\if\@@tmpa F\relax%
- \putlratom{0}{0}{\@@tmpb}% % right type
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{F or other}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of the marcro \set@fusion@sixvi
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Normal Horizontal Type}
-%
-% The macro |\set@fusionadd@sixh| is an inner command contained
-% in the definition of |\sixheteroh| etc., where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusion@sixh|.
-%
-% \begin{macro}{\set@fusionadd@sixh}
-% \changes{v2.00}{1998/11/23}{New command: \cs{set@fusionadd@sixh}}
-% \begin{macrocode}
-\def\set@fusionadd@sixh{%
- \if\@@tmpa 4\relax%
- \putratom{272}{-18}{\@@tmpb}% % right type
- \else\if\@@tmpa 1\relax%
- \putratom{68}{-18}{\@@tmpb}% % right type
- \else\if\@@tmpa 3\relax%
- \putratom{233}{60}{\@@tmpb}% % right type
- \else\if\@@tmpa 2\relax%
- \putratom{120}{60}{\@@tmpb}% % right type
- \else\if\@@tmpa 5\relax%
- \putratom{233}{-110}{\@@tmpb}% % right type
- \else\if\@@tmpa 6\relax%
- \putratom{120}{-110}{\@@tmpb}% % right type
- \else
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
- \set@fusion@sixh
- \fi\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% The inner command |\set@fusion@sixh| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@sixh}
-% \changes{v2.00}{1998/11/23}{New command: \cs{set@fusion@sixh}}
-% \begin{macrocode}
-\def\set@fusion@sixh{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if\@@tmpa d\relax%
- \putlratom{406}{0}{\@@tmpb}% % bond fused
- \FuseWarning{103}{171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, h, or other}%
- \else\if\@@tmpa D\relax%
- \putlratom{303}{-171}{\@@tmpb}% % bond fused
- \FuseWarning{-103}{-171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, H, or other}%
- \else\if\@@tmpa e\relax%
- \putlratom{303}{-171}{\@@tmpb}% % bond fused
- \FuseWarning{200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, k, or other}%
- \else\if\@@tmpa E\relax%
- \putlratom{103}{-171}{\@@tmpb}% % bond fused
- \FuseWarning{-200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, K, or other}%
- \else\if\@@tmpa f\relax%
- \putlratom{103}{-171}{\@@tmpb}% % bond fused
- \FuseWarning{103}{-171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{f, j, or other}%
- \else\if\@@tmpa F\relax%
- \putlratom{0}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-103}{171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{F, J, or other}%
- \else\if\@@tmpa a\relax%
- \putlratom{0}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-103}{-171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}%
- \else\if\@@tmpa A\relax%
- \putlratom{103}{171}{\@@tmpb}% % bond fused
- \FuseWarning{103}{171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}%
- \else\if\@@tmpa b\relax%
- \putlratom{103}{171}{\@@tmpb}% % bond fused
- \FuseWarning{-200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}%
- \else\if\@@tmpa B\relax%
- \putlratom{303}{171}{\@@tmpb}% % bond fused
- \FuseWarning{200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}%
- \else\if\@@tmpa c\relax%
- \putlratom{303}{171}{\@@tmpb}% % bond fused
- \FuseWarning{-103}{171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c, e, or other}%
- \else\if\@@tmpa C\relax%
- \putlratom{406}{0}{\@@tmpb}% % bond fused
-% \FuseWarning{103}{171}%
- \FuseWarning{103}{-171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C, E, or other}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@sixh
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse Horizontal Type}
-%
-% The macro |\set@fusionadd@sixhi| is an inner command contained
-% in the definition of |\sixheterohi| etc., where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusion@sixhi|.
-%
-% \begin{macro}{\set@fusionadd@sixhi}
-% \changes{v2.00}{1998/11/29}{New command: \cs{set@fusionadd@sixhi}}
-% \begin{macrocode}
-\def\set@fusionadd@sixhi{%
- \if\@@tmpa 1\relax%
- \putratom{272}{-18}{\@@tmpb}% % right type
- \else\if\@@tmpa 4\relax%
- \putratom{68}{-18}{\@@tmpb}% % right type
- \else\if\@@tmpa 2\relax%
- \putratom{233}{60}{\@@tmpb}% % right type
- \else\if\@@tmpa 3\relax%
- \putratom{120}{60}{\@@tmpb}% % right type
- \else\if\@@tmpa 6\relax%
- \putratom{233}{-110}{\@@tmpb}% % right type
- \else\if\@@tmpa 5\relax%
- \putratom{120}{-110}{\@@tmpb}% % right type
- \else
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
- \set@fusion@sixhi
- \fi\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% The inner command |\set@fusion@sixhi| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@sixhi}
-% \changes{v2.00}{1998/11/23}{New command: \cs{set@fusion@sixhi}}
-% \begin{macrocode}
-\def\set@fusion@sixhi{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if\@@tmpa F\relax%
- \putlratom{406}{0}{\@@tmpb}% % bond fused
- \FuseWarning{103}{171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{F, J, or other}%
- \else\if\@@tmpa f\relax%
- \putlratom{303}{-171}{\@@tmpb}% % bond fused
- \FuseWarning{-103}{-171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{f, j, or other}%
- \else\if\@@tmpa E\relax%
- \putlratom{303}{-171}{\@@tmpb}% % bond fused
- \FuseWarning{200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, K, or other}%
- \else\if\@@tmpa e\relax%
- \putlratom{103}{-171}{\@@tmpb}% % bond fused
- \FuseWarning{-200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, k, or other}%
- \else\if\@@tmpa D\relax%
- \putlratom{103}{-171}{\@@tmpb}% % bond fused
- \FuseWarning{103}{-171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, H, or other}%
- \else\if\@@tmpa d\relax%
- \putlratom{0}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-103}{171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, h, or other}%
- \else\if\@@tmpa C\relax%
- \putlratom{0}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-103}{-171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C, E, or other}%
- \else\if\@@tmpa c\relax%
- \putlratom{103}{171}{\@@tmpb}% % bond fused
- \FuseWarning{103}{171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c, e, or other}%
- \else\if\@@tmpa B\relax%
- \putlratom{103}{171}{\@@tmpb}% % bond fused
- \FuseWarning{-200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}%
- \else\if\@@tmpa b\relax%
- \putlratom{303}{171}{\@@tmpb}% % bond fused
- \FuseWarning{200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}%
- \else\if\@@tmpa A\relax%
- \putlratom{303}{171}{\@@tmpb}% % bond fused
- \FuseWarning{-103}{171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}%
- \else\if\@@tmpa a\relax%
- \putlratom{406}{0}{\@@tmpb}% % bond fused
- \FuseWarning{103}{-171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@sixhi
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Ring-fusion Commands for Six-Six Fused Rings}
-% \subsection{Conventions for Warning}
-%
-% \begin{macro}{\UnfavorableFusion}
-% \changes{v2.00}{1998/12/23}{New command: \cs{UnfavorableFusion}}
-% \begin{macrocode}
-\def\UnfavorableFusion#1{\if@smallringsw\else
-\XyMTeXWarning{Unfavorable Fusion for bond `#1'}\fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\ForbiddenFusion}
-% \changes{v2.00}{1998/12/23}{New command: \cs{ForbiddenFusion}}
-% \begin{macrocode}
-\def\ForbiddenFusion#1{\if@smallringsw\else
-\XyMTeXWarning{Forbidden Fusion for bond `#1'}\fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Normal Vertical Type}
-%
-% The macro |\set@fusion@decav| is an inner command contained
-% in the definition of |\decalinev| and |\decaheterov|, where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusionadd@sixv|.
-%
-% \begin{macro}{\set@fusion@decav}
-% \changes{v2.00}{1998/11/15}{New command: \cs{set@fusion@decav}}
-% \begin{macrocode}
-\def\set@fusion@decav{%
- \let\@@tmpa=\@tmpa
- \let\@@tmpb=\@tmpb
- \if\@tmpa a%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixv}%
- \else\if\@tmpa A%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixv}%
- \else\if\@tmpa b%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixv}%
- \else\if\@tmpa B%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixv}%
- \else\if\@tmpa c%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixv}%
- \else\if\@tmpa C%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixv}%
- \else\if\@tmpa d%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{d}%
- \else\if\@tmpa D%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{D}%
- \else\if\@tmpa e%
- \edef\@@tmpa{c}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{e}%
- \else\if\@tmpa E%
- \edef\@@tmpa{C}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{E}%
- \else\if\@tmpa f%
- \edef\@@tmpa{d}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa F%
- \edef\@@tmpa{D}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa g%
- \edef\@@tmpa{e}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa G%
- \edef\@@tmpa{E}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa h%
- \edef\@@tmpa{f}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa H%
- \edef\@@tmpa{F}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa i%
- \edef\@@tmpa{a}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{i}%
- \else\if\@tmpa I%
- \edef\@@tmpa{A}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{I}%
- \else\if\@tmpa j%
- \edef\@@tmpa{f}%
- \put(342,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{j}%
- \else\if\@tmpa J%
- \edef\@@tmpa{F}%
- \put(342,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{J}%
- \else\if\@tmpa k%
- \edef\@@tmpa{e}%
- \put(342,0){\set@fusionadd@sixv}%
- \ForbiddenFusion{k}%
- \else\if\@tmpa K%
- \edef\@@tmpa{E}%
- \put(342,0){\set@fusionadd@sixv}%
- \ForbiddenFusion{K}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@decav
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Vertical-Bottom Type}
-%
-% The macro |\set@fusion@decavb| is an inner command contained
-% in the definition of |\decalinevb| and |\decaheterovb| etc.,
-% where the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusionadd@sixv|.
-%
-% \begin{macro}{\set@fusion@decavb}
-% \changes{v2.00}{1998/12/25}{New command: \cs{set@fusion@decavb}}
-% \begin{macrocode}
-\def\set@fusion@decavb{%
- \let\@@tmpa=\@tmpa
- \let\@@tmpb=\@tmpb
- \if\@tmpa a%
- \edef\@@tmpa{b}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa A%
- \edef\@@tmpa{B}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa b%
- \edef\@@tmpa{c}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa B%
- \edef\@@tmpa{C}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa c%
- \edef\@@tmpa{d}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa C%
- \edef\@@tmpa{D}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa d%
- \edef\@@tmpa{e}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{d}%
- \else\if\@tmpa D%
- \edef\@@tmpa{E}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{D}%
- \else\if\@tmpa e%
- \edef\@@tmpa{d}%
- \put(-171,303){\set@fusionadd@sixv}%
- \UnfavorableFusion{e}%
- \else\if\@tmpa E%
- \edef\@@tmpa{D}%
- \put(-171,303){\set@fusionadd@sixv}%
- \UnfavorableFusion{E}%
- \else\if\@tmpa f%
- \edef\@@tmpa{e}%
- \put(-171,303){\set@fusionadd@sixv}%
- \else\if\@tmpa F%
- \edef\@@tmpa{E}%
- \put(-171,303){\set@fusionadd@sixv}%
- \else\if\@tmpa g%
- \edef\@@tmpa{f}%
- \put(-171,303){\set@fusionadd@sixv}%
- \else\if\@tmpa G%
- \edef\@@tmpa{F}%
- \put(-171,303){\set@fusionadd@sixv}%
- \else\if\@tmpa h%
- \edef\@@tmpa{a}%
- \put(-171,303){\set@fusionadd@sixv}%
- \else\if\@tmpa H%
- \edef\@@tmpa{A}%
- \put(-171,303){\set@fusionadd@sixv}%
- \else\if\@tmpa i%
- \edef\@@tmpa{b}%
- \put(-171,303){\set@fusionadd@sixv}%
- \UnfavorableFusion{i}%
- \else\if\@tmpa I%
- \edef\@@tmpa{B}%
- \put(-171,303){\set@fusionadd@sixv}%
- \UnfavorableFusion{I}%
- \else\if\@tmpa j%
- \edef\@@tmpa{a}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{j}%
- \else\if\@tmpa J%
- \edef\@@tmpa{A}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{J}%
- \else\if\@tmpa k%
- \edef\@@tmpa{c}%
- \put(-171,303){\set@fusionadd@sixv}%
- \ForbiddenFusion{k}%
- \else\if\@tmpa K%
- \edef\@@tmpa{C}%
- \put(-171,303){\set@fusionadd@sixv}%
- \ForbiddenFusion{K}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@decavb
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Vertical-Top Type}
-%
-% The macro |\set@fusion@decavt| is an inner command contained
-% in the definition of |\decalinevt| and |\decaheterovt| etc.,
-% where the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusionadd@sixv|.
-%
-% \begin{macro}{\set@fusion@decavt}
-% \changes{v2.00}{1998/12/25}{New command: \cs{set@fusion@decavt}}
-% \begin{macrocode}
-\def\set@fusion@decavt{%
- \let\@@tmpa=\@tmpa
- \let\@@tmpb=\@tmpb
- \if\@tmpa a%
- \edef\@@tmpa{f}%
- \put(171,303){\set@fusionadd@sixv}%
- \else\if\@tmpa A%
- \edef\@@tmpa{F}%
- \put(171,303){\set@fusionadd@sixv}%
- \else\if\@tmpa b%
- \edef\@@tmpa{a}%
- \put(171,303){\set@fusionadd@sixv}%
- \else\if\@tmpa B%
- \edef\@@tmpa{A}%
- \put(171,303){\set@fusionadd@sixv}%
- \else\if\@tmpa c%
- \edef\@@tmpa{b}%
- \put(171,303){\set@fusionadd@sixv}%
- \else\if\@tmpa C%
- \edef\@@tmpa{B}%
- \put(171,303){\set@fusionadd@sixv}%
- \else\if\@tmpa d%
- \edef\@@tmpa{c}%
- \put(171,303){\set@fusionadd@sixv}%
- \UnfavorableFusion{d}%
- \else\if\@tmpa D%
- \edef\@@tmpa{C}%
- \put(171,303){\set@fusionadd@sixv}%
- \UnfavorableFusion{D}%
- \else\if\@tmpa e%
- \edef\@@tmpa{b}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{e}%
- \else\if\@tmpa E%
- \edef\@@tmpa{B}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{E}%
- \else\if\@tmpa f%
- \edef\@@tmpa{c}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa F%
- \edef\@@tmpa{C}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa g%
- \edef\@@tmpa{d}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa G%
- \edef\@@tmpa{D}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa h%
- \edef\@@tmpa{e}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa H%
- \edef\@@tmpa{E}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa i%
- \edef\@@tmpa{f}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{i}%
- \else\if\@tmpa I%
- \edef\@@tmpa{F}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{I}%
- \else\if\@tmpa j%
- \edef\@@tmpa{e}%
- \put(171,303){\set@fusionadd@sixv}%
- \UnfavorableFusion{j}%
- \else\if\@tmpa J%
- \edef\@@tmpa{E}%
- \put(171,303){\set@fusionadd@sixv}%
- \UnfavorableFusion{J}%
- \else\if\@tmpa k%
- \edef\@@tmpa{d}%
- \put(171,303){\set@fusionadd@sixv}%
- \ForbiddenFusion{k}%
- \else\if\@tmpa K%
- \edef\@@tmpa{D}%
- \put(171,303){\set@fusionadd@sixv}%
- \ForbiddenFusion{K}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of \set@fusion@decavt
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Normal Horizontal Type}
-%
-% The macro |\set@fusion@decah| is an inner command contained
-% in the definition of |\decalineh| and |\decaheteroh|, where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusionadd@sixh|.
-%
-% \begin{macro}{\set@fusion@decah}
-% \changes{v2.00}{1998/11/15}{New command: \cs{set@fusion@decah}}
-% \begin{macrocode}
-\def\set@fusion@decah{%
- \let\@@tmpa=\@tmpa
- \let\@@tmpb=\@tmpb
- \if\@tmpa a%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixh}%
- \else\if\@tmpa A%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixh}%
- \else\if\@tmpa b%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixh}%
- \else\if\@tmpa B%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixh}%
- \else\if\@tmpa c%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixh}%
- \else\if\@tmpa C%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixh}%
- \else\if\@tmpa d%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixh}%
- \UnfavorableFusion{d}%
- \else\if\@tmpa D%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixh}%
- \UnfavorableFusion{D}%
- \else\if\@tmpa e%
- \edef\@@tmpa{c}%
- \put(0,-342){\set@fusionadd@sixh}%
- \UnfavorableFusion{e}%
- \else\if\@tmpa E%
- \edef\@@tmpa{C}%
- \put(0,-342){\set@fusionadd@sixh}%
- \UnfavorableFusion{E}%
- \else\if\@tmpa f%
- \edef\@@tmpa{d}%
- \put(0,-342){\set@fusionadd@sixh}%
- \else\if\@tmpa F%
- \edef\@@tmpa{D}%
- \put(0,-342){\set@fusionadd@sixh}%
- \else\if\@tmpa g%
- \edef\@@tmpa{e}%
- \put(0,-342){\set@fusionadd@sixh}%
- \else\if\@tmpa G%
- \edef\@@tmpa{E}%
- \put(0,-342){\set@fusionadd@sixh}%
- \else\if\@tmpa h%
- \edef\@@tmpa{f}%
- \put(0,-342){\set@fusionadd@sixh}%
- \else\if\@tmpa H%
- \edef\@@tmpa{F}%
- \put(0,-342){\set@fusionadd@sixh}%
- \else\if\@tmpa i%
- \edef\@@tmpa{a}%
- \put(0,-342){\set@fusionadd@sixh}%
- \UnfavorableFusion{i}%
- \else\if\@tmpa I%
- \edef\@@tmpa{A}%
- \put(0,-342){\set@fusionadd@sixh}%
- \UnfavorableFusion{I}%
- \else\if\@tmpa j%
- \edef\@@tmpa{f}%
- \put(0,0){\set@fusionadd@sixh}%
- \UnfavorableFusion{j}%
- \else\if\@tmpa J%
- \edef\@@tmpa{F}%
- \put(0,0){\set@fusionadd@sixh}%
- \UnfavorableFusion{J}%
- \else\if\@tmpa k%
- \edef\@@tmpa{e}%
- \put(0,0){\set@fusionadd@sixh}%
- \ForbiddenFusion{k}%
- \else\if\@tmpa K%
- \edef\@@tmpa{E}%
- \put(0,0){\set@fusionadd@sixh}%
- \ForbiddenFusion{K}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@decah
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Ring-fusion Commands for Six-Six-Six Fused Rings}
-% \subsection{Normal Vertical Type of Anthracenes}
-%
-% The macro |\set@fusion@hanthrav| is an inner command contained
-% in the definition of |\hanthracenev|, where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusionadd@sixv|.
-%
-% \begin{macro}{\set@fusion@hanthrav}
-% \changes{v2.00}{1998/11/23}{New command: \cs{set@fusion@hanthrav}}
-% \begin{macrocode}
-\def\set@fusion@hanthrav{%
- \let\@@tmpa=\@tmpa
- \let\@@tmpb=\@tmpb
- \if\@tmpa a%
- \let\@@tmpa=\@tmpa
- \put(684,0){\set@fusionadd@sixv}%
- \else\if\@tmpa A%
- \let\@@tmpa=\@tmpa
- \put(684,0){\set@fusionadd@sixv}%
- \else\if\@tmpa b%
- \let\@@tmpa=\@tmpa
- \put(684,0){\set@fusionadd@sixv}%
- \else\if\@tmpa B%
- \let\@@tmpa=\@tmpa
- \put(684,0){\set@fusionadd@sixv}%
- \else\if\@tmpa c%
- \let\@@tmpa=\@tmpa
- \put(684,0){\set@fusionadd@sixv}%
- \else\if\@tmpa C%
- \let\@@tmpa=\@tmpa
- \put(684,0){\set@fusionadd@sixv}%
- \else\if\@tmpa d%
- \let\@@tmpa=\@tmpa
- \put(684,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{d}%
- \else\if\@tmpa D%
- \let\@@tmpa=\@tmpa
- \put(684,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{D}%
- \else\if\@tmpa e%
- \edef\@@tmpa{c}%
- \put(342,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{e}%
- \else\if\@tmpa E%
- \edef\@@tmpa{C}%
- \put(342,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{E}%
- \else\if\@tmpa f%
- \edef\@@tmpa{d}%
- \put(342,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{f}%
- \else\if\@tmpa F%
- \edef\@@tmpa{D}%
- \put(342,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{F}%
- \else\if\@tmpa g%
- \edef\@@tmpa{c}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{g}%
- \else\if\@tmpa G%
- \edef\@@tmpa{C}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{G}%
- \else\if\@tmpa h%
- \edef\@@tmpa{d}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa H%
- \edef\@@tmpa{D}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa i%
- \edef\@@tmpa{e}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa I%
- \edef\@@tmpa{E}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa j%
- \edef\@@tmpa{f}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa J%
- \edef\@@tmpa{F}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa k%
- \edef\@@tmpa{a}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{k}%
- \else\if\@tmpa K%
- \edef\@@tmpa{A}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{K}%
- \else\if\@tmpa l%
- \edef\@@tmpa{f}%
- \put(342,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{l}%
- \else\if\@tmpa L%
- \edef\@@tmpa{F}%
- \put(342,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{L}%
- \else\if\@tmpa m%
- \edef\@@tmpa{a}%
- \put(342,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{m}%
- \else\if\@tmpa M%
- \edef\@@tmpa{A}%
- \put(342,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{M}%
- \else\if\@tmpa n%
- \edef\@@tmpa{f}%
- \put(684,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{n}%
- \else\if\@tmpa N%
- \edef\@@tmpa{F}%
- \put(684,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{N}%
- \else\if\@tmpa o%
- \edef\@@tmpa{e}%
- \put(684,0){\set@fusionadd@sixv}%
- \ForbiddenFusion{o}%
- \else\if\@tmpa O%
- \edef\@@tmpa{E}%
- \put(684,0){\set@fusionadd@sixv}%
- \ForbiddenFusion{O}%
- \else\if\@tmpa p%
- \edef\@@tmpa{e}%
- \put(342,0){\set@fusionadd@sixv}%
- \ForbiddenFusion{p}%
- \else\if\@tmpa P%
- \edef\@@tmpa{E}%
- \put(342,0){\set@fusionadd@sixv}%
- \ForbiddenFusion{P}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@hanthrav
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Normal Vertical Type of Phenanthrenes}
-%
-% The macro |\set@fusion@hphenanv| is an inner command contained
-% in the definition of |\hphenanthrenev|, where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusionadd@sixv|.
-%
-% \begin{macro}{\set@fusion@hphenanv}
-% \changes{v2.00}{1998/11/23}{New command: \cs{set@fusion@phenanv}}
-% \begin{macrocode}
-\def\set@fusion@hphenanv{%
- \let\@@tmpa=\@tmpa
- \let\@@tmpb=\@tmpb
- \if\@tmpa a%
- \edef\@@tmpa{b}%
- \put(513,303){\set@fusionadd@sixv}%
- \else\if\@tmpa A%
- \edef\@@tmpa{B}%
- \put(513,303){\set@fusionadd@sixv}%
- \else\if\@tmpa b%
- \edef\@@tmpa{a}%
- \put(513,303){\set@fusionadd@sixv}%
- \else\if\@tmpa B%
- \edef\@@tmpa{A}%
- \put(513,303){\set@fusionadd@sixv}%
- \else\if\@tmpa c%
- \edef\@@tmpa{f}%
- \put(513,303){\set@fusionadd@sixv}%
- \else\if\@tmpa C%
- \edef\@@tmpa{F}%
- \put(513,303){\set@fusionadd@sixv}%
- \else\if\@tmpa d%
- \edef\@@tmpa{e}%
- \put(513,303){\set@fusionadd@sixv}%
- \UnfavorableFusion{d}%
- \else\if\@tmpa D%
- \edef\@@tmpa{E}%
- \put(513,303){\set@fusionadd@sixv}%
- \UnfavorableFusion{D}%
- \else\if\@tmpa e%
- \edef\@@tmpa{f}%
- \put(342,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{e}%
- \else\if\@tmpa E%
- \edef\@@tmpa{F}%
- \put(342,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{E}%
- \else\if\@tmpa f%
- \edef\@@tmpa{a}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{f}%
- \else\if\@tmpa F%
- \edef\@@tmpa{A}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{F}%
- \else\if\@tmpa g%
- \edef\@@tmpa{f}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa G%
- \edef\@@tmpa{F}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa h%
- \edef\@@tmpa{e}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa H%
- \edef\@@tmpa{E}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa i%
- \edef\@@tmpa{d}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa I%
- \edef\@@tmpa{D}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa j%
- \edef\@@tmpa{c}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{j}%
- \else\if\@tmpa J%
- \edef\@@tmpa{C}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{J}%
- \else\if\@tmpa k%
- \edef\@@tmpa{d}%
- \put(342,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{k}%
- \else\if\@tmpa K%
- \edef\@@tmpa{D}%
- \put(342,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{K}%
- \else\if\@tmpa l%
- \edef\@@tmpa{c}%
- \put(342,0){\set@fusionadd@sixv}%
- \else\if\@tmpa L%
- \edef\@@tmpa{C}%
- \put(342,0){\set@fusionadd@sixv}%
- \else\if\@tmpa m%
- \edef\@@tmpa{b}%
- \put(342,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{m}%
- \else\if\@tmpa M%
- \edef\@@tmpa{B}%
- \put(342,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{M}%
- \else\if\@tmpa n%
- \edef\@@tmpa{c}%
- \put(513,303){\set@fusionadd@sixv}%
- \UnfavorableFusion{n}%
- \else\if\@tmpa N%
- \edef\@@tmpa{C}%
- \put(513,303){\set@fusionadd@sixv}%
- \UnfavorableFusion{N}%
- \else\if\@tmpa o%
- \edef\@@tmpa{d}%
- \put(513,303){\set@fusionadd@sixv}%
- \ForbiddenFusion{o}%
- \else\if\@tmpa O%
- \edef\@@tmpa{D}%
- \put(513,303){\set@fusionadd@sixv}%
- \ForbiddenFusion{O}%
- \else\if\@tmpa p%
- \edef\@@tmpa{e}%
- \put(342,0){\set@fusionadd@sixv}%
- \ForbiddenFusion{p}%
- \else\if\@tmpa P%
- \edef\@@tmpa{E}%
- \put(342,0){\set@fusionadd@sixv}%
- \ForbiddenFusion{P}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@hphananv
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Ring-fusion Commands for Five-Membered Rings}
-% \subsection{Normal vertical type}
-%
-% The macro |\set@fusionadd@fivev| is an inner command contained
-% in the definition of |\fiveheterov| etc., where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusion@fivev|.
-%
-% \begin{macro}{\set@fusionadd@fivev}
-% \changes{v2.00}{1998/12/4}{New command: \cs{set@fusionadd@fivev}}
-% \begin{macrocode}
-\def\set@fusionadd@fivev{%
- \if\@@tmpa 1\relax%
- \putratom{-38}{88}{\@@tmpb}% % right type
- \else\if\@@tmpa 2\relax%
- \putratom{60}{120}{\@@tmpb}% % right type
- \else\if\@@tmpa 3\relax%
- \putratom{60}{233}{\@@tmpb}% % right type
- \else\if\@@tmpa 4\relax%
- \putratom{-60}{233}{\@@tmpb}% % right type
- \else\if\@@tmpa 5\relax%
- \putratom{-60}{120}{\@@tmpb}% % right type
- \else\if\@@tmpa 0\relax%
- \putratom{-38}{150}{\@@tmpb}% % right type
- \else
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
- \set@fusion@fivev
- \fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusionadd@fivev
-% \end{macrocode}
-% \end{macro}
-%
-% The inner command |\set@fusion@fivev| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@fivev}
-% \changes{v2.00}{1998/12/4}{New command: \cs{set@fusion@fivev}}
-% \begin{macrocode}
-\def\set@fusion@fivev{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
- \if\@@tmpa a\relax%
- \putlratom{0}{0}{\@@tmpb}% % right type
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a}%
- \else\if\@@tmpa A\relax%
- \putlratom{171}{103}{\@@tmpb}% % right type
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A}%
- \else\if\@@tmpa b\relax%
- \putlratom{171}{103}{\@@tmpb}% % right type
- \FuseWarning{0}{-200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b}%
- \else\if\@@tmpa B\relax%
- \putlratom{171}{303}{\@@tmpb}% % right type
- \FuseWarning{0}{200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B}%
- \else\if\@@tmpa c\relax
- \XyMTeXWarning{Not-used fusion at bond `c'}%
- \else\if\@@tmpa C\relax%
- \XyMTeXWarning{Not-used fusion at bond `C'}%
- \else\if\@@tmpa d\relax%
- \putlratom{-171}{303}{\@@tmpb}% % right type
- \FuseWarning{0}{200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d}%
- \else\if\@@tmpa D\relax%
- \putlratom{-171}{103}{\@@tmpb}% % right type
- \FuseWarning{0}{-200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D}%
- \else\if\@@tmpa e\relax%
- \putlratom{-171}{103}{\@@tmpb}% % right type
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e}%
- \else\if\@@tmpa E\relax%
- \putlratom{0}{0}{\@@tmpb}% % right type
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of the marcro \set@fusion@fivev
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse vertical type}
-%
-% The macro |\set@fusionadd@fivevi| is an inner command contained
-% in the definition of |\fiveheterov| etc., where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusion@fivevi|.
-%
-% \begin{macro}{\set@fusionadd@fivevi}
-% \changes{v2.00}{1998/12/4}{New command: \cs{set@fusionadd@fivevi}}
-% \begin{macrocode}
-\def\set@fusionadd@fivevi{%
- \if\@@tmpa 1\relax%
- \putratom{-38}{282}{\@@tmpb}% % right type
- \else\if\@@tmpa 2\relax%
- \putratom{60}{233}{\@@tmpb}% % right type
- \else\if\@@tmpa 3\relax%
- \putratom{60}{120}{\@@tmpb}% % right type
- \else\if\@@tmpa 4\relax%
- \putratom{-60}{120}{\@@tmpb}% % right type
- \else\if\@@tmpa 5\relax%
- \putratom{-60}{233}{\@@tmpb}% % right type
- \else\if\@@tmpa 0\relax%
- \putratom{-38}{213}{\@@tmpb}% % right type
- \else
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
- \set@fusion@fivevi
- \fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusionadd@fivevi
-% \end{macrocode}
-% \end{macro}
-%
-% The inner command |\set@fusion@fivevi| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@fivevi}
-% \changes{v2.00}{1998/12/4}{New command: \cs{set@fusion@fivevi}}
-% \begin{macrocode}
-\def\set@fusion@fivevi{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if\@@tmpa d\relax%
- \putlratom{-171}{103}{\@@tmpb}% % bond fused
- \FuseWarning{0}{-200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, k, or other}%
- \else\if\@@tmpa D\relax%
- \putlratom{-171}{303}{\@@tmpb}% % bond fused
- \FuseWarning{0}{200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, K, or other}%
- \else\if\@@tmpa e\relax%
- \putlratom{-171}{303}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, j, or other}%
- \else\if\@@tmpa E\relax%
- \putlratom{0}{406}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, J, or other}%
- \else\if\@@tmpa a\relax%
- \putlratom{0}{406}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}%
- \else\if\@@tmpa A\relax%
- \putlratom{171}{303}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}%
- \else\if\@@tmpa b\relax%
- \putlratom{171}{303}{\@@tmpb}% % bond fused
- \FuseWarning{0}{200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}%
- \else\if\@@tmpa B\relax%
- \putlratom{171}{103}{\@@tmpb}% % bond fused
- \FuseWarning{0}{-200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}%
- \else\if\@@tmpa c\relax
- \XyMTeXWarning{Not-used fusion at bond `c'}%
- \else\if\@@tmpa C\relax%
- \XyMTeXWarning{Not-used fusion at bond `C'}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@fivevi
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Normal horizontal type}
-%
-% The macro |\set@fusionadd@fiveh| is an inner command contained
-% in the definition of |\fiveheteroh| etc., where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusion@fiveh|.
-%
-% \begin{macro}{\set@fusionadd@fiveh}
-% \changes{v2.00}{1998/11/29}{New command: \cs{set@fusionadd@fiveh}}
-% \begin{macrocode}
-\def\set@fusionadd@fiveh{%
- \if\@@tmpa 1\relax%
- \putratom{272}{-18}{\@@tmpb}% % right type
- \else\if\@@tmpa 2\relax%
- \putratom{233}{60}{\@@tmpb}% % right type
- \else\if\@@tmpa 3\relax%
- \putratom{120}{60}{\@@tmpb}% % right type
- \else\if\@@tmpa 5\relax%
- \putratom{233}{-110}{\@@tmpb}% % right type
- \else\if\@@tmpa 4\relax%
- \putratom{120}{-110}{\@@tmpb}% % right type
- \else\if\@@tmpa 0\relax%
- \putratom{196}{-30}{\@@tmpb}% % right type
- \else
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
- \set@fusion@fiveh
- \fi\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% The inner command |\set@fusion@fiveh| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@fiveh}
-% \changes{v2.00}{1998/11/23}{New command: \cs{set@fusion@fiveh}}
-% \begin{macrocode}
-\def\set@fusion@fiveh{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if\@@tmpa E\relax%
- \putlratom{406}{0}{\@@tmpb}% % bond fused
- \FuseWarning{103}{171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, J, or other}%
- \else\if\@@tmpa e\relax%
- \putlratom{303}{-171}{\@@tmpb}% % bond fused
- \FuseWarning{-103}{-171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, j, or other}%
- \else\if\@@tmpa D\relax%
- \putlratom{303}{-171}{\@@tmpb}% % bond fused
- \FuseWarning{200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, K, or other}%
- \else\if\@@tmpa d\relax%
- \putlratom{103}{-171}{\@@tmpb}% % bond fused
- \FuseWarning{-200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, k, or other}%
- \else\if\@@tmpa c\relax
- \XyMTeXWarning{Not-used fusion at bond `c'}%
- \else\if\@@tmpa C\relax%
- \XyMTeXWarning{Not-used fusion at bond `C'}%
- \else\if\@@tmpa B\relax%
- \putlratom{103}{171}{\@@tmpb}% % bond fused
- \FuseWarning{-200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}%
- \else\if\@@tmpa b\relax%
- \putlratom{303}{171}{\@@tmpb}% % bond fused
- \FuseWarning{200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}%
- \else\if\@@tmpa A\relax%
- \putlratom{303}{171}{\@@tmpb}% % bond fused
- \FuseWarning{-103}{171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}%
- \else\if\@@tmpa a\relax%
- \putlratom{406}{0}{\@@tmpb}% % bond fused
- \FuseWarning{103}{-171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@fiveh
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse horizontal type}
-%
-% The macro |\set@fusionadd@fivehi| is an inner command contained
-% in the definition of |\fiveheterohi| etc., where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusion@fivehi|.
-%
-% \begin{macro}{\set@fusionadd@fivehi}
-% \changes{v2.00}{1998/11/23}{New command: \cs{set@fusionadd@fivehi}}
-% \begin{macrocode}
-\def\set@fusionadd@fivehi{%
- \if\@@tmpa 1\relax%
- \putratom{-38}{282}{\@@tmpb}% % right type
- \else\if\@@tmpa 2\relax%
- \putratom{60}{233}{\@@tmpb}% % right type
- \else\if\@@tmpa 3\relax%
- \putratom{60}{120}{\@@tmpb}% % right type
- \else\if\@@tmpa 4\relax%
- \putratom{-60}{120}{\@@tmpb}% % right type
- \else\if\@@tmpa 5\relax%
- \putratom{-60}{233}{\@@tmpb}% % right type
- \else\if\@@tmpa 0\relax%
- \putratom{140}{-30}{\@@tmpb}% % right type
- \else
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
- \set@fusion@fivehi
- \fi\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% The inner command |\set@fusion@fivehi| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@fivehi}
-% \changes{v2.00}{1998/11/23}{New command: \cs{set@fusion@fivehi}}
-% \begin{macrocode}
-\def\set@fusion@fivehi{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if\@@tmpa d\relax%
- \putlratom{303}{-171}{\@@tmpb}% % bond fused
- \FuseWarning{200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, k, or other}%
- \else\if\@@tmpa D\relax%
- \putlratom{103}{-171}{\@@tmpb}% % bond fused
- \FuseWarning{-200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, K, or other}%
- \else\if\@@tmpa e\relax%
- \putlratom{103}{-171}{\@@tmpb}% % bond fused
- \FuseWarning{103}{-171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, j, or other}%
- \else\if\@@tmpa E\relax%
- \putlratom{0}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-103}{171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, J, or other}%
- \else\if\@@tmpa a\relax%
- \putlratom{0}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-103}{-171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}%
- \else\if\@@tmpa A\relax%
- \putlratom{103}{171}{\@@tmpb}% % bond fused
- \FuseWarning{103}{171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}%
- \else\if\@@tmpa b\relax%
- \putlratom{103}{171}{\@@tmpb}% % bond fused
- \FuseWarning{-200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}%
- \else\if\@@tmpa B\relax%
- \putlratom{303}{171}{\@@tmpb}% % bond fused
- \FuseWarning{200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}%
- \else\if\@@tmpa c\relax
- \XyMTeXWarning{Not-used fusion at bond `c'}%
- \else\if\@@tmpa C\relax%
- \XyMTeXWarning{Not-used fusion at bond `C'}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@sixh
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Ring-fusion Commands for Six-Five-fused Rings}
-% \subsection{Normal vertical type}
-%
-% The macro |\set@fusion@nonav| is an inner command contained
-% in the definition of |\indanev| and |\nonaheterov|, where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusionadd@sixvi|.
-%
-% \begin{macro}{\set@fusion@nonav}
-% \begin{macrocode}
-\def\set@fusion@nonav{%
- \let\@@tmpa=\@tmpa
- \let\@@tmpb=\@tmpb
- \if\@tmpa a%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa A%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa b%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa B%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa c\relax
- \XyMTeXWarning{Not-used fusion at bond `c'}%
- \else\if\@tmpa C\relax%
- \XyMTeXWarning{Not-used fusion at bond `C'}%
- \else\if\@tmpa d%
- \edef\@@tmpa{c}%
- \put(0,0){\set@fusionadd@sixvi}%
- \UnfavorableFusion{d}%
- \else\if\@tmpa D%
- \edef\@@tmpa{C}%
- \put(0,0){\set@fusionadd@sixvi}%
- \UnfavorableFusion{D}%
- \else\if\@tmpa e%
- \edef\@@tmpa{d}%
- \put(0,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa E%
- \edef\@@tmpa{D}%
- \put(0,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa f%
- \edef\@@tmpa{e}%
- \put(0,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa F%
- \edef\@@tmpa{E}%
- \put(0,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa g%
- \edef\@@tmpa{f}%
- \put(0,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa G%
- \edef\@@tmpa{F}%
- \put(0,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa h%
- \edef\@@tmpa{a}%
- \put(0,0){\set@fusionadd@sixvi}%
- \UnfavorableFusion{h}%
- \else\if\@tmpa H%
- \edef\@@tmpa{A}%
- \put(0,0){\set@fusionadd@sixvi}%
- \UnfavorableFusion{H}%
- \else\if\@tmpa i%
- \edef\@@tmpa{f}%
- \put(342,0){\set@fusionadd@sixvi}%
- \UnfavorableFusion{i}%
- \else\if\@tmpa I%
- \edef\@@tmpa{F}%
- \put(342,0){\set@fusionadd@sixvi}%
- \UnfavorableFusion{I}%
- \else\if\@tmpa j%
- \edef\@@tmpa{e}%
- \put(342,0){\set@fusionadd@sixvi}%
- \ForbiddenFusion{j}%
- \else\if\@tmpa J%
- \edef\@@tmpa{E}%
- \put(342,0){\set@fusionadd@sixvi}%
- \ForbiddenFusion{J}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@nonav
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse vertical type}
-%
-% The macro |\set@fusion@nonavi| is an inner command contained
-% in the definition of |\indanevi| and |\nonaheterovi|, where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusionadd@sixv|.
-%
-% \begin{macro}{\set@fusion@nonavi}
-% \changes{v2.00}{1998/12/5}{New command: \cs{set@fusion@nonavi}}
-% \begin{macrocode}
-\def\set@fusion@nonavi{%
- \let\@@tmpa=\@tmpa
- \let\@@tmpb=\@tmpb
- \if\@tmpa a%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixv}%
- \else\if\@tmpa A%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixv}%
- \else\if\@tmpa b%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixv}%
- \else\if\@tmpa B%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixv}%
- \else\if\@tmpa c\relax
- \XyMTeXWarning{Not-used fusion at bond `c'}%
- \else\if\@tmpa C\relax%
- \XyMTeXWarning{Not-used fusion at bond `C'}%
- \else\if\@tmpa d%
- \edef\@@tmpa{c}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{d}%
- \else\if\@tmpa D%
- \edef\@@tmpa{C}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{D}%
- \else\if\@tmpa e%
- \edef\@@tmpa{d}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa E%
- \edef\@@tmpa{D}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa f%
- \edef\@@tmpa{e}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa F%
- \edef\@@tmpa{E}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa g%
- \edef\@@tmpa{f}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa G%
- \edef\@@tmpa{F}%
- \put(0,0){\set@fusionadd@sixv}%
- \else\if\@tmpa h%
- \edef\@@tmpa{a}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{h}%
- \else\if\@tmpa H%
- \edef\@@tmpa{A}%
- \put(0,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{H}%
- \else\if\@tmpa i%
- \edef\@@tmpa{f}%
- \put(342,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{i}%
- \else\if\@tmpa I%
- \edef\@@tmpa{F}%
- \put(342,0){\set@fusionadd@sixv}%
- \UnfavorableFusion{I}%
- \else\if\@tmpa j%
- \edef\@@tmpa{e}%
- \put(342,0){\set@fusionadd@sixv}%
- \ForbiddenFusion{j}%
- \else\if\@tmpa J%
- \edef\@@tmpa{E}%
- \put(342,0){\set@fusionadd@sixv}%
- \ForbiddenFusion{J}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@nonavi
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Normal horizontal type}
-%
-% The macro |\set@fusion@nonah| is an inner command contained
-% in the definition of |\nonaheteroh|, where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusionadd@sixhi|.
-%
-% \begin{macro}{\set@fusion@nonah}
-% \changes{v2.00}{1998/12/6}{New command: \cs{set@fusion@nonah}}
-% \begin{macrocode}
-\def\set@fusion@nonah{%
- \let\@@tmpa=\@tmpa
- \let\@@tmpb=\@tmpb
- \if\@tmpa a%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixhi}%
- \else\if\@tmpa A%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixhi}%
- \else\if\@tmpa b%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixhi}%
- \else\if\@tmpa B%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixhi}%
- \else\if\@tmpa c\relax
- \XyMTeXWarning{Not-used fusion at bond `c'}%
- \else\if\@tmpa C\relax%
- \XyMTeXWarning{Not-used fusion at bond `C'}%
- \else\if\@tmpa d%
- \edef\@@tmpa{c}%
- \put(0,-342){\set@fusionadd@sixhi}%
- \UnfavorableFusion{d}%
- \else\if\@tmpa D%
- \edef\@@tmpa{C}%
- \put(0,-342){\set@fusionadd@sixhi}%
- \UnfavorableFusion{D}%
- \else\if\@tmpa e%
- \edef\@@tmpa{d}%
- \put(0,-342){\set@fusionadd@sixhi}%
- \else\if\@tmpa E%
- \edef\@@tmpa{D}%
- \put(0,-342){\set@fusionadd@sixhi}%
- \else\if\@tmpa f%
- \edef\@@tmpa{e}%
- \put(0,-342){\set@fusionadd@sixhi}%
- \else\if\@tmpa F%
- \edef\@@tmpa{E}%
- \put(0,-342){\set@fusionadd@sixhi}%
- \else\if\@tmpa g%
- \edef\@@tmpa{f}%
- \put(0,-342){\set@fusionadd@sixhi}%
- \else\if\@tmpa G%
- \edef\@@tmpa{F}%
- \put(0,-342){\set@fusionadd@sixhi}%
- \else\if\@tmpa h%
- \edef\@@tmpa{a}%
- \put(0,-342){\set@fusionadd@sixhi}%
- \UnfavorableFusion{h}%
- \else\if\@tmpa H%
- \edef\@@tmpa{A}%
- \put(0,-342){\set@fusionadd@sixhi}%
- \UnfavorableFusion{H}%
- \else\if\@tmpa i%
- \edef\@@tmpa{f}%
- \put(0,0){\set@fusionadd@sixhi}%
- \UnfavorableFusion{i}%
- \else\if\@tmpa I%
- \edef\@@tmpa{F}%
- \put(0,0){\set@fusionadd@sixhi}%
- \UnfavorableFusion{I}%
- \else\if\@tmpa j%
- \edef\@@tmpa{e}%
- \put(0,0){\set@fusionadd@sixhi}%
- \ForbiddenFusion{j}%
- \else\if\@tmpa J%
- \edef\@@tmpa{E}%
- \put(0,0){\set@fusionadd@sixhi}%
- \ForbiddenFusion{J}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@nonah
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse horizontal type}
-%
-% The macro |\set@fusion@nonahi| is an inner command contained
-% in the definition of |\indanehi| and |\nonaheterohi|, where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusionadd@sixh|.
-%
-% \begin{macro}{\set@fusion@nonahi}
-% \changes{v2.00}{1998/12/5}{New command: \cs{set@fusion@nonahi}}
-% \begin{macrocode}
-\def\set@fusion@nonahi{%
- \let\@@tmpa=\@tmpa
- \let\@@tmpb=\@tmpb
- \if\@tmpa a%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixh}%
- \else\if\@tmpa A%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixh}%
- \else\if\@tmpa b%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixh}%
- \else\if\@tmpa B%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixh}%
- \else\if\@tmpa c\relax
- \XyMTeXWarning{Not-used fusion at bond `c'}%
- \else\if\@tmpa C\relax%
- \XyMTeXWarning{Not-used fusion at bond `C'}%
- \else\if\@tmpa d%
- \edef\@@tmpa{c}%
- \put(0,-342){\set@fusionadd@sixh}%
- \UnfavorableFusion{d}%
- \else\if\@tmpa D%
- \edef\@@tmpa{C}%
- \put(0,-342){\set@fusionadd@sixh}%
- \UnfavorableFusion{D}%
- \else\if\@tmpa e%
- \edef\@@tmpa{d}%
- \put(0,-342){\set@fusionadd@sixh}%
- \else\if\@tmpa E%
- \edef\@@tmpa{D}%
- \put(0,-342){\set@fusionadd@sixh}%
- \else\if\@tmpa f%
- \edef\@@tmpa{e}%
- \put(0,-342){\set@fusionadd@sixh}%
- \else\if\@tmpa F%
- \edef\@@tmpa{E}%
- \put(0,-342){\set@fusionadd@sixh}%
- \else\if\@tmpa g%
- \edef\@@tmpa{f}%
- \put(0,-342){\set@fusionadd@sixh}%
- \else\if\@tmpa G%
- \edef\@@tmpa{F}%
- \put(0,-342){\set@fusionadd@sixh}%
- \else\if\@tmpa h%
- \edef\@@tmpa{a}%
- \put(0,-342){\set@fusionadd@sixh}%
- \UnfavorableFusion{h}%
- \else\if\@tmpa H%
- \edef\@@tmpa{A}%
- \put(0,-342){\set@fusionadd@sixh}%
- \UnfavorableFusion{H}%
- \else\if\@tmpa i%
- \edef\@@tmpa{f}%
- \put(0,0){\set@fusionadd@sixh}%
- \UnfavorableFusion{i}%
- \else\if\@tmpa I%
- \edef\@@tmpa{F}%
- \put(0,0){\set@fusionadd@sixh}%
- \UnfavorableFusion{I}%
- \else\if\@tmpa j%
- \edef\@@tmpa{e}%
- \put(0,0){\set@fusionadd@sixh}%
- \ForbiddenFusion{j}%
- \else\if\@tmpa J%
- \edef\@@tmpa{E}%
- \put(0,0){\set@fusionadd@sixh}%
- \ForbiddenFusion{J}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@nonahi
-%</chemstr>
-% \end{macrocode}
-% \end{macro}
-%
-% \Finale
-%
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/chemstr.ins b/Master/texmf-dist/source/latex/xymtex/chemstr.ins
deleted file mode 100644
index 09f26e8d7c9..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/chemstr.ins
+++ /dev/null
@@ -1,50 +0,0 @@
-\def\batchfile{chemstr.ins}
-\input docstrip.tex
-\preamble
-
-This is a generated file.
-
-Copyright 1996, 1988 by Shinsaku Fujita
-
-This file is part of the XyMTeX system.
-=======================================
-
-Version 1.01 Released on August 16, 1996
-Version 1.02 Released on October 31, 1998 (private version)
-Version 2.00 Released on December 25, 1998
-
-Copyright (C) 1996, 1998 by Shinsaku Fujita, all rights reserved.
-This style file is created for drawing chemical structural formulas
-This style file is to be contained in the ``xymtex'' directory which
-is an input directory for TeX.
-
-Copying of this file is authorized only if either
-
- (1) you make absolutely no changes to your copy, including name and
- directory name
- (2) if you do make changes,
- (a) you name it something other than the names included in the
- ``xymtex'' directory and
- (b) you acknowledge the original name.
- This restriction ensures that all standard styles are identical.
-
-=======================================
-
-This file contains several codes modified from latex.tex (LaTeX2.09)
-and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-Copyright 1994 the LaTeX3 project and the individual authors (For further
-copyright information see the file legal.txt of the LaTeX2e standard
-distribution, and any other copyright indicated in this file.)
-
-\endpreamble
-
-\keepsilent
-
-\generateFile{chemstr.drv}{t}{%
- \from{chemstr.dtx}{driver}}
-
-\generateFile{chemstr.sty}{t}{%
- \from{chemstr.dtx}{chemstr}}
-
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/doins.bat b/Master/texmf-dist/source/latex/xymtex/doins.bat
deleted file mode 100644
index 38a90a2f401..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/doins.bat
+++ /dev/null
@@ -1,14 +0,0 @@
-platex aliphat.ins
-platex carom.ins
-platex ccycle.ins
-platex chemist.ins
-platex chemstr.ins
-platex hcycle.ins
-platex hetarom.ins
-platex hetaromh.ins
-platex locant.ins
-platex lowcycle.ins
-platex polymers.ins
-platex methylen.ins
-platex fusering.ins
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/fusering.drv b/Master/texmf-dist/source/latex/xymtex/fusering.drv
deleted file mode 100644
index 937c74106ca..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/fusering.drv
+++ /dev/null
@@ -1,80 +0,0 @@
-%%
-%% This is file `fusering.drv',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% fusering.dtx (with options: `driver')
-%%
-%% This is a generated file.
-%%
-%% Copyright 1998 by Shinsaku Fujita
-%%
-%% This file is part of the XyMTeX system.
-%% =======================================
-%%
-%% Version 1.02 Released on October 31, 1998 (private version)
-%% Version 2.00 Released on December 25, 1998
-%%
-%% Copyright (C) 1998 by Shinsaku Fujita, all rights reserved.
-%% This style file is created for drawing chemical structural formulas
-%% This style file is to be contained in the ``xymtex'' directory which
-%% is an input directory for TeX.
-%%
-%% Copying of this file is authorized only if either
-%%
-%% (1) you make absolutely no changes to your copy, including name and
-%% directory name
-%% (2) if you do make changes,
-%% (a) you name it something other than the names included in the
-%% ``xymtex'' directory and
-%% (b) you acknowledge the original name.
-%% This restriction ensures that all standard styles are identical.
-%%
-%% =======================================
-%%
-%% This file contains several codes modified from latex.tex (LaTeX2.09)
-%% and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-%% Copyright 1994 the LaTeX3 project and the individual authors (For further
-%% copyright information see the file legal.txt of the LaTeX2e standard
-%% distribution, and any other copyright indicated in this file.)
-%%
-%% File: fusering.dtx
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{methylen.dtx}[1998/12/25 v2.00 XyMTeX{} package file]
-\documentclass{ltxdoc}
-\GetFileInfo{methylen.dtx}
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-\title{Fusing Ring Units by {\sffamily fusering.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606 Japan
-}
-\date{\filedate}
-\begin{document}
- \maketitle
- \DocInput{fusering.dtx}
-\end{document}
-\endinput
-%%
-%% End of file `fusering.drv'.
diff --git a/Master/texmf-dist/source/latex/xymtex/fusering.dtx b/Master/texmf-dist/source/latex/xymtex/fusering.dtx
deleted file mode 100644
index a7b6695ad70..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/fusering.dtx
+++ /dev/null
@@ -1,4575 +0,0 @@
-% \iffalse meta-comment
-%% File: fusering.dtx
-%
-% Copyright 1998 by Shinsaku Fujita
-%
-% This file is part of XyMTeX system.
-% -------------------------------------
-%
-% This file is a part of the macro package ``XyMTeX'' which has been
-% designed for typesetting chemical structural formulas.
-%
-% This file is to be contained in the ``xymtex'' directory which is
-% an input directory for TeX. It is a LaTeX optional style file and
-% should be used only within LaTeX, because several macros of the file
-% are based on LaTeX commands.
-%
-% For the review of XyMTeX, see
-% (1) Shinsaku Fujita, ``Typesetting structural formulas with the text
-% formatter TeX/LaTeX'', Computers and Chemistry, in press.
-% The following book deals with an application of TeX/LaTeX to
-% preparation of manuscripts of chemical fields:
-% (2) Shinsaku Fujita, ``LaTeX for Chemists and Biochemists''
-% Tokyo Kagaku Dozin, Tokyo (1993) [in Japanese].
-%
-% Copying of this file is authorized only if either
-% (1) you make absolutely no changes to your copy, including name and
-% directory name; or
-% (2) if you do make changes,
-% (a) you name it something other than the names included in the
-% ``xymtex'' directory and
-% (b) you are requested to leave this notice intact.
-% This restriction ensures that all standard styles are identical.
-%
-% Please report any bugs, comments, suggestions, etc. to:
-% Shinsaku Fujita,
-% Department of Chemistry and Materials Technology,
-% Kyoto Institute of Technology, \\
-% Matsugasaki, Sakyoku, Kyoto, 606 Japan
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% \fi
-%
-% \CheckSum{4211}
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%
-% \setcounter{StandardModuleDepth}{1}
-%
-% \StopEventually{}
-% \MakeShortVerb{\|}
-%
-% \iffalse
-% \changes{v2.00}{1998/12/25}{enhanced edition for LaTeX2e}
-% \fi
-%
-% \iffalse
-%<*driver>
-\NeedsTeXFormat{pLaTeX2e}
-% \fi
-\ProvidesFile{methylen.dtx}[1998/12/25 v2.00 XyMTeX{} package file]
-% \iffalse
-\documentclass{ltxdoc}
-\GetFileInfo{methylen.dtx}
-%
-% %%XyMTeX Logo: Definition 2%%%
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\title{Fusing Ring Units by {\sffamily fusering.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606 Japan
-}
-\date{\filedate}
-%
-\begin{document}
- \maketitle
- \DocInput{fusering.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \section{Introduction}\label{methylen:intro}
-%
-% \subsection{Options for {\sffamily docstrip}}
-%
-% \DeleteShortVerb{\|}
-% \begin{center}
-% \begin{tabular}{|l|l|}
-% \hline
-% \emph{option} & \emph{function}\\ \hline
-% fusering & fusering.sty \\
-% driver & driver for this dtx file \\
-% \hline
-% \end{tabular}
-% \end{center}
-% \MakeShortVerb{\|}
-%
-% \subsection{Version Information}
-%
-% \begin{macrocode}
-%<*fusering>
-\typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 2.00}
-\typeout{ -- Released December 25, 1998 by Shinsaku Fujita}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\j@urnalname{methylen}
-\def\versi@ndate{December 25, 1998}
-\def\versi@nno{ver2.00}
-\def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\typeout{XyMTeX Macro File `\j@urnalname' (\versi@nno) <\versi@ndate>%
-\space[\copyrighth@lder]}
-% \end{macrocode}
-%
-% \section{List of commands for fusering.sty}
-%
-% \begin{verbatim}
-% **********************************
-% * fusering.sty: list of commands *
-% **********************************
-%
-% <Six-membered fused ring units>
-% \sixfusev \@sixfusev \sixfuseposv
-% \sixfusevi \@sixfusevi \sixfuseposvi
-% \sixfuseh \@sixfuseh \sixfuseposh
-% \sixfusehi \@sixfusehi \sixfuseposhi
-%
-% <Five-membered fused ring units>
-% \fivefusev \@fivefusev \fivefuseposv
-% \fivefusevi \@fivefusevi \fivefuseposvi
-% \fivefuseh \@fivefuseh \fivefuseposh
-% \fivefusehi \@fivefusehi \fivefuseposhi
-%
-% <Four-membered fused ring units>
-% \fourfuse \@fourfuse \fourfusepos
-%
-% <Three-membered fused ring units>
-% \threefusev \@threefusev \threefuseposv
-% \threefusevi \@threefusevi \threefuseposvi
-% \threefuseh \@threefuseh \threefuseposh
-% \threefusehi \@threefusehi \threefuseposhi
-
-% \end{verbatim}
-%
-% \section{Input of basic macros}
-%
-% To assure the compatibility to \LaTeX{}2.09 (the native mode),
-% the commands added by \LaTeXe{} have not been used in the resulting sty
-% files ({\sf polymers.sty} for the present case). Hence, the combination
-% of |\input| and |\@ifundefined| is used to crossload sty
-% files ({\sf chemstr.sty} etc. for the present case) in place of the
-% |\RequirePackage| command of \LaTeXe{}.
-%
-% \begin{macrocode}
-% *************************
-% * input of basic macros *
-% *************************
-\@ifundefined{setsixringv}{\input chemstr.sty\relax}{}
-\@ifundefined{bzdrv}{\input carom.sty\relax}{}
-\@ifundefined{hbonde}{\input hetaromh.sty\relax}{}
-\@ifundefined{bonde}{\input hetarom.sty\relax}{}
-\unitlength=0.1pt
-% \end{macrocode}
-%
-% \section{Six-Membered Fusing Units}
-% \subsection{Vertical Type}
-%
-% The command |\sixfusev| produces a six-membered fusing unit
-% of vertical type. The structure produced lacks a given bond
-% in order to realize ring fusion, which produces a new ring system.
-% The following numbering is adopted in this macro.
-% Note that the difference between |\sixfusev| and |\sixuniv|,
-% the latter of which is designed as an inner command for giving
-% a building block with no adjustment of attached sites, while
-% the former has a function of such adjustment.
-%
-% \begin{verbatim}
-% *****************************
-% * six-membered fusing unit *
-% * (vertical type) *
-% *****************************
-%
-% 1
-% f * a
-% 6 * * 2
-% d | | b
-% | |
-% 5 * * 3
-% d * c
-% 4 <===== the original point
-% \end{verbatim}
-%
-% The macro |\sixfusev| has three arguments |ATOMLIST|, |SUBSLIST|
-% and |FUSE| as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \sixfusev(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `f' and a uppercase
-% character `A' or `B'.
-%
-% \begin{verbatim}
-% SKBONDLIST =
-% A: dotted bond for an alpha (down) bond
-% B: boldfaced bond for a beta (upper) bond
-%
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one
-% character selected from a to f, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $6$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : fully saturated
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% f : 6,1-double bond
-% {n+} : plus at the n-nitrogen atom (n = 1 to 6)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 6 atoms)
-%
-% for n = 1 to 6
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |FUSE| represents one bond to be omitted.
-% The omitted edge is regarded as a fused position.
-%
-% \begin{verbatim}
-% FUSE: one bond omitted (a, b, c, d, e, or f)
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges are regarded as non-fused positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a, b, c, d, e, or f)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \sixfusev{1==N}{1==Cl;2==F}{e}
-% \end{verbatim}
-%
-% \changes{v2.00}{1998/12/25}{New command: \cs{sixfusev}}
-%
-% \begin{macro}{\if@skbondlist}
-% \begin{macrocode}
-%\newif\if@skbondlist
-%\@skbondlistfalse
-% \end{macrocode}
-% \end{macro}% to hetarom.sty
-%
-% \begin{macro}{\sixfusev}
-% \begin{macro}{\@six@fusev}
-% \begin{macro}{\@six@@fusev}
-% \begin{macro}{\@sixfusev}
-% \begin{macrocode}
-\def\sixfusev{\@ifnextchar({\@six@fusev(@}{\@six@fusev(@)}}
-\def\@six@fusev(#1){\@ifnextchar[{\@six@@fusev(#1)[@}%
-{\@six@@fusev(#1)[@]}}
-\def\@six@@fusev(#1)[#2]#3#4#5{\@ifnextchar[%
-{\@sixfusev(#1)[#2]{#3}{#4}{#5}[@}%
-{\@sixfusev(#1)[#2]{#3}{#4}{#5}[@]}}
-\def\@sixfusev(#1)[#2]#3#4#5[#6]{%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize%
-\test@vertix@sixv{#3}{a}{b}{c}{d}{e}{f}%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adjustment of attached positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\sixfuseposv{#5}%
-\if@sixfuseposv
- \yl@shiftii=-\fuseAx
- \yl@shifti=-\fuseAy
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(800,880)(-\shiftii,-\shifti)%
- \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `sixfusev' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-% changed FUSE into a list 1993/11/21 by Shinsaku Fujita
-{%
-\resetbdsw%
-\@bond@fuse@omit{#5}{#6}%
-\set@skel@bond{#1}{a}{a}% bond between 1 and 2 \@aaa -> \skbonda etc
-\set@skel@bond{#1}{b}{b}% bond between 2 and 3 \@bbb -> \skbondb etc
-\set@skel@bond{#1}{c}{c}% bond between 3 and 4 \@ccc -> \skbondc etc
-\set@skel@bond{#1}{d}{d}% bond between 4 and 5 \@ddd -> \skbondd etc
-\set@skel@bond{#1}{e}{e}% bond between 5 and 6 \@eee -> \skbonde etc
-\set@skel@bond{#1}{f}{f}% bond between 6 and 1 \@fff -> \skbondf etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-\else\if\member l\relax%
-\else\if\member a\relax%
- \bonda%
-\else\if\member b\relax%
- \bondb%
-\else\if\member c\relax%
- \bondc%
-\else\if\member d\relax%
- \bondd%
-\else\if\member e\relax%
- \bonde%
-\else\if\member f\relax%
- \bondf%
-\else\if\member A%left aromatic circle
- \put(0,203){\circle{240}}% %circle
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-\else \expandafter\twoCH@@R\member//%
- \set@fusionadd@sixv
-\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\set@hetatom@sixv{#3}{0}{0}{7}{0}% %atom 1--6%
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\setsixringv{#4}{0}{0}{7}{0}%
-\end{picture}%
-\sixfuseposv{#5}%for FuseWaring when nested
-\iniatom\iniflag}% %end of \sixfusev macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\sixfuseposv| is used in the definition of
-% the |\sixfusev| macro to detect a fused edge, where
-% the coordinates of a reference terminal (|\fuseAx| and |\fuseAy|)
-% and of the other terminal of the edge (|\fuseBx| and |\fuseBy|)
-% are given for the successive process of adjustment.
-%
-% \begin{macro}{\if@sixfuseposv}
-% \begin{macro}{\sixfuseposv}
-% \begin{macrocode}
-\newif\if@sixfuseposv \@sixfuseposvfalse
-\def\fuseAx{0}
-\def\fuseAy{0}
-\def\fuseBx{0}
-\def\fuseBy{0}
-\def\sixfuseposv#1{%
-\global\@sixfuseposvfalse
-{\resetbdsw%
-\@tfor\memBer:=#1\do{%
-\if\memBer a\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `a'}%
- \else
- \gdef\fuseAx{0}\gdef\fuseAy{406}%
- \gdef\fuseBx{171}\gdef\fuseBy{303}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer A\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `A'}%
- \else
- \gdef\fuseBx{0}\gdef\fuseBy{406}%
- \gdef\fuseAx{171}\gdef\fuseAy{303}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer b\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `b'}%
- \else
- \gdef\fuseAx{171}\gdef\fuseAy{303}%
- \gdef\fuseBx{171}\gdef\fuseBy{103}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer B\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `B'}%
- \else
- \gdef\fuseBx{171}\gdef\fuseBy{303}%
- \gdef\fuseAx{171}\gdef\fuseAy{103}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer c\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `c'}%
- \else
- \gdef\fuseAx{171}\gdef\fuseAy{103}%
- \gdef\fuseBx{0}\gdef\fuseBy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer C\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `C'}%
- \else
- \gdef\fuseBx{171}\gdef\fuseBy{103}%
- \gdef\fuseAx{0}\gdef\fuseAy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer d\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `d'}%
- \else
- \gdef\fuseAx{0}\gdef\fuseAy{0}%
- \gdef\fuseBx{-171}\gdef\fuseBy{103}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer D\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `D'}%
- \else
- \gdef\fuseBx{0}\gdef\fuseBy{0}%
- \gdef\fuseAx{-171}\gdef\fuseAy{103}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer e\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `e'}%
- \else
- \gdef\fuseAx{-171}\gdef\fuseAy{103}%
- \gdef\fuseBx{-171}\gdef\fuseBy{303}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer E\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `E'}%
- \else
- \gdef\fuseBx{-171}\gdef\fuseBy{103}%
- \gdef\fuseAx{-171}\gdef\fuseAy{303}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer f\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `f'}%
- \else
- \gdef\fuseAx{-171}\gdef\fuseAy{303}%
- \gdef\fuseBx{0}\gdef\fuseBy{406}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer F\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `F'}%
- \else
- \gdef\fuseBx{-171}\gdef\fuseBy{303}%
- \gdef\fuseAx{0}\gdef\fuseAy{406}%
- \global\@sixfuseposvtrue
- \fi
-\fi}}}% end of the macro \sixfuseposv
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\@bond@fuse@omit| is used in |\sixfusev| etc.
-% for detecting omitted bonds, where |\@aaa| etc. are empty if
-% they are omitted.
-%
-% \begin{macro}{\@bond@fuse@omit}
-% \begin{macrocode}
-\def\@bond@fuse@omit#1#2{%
-\ifx#1a\relax\gdef\@aaa{}\fi
-\ifx#1b\relax\gdef\@bbb{}\fi
-\ifx#1c\relax\gdef\@ccc{}\fi
-\ifx#1d\relax\gdef\@ddd{}\fi
-\ifx#1e\relax\gdef\@eee{}\fi
-\ifx#1f\relax\gdef\@fff{}\fi
-\ifx#1A\relax\gdef\@aaa{}\fi
-\ifx#1B\relax\gdef\@bbb{}\fi
-\ifx#1C\relax\gdef\@ccc{}\fi
-\ifx#1D\relax\gdef\@ddd{}\fi
-\ifx#1E\relax\gdef\@eee{}\fi
-\ifx#1F\relax\gdef\@fff{}\fi
-%%%%
-\@tfor\memBer:=#2\do{%
-\if\memBer a\relax\gdef\@aaa{}%
- \ifx#1a\relax
- \XyMTeXWarning{Double spec. of bond `a' in FUSE and OMIT}\fi
-\fi%
-\if\memBer A\relax\gdef\@aaa{}%
- \ifx#1a\relax
- \XyMTeXWarning{Double spec. of bond `a' in FUSE and OMIT}\fi
-\fi%
-\if\memBer b\relax\gdef\@bbb{}%
- \ifx#1b\relax
- \XyMTeXWarning{Double spec. of bond `b' in FUSE and OMIT}\fi
-\fi%
-\if\memBer B\relax\gdef\@bbb{}%
- \ifx#1b\relax
- \XyMTeXWarning{Double spec. of bond `b' in FUSE and OMIT}\fi
-\fi%
-\if\memBer c\relax\gdef\@ccc{}%
- \ifx#1c\relax
- \XyMTeXWarning{Double spec. of bond `c' in FUSE and OMIT}\fi
-\fi%
-\if\memBer C\relax\gdef\@ccc{}%
- \ifx#1c\relax
- \XyMTeXWarning{Double spec. of bond `c' in FUSE and OMIT}\fi
-\fi%
-\if\memBer d\relax\gdef\@ddd{}%
- \ifx#1d\relax
- \XyMTeXWarning{Double spec. of bond `d' in FUSE and OMIT}\fi
-\fi%
-\if\memBer D\relax\gdef\@ddd{}%
- \ifx#1d\relax
- \XyMTeXWarning{Double spec. of bond `d' in FUSE and OMIT}\fi
-\fi%
-\if\memBer e\relax\gdef\@eee{}%
- \ifx#1e\relax
- \XyMTeXWarning{Double spec. of bond `e' in FUSE and OMIT}\fi
-\fi%
-\if\memBer E\relax\gdef\@eee{}%
- \ifx#1e\relax
- \XyMTeXWarning{Double spec. of bond `e' in FUSE and OMIT}\fi
-\fi%
-\if\memBer f\relax\gdef\@fff{}%
- \ifx#1f\relax
- \XyMTeXWarning{Double spec. of bond `f' in FUSE and OMIT}\fi
-\fi%
-\if\memBer F\relax\gdef\@fff{}%
- \ifx#1f\relax
- \XyMTeXWarning{Double spec. of bond `f' in FUSE and OMIT}\fi
-\fi%
-}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse Vertical Type}
-%
-% The command |\sixfusevi| produces a six-membered fusing unit
-% of vertical type. The structure produced lacks a given bond
-% in order to realize ring fusion, which produces a new ring system.
-% The following numbering is adopted in this macro.
-% Note that the difference between |\sixfusevi| and |\sixunivi|,
-% the latter of which is designed as an inner command for giving
-% a building block with no adjustment of attached sites, while
-% the former has a function of such adjustment.
-%
-% \begin{verbatim}
-% *****************************
-% * six-membered fusing unit *
-% * (inverse vertical type) *
-% *****************************
-%
-% 4
-% d * c
-% 5 * * 3
-% e | | b
-% | |
-% 6 * * 2
-% f * a
-% 1 <===== the original point
-% \end{verbatim}
-%
-% The macro |\sixfusevi| has three arguments |ATOMLIST|, |SUBSLIST|
-% and |FUSE| as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \sixfusevi(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `f' and a uppercase
-% character `A' or `B'.
-%
-% \begin{verbatim}
-% SKBONDLIST =
-% A: dotted bond for an alpha (down) bond
-% B: boldfaced bond for a beta (upper) bond
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one
-% character selected from a to f, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $6$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : fully saturated
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% f : 6,1-double bond
-% {n+} : plus at the n-nitrogen atom (n = 1 to 6)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 6 atoms)
-%
-% for n = 1 to 6
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |FUSE| represents one bond to be omitted.
-% The omitted edge is regarded as a fused position.
-%
-% \begin{verbatim}
-% FUSE: one bond omitted (a, b, c, d, e, or f)
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges are regarded as non-fused positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a, b, c, d, e, or f)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \sixfusevi{1==N}{1==Cl;2==F}{e}
-% \end{verbatim}
-%
-% \changes{v2.00}{1998/12/25}{New command: \cs{sixfusevi}}
-%
-% \begin{macro}{\sixfusevi}
-% \begin{macro}{\@six@fusevi}
-% \begin{macro}{\@six@@fusevi}
-% \begin{macro}{\@sixfusevi}
-% \begin{macrocode}
-\def\sixfusevi{\@ifnextchar({\@six@fusevi(@}{\@six@fusevi(@)}}
-\def\@six@fusevi(#1){\@ifnextchar[{\@six@@fusevi(#1)[@}%
-{\@six@@fusevi(#1)[@]}}
-\def\@six@@fusevi(#1)[#2]#3#4#5{\@ifnextchar[%
-{\@sixfusevi(#1)[#2]{#3}{#4}{#5}[@}%
-{\@sixfusevi(#1)[#2]{#3}{#4}{#5}[@]}}
-\def\@sixfusevi(#1)[#2]#3#4#5[#6]{%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize%
-\test@vertix@sixv{#3}{d}{c}{b}{a}{f}{e}%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adjustment of attached positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\sixfuseposvi{#5}%
-\if@sixfuseposv
- \yl@shiftii=-\fuseAx
- \yl@shifti=-\fuseAy
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(800,880)(-\shiftii,-\shifti)%
- \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `sixfusev' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-% changed FUSE into a list 1993/11/21 by Shinsaku Fujita
-{\resetbdsw%
-\@bond@fuse@omit{#5}{#6}%
-\set@skel@bond{#1}{a}{c}% bond between 1 and 2 \@aaa -> \skbondc etc
-\set@skel@bond{#1}{b}{b}% bond between 2 and 3 \@bbb -> \skbondb etc
-\set@skel@bond{#1}{c}{a}% bond between 3 and 4 \@ccc -> \skbonda etc
-\set@skel@bond{#1}{d}{f}% bond between 4 and 5 \@ddd -> \skbondf etc
-\set@skel@bond{#1}{e}{e}% bond between 5 and 6 \@eee -> \skbonde etc
-\set@skel@bond{#1}{f}{d}% bond between 6 and 1 \@fff -> \skbondd etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-\else\if\member l\relax%
-\else\if\member a\relax%
- \bondc%
-\else\if\member b\relax%
- \bondb%
-\else\if\member c\relax%
- \bonda%
-\else\if\member d\relax%
- \bondf%
-\else\if\member e\relax%
- \bonde%
-\else\if\member f\relax%
- \bondd%
-\else\if\member A%left aromatic circle
- \put(0,203){\circle{240}}% %circle
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-\else \expandafter\twoCH@@R\member//%
- \set@fusionadd@sixvi
-\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\set@hetatom@sixv{#3}{5}{0}{5}{-1}% %atom 1--4%
-\set@hetatom@sixv{#3}{11}{4}{7}{-1}% %atom 5 and 6%
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\setsixringv{#4}{5}{0}{5}{-1}% %subst 1--4
-\setsixringv{#4}{11}{4}{7}{-1}% %subst 5 and 6
-\end{picture}%
-\sixfuseposvi{#5}%%for FuseWaring when nested
-\iniatom\iniflag}% %end of \sixfusevi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\sixfuseposvi| is used in the definition of
-% the |\sixfusevi| macro to detect a fused edge, where
-% the coordinates of a reference terminal (|\fuseAx| and |\fuseAy|)
-% and of the other terminal of the edge (|\fuseBx| and |\fuseBy|)
-% are given for the successive process of adjustment.
-%
-% \begin{macro}{\sixfuseposvi}
-% \begin{macrocode}
-\def\sixfuseposvi#1{%
-\global\@sixfuseposvfalse
-{\resetbdsw%
-\@tfor\memBer:=#1\do{%
-\if\memBer c\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `c'}%
- \else
- \gdef\fuseBx{0}\gdef\fuseBy{406}%
- \gdef\fuseAx{171}\gdef\fuseAy{303}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer C\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `C'}%
- \else
- \gdef\fuseAx{0}\gdef\fuseAy{406}%
- \gdef\fuseBx{171}\gdef\fuseBy{303}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer b\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `b'}%
- \else
- \gdef\fuseBx{171}\gdef\fuseBy{303}%
- \gdef\fuseAx{171}\gdef\fuseAy{103}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer B\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `B'}%
- \else
- \gdef\fuseAx{171}\gdef\fuseAy{303}%
- \gdef\fuseBx{171}\gdef\fuseBy{103}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer a\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `a'}%
- \else
- \gdef\fuseBx{171}\gdef\fuseBy{103}%
- \gdef\fuseAx{0}\gdef\fuseAy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer A\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `A'}%
- \else
- \gdef\fuseAx{171}\gdef\fuseAy{103}%
- \gdef\fuseBx{0}\gdef\fuseBy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer f\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `f'}%
- \else
- \gdef\fuseBx{0}\gdef\fuseBy{0}%
- \gdef\fuseAx{-171}\gdef\fuseAy{103}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer F\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `F'}%
- \else
- \gdef\fuseAx{0}\gdef\fuseAy{0}%
- \gdef\fuseBx{-171}\gdef\fuseBy{103}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer e\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `e'}%
- \else
- \gdef\fuseBx{-171}\gdef\fuseBy{103}%
- \gdef\fuseAx{-171}\gdef\fuseAy{303}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer E\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `E'}%
- \else
- \gdef\fuseAx{-171}\gdef\fuseAy{103}%
- \gdef\fuseBx{-171}\gdef\fuseBy{303}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer d\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `d'}%
- \else
- \gdef\fuseBx{-171}\gdef\fuseBy{303}%
- \gdef\fuseAx{0}\gdef\fuseAy{406}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer D\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `D'}%
- \else
- \gdef\fuseAx{-171}\gdef\fuseAy{303}%
- \gdef\fuseBx{0}\gdef\fuseBy{406}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-}}}% end of the macro \sixfuseposvi
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Normal Horizontal Type}
-%
-% The command |\sixfuseh| produces a six-membered fusing unit
-% of horizontal type. The structure produced lacks a given bond
-% in order to realize ring fusion, which produces a new ring system.
-% The following numbering is adopted in this macro.
-% Note that the difference between |\sixfuseh| and |\sixunih|,
-% the latter of which is designed as an inner command for giving
-% a building block with no adjustment of attached sites, while
-% the former has a function of such adjustment.
-%
-% \begin{verbatim}
-% *****************************
-% * six-membered fusing unit *
-% * (horizontal type) *
-% *****************************
-% b
-% 2 3
-% a ----- c
-% * *
-% the original point ===> 1 * * 4
-% (0,0) * * d
-% f -----
-% 6 5
-% e
-% \end{verbatim}
-%
-% The macro |\sixfuseh| has three arguments |ATOMLIST|, |SUBSLIST|
-% and |FUSE| as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \sixfuseh(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `f' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to f, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $6$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : fully saturated
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% f : 6,1-double bond
-% {n+} : plus at the n-nitrogen atom (n = 1 to 6)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 6 atoms)
-%
-% for n = 1 to 6
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |FUSE| represents one bond to be omitted.
-% The omitted edge is regarded as a fused position.
-%
-% \begin{verbatim}
-% FUSE: one bond omitted (a, b, c, d, e, or f)
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges are regarded as non-fused positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a, b, c, d, e, or f)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \sixfuseh{1==N}{1==Cl;2==F}{e}
-% \end{verbatim}
-%
-% The definition of |\sixfuseh| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheteroh|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringh|.
-% \end{enumerate}
-% \changes{v2.00}{1998/12/29}{New command: \cs{sixfuseh}}
-%
-% \begin{macro}{\sixfuseh}
-% \begin{macro}{\@six@fuseh}
-% \begin{macro}{\@six@@fuseh}
-% \begin{macro}{\@sixfuseh}
-% \begin{macrocode}
-\def\sixfuseh{\@ifnextchar({\@six@fuseh(@}{\@six@fuseh(@)}}
-\def\@six@fuseh(#1){\@ifnextchar[{\@six@@fuseh(#1)[@}%
-{\@six@@fuseh(#1)[@]}}
-\def\@six@@fuseh(#1)[#2]#3#4#5{\@ifnextchar[%
-{\@sixfuseh(#1)[#2]{#3}{#4}{#5}[@}%
-{\@sixfuseh(#1)[#2]{#3}{#4}{#5}[@]}}
-\def\@sixfuseh(#1)[#2]#3#4#5[#6]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize%
-\test@vrtx@sixh{#3}%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adjustment of attached positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\sixfuseposh{#5}%
-\if@sixfuseposv
- \yl@shiftii=-\fuseAx
- \yl@shifti=-\fuseAy
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(800,880)(-240,-400)%
- \iforigpt \put(-\shifti,-\shiftii){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `sixunith' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shifti,\the\shiftii)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-% changed FUSE into a list 1993/11/21 by Shinsaku Fujita
-{\resetbdsw%
-\@bond@fuse@omit{#5}{#6}%
-\set@skel@bondh{#1}{a}{a}% bond between 1 and 2 \@aaa -> \hskbonda etc
-\set@skel@bondh{#1}{b}{b}% bond between 2 and 3 \@bbb -> \hskbondb etc
-\set@skel@bondh{#1}{c}{c}% bond between 3 and 4 \@ccc -> \hskbondc etc
-\set@skel@bondh{#1}{d}{d}% bond between 4 and 5 \@ddd -> \hskbondd etc
-\set@skel@bondh{#1}{e}{e}% bond between 5 and 6 \@eee -> \hskbonde etc
-\set@skel@bondh{#1}{f}{f}% bond between 6 and 1 \@fff -> \hskbondf etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-\else \if\member l\relax%
-\else \if\member a\relax%
- \hbonda%
-\else \if\member b\relax%
- \hbondb%
-\else \if\member c\relax%
- \hbondc%
-\else \if\member d\relax%
- \hbondd%
-\else \if\member e\relax%
- \hbonde%
-\else \if\member f\relax%
- \hbondf%
-\else \if\member A%left aromatic circle
- \put(203,0){\circle{240}}% %circle
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-\else \expandafter\twoCH@@R\member//%
- \set@fusionadd@sixh
-\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\set@hetatom@sixh{#3}{0}{0}{7}{0}% %atom 1--6%
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\setsixringh{#4}{0}{0}{7}{0}%
-\end{picture}%
-\sixfuseposh{#5}%%for FuseWaring when nested
-\iniatom\iniflag}% %end of \sixfuseh macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\sixfuseposh| is used in the definition of
-% the |\sixfuseh| macro to detect a fused edge, where
-% the coordinates of a reference terminal (|\fuseAx| and |\fuseAy|)
-% and of the other terminal of the edge (|\fuseBx| and |\fuseBy|)
-% are given for the successive process of adjustment.
-%
-% \begin{macro}{\sixfuseposh}
-% \begin{macrocode}
-\def\sixfuseposh#1{%
-\global\@sixfuseposvfalse
-{\resetbdsw%
-\@tfor\memBer:=#1\do{%
-\if\memBer a\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `a'}%
- \else
- \gdef\fuseAx{0}\gdef\fuseAy{0}%
- \gdef\fuseBx{103}\gdef\fuseBy{171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer A\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `A'}%
- \else
- \gdef\fuseBx{0}\gdef\fuseBy{0}%
- \gdef\fuseAx{103}\gdef\fuseAy{171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer b\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `b'}%
- \else
- \gdef\fuseAx{103}\gdef\fuseAy{171}%
- \gdef\fuseBx{303}\gdef\fuseBy{171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer B\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `B'}%
- \else
- \gdef\fuseBx{103}\gdef\fuseBy{171}%
- \gdef\fuseAx{303}\gdef\fuseAy{171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer c\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `c'}%
- \else
- \gdef\fuseAx{303}\gdef\fuseAy{171}%
- \gdef\fuseBx{406}\gdef\fuseBy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer C\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `C'}%
- \else
- \gdef\fuseBx{303}\gdef\fuseBy{171}%
- \gdef\fuseAx{406}\gdef\fuseAy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer d\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `d'}%
- \else
- \gdef\fuseAx{406}\gdef\fuseAy{0}%
- \gdef\fuseBx{303}\gdef\fuseBy{-171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer D\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `D'}%
- \else
- \gdef\fuseBx{406}\gdef\fuseBy{0}%
- \gdef\fuseAx{303}\gdef\fuseAy{-171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer e\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `e'}%
- \else
- \gdef\fuseAx{303}\gdef\fuseAy{-171}%
- \gdef\fuseBx{103}\gdef\fuseBy{-171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer E\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `E'}%
- \else
- \gdef\fuseBx{303}\gdef\fuseBy{-171}%
- \gdef\fuseAx{103}\gdef\fuseAy{-171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer f\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `f'}%
- \else
- \gdef\fuseAx{103}\gdef\fuseAy{-171}%
- \gdef\fuseBx{0}\gdef\fuseBy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer F\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `F'}%
- \else
- \gdef\fuseBx{103}\gdef\fuseBy{-171}%
- \gdef\fuseAx{0}\gdef\fuseAy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi}}}% end of the macro \sixfuseposh
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse Horizontal Type}
-%
-% The command |\sixfusehi| produces a six-membered fusing unit
-% of inverse horizontal type. The structure produced lacks a given bond
-% in order to realize ring fusion, which produces a new ring system.
-% The following numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% *****************************
-% * six-membered fusing unit *
-% * (inverse horizontal type) *
-% *****************************
-% b
-% 3 2
-% c ----- a
-% * *
-% 4 * * 1 <== the original point (0,0)
-% * * f
-% d -----
-% 5 6
-% e
-% \end{verbatim}
-%
-% The macro |\sixfusehi| has three arguments |ATOMLIST|, |SUBSLIST|
-% and |FUSE| as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \sixfusehi(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `f' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to f, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $6$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : fully saturated
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% f : 6,1-double bond
-% {n+} : plus at the n-nitrogen atom (n = 1 to 6)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 6 atoms)
-%
-% for n = 1 to 6
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |FUSE| represents one bond to be omitted.
-% The omitted edge is regarded as a fused position.
-%
-% \begin{verbatim}
-% FUSE: one bond omitted (a, b, c, d, e, or f)
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges are regarded as non-fused positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a, b, c, d, e, or f)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \sixfusehi{1==N}{1==Cl;2==F}{e}
-% \end{verbatim}
-%
-% \changes{v2.00}{1998/12/29}{New command: \cs{sixfusehi}}
-%
-% \begin{macro}{\sixfusehi}
-% \begin{macro}{\@six@fusehi}
-% \begin{macro}{\@six@@fusehi}
-% \begin{macro}{\@sixfusehi}
-% \begin{macrocode}
-\def\sixfusehi{\@ifnextchar({\@six@fusehi(@}{\@six@fusehi(@)}}
-\def\@six@fusehi(#1){\@ifnextchar[{\@six@@fusehi(#1)[@}%
-{\@six@@fusehi(#1)[@]}}
-\def\@six@@fusehi(#1)[#2]#3#4#5{\@ifnextchar[%
-{\@sixfusehi(#1)[#2]{#3}{#4}{#5}[@}%
-{\@sixfusehi(#1)[#2]{#3}{#4}{#5}[@]}}
-\def\@sixfusehi(#1)[#2]#3#4#5[#6]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize%
-\test@vrtx@sixhi{#3}%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adjustment of attached positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\sixfuseposhi{#5}%
-\if@sixfuseposv
- \yl@shiftii=-\fuseAx
- \yl@shifti=-\fuseAy
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(800,880)(-240,-400)%
- \iforigpt \put(-\shifti,-\shiftii){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `sixunith' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shifti,\the\shiftii)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-% changed FUSE into a list 1993/11/21 by Shinsaku Fujita
-{\resetbdsw%
-\@bond@fuse@omit{#5}{#6}%
-\set@skel@bondh{#1}{a}{c}% bond between 1 and 2 \@aaa -> \hskbondc etc
-\set@skel@bondh{#1}{b}{b}% bond between 2 and 3 \@bbb -> \hskbondb etc
-\set@skel@bondh{#1}{c}{a}% bond between 3 and 4 \@ccc -> \hskbonda etc
-\set@skel@bondh{#1}{d}{f}% bond between 4 and 5 \@ddd -> \hskbondf etc
-\set@skel@bondh{#1}{e}{e}% bond between 5 and 6 \@eee -> \hskbonde etc
-\set@skel@bondh{#1}{f}{d}% bond between 6 and 1 \@fff -> \hskbondd etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-\else \if\member l\relax%
-\else \if\member a\relax%
- \hbondc%
-\else \if\member b\relax%
- \hbondb%
-\else \if\member c\relax%
- \hbonda%
-\else \if\member d\relax%
- \hbondf%
-\else \if\member e\relax%
- \hbonde%
-\else \if\member f\relax%
- \hbondd%
-\else \if\member A%left aromatic circle
- \put(203,0){\circle{240}}% %circle
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-\else \expandafter\twoCH@@R\member//%
- \set@fusionadd@sixhi
-\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\set@hetatom@sixh{#3}{5}{0}{5}{-1}% %subst 1--4
-\set@hetatom@sixh{#3}{11}{4}{7}{-1}% %subst 5 and 6
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\setsixringh{#4}{5}{0}{5}{-1}% %subst 1--4
-\setsixringh{#4}{11}{4}{7}{-1}% %subst 5 and 6
-\end{picture}%
-\sixfuseposhi{#5}%%for FuseWaring when nested
-\iniatom\iniflag}% %end of \sixfusehi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\sixfuseposhi| is used in the definition of
-% the |\sixfusehi| macro to detect a fused edge, where
-% the coordinates of a reference terminal (|\fuseAx| and |\fuseAy|)
-% and of the other terminal of the edge (|\fuseBx| and |\fuseBy|)
-% are given for the successive process of adjustment.
-%
-% \begin{macro}{\sixfuseposhi}
-% \begin{macrocode}
-\def\sixfuseposhi#1{%
-\global\@sixfuseposvfalse
-{\resetbdsw%
-\@tfor\memBer:=#1\do{%
-\if\memBer C\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `C'}%
- \else
- \gdef\fuseAx{0}\gdef\fuseAy{0}%
- \gdef\fuseBx{103}\gdef\fuseBy{171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer c\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `c'}%
- \else
- \gdef\fuseBx{0}\gdef\fuseBy{0}%
- \gdef\fuseAx{103}\gdef\fuseAy{171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer B\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `B'}%
- \else
- \gdef\fuseAx{103}\gdef\fuseAy{171}%
- \gdef\fuseBx{303}\gdef\fuseBy{171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer b\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `b'}%
- \else
- \gdef\fuseBx{103}\gdef\fuseBy{171}%
- \gdef\fuseAx{303}\gdef\fuseAy{171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer A\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `A'}%
- \else
- \gdef\fuseAx{303}\gdef\fuseAy{171}%
- \gdef\fuseBx{406}\gdef\fuseBy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer a\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `a'}%
- \else
- \gdef\fuseBx{303}\gdef\fuseBy{171}%
- \gdef\fuseAx{406}\gdef\fuseAy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer F\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `F'}%
- \else
- \gdef\fuseAx{406}\gdef\fuseAy{0}%
- \gdef\fuseBx{303}\gdef\fuseBy{-171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer f\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `f'}%
- \else
- \gdef\fuseBx{406}\gdef\fuseBy{0}%
- \gdef\fuseAx{303}\gdef\fuseAy{-171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer E\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `E'}%
- \else
- \gdef\fuseAx{303}\gdef\fuseAy{-171}%
- \gdef\fuseBx{103}\gdef\fuseBy{-171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer e\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `e'}%
- \else
- \gdef\fuseBx{303}\gdef\fuseBy{-171}%
- \gdef\fuseAx{103}\gdef\fuseAy{-171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer D\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `D'}%
- \else
- \gdef\fuseAx{103}\gdef\fuseAy{-171}%
- \gdef\fuseBx{0}\gdef\fuseBy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer d\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `d'}%
- \else
- \gdef\fuseBx{103}\gdef\fuseBy{-171}%
- \gdef\fuseAx{0}\gdef\fuseAy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi}}}% end of the macro \sixfuseposhi
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Five-membered fused ring unit}
-% \subsection{Vertical type}
-%
-% The macro |\fivefusev| is a five-membered fragment that can be
-% fused to another
-% ring structure to produce a new ring system. The following
-% numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% **********************
-% * five-membered fused*
-% * (vertical type) *
-% **********************
-%
-% 4 _______ 3
-% | |
-% | |
-% 5 * * 2
-% *
-% 1 <===== the original point
-% \end{verbatim}
-%
-% The macro |\fivefusev| has three arguments |ATOMLIST|, |SUBSLIST|
-% and |FUSE| as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \fivefusev(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `f' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to e, each of
-% which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $5$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of inner double bonds
-%
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,1-double bond
-% {n+} : plus at the n-nitrogen atom (n = 1 to 5)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 5 atoms)
-%
-% for n = 1 to 5
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 5
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |FUSE| represents one bond to be omitted for fusion.
-% The omitted edge is regarded as a fused position.
-%
-% \begin{verbatim}
-% FUSE: one bond omitted (a, b, c, d, or e)
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges are regarded as non-fused positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a, b, c, d, or e)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \fivefusev{1==N}{1==H;2==F}{a}
-% \end{verbatim}
-%
-% \begin{macro}{\fivefusev}
-% \begin{macro}{\@five@fusev}
-% \begin{macro}{\@five@@fusev}
-% \begin{macro}{\@fivefusev}
-% \begin{macrocode}
-\def\fivefusev{\@ifnextchar({\@five@fusev(@}{\@five@fusev(@)}}
-\def\@five@fusev(#1){\@ifnextchar[{\@five@@fusev(#1)[@}%
-{\@five@@fusev(#1)[@]}}
-\def\@five@@fusev(#1)[#2]#3#4#5{\@ifnextchar[%
-{\@fivefusev(#1)[#2]{#3}{#4}{#5}[@}%
-{\@fivefusev(#1)[#2]{#3}{#4}{#5}[@]}}
-\def\@fivefusev(#1)[#2]#3#4#5[#6]{%
-\iniatom\iniflag%initialize
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\test@vertix@sixv{#3}{d}{c}{b}{f}{e}{@}%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adjustment of attached positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\fivefuseposv{#5}%
-\if@sixfuseposv
- \yl@shiftii=-\fuseAx
- \yl@shifti=-\fuseAy
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(800,880)(-\shiftii,-\shifti)%
- \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `fivefusev' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%
-% %% outer skeleton %
-% %%%%%%%%%%%%%%%%%%%
-% changed FUSE to a list 1993/11/21 by Shinsaku Fujita
-{\resetbdsw%
-\@bond@fuse@omit{#5}{#6}%
-\set@skel@bond{#1}{a}{c}% bond between 1 and 2 \@aaa -> \skbondc etc
-\set@skel@bond{#1}{b}{b}% bond between 2 and 3 \@bbb -> \skbondb etc
-\set@skel@longbond{#1}{c}{skbondhoriz}%
- % bond between 3 and 4 \@ccc -> \skbondhoriz etc
-\set@skel@bond{#1}{d}{e}% bond between 4 and 5 \@ddd -> \skbonde etc
-\set@skel@bond{#1}{e}{d}% bond between 5 and 1 \@eee -> \skbondd etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%
-% %% inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r%
-\else\if\member a\relax%
- \bondc%
-\else\if\member b\relax%
- \bondb%
-\else\if\member c\relax%
- \bondhoriz%
-\else\if\member d\relax%
- \bonde%
-\else\if\member e\relax%
- \bondd%
-\else
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
- \expandafter\twoCH@@R\member//%
- \set@fusionadd@fivev
-\fi\fi\fi\fi\fi\fi}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%
-% % setting heteroatoms %
-% %%%%%%%%%%%%%%%%%%%%%%%
-\set@hetatom@sixv{#3}{5}{1}{5}{-1}% % for 1 to 3
-\set@hetatom@sixv{#3}{10}{4}{7}{-1}% % for 4 to 5
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\setsixringv{#4}{5}{1}{5}{-1}% % for 1 to 3
-\setsixringv{#4}{10}{4}{7}{-1}% % for 4 to 5
-\end{picture}%
-{\let\XyMTeXWarning\@gobble
-\fivefuseposv{#5}}%%for FuseWaring when nested
-\iniatom\iniflag}%end of \fivefusev macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\fivefuseposv| is used in the definition of
-% the |\fivefusev| macro to detect a fused edge, where
-% the coordinates of a reference terminal (|\fuseAx| and |\fuseAy|)
-% and of the other terminal of the edge (|\fuseBx| and |\fuseBy|)
-% are given for the successive process of adjustment.
-%
-% \begin{macro}{\fivefuseposv}
-% \begin{macrocode}
-\def\fivefuseposv#1{%
-\global\@sixfuseposvfalse
-{\resetbdsw%
-\@tfor\memBer:=#1\do{%
-\if\memBer c\relax
- \XyMTeXWarning{Not-used fusion at bond `c'}%
-\fi
-\if\memBer C\relax
- \XyMTeXWarning{Not-used fusion at bond `C'}%
-\fi
-\if\memBer b\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `b'}%
- \else
- \gdef\fuseBx{171}\gdef\fuseBy{303}%
- \gdef\fuseAx{171}\gdef\fuseAy{103}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer B\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `B'}%
- \else
- \gdef\fuseAx{171}\gdef\fuseAy{303}%
- \gdef\fuseBx{171}\gdef\fuseBy{103}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer a\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `a'}%
- \else
- \gdef\fuseBx{171}\gdef\fuseBy{103}%
- \gdef\fuseAx{0}\gdef\fuseAy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer A\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `A'}%
- \else
- \gdef\fuseAx{171}\gdef\fuseAy{103}%
- \gdef\fuseBx{0}\gdef\fuseBy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer e\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `f'}%
- \else
- \gdef\fuseBx{0}\gdef\fuseBy{0}%
- \gdef\fuseAx{-171}\gdef\fuseAy{103}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer E\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `F'}%
- \else
- \gdef\fuseAx{0}\gdef\fuseAy{0}%
- \gdef\fuseBx{-171}\gdef\fuseBy{103}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer d\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `e'}%
- \else
- \gdef\fuseBx{-171}\gdef\fuseBy{103}%
- \gdef\fuseAx{-171}\gdef\fuseAy{303}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer D\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `E'}%
- \else
- \gdef\fuseAx{-171}\gdef\fuseAy{103}%
- \gdef\fuseBx{-171}\gdef\fuseBy{303}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-}}}% end of the macro \fivefuseposv
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse vertical type}
-%
-% The macro |\fivefusevi| typesets a five-membered fragment that can be
-% fused to another
-% ring structure to produce a new ring system. The following
-% numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% ************************************
-% * five-membered fusing unit *
-% * (vertical type, inverse type) *
-% ************************************
-%
-% 1
-% *
-% 6 * * 2
-% | |
-% |_____|
-% 4 3
-% *
-% (0,0) <===== the original point
-% \end{verbatim}
-%
-% The macro |\fivefusevi| has three arguments |ATOMLIST|, |SUBSLIST|
-% and |FUSE| as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \fivefusevi(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `f' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to e, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $5$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of inner double bonds
-%
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,1-double bond
-% {n+} : plus at the n-nitrogen atom (n = 1 to 5)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 5 atoms)
-%
-% for n = 1 to 5
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 5
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |FUSE| represents one bond to be omitted.
-% The omitted edge is regarded as a fused position.
-%
-% \begin{verbatim}
-% FUSE: one bond omitted (a, b, c, d, or e)
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges are regarded as non-fused positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a, b, c, d, or e)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \fivefusevi{1==N}{1==H;2==F}{a}
-% \end{verbatim}
-%
-% \begin{macro}{\fivefusevi}
-% \begin{macro}{\@five@fusevi}
-% \begin{macro}{\@five@@fusevi}
-% \begin{macro}{\@fivefusevi}
-% \begin{macrocode}
-\def\fivefusevi{\@ifnextchar({\@five@fusevi(@}{\@five@fusevi(@)}}
-\def\@five@fusevi(#1){\@ifnextchar[{\@five@@fusevi(#1)[@}%
-{\@five@@fusevi(#1)[@]}}
-\def\@five@@fusevi(#1)[#2]#3#4#5{\@ifnextchar[%
-{\@fivefusevi(#1)[#2]{#3}{#4}{#5}[@}%
-{\@fivefusevi(#1)[#2]{#3}{#4}{#5}[@]}}
-\def\@fivefusevi(#1)[#2]#3#4#5[#6]{%
-\iniatom\iniflag%initialize
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\test@vertix@sixv{#3}{a}{b}{c}{e}{f}{@}%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adjustment of attached positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\fivefuseposvi{#5}%
-\if@sixfuseposv
- \yl@shiftii=-\fuseAx
- \yl@shifti=-\fuseAy
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(800,880)(-\shiftii,-\shifti)%
- \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `fivefusevi' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-% changed FUSE to a list 1993/11/21 by Shinsaku Fujita
-{\resetbdsw%
-\@bond@fuse@omit{#5}{#6}%
-\set@skel@bond{#1}{a}{a}% bond between 1 and 2 \@aaa -> \skbonda etc
-\set@skel@bond{#1}{b}{b}% bond between 2 and 3 \@bbb -> \skbondb etc
-\set@skel@longbond{#1}{c}{skbondhorizi}%
- % bond between 3 and 4 \@ccc -> \skbondhorizi etc
-\set@skel@bond{#1}{d}{e}% bond between 4 and 5 \@ddd -> \skbonde etc
-\set@skel@bond{#1}{e}{f}% bond between 5 and 6 \@eee -> \skbondf etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r%
-\else\if\member a\relax%
- \bonda%
-\else\if\member b\relax%
- \bondb%
-\else\if\member c\relax%
- \bondhorizi%
-\else\if\member d\relax%
- \bonde%
-\else\if\member e\relax%
- \bondf%
-\else
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
- \expandafter\twoCH@@R\member//%
- \set@fusionadd@fivevi
-\fi\fi\fi\fi\fi\fi}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%
-% % setting heteroatoms %
-% %%%%%%%%%%%%%%%%%%%%%%%
-\set@hetatom@sixv{#3}{0}{0}{4}{0}% % for 1 to 3
-\set@hetatom@sixv{#3}{1}{4}{7}{0}% % for 4 to 5
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\setsixringv{#4}{0}{0}{4}{0}% % for 1 to 3
-\setsixringv{#4}{1}{4}{7}{0}% % for 4 to 5
-\end{picture}%
-{\let\XyMTeXWarning\@gobble
-\fivefuseposvi{#5}}%%for FuseWaring when nested
-\iniatom\iniflag}% %end of \fivefusevi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\fivefuseposvi| is used in the definition of
-% the |\fivefusev| macro to detect a fused edge, where
-% the coordinates of a reference terminal (|\fuseAx| and |\fuseAy|)
-% and of the other terminal of the edge (|\fuseBx| and |\fuseBy|)
-% are given for the successive process of adjustment.
-%
-% \begin{macro}{\fivefuseposvi}
-% \begin{macrocode}
-\def\fivefuseposvi#1{%
-\global\@sixfuseposvfalse
-{\resetbdsw%
-\@tfor\memBer:=#1\do{%
-\if\memBer a\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `a'}%
- \else
- \gdef\fuseAx{0}\gdef\fuseAy{406}%
- \gdef\fuseBx{171}\gdef\fuseBy{303}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer A\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `A'}%
- \else
- \gdef\fuseBx{0}\gdef\fuseBy{406}%
- \gdef\fuseAx{171}\gdef\fuseAy{303}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer b\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `b'}%
- \else
- \gdef\fuseAx{171}\gdef\fuseAy{303}%
- \gdef\fuseBx{171}\gdef\fuseBy{103}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer B\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `B'}%
- \else
- \gdef\fuseBx{171}\gdef\fuseBy{303}%
- \gdef\fuseAx{171}\gdef\fuseAy{103}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer c\relax
- \XyMTeXWarning{Not-used fusion at bond `c'}%
-\fi
-\if\memBer C\relax
- \XyMTeXWarning{Not-used fusion at bond `C'}%
-\fi
-\if\memBer d\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `d'}%
- \else
- \gdef\fuseAx{-171}\gdef\fuseAy{103}%
- \gdef\fuseBx{-171}\gdef\fuseBy{303}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer D\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `D'}%
- \else
- \gdef\fuseBx{-171}\gdef\fuseBy{103}%
- \gdef\fuseAx{-171}\gdef\fuseAy{303}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer e\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `e'}%
- \else
- \gdef\fuseAx{-171}\gdef\fuseAy{303}%
- \gdef\fuseBx{0}\gdef\fuseBy{406}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer E\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `e'}%
- \else
- \gdef\fuseBx{-171}\gdef\fuseBy{303}%
- \gdef\fuseAx{0}\gdef\fuseAy{406}%
- \global\@sixfuseposvtrue
- \fi
-\fi}}}% end of the macro \fivefuseposvi
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Horizonatl type}
-%
-% The macro |\fivefuseh| is a five-membered fragment that can be
-% fused to another
-% ring structure to produce a new ring system. The following
-% numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% **********************
-% * five-membered unit *
-% * (horizontal type) *
-% **********************
-%
-% 3 _____ 2
-% | *
-% | * 1 <===== the original point
-% | *
-% 4 ----- 5
-% \end{verbatim}
-%
-% The macro |\fivefuseh| has three arguments |ATOMLIST|, |SUBSLIST|
-% and |FUSE| as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \fivefuseh(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `f' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to e, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $5$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of inner double bonds
-%
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 5)
-% {0+} : plus (or others) at the center
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 5 atoms)
-%
-% for n = 1 to 5
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 5
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |FUSE| represents one bond to be omitted.
-% The omitted edge is regarded as a fused position.
-%
-% \begin{verbatim}
-% FUSE: one bond omitted (a, b, c, d, or e)
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges are regarded as non-fused positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a, b, c, d, or e)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \fivefuseh{1==N}{1==H;2==F}{a}
-% \end{verbatim}
-%
-% \begin{macro}{\fivefuseh}
-% \begin{macro}{\@five@fuseh}
-% \begin{macro}{\@five@@fuseh}
-% \begin{macro}{\@fivefuseh}
-% \begin{macrocode}
-\def\fivefuseh{\@ifnextchar({\@five@fuseh(@}{\@five@fuseh(@)}}
-\def\@five@fuseh(#1){\@ifnextchar[{\@five@@fuseh(#1)[@}%
-{\@five@@fuseh(#1)[@]}}
-\def\@five@@fuseh(#1)[#2]#3#4#5{\@ifnextchar[%
-{\@fivefuseh(#1)[#2]{#3}{#4}{#5}[@}%
-{\@fivefuseh(#1)[#2]{#3}{#4}{#5}[@]}}
-\def\@fivefuseh(#1)[#2]#3#4#5[#6]{%
-\iniatom\iniflag%initialize
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\test@vertix@sixv{#3}{d}{c}{b}{f}{e}{@}%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adjustment of attached positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\fivefuseposh{#5}%
-\if@sixfuseposv
- \yl@shiftii=-\fuseAx
- \yl@shifti=-\fuseAy
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(800,880)(-240,-400)%
- \iforigpt \put(-\shifti,-\shiftii){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `fivefuseh' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shifti,\the\shiftii)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-% changed FUSE to a list 1993/11/21 by Shinsaku Fujita
-{\resetbdsw%
-\@bond@fuse@omit{#5}{#6}%
-\set@skel@bondh{#1}{a}{c}% bond between 1 and 2 \@aaa -> \skbondc etc
-\set@skel@bondh{#1}{b}{b}% bond between 2 and 3 \@bbb -> \skbondb etc
-\set@skel@longbond{#1}{c}{hskbondvert}%
- % bond between 3 and 4 \@ccc -> \hskbondvert etc
-\set@skel@bondh{#1}{d}{e}% bond between 4 and 5 \@ddd -> \skbonde etc
-\set@skel@bondh{#1}{e}{d}% bond between 5 and 6 \@eee -> \skbondd etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r%
-\else \if\member a\relax%
- \hbondc%
-\else \if\member b\relax%
- \hbondb%
-\else \if\member c\relax%
- \hbondvert%
-\else \if\member d\relax%
- \hbonde%
-\else \if\member e\relax%
- \hbondd%
-\else \if\member A%left aromatic circle
- \put(233,0){\circle{180}}% %circle
-\else
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
- \expandafter\twoCH@@R\member//%
- \set@fusionadd@fiveh
-\fi\fi\fi\fi\fi\fi\fi}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%
-% % setting heteroatoms %
-% %%%%%%%%%%%%%%%%%%%%%%%
-\set@hetatom@sixh{#3}{5}{1}{5}{-1}% % for 1 to 3
-\set@hetatom@sixh{#3}{10}{4}{7}{-1}% % for 4 to 5
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\setsixringh{#4}{5}{1}{5}{-1}% % for 1 to 3
-\setsixringh{#4}{10}{4}{7}{-1}% % for 4 to 5
-\end{picture}%
-{\let\XyMTeXWarning\@gobble
-\fivefuseposh{#5}}%for FuseWaring when nested%
-\iniatom\iniflag}% %end of \fivefuseh macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\fivefuseposh| is used in the definition of
-% the |\sixfusehi| macro to detect a fused edge, where
-% the coordinates of a reference terminal (|\fuseAx| and |\fuseAy|)
-% and of the other terminal of the edge (|\fuseBx| and |\fuseBy|)
-% are given for the successive process of adjustment.
-%
-% \begin{macro}{\fivefuseposh}
-% \begin{macrocode}
-\def\fivefuseposh#1{%
-\global\@sixfuseposvfalse
-{\resetbdsw%
-\@tfor\memBer:=#1\do{%
-\if\memBer c\relax
- \XyMTeXWarning{Not-used fusion at bond `c'}%
-\fi
-\if\memBer C\relax
- \XyMTeXWarning{Not-used fusion at bond `C'}%
-\fi
-\if\memBer B\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `B'}%
- \else
- \gdef\fuseAx{103}\gdef\fuseAy{171}%
- \gdef\fuseBx{303}\gdef\fuseBy{171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer b\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `b'}%
- \else
- \gdef\fuseBx{103}\gdef\fuseBy{171}%
- \gdef\fuseAx{303}\gdef\fuseAy{171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer A\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `A'}%
- \else
- \gdef\fuseAx{303}\gdef\fuseAy{171}%
- \gdef\fuseBx{406}\gdef\fuseBy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer a\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `a'}%
- \else
- \gdef\fuseBx{303}\gdef\fuseBy{171}%
- \gdef\fuseAx{406}\gdef\fuseAy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer E\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `E'}%
- \else
- \gdef\fuseAx{406}\gdef\fuseAy{0}%
- \gdef\fuseBx{303}\gdef\fuseBy{-171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer e\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `e'}%
- \else
- \gdef\fuseBx{406}\gdef\fuseBy{0}%
- \gdef\fuseAx{303}\gdef\fuseAy{-171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer D\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `D'}%
- \else
- \gdef\fuseAx{303}\gdef\fuseAy{-171}%
- \gdef\fuseBx{103}\gdef\fuseBy{-171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer d\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `d'}%
- \else
- \gdef\fuseBx{303}\gdef\fuseBy{-171}%
- \gdef\fuseAx{103}\gdef\fuseAy{-171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-}}}% end of the macro \fivefuseposh
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse horizontal type}
-%
-% The macro |\fivefusehi| typesets a five-membered fragment that can be
-% fused to another
-% ring structure to produce a new ring system. The following
-% numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% ************************************
-% * five-membered fusing unit *
-% * (horizontal type, inverse type) *
-% ************************************
-%
-% 2 ----- 3
-% * |
-% the original point 1 * |
-% * |
-% _____|
-% 5 4
-% \end{verbatim}
-%
-% The macro |\fivefusehi| has three arguments |ATOMLIST|, |SUBSLIST|
-% and |FUSE|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \fivefusehi(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `f' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to e, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $5$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of inner double bonds
-%
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 5)
-% {0+} : plus (or others) at the center
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 5 atoms)
-%
-% for n = 1 to 5
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 5
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |FUSE| represents one bond to be omitted.
-% The omitted edge is regarded as a fused position.
-%
-% \begin{verbatim}
-% FUSE: one bond omitted (a, b, c, d, or e)
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges are regarded as non-fused positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a, b, c, d, e, or f)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \fivefusehi{1==N}{1==H;2==F}{a}
-% \end{verbatim}
-%
-% \begin{macro}{\fivefusehi}
-% \begin{macro}{\@five@fusehi}
-% \begin{macro}{\@five@@fusehi}
-% \begin{macro}{\@fivefusehi}
-% \begin{macrocode}
-\def\fivefusehi{\@ifnextchar({\@five@fusehi(@}{\@five@fusehi(@)}}
-\def\@five@fusehi(#1){\@ifnextchar[{\@five@@fusehi(#1)[@}%
-{\@five@@fusehi(#1)[@]}}
-\def\@five@@fusehi(#1)[#2]#3#4#5{\@ifnextchar[%
-{\@fivefusehi(#1)[#2]{#3}{#4}{#5}[@}%
-{\@fivefusehi(#1)[#2]{#3}{#4}{#5}[@]}}
-\def\@fivefusehi(#1)[#2]#3#4#5[#6]{%
-\iniatom\iniflag%initialize
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\test@vertix@sixv{#3}{a}{b}{c}{e}{f}{@}%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adjustment of attached positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\fivefuseposhi{#5}%
-\if@sixfuseposv
- \yl@shiftii=-\fuseAx
- \yl@shifti=-\fuseAy
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(800,880)(-240,-400)%
- \iforigpt \put(-\shifti,-\shiftii){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `fivefusehi' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shifti,\the\shiftii)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-% changed FUSE to a list 1993/11/21 by Shinsaku Fujita
-{\resetbdsw%
-\@bond@fuse@omit{#5}{#6}%
-\set@skel@bondh{#1}{a}{a}% bond between 1 and 2 \@aaa -> \hskbonda etc
-\set@skel@bondh{#1}{b}{b}% bond between 2 and 3 \@bbb -> \hskbondb etc
-\set@skel@longbond{#1}{c}{hskbondverti}%
- % bond between 3 and 4 \@ccc -> \hskbondverti etc
-\set@skel@bondh{#1}{d}{e}% bond between 4 and 5 \@ddd -> \hskbonde etc
-\set@skel@bondh{#1}{e}{f}% bond between 5 and 6 \@eee -> \hskbondf etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r%
-\else \if\member a\relax%
- \hbonda%
-\else \if\member b\relax%
- \hbondb%
-\else \if\member c\relax%
- \hbondverti%
-\else \if\member d\relax%
- \hbonde%
-\else \if\member e\relax%
- \hbondf%
-\else \if\member A%left aromatic circle
- \put(173,0){\circle{180}}% %circle
-\else
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
- \expandafter\twoCH@@R\member//%
- \set@fusionadd@fivehi
-\fi\fi\fi\fi\fi\fi\fi}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%
-% % setting heteroatoms %
-% %%%%%%%%%%%%%%%%%%%%%%%
-\set@hetatom@sixh{#3}{0}{0}{4}{0}% % for 1 to 3
-\set@hetatom@sixh{#3}{1}{4}{7}{0}% % for 4 to 5
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\setsixringh{#4}{0}{0}{4}{0}% % for 1 to 3
-\setsixringh{#4}{1}{4}{7}{0}% % for 4 to 5
-\end{picture}%
-{\let\XyMTeXWarning\@gobble
-\fivefuseposhi{#5}}%for FuseWaring when nested
-\iniatom\iniflag}% %end of \fivefusehi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\fivefuseposhi| is used in the definition of
-% the |\sixfuseh| macro to detect a fused edge, where
-% the coordinates of a reference terminal (|\fuseAx| and |\fuseAy|)
-% and of the other terminal of the edge (|\fuseBx| and |\fuseBy|)
-% are given for the successive process of adjustment.
-%
-% \begin{macro}{\fivefuseposhi}
-% \begin{macrocode}
-\def\fivefuseposhi#1{%
-\global\@sixfuseposvfalse
-{\resetbdsw%
-\@tfor\memBer:=#1\do{%
-\if\memBer a\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `a'}%
- \else
- \gdef\fuseAx{0}\gdef\fuseAy{0}%
- \gdef\fuseBx{103}\gdef\fuseBy{171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer A\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `A'}%
- \else
- \gdef\fuseBx{0}\gdef\fuseBy{0}%
- \gdef\fuseAx{103}\gdef\fuseAy{171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer b\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `b'}%
- \else
- \gdef\fuseAx{103}\gdef\fuseAy{171}%
- \gdef\fuseBx{303}\gdef\fuseBy{171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer B\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `B'}%
- \else
- \gdef\fuseBx{103}\gdef\fuseBy{171}%
- \gdef\fuseAx{303}\gdef\fuseAy{171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer c\relax
- \XyMTeXWarning{Not-used fusion at bond `c'}%
-\fi
-\if\memBer C\relax
- \XyMTeXWarning{Not-used fusion at bond `C'}%
-\fi
-\if\memBer d\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `d'}%
- \else
- \gdef\fuseAx{303}\gdef\fuseAy{-171}%
- \gdef\fuseBx{103}\gdef\fuseBy{-171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer D\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `D'}%
- \else
- \gdef\fuseBx{303}\gdef\fuseBy{-171}%
- \gdef\fuseAx{103}\gdef\fuseAy{-171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer e\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `e'}%
- \else
- \gdef\fuseAx{103}\gdef\fuseAy{-171}%
- \gdef\fuseBx{0}\gdef\fuseBy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer E\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `E'}%
- \else
- \gdef\fuseBx{103}\gdef\fuseBy{-171}%
- \gdef\fuseAx{0}\gdef\fuseAy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi}}}% end of the macro \fivefuseposhi
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Four-membered fused ring unit}
-%
-% The macro |\fourfuse| typesets a four-membered ring unit for ring fusion.
-% The following numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% **************************
-% * fourfuse derivatives *
-% * (vertical type) *
-% **************************
-% The following numbering is adopted in this macro.
-%
-% c
-% 4 _____ 3
-% d | | b
-% | |
-% 1 ----- 2<===== the original point
-% a
-% \end{verbatim}
-%
-% The macro |\fourfuse| has two arguments |ATOMLIST|, |SUBSLIST| and |FUSE|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \fourfuse(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `f' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to e, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $4$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of inner double bonds
-%
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% e : 4,1-double bond
-%
-% {n+} : plus at the n-nitrogen atom (n = 1 to 4)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 4 atoms)
-%
-% for n = 1 to 4
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 4
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |FUSE| represents one bond to be omitted.
-% The omitted edge is regarded as a fused position.
-%
-% \begin{verbatim}
-% FUSE: one bond omitted (a, b, c, or d)
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges are regarded as non-fused positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a, b, c, or d)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \fourfuse{1==N}{1==H;2==F}{c}
-% \fourfuse[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}{a}
-% \end{verbatim}
-%
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/5}{Add: spiro and fused rings}
-%
-% \begin{macro}{\fourfuse}
-% \begin{macro}{\@four@fuse}
-% \begin{macro}{\@four@@fuse}
-% \begin{macro}{\@fourfuse}
-% \begin{macrocode}
-\def\fourfuse{\@ifnextchar({\@four@fuse(@}{\@four@fuse(@)}}
-\def\@four@fuse(#1){\@ifnextchar[{\@four@@fuse(#1)[@}%
-{\@four@@fuse(#1)[@]}}
-\def\@four@@fuse(#1)[#2]#3#4#5{\@ifnextchar[%
-{\@fourfuse(#1)[#2]{#3}{#4}{#5}[@}%
-{\@fourfuse(#1)[#2]{#3}{#4}{#5}[@]}}
-\def\@fourfuse(#1)[#2]#3#4#5[#6]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize
-\test@vertix@sixv{#3}{e}{c}{b}{f}{@}{@}%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adustment of subs positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\fourfusepos{#5}%
-\if@sixfuseposv
- \yl@shiftii=-\fuseAx
- \yl@shifti=-\fuseAy
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(800,880)(-571,-137)%
- \iforigpt\put(-571,-137){\circle*{50}}%
- \put(-171,103){\circle{50}}%
- \typeout{command `fourfuse' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-{\resetbdsw%
-\@bond@fuse@omit{#5}{#6}%
-\put(0,0){\set@skel@longbond{#1}{a}{skbondshorizi}}%
- % bond between 1 and 2 \@aaa -> \skbondshorizi etc
-\put(-142,0){\set@skel@bond{#1}{b}{b}}%
- % bond between 2 and 3 \@bbb -> \skbondb etc
-\put(0,0){\set@skel@longbond{#1}{c}{skbondshoriz}}%
- % bond between 3 and 4 \@ccc -> \skbondshoriz etc
-\put(0,0){\set@skel@bond{#1}{d}{e}}%
- % bond between 4 and 1 \@ddd -> \skbonde etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r%
-\else\if\member a\relax \put(0,0){\bondshorizi}%
-\else\if\member b\relax \put(-142,0){\bondb}%
-\else\if\member c\relax \put(0,0){\bondshoriz}%
-\else\if\member d\relax \put(0,0){\bonde}%
-\else
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
- \expandafter\twoCH@@R\member//%
- \set@fusionadd@fourv
-\fi\fi\fi\fi\fi}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%
-% % setting heteroatoms %
-% %%%%%%%%%%%%%%%%%%%%%%%
-\put(-142,0){\set@hetatom@sixv{#3}{5}{1}{4}{-1}}% for 2 to 3
-\put(0,0){\set@hetatom@sixv{#3}{4}{4}{6}{0}}% for 1
-\put(0,0){\set@hetatom@sixv{#3}{2}{5}{7}{0}}% for 4
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\put(-142,0){\setsixringv{#4}{5}{1}{4}{-1}}% for 2 to 3
-\put(0,0){\setsixringv{#4}{4}{4}{6}{0}}% for 1
-\put(0,0){\setsixringv{#4}{2}{5}{7}{0}}% for 4
-\end{picture}%
-\fourfusepos{#5}%%for FuseWaring when nested
-\iniatom\iniflag
-\global\@smallringswtrue%for permition at a center bond
-}% %end of \fourfuse macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\fourfusepos| is used in the definition of
-% the |\sixfuseh| macro to detect a fused edge, where
-% the coordinates of a reference terminal (|\fuseAx| and |\fuseAy|)
-% and of the other terminal of the edge (|\fuseBx| and |\fuseBy|)
-% are given for the successive process of adjustment.
-%
-% \begin{macro}{\fourfusepos}
-% \begin{macrocode}
-\def\fourfusepos#1{%
-\global\@sixfuseposvfalse
-{\resetbdsw%
-\@tfor\memBer:=#1\do{%
-\if\memBer a\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `a'}%
- \else
- \gdef\fuseAx{-171}\gdef\fuseAy{103}%
- \gdef\fuseBx{29}\gdef\fuseBy{103}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer A\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `A'}%
- \else
- \gdef\fuseBx{-171}\gdef\fuseBy{103}%
- \gdef\fuseAx{29}\gdef\fuseAy{103}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer b\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `b'}%
- \else
- \gdef\fuseAx{29}\gdef\fuseAy{103}%
- \gdef\fuseBx{29}\gdef\fuseBy{303}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer B\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `B'}%
- \else
- \gdef\fuseBx{29}\gdef\fuseBy{103}%
- \gdef\fuseAx{29}\gdef\fuseAy{303}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer c\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `c'}%
- \else
- \gdef\fuseAx{29}\gdef\fuseAy{303}%
- \gdef\fuseBx{-171}\gdef\fuseBy{303}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer C\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `C'}%
- \else
- \gdef\fuseBx{29}\gdef\fuseBy{303}%
- \gdef\fuseAx{-171}\gdef\fuseAy{303}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer d\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `d'}%
- \else
- \gdef\fuseAx{-171}\gdef\fuseAy{303}%
- \gdef\fuseBx{-171}\gdef\fuseBy{103}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer D\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `D'}%
- \else
- \gdef\fuseBx{-171}\gdef\fuseBy{303}%
- \gdef\fuseAx{-171}\gdef\fuseAy{103}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-}}}% end of the macro \fourfusepos
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Three-membered fusing unit}
-% \subsection{Vertical type}
-%
-% The macro |\threefusev| typesets a three-membered ring to be fused.
-% The following numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% **********************
-% * theree fusing unit *
-% * (vertical type) *
-% **********************
-%
-% b
-% 3--------2
-% c ` / a
-% `1/ <===== the original point
-% \end{verbatim}
-%
-% The macro |\threefusev| has two arguments |ATOMLIST|, |SUBSLIST| and
-% |FUSE| as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \threefusev(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `f' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to c, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $3$) represents a plus charge on a hetero atom
-% at the $n$-position.
-% The option `$n+$' ($n=4$ to $6$) represents a plus charge outside the ring.
-% The option `$0+$' typesets a plus charge at the center of the ring.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : saturated
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 3,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-hetero atom (n = 1 to 3)
-% : n=4 -- outer plus at 1 position
-% : n=5 -- outer plus at 2 position
-% : n=6 -- outer plus at 3 position
-% {0+} : plus at the center of a cyclopropane ring
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 3 atoms)
-%
-% for n = 1 to 3
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 3
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |FUSE| represents one bond to be omitted.
-% The omitted edge is regarded as a fused position.
-%
-% \begin{verbatim}
-% FUSE: one bond omitted (a, b, or c)
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges are regarded as non-fused positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a, b, or c)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \threefusev{1==N}{1==Cl;2==F}{b}
-% \end{verbatim}
-%
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/5}{Add: spiro and fused rings}
-%
-% \begin{macro}{\threefusev}
-% \begin{macro}{\@three@fusev}
-% \begin{macro}{\@three@@fusev}
-% \begin{macro}{\@threefusev}
-% \begin{macrocode}
-\def\threefusev{\@ifnextchar({\@three@fusev(@}{\@three@fusev(@)}}
-\def\@three@fusev(#1){\@ifnextchar[{\@three@@fusev(#1)[@}%
-{\@three@@fusev(#1)[@]}}
-\def\@three@@fusev(#1)[#2]#3#4#5{\@ifnextchar[%
-{\@threefusev(#1)[#2]{#3}{#4}{#5}[@}%
-{\@threefusev(#1)[#2]{#3}{#4}{#5}[@]}}
-\def\@threefusev(#1)[#2]#3#4#5[#6]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize
-\test@vertix@sixv{#3}{d}{b}{f}{@}{@}{@}%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adustment of subs positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\threefuseposv{#5}%
-\if@sixfuseposv
- \yl@shiftii=-\fuseAx
- \yl@shifti=-\fuseAy
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(800,580)(-468,-240)%
- \iforigpt \put(-468,-240){\circle*{50}}%
- \put(-68,0){\circle{50}}%
- \typeout{command `threefusevv' origin: %
- (68,0) ---> (468,240)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-{\resetbdsw%
-\@bond@fuse@omit{#5}{#6}%
-\put(-68,0){\set@skel@longbond{#1}{a}{skbondtria}}%
- % bond between 1 and 2 \@aaa -> \skbondtria etc
-\put(0,-132){\set@skel@longbond{#1}{b}{skbondshoriz}}%
- % bond between 2 and 3 \@bbb -> \skbondb etc
-\put(-68,0){\set@skel@longbond{#1}{c}{skbondtrib}}%
- % bond between 3 and 1 \@ccc -> \skbondtria etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-\else\if\member a\relax\put(-68,0){\bondtria}%
-\else\if\member b\relax\put(0,-126){\bondshoriz}%
-\else\if\member c\relax\put(-68,0){\bondtrib}%
-\else\if\member A\relax% aromatic circle
- \put(-70,108){\circle{100}}% %circle
-\else
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
- \expandafter\twoCH@@R\member//%
- \set@fusionadd@threev
-\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\put(-68,0){\set@hetatom@sixv{#3}{3}{3}{5}{0}%
-\if@clip\global\@cliptrue\fi
-}%subst 1
-\put(-142,-132){\set@hetatom@sixv{#3}{0}{1}{3}{0}%
-\if@bclip\global\@bcliptrue\fi
-}%subst 2
-\put(0,-132){\set@hetatom@sixv{#3}{3}{5}{7}{0}%
-\if@fclip\global\@fcliptrue\fi
-}%subst 3
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\put(-68,0){\setsixringv{#4}{3}{3}{5}{0}}%subst 1
-\put(-142,-132){\setsixringv{#4}{0}{1}{3}{0}}%subst 2
-\put(0,-132){\setsixringv{#4}{3}{5}{7}{0}}%subst 3
-\end{picture}%
-\threefuseposv{#5}%%for FuseWaring when nested
-\iniatom\iniflag
-\global\@smallringswtrue%for permition at a center bond
-}% %end of \threefusev macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\threefuseposv| is used in the definition of
-% the |\threefusev| macro to detect a fused edge, where
-% the coordinates of a reference terminal (|\fuseAx| and |\fuseAy|)
-% and of the other terminal of the edge (|\fuseBx| and |\fuseBy|)
-% are given for the successive process of adjustment.
-%
-% \begin{macro}{\threefuseposv}
-% \begin{macrocode}
-\def\threefuseposv#1{%
-\global\@sixfuseposvfalse
-{\resetbdsw%
-\@tfor\memBer:=#1\do{%
-\if\memBer a\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `a'}%
- \else
- \gdef\fuseAx{-68}\gdef\fuseAy{0}%
-% \gdef\fuseBx{29}\gdef\fuseBy{171}%
- \gdef\fuseBx{35}\gdef\fuseBy{171}%corrected
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer A\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `A'}%
- \else
-% \gdef\fuseBx{-68}\gdef\fuseBy{0}%
- \gdef\fuseBx{-74}\gdef\fuseBy{0}%corrected
- \gdef\fuseAx{29}\gdef\fuseAy{171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer b\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `b'}%
- \else
- \gdef\fuseAx{29}\gdef\fuseAy{171}%
- \gdef\fuseBx{-171}\gdef\fuseBy{171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer B\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `B'}%
- \else
- \gdef\fuseBx{29}\gdef\fuseBy{171}%
- \gdef\fuseAx{-171}\gdef\fuseAy{171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer c\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `c'}%
- \else
- \gdef\fuseAx{-171}\gdef\fuseAy{171}%
- \gdef\fuseBx{-68}\gdef\fuseBy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer C\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `C'}%
- \else
- \gdef\fuseBx{-171}\gdef\fuseBy{171}%
- \gdef\fuseAx{-68}\gdef\fuseAy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-}}}% end of the macro \threefuseposv
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse vertical type}
-%
-% The macro |\threefusevi| typesets a three-membered ring of
-% inverse vertical type. The following numbering is adopted
-% in this macro.
-% \changes{v1.02}{1998/10/20}{Newly added commands:
-% \cs{threefusevi}}
-%
-% \begin{verbatim}
-% ****************************
-% * thereehetero derivatives *
-% * (inverse vertical type) *
-% ****************************
-%
-% /1` <===== the original point
-% c / ` a
-% 3--------2
-% b
-% \end{verbatim}
-%
-% The macro |\threefusevi| has two arguments |ATOMLIST|, |SUBSLIST| and |FUSE|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \threefusevi(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `f' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to c, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $3$) represents a plus charge on a hetero atom
-% at the $n$-position.
-% The option `$n+$' ($n=4$ to $6$) represents a plus charge outside the ring.
-% The option `$0+$' typesets a plus charge at the center of the ring.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : saturated
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 3,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-hetero atom (n = 1 to 3)
-% : n=4 -- outer plus at 1 position
-% : n=5 -- outer plus at 2 position
-% : n=6 -- outer plus at 3 position
-% {0+} : plus at the center of a cyclopropane ring
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 3 atoms)
-%
-% for n = 1 to 3
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 3
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |FUSE| represents one bond to be omitted.
-% The omitted edge is regarded as a fused position.
-%
-% \begin{verbatim}
-% FUSE: one bond omitted (a, b, or c)
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges are regarded as non-fused positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a, b, or c)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \threefusevi{1==N}{1==Cl;2==F}{c}
-% \threefusevi[c]{1==N}{1==Cl;3==F;2==CH$_{3}$}{a}
-% \threefusevi{1==N}{1D==O}{b}
-% \end{verbatim}
-%
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/5}{Add: spiro and fused rings}
-%
-% \begin{macro}{\threefusevi}
-% \begin{macro}{\@three@fusevi}
-% \begin{macro}{\@three@@fusevi}
-% \begin{macro}{\@threefusevi}
-% \begin{macrocode}
-\def\threefusevi{\@ifnextchar({\@three@fusevi(@}{\@three@fusevi(@)}}
-\def\@three@fusevi(#1){\@ifnextchar[{\@three@@fusevi(#1)[@}%
-{\@three@@fusevi(#1)[@]}}
-\def\@three@@fusevi(#1)[#2]#3#4#5{\@ifnextchar[%
-{\@threefusevi(#1)[#2]{#3}{#4}{#5}[@}%
-{\@threefusevi(#1)[#2]{#3}{#4}{#5}[@]}}
-\def\@threefusevi(#1)[#2]#3#4#5[#6]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize
-\test@vertix@sixv{#3}{a}{c}{e}{@}{@}{@}%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adustment of subs positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\threefuseposvi{#5}%
-\if@sixfuseposv
- \yl@shiftii=-\fuseAx
- \yl@shifti=-\fuseAy
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(800,580)(-468,-340)%
- \iforigpt \put(-468,-340){\circle*{50}}%
- \put(-68,0){\circle{50}}%
- \typeout{command `threefusevi' origin: %
- (0,0) ---> (-468,-340)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-{\resetbdsw%
-\@bond@fuse@omit{#5}{#6}%
-\put(-68,0){\set@skel@longbond{#1}{a}{skBondtria}}%
- % bond between 1 and 2 \@aaa -> \skBondtria etc
-\put(0,-275){\set@skel@longbond{#1}{b}{skbondshorizi}}%
- % bond between 2 and 3 \@bbb -> \skbondb etc
-\put(-68,0){\set@skel@longbond{#1}{c}{skBondtrib}}%
- % bond between 3 and 1 \@ccc -> \skBondtrib etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-\else\if\member a\relax\put(-68,0){\Bondtria}%
-\else\if\member b\relax\put(0,-274){\bondshorizi}%
-\else\if\member c\relax\put(-68,0){\Bondtrib}%
-\else\if\member A\relax% aromatic circle
- \put(-70,-108){\circle{100}}% %circle
-\else
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
- \expandafter\twoCH@@R\member//%
- \set@fusionadd@threevi
-\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\put(-68,-406){\set@hetatom@sixv{#3}{0}{0}{2}{0}%
-\if@aclip\global\@acliptrue\fi
-}%subst 1
-\put(0,-275){\set@hetatom@sixv{#3}{2}{4}{6}{0}%
-\if@cclip\global\@ccliptrue\fi
-}%subst 3
-\put(-142,-275){\set@hetatom@sixv{#3}{1}{2}{4}{0}%
-\if@eclip\global\@ecliptrue\fi
-}%subst 2
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\put(-68,-406){\setsixringv{#4}{0}{0}{2}{0}}%subst 1
-\put(0,-275){\setsixringv{#4}{2}{4}{6}{0}}%subst 3
-\put(-142,-275){\setsixringv{#4}{1}{2}{4}{0}}%subst 2
-\end{picture}%
-\threefuseposvi{#5}%%for FuseWaring when nested
-\iniatom\iniflag
-\global\@smallringswtrue%for permition at a center bond
-}% %end of \threefusevi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\threefuseposvi| is used in the definition of
-% the |\threefusev| macro to detect a fused edge, where
-% the coordinates of a reference terminal (|\fuseAx| and |\fuseAy|)
-% and of the other terminal of the edge (|\fuseBx| and |\fuseBy|)
-% are given for the successive process of adjustment.
-%
-% \begin{macro}{\threefuseposvi}
-% \begin{macrocode}
-\def\threefuseposvi#1{%
-\global\@sixfuseposvfalse
-{\resetbdsw%
-\@tfor\memBer:=#1\do{%
-\if\memBer a\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `a'}%
- \else
- \gdef\fuseAx{-68}\gdef\fuseAy{0}%
-% \gdef\fuseBx{29}\gdef\fuseBy{-171}%
- \gdef\fuseBx{35}\gdef\fuseBy{-171}%corrected
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer A\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `A'}%
- \else
-% \gdef\fuseBx{-68}\gdef\fuseBy{0}%
- \gdef\fuseBx{-74}\gdef\fuseBy{0}%corrected
- \gdef\fuseAx{29}\gdef\fuseAy{-171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer b\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `b'}%
- \else
- \gdef\fuseAx{29}\gdef\fuseAy{-171}%
- \gdef\fuseBx{-171}\gdef\fuseBy{-171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer B\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `B'}%
- \else
- \gdef\fuseBx{29}\gdef\fuseBy{-171}%
- \gdef\fuseAx{-171}\gdef\fuseAy{-171}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer c\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `c'}%
- \else
- \gdef\fuseAx{-171}\gdef\fuseAy{-171}%
- \gdef\fuseBx{-68}\gdef\fuseBy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer C\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `C'}%
- \else
- \gdef\fuseBx{-171}\gdef\fuseBy{-171}%
- \gdef\fuseAx{-68}\gdef\fuseAy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-}}}% end of the macro \threefuseposvi
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Horizontal type}
-%
-% The macro |\threefuseh| typesets a three-membered ring to be fused.
-% The following numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% ****************************
-% * thereehetero fusing unit *
-% * (horizontal type) *
-% ****************************
-
-% aaa fff
-% 3
-% | ` c
-% b | 1 bbb ccc
-% | / a
-% 2/
-% ddd eee
-%
-% \end{verbatim}
-%
-% The macro |\threefuseh| has two arguments |ATOMLIST|, |SUBSLIST| and |FUSE|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \threefuseh(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `f' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to c, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $3$) represents a plus charge on a hetero atom
-% at the $n$-position.
-% The option `$n+$' ($n=4$ to $6$) represents a plus charge outside the ring.
-% The option `$0+$' typesets a plus charge at the center of the ring.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : saturated
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 3,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-hetero atom (n = 1 to 3)
-% : n=4 -- outer plus at 1 position
-% : n=5 -- outer plus at 2 position
-% : n=6 -- outer plus at 3 position
-% {0+} : plus at the center of a cyclopropane ring
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 3 atoms)
-%
-% for n = 1 to 3
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 3
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |FUSE| represents one bond to be omitted.
-% The omitted edge is regarded as a fused position.
-%
-% \begin{verbatim}
-% FUSE: one bond omitted (a, b, or c)
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges are regarded as non-fused positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a, b, or c)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \threefuseh{1==N}{1==Cl;2==F}{c}
-% \end{verbatim}
-%
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/5}{Add: spiro and fused rings}
-%
-% \begin{macro}{\threefuseh}
-% \begin{macro}{\@three@fuseh}
-% \begin{macro}{\@three@@fuseh}
-% \begin{macro}{\@threefuseh}
-% \begin{macrocode}
-\def\threefuseh{\@ifnextchar({\@three@fuseh(@}{\@three@fuseh(@)}}
-\def\@three@fuseh(#1){\@ifnextchar[{\@three@@fuseh(#1)[@}%
-{\@three@@fuseh(#1)[@]}}
-\def\@three@@fuseh(#1)[#2]#3#4#5{\@ifnextchar[%
-{\@threefuseh(#1)[#2]{#3}{#4}{#5}[@}%
-{\@threefuseh(#1)[#2]{#3}{#4}{#5}[@]}}
-\def\@threefuseh(#1)[#2]#3#4#5[#6]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize
-\test@vertix@sixv{#3}{d}{f}{b}{@}{@}{@}%tentative use for six-h
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adustment of subs positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\threefuseposh{#5}%
-\if@sixfuseposv
- \yl@shiftii=-\fuseAx
- \yl@shifti=-\fuseAy
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(580,700)(-200,-240)%
- \iforigpt \put(-200,-200){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `threefuseh' origin: %
- (0,0) ---> (200,200)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % retreatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize
-\test@vertix@sixv{#3}{c}{e}{a}{@}{@}{@}%
-\test@vertix@sixv{#3}{b}{d}{f}{@}{@}{@}%
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-{\resetbdsw%
-\@bond@fuse@omit{#5}{#6}%
-\put(0,0){\set@skel@bond{#1}{a}{c}}%
- % bond between 1 and 2 \@aaa -> \skbondc etc
-\put(171,-103){\set@skel@bond{#1}{b}{e}}%
- % bond between 2 and 3 \@bbb -> \skbonde etc
-\put(0,-200){\set@skel@bond{#1}{c}{a}}%
- % bond between 3 and 1 \@ccc -> \skbonda etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-\else\if\member a\relax\put(0,0){\bondc}%
-\else\if\member b\relax\put(171,-103){\bonde}%
-\else\if\member c\relax\put(0,-200){\bonda}%
-\else\if\member A\relax% aromatic circle
- \put(70,103){\circle{100}}% %circle
-\else
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
- \expandafter\twoCH@@R\member//%
- \set@fusionadd@threeh
-\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag
-%\put(-235,103){\set@hetatom@sixh{#3}{3}{3}{5}{0}%
-\put(-215,103){\set@hetatom@sixh{#3}{3}{3}{5}{0}%
-\if@clip \global\@cliptrue\fi}%subst 1 <--six h 4
-\put(-103,29){\set@hetatom@sixh{#3}{-1}{1}{3}{0}%
-\if@bclip \global\@bcliptrue\fi}%subst 3 <--six h 2
-\put(-103,171){\set@hetatom@sixh{#3}{4}{5}{7}{0}%
-\if@fclip \global\@fcliptrue\fi}%subst 2 <--six h 6
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\put(-235,103){\setsixringh{#4}{3}{3}{5}{0}}%subst 1
-\put(-103,29){\setsixringh{#4}{-1}{1}{3}{0}}%subst 3
-\put(-103,171){\setsixringh{#4}{4}{5}{7}{0}}%subst 2
-\end{picture}%
-\threefuseposh{#5}%%for FuseWaring when nested
-\iniatom\iniflag
-\global\@smallringswtrue%for permition at a center bond
-}% %end of \threefuseh macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\threefuseposh| is used in the definition of
-% the |\threefusev| macro to detect a fused edge, where
-% the coordinates of a reference terminal (|\fuseAx| and |\fuseAy|)
-% and of the other terminal of the edge (|\fuseBx| and |\fuseBy|)
-% are given for the successive process of adjustment.
-%
-% \begin{macro}{\threefuseposh}
-% \begin{macrocode}
-\def\threefuseposh#1{%
-\global\@sixfuseposvfalse
-{\resetbdsw%
-\@tfor\memBer:=#1\do{%
-\if\memBer a\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `a'}%
- \else
- \gdef\fuseAx{171}\gdef\fuseAy{103}%corrected
- \gdef\fuseBx{0}\gdef\fuseBy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer A\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `A'}%
- \else
- \gdef\fuseBx{171}\gdef\fuseBy{103}%
- \gdef\fuseAx{0}\gdef\fuseAy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer b\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `b'}%
- \else
- \gdef\fuseAx{0}\gdef\fuseAy{0}%
- \gdef\fuseBx{0}\gdef\fuseBy{200}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer B\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `B'}%
- \else
- \gdef\fuseBx{0}\gdef\fuseBy{0}%
- \gdef\fuseAx{0}\gdef\fuseAy{200}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer c\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `c'}%
- \else
- \gdef\fuseAx{0}\gdef\fuseAy{200}%
-% \gdef\fuseBx{171}\gdef\fuseBy{103}%
- \gdef\fuseBx{171}\gdef\fuseBy{97}%corrected
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer C\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `C'}%
- \else
-% \gdef\fuseBx{0}\gdef\fuseBy{200}%
- \gdef\fuseBx{0}\gdef\fuseBy{206}%corrected
- \gdef\fuseAx{171}\gdef\fuseAy{103}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-}}}% end of the macro \threefuseposh
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse horizontal type}
-%
-% The macro |\threefusehi| typesets a three-membered ring to be fused.
-% The following numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% *******************************
-% * thereehetero fusing unit *
-% * (vertical horizontal type) *
-% *******************************
-%
-% aaa bbb
-% c 3
-% / |
-% eee 1 | b
-% fff a` |
-% 2 <---original point
-% ccc ddd
-% \end{verbatim}
-%
-% The macro |\threefusehi| has two arguments |ATOMLIST|, |SUBSLIST| and |FUSE|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \threefusehi(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `f' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to c, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $3$) represents a plus charge on a hetero atom
-% at the $n$-position.
-% The option `$n+$' ($n=4$ to $6$) represents a plus charge outside the ring.
-% The option `$0+$' typesets a plus charge at the center of the ring.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : saturated
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 3,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-hetero atom (n = 1 to 3)
-% : n=4 -- outer plus at 1 position
-% : n=5 -- outer plus at 2 position
-% : n=6 -- outer plus at 3 position
-% {0+} : plus at the center of a cyclopropane ring
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 3 atoms)
-%
-% for n = 1 to 3
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 3
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |FUSE| represents one bond to be omitted.
-% The omitted edge is regarded as a fused position.
-%
-% \begin{verbatim}
-% FUSE: one bond omitted (a, b, or c)
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges are regarded as non-fused positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a, b, or c)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \threefusehi{1==N}{1==Cl;2==F}{c}
-% \threefusehi[c]{1==N}{1==Cl;3==F;2==CH$_{3}$}{a}
-% \end{verbatim}
-%
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/5}{Add: spiro and fused rings}
-%
-% \begin{macro}{\threefusehi}
-% \begin{macro}{\@three@fusehi}
-% \begin{macro}{\@three@@fusehi}
-% \begin{macro}{\@threefusehi}
-% \begin{macrocode}
-\def\threefusehi{\@ifnextchar({\@three@fusehi(@}{\@three@fusehi(@)}}
-\def\@three@fusehi(#1){\@ifnextchar[{\@three@@fusehi(#1)[@}%
-{\@three@@fusehi(#1)[@]}}
-\def\@three@@fusehi(#1)[#2]#3#4#5{\@ifnextchar[%
-{\@threefusehi(#1)[#2]{#3}{#4}{#5}[@}%
-{\@threefusehi(#1)[#2]{#3}{#4}{#5}[@]}}
-\def\@threefusehi(#1)[#2]#3#4#5[#6]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize
-\test@vertix@sixv{#3}{a}{e}{c}{@}{@}{@}%tentative use for six-h
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adustment of subs positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\threefuseposhi{#5}%
-\if@sixfuseposv
- \yl@shiftii=-\fuseAx
- \yl@shifti=-\fuseAy
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(580,700)(-400,-240)%
- \iforigpt \put(-400,-200){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `threefusehi' origin: %
- (0,0) ---> (400,200)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % retreatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize
-\test@vertix@sixv{#3}{e}{c}{a}{@}{@}{@}%
-\test@vertix@sixv{#3}{f}{d}{b}{@}{@}{@}%
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-{\resetbdsw%
-\@bond@fuse@omit{#5}{#6}%
-\put(0,0){\set@skel@bond{#1}{a}{d}}%
- % bond between 1 and 2 \@aaa -> \skbondd etc
-\put(-171,-103){\set@skel@bond{#1}{b}{b}}%
- % bond between 2 and 3 \@bbb -> \skbondb etc
-\put(0,-200){\set@skel@bond{#1}{c}{f}}%
- % bond between 3 and 1 \@ccc -> \skbondf etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-\else\if\member a\relax\put(0,0){\bondd}%
-\else\if\member b\relax\put(-171,-103){\bondb}%
-\else\if\member c\relax\put(0,-200){\bondf}%
-\else\if\member A\relax% aromatic circle
- \put(70,103){\circle{100}}% %circle
-\else
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
- \expandafter\twoCH@@R\member//%
- \set@fusionadd@threehi
-\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag
-\put(-171,103){\set@hetatom@sixh{#3}{0}{0}{2}{0}%
-\if@aclip \global\@acliptrue\fi}%subst 1 <--six h 1
-\put(-303,29){\set@hetatom@sixh{#3}{0}{2}{4}{0}%
-\if@cclip \global\@ccliptrue\fi}%subst 3 <--six h 3
-\put(-303,171){\set@hetatom@sixh{#3}{3}{4}{6}{0}%
-\if@eclip \global\@ecliptrue\fi}%subst 2 <--six h 5
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\put(-171,103){\setsixringh{#4}{0}{0}{2}{0}}%subst 1
-\put(-303,29){\setsixringh{#4}{0}{2}{4}{0}}%subst 3
-\put(-303,171){\setsixringh{#4}{3}{4}{6}{0}}%subst 2
-\end{picture}%
-\threefuseposhi{#5}%%for FuseWaring when nested
-\iniatom\iniflag
-\global\@smallringswtrue%for permition at a center bond
-}% %end of \threefusehi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\threefuseposhi| is used in the definition of
-% the |\threefusev| macro to detect a fused edge, where
-% the coordinates of a reference terminal (|\fuseAx| and |\fuseAy|)
-% and of the other terminal of the edge (|\fuseBx| and |\fuseBy|)
-% are given for the successive process of adjustment.
-%
-% \begin{macro}{\threefuseposhi}
-% \begin{macrocode}
-\def\threefuseposhi#1{%
-\global\@sixfuseposvfalse
-{\resetbdsw%
-\@tfor\memBer:=#1\do{%
-\if\memBer a\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `a'}%
- \else
- \gdef\fuseAx{-171}\gdef\fuseAy{103}%corrected
- \gdef\fuseBx{0}\gdef\fuseBy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer A\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `A'}%
- \else
- \gdef\fuseBx{-171}\gdef\fuseBy{103}%
- \gdef\fuseAx{0}\gdef\fuseAy{0}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer b\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bond at bond `b'}%
- \else
- \gdef\fuseAx{0}\gdef\fuseAy{0}%
- \gdef\fuseBx{0}\gdef\fuseBy{200}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer B\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `B'}%
- \else
- \gdef\fuseBx{0}\gdef\fuseBy{0}%
- \gdef\fuseAx{0}\gdef\fuseAy{200}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer c\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `c'}%
- \else
- \gdef\fuseAx{0}\gdef\fuseAy{200}%
-% \gdef\fuseBx{-171}\gdef\fuseBy{103}%
- \gdef\fuseBx{-171}\gdef\fuseBy{97}%corrected
- \global\@sixfuseposvtrue
- \fi
-\fi%
-\if\memBer C\relax
- \if@sixfuseposv
- \XyMTeXWarning{Double fused bonds at bond `C'}%
- \else
-% \gdef\fuseBx{0}\gdef\fuseBy{200}%
- \gdef\fuseBx{0}\gdef\fuseBy{206}%corrected
- \gdef\fuseAx{-171}\gdef\fuseAy{103}%
- \global\@sixfuseposvtrue
- \fi
-\fi%
-}}}% end of the macro \threefuseposhi
-%</fusering>
-% \end{macrocode}
-% \end{macro}
-%
-% \Finale
-%
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/fusering.ins b/Master/texmf-dist/source/latex/xymtex/fusering.ins
deleted file mode 100644
index 0c228764feb..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/fusering.ins
+++ /dev/null
@@ -1,49 +0,0 @@
-\def\batchfile{fusering.ins}
-\input docstrip.tex
-\preamble
-
-This is a generated file.
-
-Copyright 1998 by Shinsaku Fujita
-
-This file is part of the XyMTeX system.
-=======================================
-
-Version 1.02 Released on October 31, 1998 (private version)
-Version 2.00 Released on December 25, 1998
-
-Copyright (C) 1998 by Shinsaku Fujita, all rights reserved.
-This style file is created for drawing chemical structural formulas
-This style file is to be contained in the ``xymtex'' directory which
-is an input directory for TeX.
-
-Copying of this file is authorized only if either
-
- (1) you make absolutely no changes to your copy, including name and
- directory name
- (2) if you do make changes,
- (a) you name it something other than the names included in the
- ``xymtex'' directory and
- (b) you acknowledge the original name.
- This restriction ensures that all standard styles are identical.
-
-=======================================
-
-This file contains several codes modified from latex.tex (LaTeX2.09)
-and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-Copyright 1994 the LaTeX3 project and the individual authors (For further
-copyright information see the file legal.txt of the LaTeX2e standard
-distribution, and any other copyright indicated in this file.)
-
-\endpreamble
-
-\keepsilent
-
-\generateFile{fusering.drv}{t}{%
- \from{fusering.dtx}{driver}}
-
-\generateFile{fusering.sty}{t}{%
- \from{fusering.dtx}{fusering}}
-
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/hcycle.drv b/Master/texmf-dist/source/latex/xymtex/hcycle.drv
deleted file mode 100644
index 6fc2980ee14..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/hcycle.drv
+++ /dev/null
@@ -1,81 +0,0 @@
-%%
-%% This is file `hcycle.drv',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% hcycle.dtx (with options: `driver')
-%%
-%% This is a generated file.
-%%
-%% Copyright 1996,1998 by Shinsaku Fujita
-%%
-%% This file is part of the XyMTeX system.
-%% =======================================
-%%
-%% Version 1.01 Released on August 16, 1996
-%% Version 1.02 Released on October 31, 1996 (private version)
-%% Version 2.00 Released on December 25, 1998
-%%
-%% Copyright (C) 1996,1998 by Shinsaku Fujita, all rights reserved.
-%% This style file is created for drawing chemical structural formulas
-%% This style file is to be contained in the ``xymtex'' directory which
-%% is an input directory for TeX.
-%%
-%% Copying of this file is authorized only if either
-%%
-%% (1) you make absolutely no changes to your copy, including name and
-%% directory name
-%% (2) if you do make changes,
-%% (a) you name it something other than the names included in the
-%% ``xymtex'' directory and
-%% (b) you acknowledge the original name.
-%% This restriction ensures that all standard styles are identical.
-%%
-%% =======================================
-%%
-%% This file contains several codes modified from latex.tex (LaTeX2.09)
-%% and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-%% Copyright 1994 the LaTeX3 project and the individual authors (For further
-%% copyright information see the file legal.txt of the LaTeX2e standard
-%% distribution, and any other copyright indicated in this file.)
-%%
-%% File: hcycle.dtx
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{hcycle.dtx}[1996/12/25 v2.00 XyMTeX{} package file]
-\documentclass{ltxdoc}
-\GetFileInfo{hcycle.dtx}
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-\title{Further Hetrocycles by {\sffamily hcycle.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606 Japan
-}
-\date{\filedate}
-\begin{document}
- \maketitle
- \DocInput{hcycle.dtx}
-\end{document}
-\endinput
-%%
-%% End of file `hcycle.drv'.
diff --git a/Master/texmf-dist/source/latex/xymtex/hcycle.dtx b/Master/texmf-dist/source/latex/xymtex/hcycle.dtx
deleted file mode 100644
index 1ad1c0059f9..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/hcycle.dtx
+++ /dev/null
@@ -1,780 +0,0 @@
-% \iffalse meta-comment
-%% File: hcycle.dtx
-%
-% Copyright 1993,1996,1998 by Shinsaku Fujita
-%
-% This file is part of XyMTeX system.
-% -------------------------------------
-%
-% This file is a successor to:
-%
-% hcycle.sty
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 1.00}
-% \typeout{ -- Released December 1, 1993 by Shinsaku Fujita}
-% Copyright (C) 1993 by Shinsaku Fujita, all rights reserved.
-%
-% This file is a part of the macro package ``XyMTeX'' which has been
-% designed for typesetting chemical structural formulas.
-%
-% This file is to be contained in the ``xymtex'' directory which is
-% an input directory for TeX. It is a LaTeX optional style file and
-% should be used only within LaTeX, because several macros of the file
-% are based on LaTeX commands.
-%
-% For the review of XyMTeX, see
-% (1) Shinsaku Fujita, ``Typesetting structural formulas with the text
-% formatter TeX/LaTeX'', Computers and Chemistry, in press.
-% The following book deals with an application of TeX/LaTeX to
-% preparation of manuscripts of chemical fields:
-% (2) Shinsaku Fujita, ``LaTeX for Chemists and Biochemists''
-% Tokyo Kagaku Dozin, Tokyo (1993) [in Japanese].
-%
-% Copying of this file is authorized only if either
-% (1) you make absolutely no changes to your copy, including name and
-% directory name; or
-% (2) if you do make changes,
-% (a) you name it something other than the names included in the
-% ``xymtex'' directory and
-% (b) you are requested to leave this notice intact.
-% This restriction ensures that all standard styles are identical.
-%
-% Please report any bugs, comments, suggestions, etc. to:
-% Shinsaku Fujita,
-% Ashigara Research Laboratories, Fuji Photo Film Co., Ltd.,
-% Minami-Ashigara, Kanagawa-ken, 250-01, Japan.
-%
-% New address:
-% Shinsaku Fujita,
-% Department of Chemistry and Materials Technology,
-% Kyoto Institute of Technology, \\
-% Matsugasaki, Sakyoku, Kyoto, 606 Japan
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{hcycle}
-% \def\versi@ndate{December 01, 1993}
-% \def\versi@nno{ver1.00}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{hcycle}
-% \def\versi@ndate{August 16, 1996}
-% \def\versi@nno{ver1.01}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{hcycle}
-% \def\versi@ndate{October 31, 1998}
-% \def\versi@nno{ver1.02}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% \fi
-%
-% \CheckSum{740}
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%
-% \setcounter{StandardModuleDepth}{1}
-%
-% \StopEventually{}
-% \MakeShortVerb{\|}
-%
-% \iffalse
-% \changes{v1.01}{1996/06/26}{first edition for LaTeX2e}
-% \changes{v1.02}{1998/10/31}{revised edition for LaTeX2e}
-% \changes{v2.00}{1998/12/25}{enhanced edition for LaTeX2e}
-% \fi
-%
-% \iffalse
-%<*driver>
-\NeedsTeXFormat{pLaTeX2e}
-% \fi
-\ProvidesFile{hcycle.dtx}[1996/12/25 v2.00 XyMTeX{} package file]
-% \iffalse
-\documentclass{ltxdoc}
-\GetFileInfo{hcycle.dtx}
-%
-% %%XyMTeX Logo: Definition 2%%%
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\title{Further Hetrocycles by {\sffamily hcycle.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606 Japan
-% % (old address)
-% % Ashigara Research Laboratories,
-% % Fuji Photo Film Co., Ltd., \\
-% % Minami-Ashigara, Kanagawa, 250-01 Japan
-}
-\date{\filedate}
-%
-\begin{document}
- \maketitle
- \DocInput{hcycle.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \section{Introduction}\label{hcycle:intro}
-%
-% \subsection{Options for {\sffamily docstrip}}
-%
-% \DeleteShortVerb{\|}
-% \begin{center}
-% \begin{tabular}{|l|l|}
-% \hline
-% \emph{option} & \emph{function}\\ \hline
-% hcycle & hcycle.sty \\
-% driver & driver for this dtx file \\
-% \hline
-% \end{tabular}
-% \end{center}
-% \MakeShortVerb{\|}
-%
-% \subsection{Version Information}
-%
-% \begin{macrocode}
-%<*hcycle>
-\typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 2.00}
-\typeout{ -- Released December 25, 1998 by Shinsaku Fujita}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\j@urnalname{hcycle}
-\def\versi@ndate{December 25, 1998}
-\def\versi@nno{ver2.00}
-\def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\typeout{XyMTeX Macro File `\j@urnalname' (\versi@nno) <\versi@ndate>%
-\space[\copyrighth@lder]}
-% \end{macrocode}
-%
-% \section{List of commands for hcycle.sty}
-%
-% \begin{verbatim}
-% ********************************
-% * hcycle.sty: list of commands *
-% ********************************
-%
-% <Convention for bond-setting>
-%
-% \@pyrana
-% \@pyranb
-% \@pyranc
-%
-% <Pyranose and Furanose>
-%
-% \pyranose \@pyranose
-% \furanose \@furanose
-%
-% <Adustment as substituents>
-%
-% \ylpyranoseposition
-% \ylfuranoseposition
-% \end{verbatim}
-%
-% \section{Input of basic macros}
-%
-% To assure the compatibility to \LaTeX{}2.09 (the native mode),
-% the commands added by \LaTeXe{} have not been used in the resulting sty
-% files ({\sf hcycle.sty} for the present case). Hence, the combination
-% of |\input| and |\@ifundefined| is used to crossload sty
-% files ({\sf chemstr.sty} for the present case) in place of the
-% |\RequirePackage| command of \LaTeXe{}.
-%
-% \begin{macrocode}
-% *************************
-% * input of basic macros *
-% *************************
-\@ifundefined{setsixringv}{\input chemstr.sty\relax}{}
-\unitlength=0.1pt
-% \end{macrocode}
-%
-% \section{Macros for setting substituents}
-%
-% Macros |\@pyrana| to |\@pyranc| are used to set substituents
-% on each position of a pyranose and furanose. Note that
-% comments (conerning locant numbers) on the end of each row have
-% lost the exact meaning,
-% since such a command moiety is used in many macros after copying.
-%
-% \begin{macro}{\@pyrana}
-% \begin{macro}{\@pyranb}
-% \begin{macro}{\@pyranbb}
-% \begin{macro}{\@pyranbB}
-% \begin{macro}{\@pyranc}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% **************************************************
-% * setting substituents for pyranose and furanose *
-% **************************************************
-% %%%%%%%%%%%%%%%
-% % subst. on 1 %
-% %%%%%%%%%%%%%%%
-\def\@pyrana{%
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=-10
- \yl@ydiff=30
- \put(0,0){\line(1,0){120}}% single bond at 1
- \putratom{130}{-30}{\@memberb}% right type
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=32
- \yl@ydiff=72
- \put(0,0){\line(0,-1){118}}% single bond at 1 alpha (down)
- \putratom{-32}{-190}{\@memberb}% right type
- \else\if\@tmpc b%(e) beta
- \yl@xdiff=32
- \yl@ydiff=-12
- \put(0,0){\line(0,1){118}}% single bond at 1 beta (up)
- \putratom{-32}{130}{\@memberb}% right type
- \else\if\@tmpc A% alpha
- \yl@xdiff=-10
- \yl@ydiff=60
- \put(0,0){\line(1,-1){120}}% single bond at 1
- \putratom{130}{-180}{\@memberb}% right type
- \else\if\@tmpc B% beta
- \yl@xdiff=-10
- \yl@ydiff=10
- \put(0,0){\line(1,1){120}}% single bond at 1
- \putratom{130}{110}{\@memberb}% right type
- \fi\fi\fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=-10
- \yl@ydiff=30
- \put(0,-15){\line(1,0){120}}% double bond at 1
- \put(0,15){\line(1,0){120}}% double bond at 1
- \putratom{130}{-30}{\@memberb}% right type
- \else%
- \yl@xdiff=-10
- \yl@ydiff=30
- \put(0,0){\line(1,0){120}}% single bond at 1
- \putratom{130}{-30}{\@memberb}% right type
- \fi\fi}%
-% \end{macrocode}
-%
-% \changes{v1.02}{1998/10/25}{\cs{@pyranb} is divided into
-% \cs{@pyranb}, \cs{@pyranbb} and \cs{@pyranbB}}
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%
-% % subst. on 2,3,5 %
-% %%%%%%%%%%%%%%%%%%%
-% %%%%%%%%%%%%%%%
-% % subst. on 2 %
-% %%%%%%%%%%%%%%%
-\def\@pyranb{%
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=-10
- \yl@ydiff=60
- \put(0,0){\line(1,-1){120}}% single bond at 1
- \putratom{130}{-180}{\@memberb}% left type
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=32
- \yl@ydiff=72
- \put(0,0){\line(0,-1){118}}% single bond alpha (down)
- \putlratom{-32}{-190}{\@memberb}% left & right type
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=32
- \yl@ydiff=-12
- \put(0,0){\line(0,1){118}}% single bond beta (up)
- \putlratom{-32}{130}{\@memberb}% left & right type
- \fi\fi\fi%\fi\fi%
- \else \if\@tmpb D%double bond: Added by SF 1998/10/25
- \yl@xdiff=-10
- \yl@ydiff=60
- \put(-15,-15){\line(1,-1){120}}% double bond at 1
- \put(0,15){\line(1,-1){120}}% double bond at 1
- \putratom{130}{-180}{\@memberb}% right type
- \else%
- \yl@xdiff=-10
- \yl@ydiff=10
- \put(0,0){\line(1,1){120}}% single bond at 1
- \putratom{130}{110}{\@memberb}% left type
-\fi\fi}%
-% \end{macrocode}
-%
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 3 %
-% %%%%%%%%%%%%%%%
-\def\@pyranbb{%
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=-10
- \yl@ydiff=60
- \put(0,0){\line(1,-1){120}}% single bond at 1
- \putratom{130}{-180}{\@memberb}% left type
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=32
- \yl@ydiff=72
- \put(0,0){\line(0,-1){118}}% single bond alpha (down)
- \putlratom{-32}{-190}{\@memberb}% left & right type
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=32
- \yl@ydiff=-12
- \put(0,0){\line(0,1){118}}% single bond beta (up)
- \putlratom{-32}{130}{\@memberb}% left & right type
- \fi\fi\fi%\fi\fi%
- \else \if\@tmpb D%double bond: Added by SF 1998/10/25
- \yl@xdiff=20
- \yl@ydiff=60
- \put(15,-15){\line(-1,-1){120}}% double bond at 1
- \put(0,15){\line(-1,-1){120}}% double bond at 1
- \putlatom{-130}{-180}{\@memberb}%left type
- \else%
- \yl@xdiff=10
- \yl@ydiff=60
- \put(0,0){\line(-1,-1){120}}% single bond at 1
- \putlatom{-130}{-180}{\@memberb}% left type
-\fi\fi}%
-% \end{macrocode}
-%
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 5 %
-% %%%%%%%%%%%%%%%
-\def\@pyranbB{%
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=-10
- \yl@ydiff=60
- \put(0,0){\line(1,-1){120}}% single bond at 5
- \putratom{130}{-180}{\@memberb}% left type
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=32
- \yl@ydiff=72
- \put(0,0){\line(0,-1){118}}% single bond alpha (down)
- \putlratom{-32}{-190}{\@memberb}% left & right type
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=32
- \yl@ydiff=-12
- \put(0,0){\line(0,1){118}}% single bond beta (up)
- \putlratom{-32}{130}{\@memberb}% left & right type
- \fi\fi\fi%\fi\fi%
- \else \if\@tmpb D%double bond: Added by SF 1998/10/25
- \yl@xdiff=0
- \yl@ydiff=-20
- \put(15,15){\line(-1,1){120}}% double bond at 5
- \put(0,-15){\line(-1,1){120}}% double bond at 5
- \putlatom{-120}{140}{\@memberb}%left type
- \else%
- \yl@xdiff=10
- \yl@ydiff=-20
- \put(0,0){\line(-1,1){120}}% single bond at 1
- \putlatom{-130}{140}{\@memberb}% left type
-\fi\fi}%
-% \end{macrocode}
-%
-% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%
-% % subst. on 4 %
-% %%%%%%%%%%%%%%%
-\def\@pyranc{%
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=10
- \yl@ydiff=30
- \put(0,0){\line(-1,0){120}}% single bond at 4
- \putlatom{-130}{-30}{\@memberb}% left type
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=-32
- \yl@ydiff=72
- \put(0,0){\line(0,-1){118}}% single bond at 4 alpha (down)
- \putlatom{32}{-190}{\@memberb}% left type
- \else\if\@tmpc b%(e) beta
- \yl@xdiff=-32
- \yl@ydiff=-12
- \put(0,0){\line(0,1){118}}% single bond at 4 beta (up)
- \putlatom{32}{130}{\@memberb}% left type
- \else\if\@tmpc A% alpha
- \yl@xdiff=10
- \yl@ydiff=60
- \put(0,0){\line(-1,-1){120}}% single bond at 4
- \putlatom{-130}{-180}{\@memberb}% left type
- \else\if\@tmpc B% beta
- \yl@xdiff=10
- \yl@ydiff=10
- \put(0,0){\line(-1,1){120}}% single bond at 4
- \putlatom{-130}{110}{\@memberb}% left type
- \fi\fi\fi\fi\fi%
- \else \if\@tmpb D%double bond
- \yl@xdiff=10
- \yl@ydiff=30
- \put(0,-15){\line(-1,0){120}}% double bond at 4
- \put(0,15){\line(-1,0){120}}% double bond at 4
- \putlatom{-130}{-30}{\@memberb}% left type
- \else%
- \yl@xdiff=10
- \yl@ydiff=30
- \put(0,0){\line(-1,0){120}}% single bond at 4
- \putlatom{-130}{-30}{\@memberb}% left type
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \section{Pyranose derivatives}
-%
-% The standard skeleton of pyranose is selected
-% to have the following locant numbers.
-%
-% \begin{verbatim}
-% ***********************
-% * pyranose derivative *
-% ***********************
-%
-% The following numbering is adopted in this macro.
-%
-% 5 e 6
-% ----O
-% d * * f
-% the original point ===> 4 * * 1
-% (0,0) * * a
-% c -----
-% 3 b 2
-% \end{verbatim}
-%
-% The macro |\pyranose| has an argument |SUBSLIST| as well as an optional
-% argument |BONDLIST|.
-% \begin{verbatim}
-%
-% \pyranose[BONDLIST]{SUBSLIST}
-%
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected from a to f, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% \begin{verbatim}
-%
-% BONDLIST =
-%
-% none : mother skeleton
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% f : 6,1-double bond
-%
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents (max 5 substitution positions)
-%
-% for n = 1 to 5
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nSA : single bond (down) at n-atom (for n=1)
-% nSB : single bond (up) at n-atom (for n=1)
-% nSa : alpha single bond at n-atom
-% nSb : beta single bond at n-atom
-%
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \pyranose{1Sb==Cl;2Sa==F}
-% \pyranose{1Sb==Cl;4Sa==F;2Sa==CH$_{3}$}
-% \pyranose[a]{3Sb==OAc;4Sb==\lmoiety{MeO};5Sb==CH$_{2}$OAc}
-% \end{verbatim}
-%
-% The definition of |\@pyranose| uses a picture environment, in which
-% bonds are put directly, while subsituents are typset by using
-% the macros |\@pyrana| to |\@pyranc| described above.
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylpyranoseposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\pyranose}
-% \begin{macro}{\@pyranose}
-% \begin{macrocode}
-\def\pyranose{\@ifnextchar[{\@pyranose}{\@pyranose[r]}}
-\def\@pyranose[#1]#2{%
-\@reset@ylsw%
-\ylpyranoseposition{#2}%
-\def\@@ylii{0}\def\@@yli{0}%
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(880,800)(-240,-400)
- \iforigpt \put(-240,-400){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `pyranose' origin: (0,0) ---> (240,400)}
- \fi%
-\fi
- \put(0,0){\line(3,5){120}}% %bond 4-5
- \put(120,200){\line(1,0){252}}% %bond 5-6
- \put(532,0){\line(-3,5){96}}% %bond 1-6
- {\thicklines%
- \put(0,0){\line(3,-5){120}}% %bond 4-3
- \put(412,-200){\line(3,5){120}}% %bond 2-1
- \put(120,-200){\line(1,0){292}}}% %bond 3-2
- \putratom{382}{160}{O}% left type
- %
-\@tfor\member:=#1\do{%
-\if\member r%no endcyclic double bonds
-\else \if\member a%
- \put(400,-150){\line(3,5){90}}% %double bond 2-1
-\else \if\member b%
- \put(150,-160){\line(1,0){232}}% %double bond 3-2
-\else \if\member c%
- \put(50,-12){\line(3,-5){90}}% %double bond 4-3
-\else \if\member d%
- \put(50,12){\line(3,5){90}}% %double bond 4-5
-\else \if\member e%
- \put(150,160){\line(1,0){232}}% %double bond 5-6
-\else \if\member f%
- \put(482,12){\line(-3,5){70}}% %double bond 1-6
-\fi\fi\fi\fi\fi\fi\fi}%
-%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa%0 omit
- \or \put(532,0){\@pyrana}% subst. on 1
- \or \put(412,-200){\@pyranb}% subst. on 2
- \or \put(120,-200){\@pyranbb}% subst. on 3
- \or \put(0,0){\@pyranc}% subst. on 4
- \or \put(120,200){\@pyranbB}% subst. on 5
-\fi %end of ifcase
-\fi\fi%
-}\end{picture}}% %end of \pyranose macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The command |\ylpyranoseposition| is to obtain the shift values
-% |\@ylii| and |\@yli| which are used for shifting the standard
-% point of a substituent.
-% \changes{v1.02}{1998/10/25}{New commands for setting substituents}
-%
-% \begin{macro}{\ylpyranoseposition}
-% \begin{macrocode}
-\def\ylpyranoseposition#1{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa%0 omit
- \or\gdef\@ylii{-532}\gdef\@yli{0}\global\@ylswtrue% subst. on 1
- \or\gdef\@ylii{-412}\gdef\@yli{200}\global\@ylswtrue% subst. on 2
- \or\gdef\@ylii{-120}\gdef\@yli{200}\global\@ylswtrue% subst. on 3
- \or\gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 4
- \or\gdef\@ylii{-120}\gdef\@yli{-200}\global\@ylswtrue% subst. on 5
-\fi%end of ifcase
-\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Furanose derivatives}
-%
-% The standard skeleton of furanose is selected
-% to have the following locant numbers.
-%
-% \begin{verbatim}
-% ***********************
-% * furanose derivative *
-% ***********************
-%
-% The following numbering is adopted in this macro.
-%
-% 5
-% O
-% d * * e
-% the original point ===> 4 * * 1
-% (0,0) * * a
-% c -----
-% 3 b 2
-%
-% \end{verbatim}
-%
-% The macro |\furanose| has an argument |SUBSLIST| as well as an optional
-% argument |BONDLIST|.
-% \begin{verbatim}
-% \furanose[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected from a to e, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : mother skeleton
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-% SUBSLIST: list of substituents (max 4 substitution positions)
-%
-% for n = 1 to 4
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nSA : single bond (down) at n-atom (for n=1)
-% nSB : single bond (up) at n-atom (for n=1)
-% nSa : alpha single bond at n-atom
-% nSb : beta single bond at n-atom
-%\end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \furanose{1Sa==Cl;2Sb==F}
-%
-% \end{verbatim}
-%
-% The definition of |\@furanose| uses a picture environment, in which
-% bonds are put directly, while subsituents are typset by using
-% the macros |\@pyrana| to |\@pyranc| described above.
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylfuranoseposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\furanose}
-% \begin{macro}{\@furanose}
-% \begin{macrocode}
-\def\furanose{\@ifnextchar[{\@furanose}{\@furanose[r]}}
-\def\@furanose[#1]#2{%
-\@reset@ylsw%
-\ylfuranoseposition{#2}%
-\def\@@ylii{0}\def\@@yli{0}%
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(880,800)(-240,-400)
- \iforigpt \put(-240,-400){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `furanose' origin: (0,0) ---> (240,400)}
-\fi
- \fi%
- \put(0,0){\line(5,3){236}}% %bond 4-5
- \put(532,0){\line(-5,3){236}}% %bond 1-5
- {\thicklines%
- \put(0,0){\line(3,-5){120}}% %bond 4-3
- \put(412,-200){\line(3,5){120}}% %bond 2-1
- \put(120,-200){\line(1,0){292}}}% %bond 3-2
- \putratom{236}{130}{O}% left type
-%
-\@tfor\member:=#1\do{%
-\if\member r%no endcyclic double bonds
-\else \if\member a%
- \put(400,-150){\line(3,5){80}}% %double bond 2-1
-\else \if\member b%
- \put(150,-160){\line(1,0){232}}% %double bond 3-2
-\else \if\member c%
- \put(50,-12){\line(3,-5){80}}% %double bond 4-3
-\else \if\member d%
- \put(50,0){\line(5,3){180}}% %double bond 4-5
-\else \if\member e%
- \put(482,0){\line(-5,3){180}}% %double bond 1-5
-\fi\fi\fi\fi\fi\fi}%
-%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifx\@memberb\@yl\else
-\ifcase\@tmpa%0 omit
- \or \put(532,0){\@pyrana}% subst. on 1
- \or \put(412,-200){\@pyranb}% subst. on 2
- \or \put(120,-200){\@pyranbb}% subst. on 3
- \or \put(0,0){\@pyranc}% subst. on 4
-\fi%end of ifcase
-\fi\fi%
-}\end{picture}}% %end of \furanose macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The command |\ylfuranoseposition| is to obtain the shift values
-% |\@ylii| and |\@yli| which are used for shifting the standard
-% point of a substituent.
-% \changes{v1.02}{1998/10/23}{New commands for setting substituents}
-%
-% \begin{macro}{\ylfuranoseposition}
-% \begin{macrocode}
-\def\ylfuranoseposition#1{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpa%0 omit
- \or\gdef\@ylii{-532}\gdef\@yli{0}\global\@ylswtrue% subst. on 1
- \or\gdef\@ylii{-412}\gdef\@yli{200}\global\@ylswtrue% subst. on 2
- \or\gdef\@ylii{-120}\gdef\@yli{200}\global\@ylswtrue% subst. on 3
- \or\gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 4
-\fi%end of ifcase
-\fi\fi\fi}}%
-%</hcycle>
-% \end{macrocode}
-% \end{macro}
-%
-% \Finale
-%
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/hcycle.ins b/Master/texmf-dist/source/latex/xymtex/hcycle.ins
deleted file mode 100644
index 6923dd23dae..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/hcycle.ins
+++ /dev/null
@@ -1,50 +0,0 @@
-\def\batchfile{hcycle.ins}
-\input docstrip.tex
-\preamble
-
-This is a generated file.
-
-Copyright 1996,1998 by Shinsaku Fujita
-
-This file is part of the XyMTeX system.
-=======================================
-
-Version 1.01 Released on August 16, 1996
-Version 1.02 Released on October 31, 1996 (private version)
-Version 2.00 Released on December 25, 1998
-
-Copyright (C) 1996,1998 by Shinsaku Fujita, all rights reserved.
-This style file is created for drawing chemical structural formulas
-This style file is to be contained in the ``xymtex'' directory which
-is an input directory for TeX.
-
-Copying of this file is authorized only if either
-
- (1) you make absolutely no changes to your copy, including name and
- directory name
- (2) if you do make changes,
- (a) you name it something other than the names included in the
- ``xymtex'' directory and
- (b) you acknowledge the original name.
- This restriction ensures that all standard styles are identical.
-
-=======================================
-
-This file contains several codes modified from latex.tex (LaTeX2.09)
-and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-Copyright 1994 the LaTeX3 project and the individual authors (For further
-copyright information see the file legal.txt of the LaTeX2e standard
-distribution, and any other copyright indicated in this file.)
-
-\endpreamble
-
-\keepsilent
-
-\generateFile{hcycle.drv}{t}{%
- \from{hcycle.dtx}{driver}}
-
-\generateFile{hcycle.sty}{t}{%
- \from{hcycle.dtx}{hcycle}}
-
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/hetarom.drv b/Master/texmf-dist/source/latex/xymtex/hetarom.drv
deleted file mode 100644
index 28c92655836..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/hetarom.drv
+++ /dev/null
@@ -1,82 +0,0 @@
-%%
-%% This is file `hetarom.drv',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% hetarom.dtx (with options: `driver')
-%%
-%% This is a generated file.
-%%
-%% Copyright 1996, 1998, 2000 by Shinsaku Fujita
-%%
-%% This file is part of the XyMTeX system.
-%% =======================================
-%%
-%% Version 1.01 Released on August 16, 1996
-%% Version 1.02 Released on October 31, 1998 (private version)
-%% Version 2.00 Released on December 25, 1998
-%% Version 2.00a Released on November 11, 2000
-%%
-%% Copyright (C) 1996,1998,2000 by Shinsaku Fujita, all rights reserved.
-%% This style file is created for drawing chemical structural formulas
-%% This style file is to be contained in the ``xymtex'' directory which
-%% is an input directory for TeX.
-%%
-%% Copying of this file is authorized only if either
-%%
-%% (1) you make absolutely no changes to your copy, including name and
-%% directory name
-%% (2) if you do make changes,
-%% (a) you name it something other than the names included in the
-%% ``xymtex'' directory and
-%% (b) you acknowledge the original name.
-%% This restriction ensures that all standard styles are identical.
-%%
-%% =======================================
-%%
-%% This file contains several codes modified from latex.tex (LaTeX2.09)
-%% and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-%% Copyright 1994 the LaTeX3 project and the individual authors (For further
-%% copyright information see the file legal.txt of the LaTeX2e standard
-%% distribution, and any other copyright indicated in this file.)
-%%
-%% File: hetarom.dtx
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{hetarom.dtx}[1998/12/25 v2.00 XyMTeX{} package file]
-\documentclass{ltxdoc}
-\GetFileInfo{hetarom.dtx}
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-\title{Heterocycles of vertical type by {\sffamily hetarom.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606-8585 Japan
-}
-\date{\filedate}
-\begin{document}
- \maketitle
- \DocInput{hetarom.dtx}
-\end{document}
-\endinput
-%%
-%% End of file `hetarom.drv'.
diff --git a/Master/texmf-dist/source/latex/xymtex/hetarom.dtx b/Master/texmf-dist/source/latex/xymtex/hetarom.dtx
deleted file mode 100644
index e4c4108c4a2..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/hetarom.dtx
+++ /dev/null
@@ -1,9028 +0,0 @@
-% \iffalse meta-comment
-%% File: hetarom.dtx
-%
-% Copyright 1993,1996,1998,2000 by Shinsaku Fujita
-%
-% This file is part of XyMTeX system.
-% -------------------------------------
-%
-% This file is a successor to:
-%
-% hetarom.sty
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 1.00}
-% \typeout{ -- Released December 1, 1993 by Shinsaku Fujita}
-% Copyright (C) 1993 by Shinsaku Fujita, all rights reserved.
-%
-% This file is a part of the macro package ``XyMTeX'' which has been
-% designed for typesetting chemical structural formulas.
-%
-% This file is to be contained in the ``xymtex'' directory which is
-% an input directory for TeX. It is a LaTeX optional style file and
-% should be used only within LaTeX, because several macros of the file
-% are based on LaTeX commands.
-%
-% For the review of XyMTeX, see
-% (1) Shinsaku Fujita, ``Typesetting structural formulas with the text
-% formatter TeX/LaTeX'', Computers and Chemistry, in press.
-% The following book deals with an application of TeX/LaTeX to
-% preparation of manuscripts of chemical fields:
-% (2) Shinsaku Fujita, ``LaTeX for Chemists and Biochemists''
-% Tokyo Kagaku Dozin, Tokyo (1993) [in Japanese].
-%
-% Copying of this file is authorized only if either
-% (1) you make absolutely no changes to your copy, including name and
-% directory name; or
-% (2) if you do make changes,
-% (a) you name it something other than the names included in the
-% ``xymtex'' directory and
-% (b) you are requested to leave this notice intact.
-% This restriction ensures that all standard styles are identical.
-%
-% Please report any bugs, comments, suggestions, etc. to:
-% Shinsaku Fujita,
-% Ashigara Research Laboratories, Fuji Photo Film Co., Ltd.,
-% Minami-Ashigara, Kanagawa-ken, 250-01, Japan.
-%
-% New address:
-% Shinsaku Fujita,
-% Department of Chemistry and Materials Technology,
-% Kyoto Institute of Technology, \\
-% Matsugasaki, Sakyoku, Kyoto, 606 Japan
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{hetarom}
-% \def\versi@ndate{December 01, 1993}
-% \def\versi@nno{ver1.00}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{hetarom}
-% \def\versi@ndate{August 16, 1996}
-% \def\versi@nno{ver1.01}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{hetarom}
-% \def\versi@ndate{October 31, 1998}
-% \def\versi@nno{ver1.02}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{hetarom}
-% \def\versi@ndate{December 25, 1998}
-% \def\versi@nno{ver2.00}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% \fi
-%
-% \CheckSum{9447}
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%
-% \setcounter{StandardModuleDepth}{1}
-%
-% \StopEventually{}
-% \MakeShortVerb{\|}
-%
-% \iffalse
-% \changes{v1.01}{1996/06/27}{first edition for LaTeX2e}
-% \changes{v1.02}{1998/10/31}{revised edition for LaTeX2e}
-% \changes{v2.00}{1998/12/25}{enhanced edition for LaTeX2e}
-% \changes{v2.00a}{1998/11/11}{bug fix}
-% \fi
-%
-% \iffalse
-%<*driver>
-\NeedsTeXFormat{pLaTeX2e}
-% \fi
-\ProvidesFile{hetarom.dtx}[1998/12/25 v2.00 XyMTeX{} package file]
-% \iffalse
-\documentclass{ltxdoc}
-\GetFileInfo{hetarom.dtx}
-%
-% %%XyMTeX Logo: Definition 2%%%
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\title{Heterocycles of vertical type by {\sffamily hetarom.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606-8585 Japan
-% % (old address)
-% % Ashigara Research Laboratories,
-% % Fuji Photo Film Co., Ltd., \\
-% % Minami-Ashigara, Kanagawa, 250-01 Japan
-}
-\date{\filedate}
-%
-\begin{document}
- \maketitle
- \DocInput{hetarom.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \section{Introduction}\label{hetarom:intro}
-%
-% \subsection{Options for {\sffamily docstrip}}
-%
-% \DeleteShortVerb{\|}
-% \begin{center}
-% \begin{tabular}{|l|l|}
-% \hline
-% \emph{option} & \emph{function}\\ \hline
-% hetarom & hetarom.sty \\
-% driver & driver for this dtx file \\
-% \hline
-% \end{tabular}
-% \end{center}
-% \MakeShortVerb{\|}
-%
-% \subsection{Version Information}
-%
-% \begin{macrocode}
-%<*hetarom>
-\typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 2.00}
-\typeout{ -- Released December 25, 1998 by Shinsaku Fujita}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\j@urnalname{hetarom}
-\def\versi@ndate{November 11, 2000}
-\def\versi@nno{ver2.00a}
-\def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\typeout{XyMTeX Macro File `\j@urnalname' (\versi@nno) <\versi@ndate>%
-\space[\copyrighth@lder]}
-% \end{macrocode}
-%
-% \section{List of commands for hetarom.sty}
-%
-% \begin{verbatim}
-% *********************************
-% * hetarom.sty: list of commands *
-% *********************************
-%
-% <Various flags (switches)>
-%
-% \if@gclip \@gclipfalse \@gcliptrue
-% \if@hclip \@hclipfalse \@hcliptrue
-% \if@iclip \@iclipfalse \@icliptrue
-% \if@jclip \@jclipfalse \@jcliptrue
-% \iniflag
-% \iniatom
-% \aaa
-% \bbb
-% \ccc
-% \ddd
-% \eee
-% \fff
-% \ggg
-% \hhh
-% \iii
-% \jjj
-% \end{verbatim}
-%
-% \begin{verbatim}
-%
-% <Six-Membered Heterocycles>
-% Setting inner double bonds
-%
-% \bonda
-% \bondb
-% \bondc
-% \bondd
-% \bonde
-% \bondf
-% \bondhoriz
-% \bondhorizi
-%
-% Setting skeletal bonds
-%
-% \skbonda
-% \skbondf
-% \skbondc
-% \skbondd
-% \skbondb
-% \skbonde
-% \skbondhoriz
-% \skbondhorizi
-%
-% Setting dotted skeletal bonds
-%
-% \dotskbonda
-% \dotskbondf
-% \dotskbondc
-% \dotskbondd
-% \dotskbondb
-% \dotskbonde
-% \dotskbondhoriz
-% \dotskbondhorizi
-%
-% Basic Macros
-%
-% \sixheterov \@sixheterov
-% \sixheterovi \@sixheterovi
-%
-% Application Macros
-%
-% \pyridinev \@pyridinev
-% \pyridinevi \@pyridinevi
-% \pyrazinev \@pyrazinev
-% \pyrimidinev \@pyrimidinev
-% \pyrimidinevi \@pyrimidinevi
-% \pyridazinev \@pyridazinev
-% \pyridazinevi \@pyridazinevi
-% \triazinev \@triazinev
-% \triazinevi \@triazinevi
-% \end{verbatim}
-%
-% \begin{verbatim}
-%
-% <Five-Membered Heterocycles>
-% Basic Macros
-%
-% \fiveheterov \@fiveheterov
-% \fiveheterovi \@fiveheterovi
-%
-% Application Macros
-%
-% \pyrrolev \@pyrrolev
-% \pyrazolev \@pyrazolev
-% \imidazolev \@imidazolev
-% \isoxazolev \@isoxazolev
-% \oxazolev \@oxazolev
-%
-% \furanv \@furanv
-% \thiophenev \@thiophenev
-%
-% \pyrrolevi \@pyrrolevi
-% \pyrazolevi \@pyrazolevi
-% \imidazolevi \@imidazolevi
-% \isoxazolevi \@isoxazolevi
-% \oxazolevi \@oxazolevi
-%
-% \furanvi \@furanvi
-% \thiophenevi \@thiophenevi
-% \end{verbatim}
-%
-% \begin{verbatim}
-%
-% <Six-Six-Fused Heterocycles>
-% Basic Macros
-%
-% \decaheterov \@decaheterov
-% \decaheterovi \@decaheterovi
-% \decaheterovb \@decaheterovb
-% \decaheterovt \@decaheterovt
-%
-% Adjustment Macros (for structures as substituents)
-% \changes{v1.02}{1998/10/16}{Newly added command}
-%
-% \clipdetection
-% \ylhetposition
-% \ylhetpositionb
-% \ylhetpositiont
-%
-% Application Macros
-%
-% \quinolinev \@quinolinev
-% \quinolinevi \@quinolinevi
-% \quinolinevb \@quinolinevb
-% \quinolinevt \@quinolinevt
-%
-% \isoquinolinev \@isoquinolinev
-% \isoquinolinevi \@isoquinolinevi
-% \isoquinolinevb \@isoquinolinevb
-% \isoquinolinevt \@isoquinolinevt
-%
-% \quinoxalinev \@quinoxalinev
-% \quinoxalinevi \@quinoxalinevi
-% \quinoxalinevb \@quinoxalinevb
-% \quinoxalinevt \@quinoxalinevt
-%
-% \quinazolinev \@quinazolinev
-% \quinazolinevi \@quinazolinevi
-% \quinazolinevb \@quinazolinevb
-% \quinazolinevt \@quinazolinevt
-%
-% \cinnolinev \@cinnolinev
-% \cinnolinevi \@cinnolinevi
-% \cinnolinevb \@cinnolinevb
-% \cinnolinevt \@cinnolinevt
-%
-% \pteridinev \@pteridinev
-% \pteridinevi \@pteridinevi
-% \pteridinevb \@pteridinevb
-% \pteridinevt \@pteridinevt
-% \end{verbatim}
-%
-% \begin{verbatim}
-%
-% <Six-Five-Fused Heterocycles>
-% Basic Macros
-%
-% \nonaheterov \@nonaheterov
-% \nonaheterovi \@nonaheterovi
-%
-% Application Macros
-%
-% \purinev \@purinev
-% \purinevi \@purinevi
-% \indolev \@indolev
-% \indolevi \@indolevi
-% \indolizinev \@indolizinev
-% \indolizinevi \@indolizinevi
-% \isoindolev \@isoindolev
-% \isoindolevi \@isoindolevi
-% \benzofuranev \@benzofuranev
-% \benzofuranevi \@benzofuranevi
-% \isobenzofuranev \@isobenzofuranev
-% \isobenzofuranevi \@isobenzofuranevi
-% \benzoxazolev \@benzoxazolev
-% \benzoxazolevi \@benzoxazolevi
-% \end{verbatim}
-%
-% \begin{verbatim}
-%
-% <Four-Membered Heterocycles>
-% Setting bonds
-% \bondshoriz \bondshorizi
-% \skbondshoriz \skbondshorizi
-%
-% Basic Macros
-%
-% \fourhetero \@fourhetero
-% \end{verbatim}
-%
-% \begin{verbatim}
-%
-% <Four-Membered Heterocycles>
-% Setting inner double bonds
-%
-% \bondtria \bondtrib
-% \skbondtria \skbondtrib
-% \Bondtria \Bondtrib
-% \skBondtria \skBondtrib
-%
-% Basic Macros
-%
-% \fourhetero \@fourhetero
-% \set@fusionadd@fourv \set@fusion@fourv
-%
-% <Three-Membered Heterocycles>
-%
-% \threehetero \@threehetero
-% \threeheteroi \@threeheteroi
-%
-% \threeheterov \@threeheterov
-% \threeheterovi \@threeheterovi
-%
-% \set@fusionadd@threev \set@fusion@threev
-% \set@fusionadd@threevi \set@fusion@threevi
-% \end{verbatim}
-%
-% \begin{verbatim}
-%
-% <Building Units>
-%
-% \sixunitv \@sixunitv
-% \fiveunitv \@fiveunitv
-% \fiveunitvi \@fiveunitvi
-% \end{verbatim}
-%
-% \section{Input of basic macros}
-%
-% To assure the compatibility to \LaTeX{}2.09 (the native mode),
-% the commands added by \LaTeXe{} have not been used in the resulting sty
-% files ({\sf hetarom.sty} for the present case). Hence, the combination
-% of |\input| and |\@ifundefined| is used to crossload sty
-% files ({\sf chemstr.sty} for the present case) in place of the
-% |\RequirePackage| command of \LaTeXe{}.
-%
-% \begin{macrocode}
-% *************************
-% * input of basic macros *
-% *************************
-\@ifundefined{setsixringv}{\input chemstr.sty\relax}{}%
-\unitlength=0.1pt%
-% \end{macrocode}
-%
-% The following switches and macros have been moved to {\sf chemstr.sty};
-% hence, they are commented out.
-% \begin{macrocode}
-% % ****************************
-% % * various flags (switches) *
-% % ****************************
-% \newif\if@gclip \@gclipfalse%
-% \newif\if@hclip \@hclipfalse%
-% \newif\if@iclip \@iclipfalse%
-% \newif\if@jclip \@jclipfalse%
-% \def\iniflag{%
-% \@aclipfalse \@bclipfalse\@cclipfalse\@clipfalse\@eclipfalse%
-% \@fclipfalse\@gclipfalse\@hclipfalse\@iclipfalse\@jclipfalse%
-% \@clipfusefalse}%
-% \def\iniatom{%
-% \def\aaa{}\def\bbb{}\def\ccc{}\def\ddd{}\def\eee{}\def\fff{}%
-% \def\ggg{}\def\hhh{}\def\iii{}\def\jjj{}%
-% \def\@aaa{}\def\@bbb{}\def\@ccc{}\def\@ddd{}\def\@eee{}\def\@fff{}%
-% }%
-% \def\resetbdsw{\gdef\@aaa{a}\gdef\@bbb{b}\gdef\@ccc{c}%
-% \gdef\@ddd{d}\gdef\@eee{e}\gdef\@fff{f}}%
-% \end{macrocode}
-%
-% \section{Initialization}
-%
-% \begin{macrocode}
-\iniatom%
-% \end{macrocode}
-%
-% \section{Macros for setting bonds}
-% \subsection{Inner double bonds}
-%
-% The macros |\sixhetero| and |\fivehetero| use internal macros for setting
-% inner double bonds in accordance with the presence or the absence of
-% hetero atoms. During the processes of such setting,
-% the inner macros |\bonda| to |\bondf| are used to set a bond
-% on each edge of a six- or five-membered ring; and
-% the inner macros |\bondz| to |\bondzi| draw horizontal bonds
-% of a five-membered ring.
-%
-% Note that
-% comments (conerning locant numbers) on the end of each row have
-% lost the exact meaning,
-% since such a command moiety is used in many macros after copying.
-%
-% \begin{verbatim}
-% ******************************
-% * setting inner double bonds *
-% ******************************
-% The following numbering is adopted in these macros.
-% aaa
-% 1
-% f * a
-% fff 6 * * 2 bbb
-% e | | b
-% | |
-% eee 5 * * 3 ccc
-% d * c
-% 4 <===== the original point
-% ddd
-% \end{verbatim}
-%
-% \begin{macro}{\bonda}
-% The macro |\bonda| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\aaa| and |\bbb|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-% bond between 1 and 2
-\def\bonda{%
- \ifx\aaa\empty%
- \ifx\bbb\empty%
- \put(6,364){\line(5,-3){126}}% %double bond 1-2
- \else%
- \put(6,364){\line(5,-3){100}}% %double bond 1-2
- \fi%
- \else%
- \ifx\bbb\empty%
- \put(35,340){\line(5,-3){100}}% %double bond 1-2
- \else%
- \put(35,352){\line(5,-3){100}}% %double bond 1-2
- \fi% % line <1OO not available
- \fi%
- }%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\bondb}
-% The macro |\bondb| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\bbb| and |\ccc|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-% bond between 3 and 2
- \def\bondb{%
- \ifx\bbb\empty%
- \ifx\ccc\empty%
- \put(138,129){\line(0,1){148}}% %double bond 3-2
- \else%
- \put(138,143){\line(0,1){134}}% %double bond 3-2
- \fi%
- \else%
- \ifx\ccc\empty%
- \put(138,129){\line(0,1){134}}% %double bond 3-2
- \else%
- \put(138,143){\line(0,1){110}}% %double bond 3-2
- \fi%
- \fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\bondc}
-% The macro |\bondc| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\ddd| and |\ccc|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-% bond between 4 and 3
- \def\bondc{%
- \ifx\ddd\empty%
- \ifx\ccc\empty%
- \put(6,42){\line(5,3){126}} %double bond 4-3
- \else%
- \put(6,42){\line(5,3){100}} %double bond 4-3
- \fi%
- \else%
- \ifx\ccc\empty%
- \put(35,66){\line(5,3){100}}% %double bond 4-3
- \else%
- \put(35,60){\line(5,3){100}}% %double bond 4-3
- \fi% % line <1OO not available
- \fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\bondd}
-% The macro |\bondd| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\ddd| and |\eee|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-% bond between 4 and 5
- \def\bondd{%
- \ifx\ddd\empty%
- \ifx\eee\empty%
- \put(-6,42){\line(-5,3){126}}% %double bond 4-5
- \else%
- \put(-6,42){\line(-5,3){100}}% %double bond 4-5
- \fi%
- \else%
- \ifx\eee\empty%
- \put(-35,66){\line(-5,3){100}}% %double bond 4-5
- \else%
- \put(-35,60){\line(-5,3){100}}% %double bond 4-5
- \fi% % line <1OO not available
- \fi%
- }%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\bonde}
-% The macro |\bonde| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\fff| and |\eee|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-% bond between 5 and 6
-\def\bonde{%
- \ifx\fff\empty%
- \ifx\eee\empty%
- \put(-138,129){\line(0,1){148}}% %double bond 5-6
- \else%
- \put(-138,143){\line(0,1){134}}% %double bond 5-6
- \fi%
- \else%
- \ifx\eee\empty%
- \put(-138,129){\line(0,1){134}}% %double bond 5-6
- \else%
- \put(-138,143){\line(0,1){110}}% %double bond 5-6
- \fi%
- \fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\bondf}
-% The macro |\bondf| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\aaa| and |\fff|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-% bond between 1 and 6
-\def\bondf{%
- \ifx\aaa\empty%
- \ifx\fff\empty%
- \put(-6,364){\line(-5,-3){126}}% %double bond 1-6
- \else%
- \put(-6,364){\line(-5,-3){100}}% %double bond 1-6
- \fi%
- \else%
- \ifx\fff\empty%
- \put(-35,340){\line(-5,-3){100}}% %double bond 1-6
- \else%
- \put(-35,352){\line(-5,-3){100}}% %double bond 1-6
- \fi% % line <1OO not available
- \fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\bondz}
-% The macro |\bondz| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\fff| and |\bbb|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-% horizontal inner bond for five-membered rings
-\def\bondhoriz{%
- \ifx\fff\empty%
- \ifx\bbb\empty%
- \put(-138,270){\line(1,0){277}}% %double bond 4-3
- \else%
- \put(-138,270){\line(1,0){258}}% %double bond 4-3
- \fi%
- \else%
- \ifx\bbb\empty%
- \put(-120,270){\line(1,0){258}}% %double bond 4-3
- \else%
- \put(-120,270){\line(1,0){239}}% %double bond 4-3
- \fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\bondzi}
-% The macro |\bondzi| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\eee| and |\ccc|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-% horizontal inner bond for five-membered rings (inverse type)
-\def\bondhorizi{%
- \ifx\eee\empty%
- \ifx\ccc\empty%
- \put(-138,136){\line(1,0){277}}% %double bond 4-3
- \else%
- \put(-138,136){\line(1,0){258}}% %double bond 4-3
- \fi%
- \else%
- \ifx\ccc\empty%
- \put(-120,136){\line(1,0){258}}% %double bond 4-3
- \else%
- \put(-120,136){\line(1,0){239}}% %double bond 4-3
- \fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Skeletal bonds}
-%
-% The macros |\sixhetero| and |\fivehetero| use inner macros for setting
-% skeletal bonds in accordance with the presence or the absence of
-% hetero atoms. During the processes of such setting,
-% the inner macros |\skbonda| to |\skbondf| are used to set a bond
-% on each edge of a six- or five-membered ring; and
-% the inner macros |\skbondz| to |\skbondzi| draw horizontal bonds
-% of a five-membered ring.
-%
-% \begin{verbatim}
-% **************************
-% * setting skeletal bonds *
-% **************************
-% The following numbering is adopted in this macro.
-% aaa
-% 1
-% f * a
-% fff 6 * * 2 bbb
-% e | | b
-% | |
-% eee 5 * * 3 ccc
-% d * c
-% 4 <===== the original point
-% ddd
-%
-% \end{verbatim}
-%
-% \begin{macro}{\skbonda}
-% The macro |\skbonda| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\aaa| and |\bbb|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 1 and 2
-\def\skbonda{%
- \ifx\aaa\empty%
- \ifx\bbb\empty%
- \put(0,406){\line(5,-3){171}}% %bond 1-2
- \else%
- \put(0,406){\line(5,-3){136}}% %bond 1-2
- \fi%
- \else%
- \ifx\bbb\empty%
- \put(35,385){\line(5,-3){136}}% %bond 1-2
- \else%
- \put(35,385){\line(5,-3){100}}% %bond 1-2
- \fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\skbondf}
-% The macro |\skbonda| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\aaa| and |\fff|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 1 and 6
-\def\skbondf{%
- \ifx\aaa\empty%
- \ifx\fff\empty%
- \put(0,406){\line(-5,-3){171}}% %bond 1-6
- \else%
- \put(0,406){\line(-5,-3){136}}% %bond 1-6
- \fi%
- \else%
- \ifx\fff\empty%
- \put(-35,385){\line(-5,-3){136}}% %bond 1-6
- \else%
- \put(-35,385){\line(-5,-3){100}}% %bond 1-6
- \fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\skbondc}
-% The macro |\skbondc| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\ccc| and |\ddd|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 4 and 3
-\def\skbondc{%
- \ifx\ddd\empty%
- \ifx\ccc\empty%
- \put(0,0){\line(5,3){171}}% %bond 4-3
- \else%
- \put(0,0){\line(5,3){136}}% %bond 4-3
- \fi%
- \else%
- \ifx\ccc\empty%
- \put(35,21){\line(5,3){138}}% %bond 4-3
- \else%
- \put(35,21){\line(5,3){100}}% %bond 4-3
- \fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\skbondd}
-% The macro |\skbondd| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\ddd| and |\eee|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 4 and 5
-\def\skbondd{%
- \ifx\ddd\empty%
- \ifx\eee\empty%
- \put(0,0){\line(-5,3){171}}% %bond 4-5
- \else%
- \put(0,0){\line(-5,3){136}}% %bond 4-5
- \fi%
- \else%
- \ifx\eee\empty%
- \put(-35,21){\line(-5,3){138}}% %bond 4-5
- \else%
- \put(-35,21){\line(-5,3){100}}% %bond 4-5
- \fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\skbondb}
-% The macro |\skbondb| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\bbb| and |\ccc|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 3 and 2
-\def\skbondb{%
- \ifx\bbb\empty%%
- \ifx\ccc\empty%%
- \put(171,103){\line(0,1){200}}% %bond 3-2
- \else%
- \put(171,143){\line(0,1){160}}% %bond 3-2
- \fi%
- \else%
- \ifx\ccc\empty%%
- \put(171,103){\line(0,1){150}}% %bond 3-2
- \else%
- \put(171,143){\line(0,1){110}}% %bond 3-2
- \fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\skbonde}
-% The macro |\skbonde| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\eee| and |\fff|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 5 and 6
-\def\skbonde{%
- \ifx\eee\empty%
- \ifx\fff\empty%
- \put(-171,103){\line(0,1){200}}% %bond 5-6
- \else%
- \put(-171,103){\line(0,1){150}}% %bond 5-6
- \fi%
- \else%
- \ifx\fff\empty%
- \put(-171,143){\line(0,1){160}}% %bond 5-6
- \else%
- \put(-171,143){\line(0,1){110}}% %bond 5-6
- \fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\skbondhoriz}
-% The macro |\skbondhoriz| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\fff| and |\bbb|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%horizontal bond for five-membered rings
-\def\skbondhoriz{%
- \ifx\fff\empty%
- \ifx\bbb\empty%
- \put(-171,303){\line(1,0){342}}% %bond 4-3
- \else%
- \put(-171,303){\line(1,0){300}}% %bond 4-3
- \fi%
- \else%
- \ifx\bbb\empty%
- \put(171,303){\line(-1,0){300}}% %bond 4-3
- \else%
- \put(-129,303){\line(1,0){258}}% %bond 4-3
- \fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\skbondhorizi}
-% The macro |\skbondhorizi| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\eee| and |\ccc|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%horizontal bond for five-membered rings (inverse type)
-\def\skbondhorizi{%
- \ifx\eee\empty%
- \ifx\ccc\empty%
- \put(-171,103){\line(1,0){342}}% %bond 4-3
- \else%
- \put(-171,103){\line(1,0){300}}% %bond 4-3
- \fi%
- \else%
- \ifx\ccc\empty%
- \put(171,103){\line(-1,0){300}}% %bond 4-3
- \else%
- \put(-129,103){\line(1,0){258}}% %bond 4-3
- \fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\set@outskel@sixv}
-% The macro |\set@outskel@sixv| is to typeset a series of
-% outer-skeleton bonds to six rings. It is
-% used in |\sixheterov| and |\sixheterovi|.
-%
-% \begin{macrocode}
-\def\set@outskel@sixv{%
- \skbonda% bond between 1 and 2
- \skbondf% bond between 1 and 6
- \skbondc% bond between 4 and 3
- \skbondd% bond between 4 and 5
- \skbondb% bond between 3 and 2
- \skbonde% bond between 5 and 6
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Dotted Skeletal Bonds}
-%
-% The macros |\sixfusev| etc. use inner macros for setting
-% skeletal bonds in accordance with the presence or the absence of
-% hetero atoms. During the processes of such setting,
-% the inner macros |\dotskbonda| to |\dotskbondf| are used
-% to set a dotted bond on each edge of a six- or five-membered ring.
-%
-% \begin{macro}{\dotskbonda}
-% The macro |\dotskbonda| is the dotted couterpart of |\skbonda|,
-% which refers to the control sequences representing
-% atoms on both of the terminal vertices (|\aaa| and |\bbb|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 1 and 2
-\def\dotskbonda{%
- \ifx\aaa\empty%
- \ifx\bbb\empty%
- \@ifundefined{dottedline}{%
- \put(0,406){\line(5,-3){171}}% %bond 1-2
- }{{\thicklines%
- \dottedline{20}(0,406)(171,303)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(0,406){\line(5,-3){136}}% %bond 1-2
- }{{\thicklines%
- \dottedline{20}(0,406)(136,324)}}%
- \fi%
- \else%
- \ifx\bbb\empty%
- \@ifundefined{dottedline}{%
- \put(35,385){\line(5,-3){136}}% %bond 1-2
- }{{\thicklines%
- \dottedline{20}(35,386)(171,303)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(35,385){\line(5,-3){100}}% %bond 1-2
- }{{\thicklines%
- \dottedline{20}(35,386)(136,324)}}%
- \fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dotskbondb}
-% The macro |\dotskbondb| is the dotted couterpart of |\skbondb|,
-% which refers to the control sequences representing
-% atoms on both of the terminal vertices (|\bbb| and |\ccc|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 3 and 2
-\def\dotskbondb{%
- \ifx\bbb\empty%%
- \ifx\ccc\empty%%
- \@ifundefined{dottedline}{%
- \put(171,103){\line(0,1){200}}% %bond 3-2
- }{{\thicklines%
- \dottedline{20}(171,103)(171,303)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(171,143){\line(0,1){160}}% %bond 3-2
- }{{\thicklines%
- \dottedline{20}(171,143)(171,303)}}%
- \fi%
- \else%
- \ifx\ccc\empty%%
- \@ifundefined{dottedline}{%
- \put(171,103){\line(0,1){150}}% %bond 3-2
- }{{\thicklines%
- \dottedline{20}(171,103)(171,253)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(171,143){\line(0,1){110}}% %bond 3-2
- }{{\thicklines%
- \dottedline{20}(171,143)(171,253)}}%
- \fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dotskbondc}
-% The macro |\dotskbondc| is the dotted couterpart of |\skbondc|,
-% which refers to the control sequences representing
-% atoms on both of the terminal vertices (|\ccc| and |\ddd|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 4 and 3
-\def\dotskbondc{%
- \ifx\ddd\empty%
- \ifx\ccc\empty%%
- \@ifundefined{dottedline}{%
- \put(0,0){\line(5,3){171}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(0,0)(171,103)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(0,0){\line(5,3){136}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(0,0)(136,81)}}%
- \fi%
- \else%
- \ifx\ccc\empty%
- \@ifundefined{dottedline}{%
- \put(35,21){\line(5,3){138}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(35,21)(171,103)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(35,21){\line(5,3){100}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(35,21)(136,81)}}%
- \fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dotskbondd}
-% The macro |\dotskbondd| is the dotted couterpart of |\skbondd|,
-% which refers to the control sequences representing
-% atoms on both of the terminal vertices (|\ddd| and |\eee|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 4 and 5
-\def\dotskbondd{%
- \ifx\ddd\empty%
- \ifx\eee\empty%
- \@ifundefined{dottedline}{%
- \put(0,0){\line(-5,3){171}}% %bond 4-5
- }{{\thicklines%
- \dottedline{20}(0,0)(-171,103)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(0,0){\line(-5,3){136}}% %bond 4-5
- }{{\thicklines%
- \dottedline{20}(0,0)(-136,81)}}%
- \fi%
- \else%
- \ifx\eee\empty%
- \@ifundefined{dottedline}{%
- \put(-35,21){\line(-5,3){138}}% %bond 4-5
- }{{\thicklines%
- \dottedline{20}(-35,21)(-171,103)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(-35,21){\line(-5,3){100}}% %bond 4-5
- }{{\thicklines%
- \dottedline{20}(-35,21)(-136,81)}}%
- \fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dotskbonde}
-% The macro |\dotskbonde| is the dotted couterpart of |\skbonde|,
-% which refers to the control sequences representing
-% atoms on both of the terminal vertices (|\eee| and |\fff|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 5 and 6
-\def\dotskbonde{%
- \ifx\eee\empty%
- \ifx\fff\empty%
- \@ifundefined{dottedline}{%
- \put(-171,103){\line(0,1){200}}% %bond 5-6
- }{{\thicklines%
- \dottedline{20}(-171,103)(-171,303)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(-171,103){\line(0,1){150}}% %bond 5-6
- }{{\thicklines%
- \dottedline{20}(-171,103)(-171,253)}}%
- \fi%
- \else%
- \ifx\fff\empty%
- \@ifundefined{dottedline}{%
- \put(-171,143){\line(0,1){160}}% %bond 5-6
- }{{\thicklines%
- \dottedline{20}(-171,143)(-171,303)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(-171,143){\line(0,1){110}}% %bond 5-6
- }{{\thicklines%
- \dottedline{20}(-171,143)(-171,253)}}%
- \fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dotskbondf}
-% The macro |\dotskbondf| is the dotted couterpart of |\skbondf|,
-% which refers to the control sequences representing
-% atoms on both of the terminal vertices (|\aaa| and |\fff|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 1 and 6
-\def\dotskbondf{%
- \ifx\aaa\empty%
- \ifx\fff\empty%
- \@ifundefined{dottedline}{%
- \put(0,406){\line(-5,-3){171}}% %bond 1-6
- }{{\thicklines%
- \dottedline{20}(0,406)(-171,303)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(0,406){\line(-5,-3){136}}% %bond 1-6
- }{{\thicklines%
- \dottedline{20}(0,406)(-136,325)}}%
- \fi%
- \else%
- \ifx\fff\empty%
- \@ifundefined{dottedline}{%
- \put(-35,385){\line(-5,-3){136}}% %bond 1-6
- }{{\thicklines%
- \dottedline{20}(-35,385)(-171,303)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(-35,385){\line(-5,-3){100}}% %bond 1-6
- }{{\thicklines%
- \dottedline{20}(-35,385)(-136,325)}}%
- \fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dotskbondhoriz}
-% The macro |\dotskbondhoriz| is the dotted couterpart of |\skbondhoriz|,
-% which refers to the control sequences representing
-% atoms on both of the terminal vertices (|\fff| and |\bbb|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%horizontal bond for five-membered rings
-\def\dotskbondhoriz{%
- \ifx\fff\empty%
- \ifx\bbb\empty%
- \@ifundefined{dottedline}{%
- \put(-171,303){\line(1,0){342}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(-171,303)(171,303)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(-171,303){\line(1,0){300}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(-171,303)(129,303)}}%
- \fi%
- \else%
- \ifx\bbb\empty%
- \@ifundefined{dottedline}{%
- \put(171,303){\line(-1,0){300}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(171,303)(-129,303)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(-129,303){\line(1,0){258}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(-129,303)(129,303)}}%
- \fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dotskbondhorizi}
-% The macro |\dotskbondhorizi| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\eee| and |\ccc|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%horizontal bond for five-membered rings (inverse type)
-\def\dotskbondhorizi{%
- \ifx\eee\empty%
- \ifx\ccc\empty%
- \@ifundefined{dottedline}{%
- \put(-171,103){\line(1,0){342}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(-171,103)(171,103)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(-171,103){\line(1,0){300}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(-171,103)(129,103)}}%
- \fi%
- \else%
- \ifx\ccc\empty%
- \@ifundefined{dottedline}{%
- \put(171,103){\line(-1,0){300}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(171,103)(-129,103)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(-129,103){\line(1,0){258}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(-129,103)(129,103)}}%
- \fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\set@skel@bond| is used in such commands as |\sixheterov|
-% and |\sixfusev| for setting skeletal bonds (outer bonds),
-% when |\@aaa| etc. (produced by |\csname|...|\endcsname|) are equal
-% to `a' etc. (given as \#2). Thinline, thickline and dotted-line
-% skeletal bonds are available.
-%
-% \begin{macro}{\if@skbondlist}
-% \begin{macrocode}
-\newif\if@skbondlist
-\@skbondlistfalse
-% \end{macrocode}
-% \end{macro}% from fusering.sty to hetarom.sty
-%
-% \begin{macro}{\set@skel@bond}
-% \begin{macrocode}
-\def\set@skel@bond#1#2#3{%
- \expandafter\if\csname @#2#2#2\endcsname #2\relax%OK
- % \if\@aaa #2\relax%OK
- \@skbondlistfalse
- \@tfor\member:=#1\do{%
- \expandafter\twoCH@@R\member//%
- \if\@@tmpa #2\relax%
- \if\@@tmpb A\relax%
- \expandafter\csname dotskbond#3\endcsname% \dotskbonda etc.
- \@skbondlisttrue
- \else\if\@@tmpb B\relax%
- {\thicklines
- \expandafter\csname skbond#3\endcsname% \skbonda etc.
- }%
- \@skbondlisttrue
- \fi\fi
- \fi%
- }%
- \if@skbondlist\else
- {\thinlines
- \expandafter\csname skbond#3\endcsname% \skbonda etc.
- }%
- \fi%
- \else
- \expandafter\ifx\csname @#2#2#2\endcsname \empty\relax%
- % \ifx\@aaa\empty\relax
- \@tfor\member:=#1\do{%
- \expandafter\twoCH@@R\member//%
- \if\@@tmpa #2\relax%
- \XyMTeXWarning{Unavailable bond `#2' in SKBONDLIST}\fi
- }%
- \fi\fi
-}% end of \set@skel@bond
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\set@skel@longbond| is used in |\fivefusev| etc.
-% for setting skeletal bonds (outer bonds), when |\@aaa| etc.
-% (produced by |\csname|...|\endcsname|) are equal to `a'
-% etc. (given as \#2). Thinline, thickline and dotted-line
-% skeletal bonds are available.
-%
-% \begin{macro}{\set@skel@longbond}
-% \begin{macrocode}
-\def\set@skel@longbond#1#2#3{%
- \expandafter\if\csname @#2#2#2\endcsname #2\relax%OK
- % \if\@aaa #2\relax%OK
- \@skbondlistfalse
- \@tfor\member:=#1\do{%
- \expandafter\twoCH@@R\member//%
- \if\@@tmpa #2\relax%
- \if\@@tmpb A\relax%
- \expandafter\csname dot#3\endcsname% \dotskbonda etc.
- \@skbondlisttrue
- \else\if\@@tmpb B\relax%
- {\thicklines
- \expandafter\csname #3\endcsname% \skbonda etc.
- }%
- \@skbondlisttrue
- \fi\fi
- \fi%
- }%
- \if@skbondlist\else
- {\thinlines
- \expandafter\csname #3\endcsname% \skbonda etc.
- }%
- \fi%
- \else
- \expandafter\ifx\csname @#2#2#2\endcsname \empty\relax%
- % \ifx\@aaa\empty\relax
- \@tfor\member:=#1\do{%
- \expandafter\twoCH@@R\member//%
- \if\@@tmpa #2\relax%
- \XyMTeXWarning{Unavailable bond `#2' in SKBONDLIST}\fi
- }%
- \fi\fi
-}% end of \set@skel@longbond
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\@bond@@omit| is used in |\sixheterov| etc.
-% for detecting omitted bonds, where |\@aaa| etc. are empty if
-% they are omitted.
-%
-% \begin{macro}{\@bond@@omit}
-% \begin{macrocode}
-\def\@bond@@omit#1{%
-\@tfor\memBer:=#1\do{%
-\if\memBer a\relax\gdef\@aaa{}\fi%
-\if\memBer A\relax\gdef\@aaa{}\fi%
-\if\memBer b\relax\gdef\@bbb{}\fi%
-\if\memBer B\relax\gdef\@bbb{}\fi%
-\if\memBer c\relax\gdef\@ccc{}\fi%
-\if\memBer C\relax\gdef\@ccc{}\fi%
-\if\memBer d\relax\gdef\@ddd{}\fi%
-\if\memBer D\relax\gdef\@ddd{}\fi%
-\if\memBer e\relax\gdef\@eee{}\fi%
-\if\memBer E\relax\gdef\@eee{}\fi%
-\if\memBer f\relax\gdef\@fff{}\fi%
-\if\memBer F\relax\gdef\@fff{}\fi%
-\if\memBer g\relax\gdef\@ggg{}\fi%
-\if\memBer G\relax\gdef\@ggg{}\fi%
-\if\memBer h\relax\gdef\@hhh{}\fi%
-\if\memBer H\relax\gdef\@hhh{}\fi%
-\if\memBer i\relax\gdef\@iii{}\fi%
-\if\memBer I\relax\gdef\@iii{}\fi%
-\if\memBer j\relax\gdef\@jjj{}\fi%
-\if\memBer J\relax\gdef\@jjj{}\fi%
-\if\memBer k\relax\gdef\@kkk{}\fi%
-\if\memBer K\relax\gdef\@kkk{}\fi%
-}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Six-membered heterocyles}
-% \subsection{Vertical type}
-%
-% The standard skeleton of a six-membered heterocycle is selected
-% to have the following locant numbers.
-%
-% \begin{verbatim}
-% *************************
-% * sixhetero derivatives *
-% * (vertical type) *
-% *************************
-% The following numbering is adopted in this macro.
-%
-% 1
-% *
-% 6 * * 2
-% | |
-% | |
-% 5 * * 3
-% *
-% 4 <===== the original point
-% \end{verbatim}
-%
-% The macro |\sixheterov| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \sixheterov(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `f' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to f, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `A' represents an aromatic circle. The option
-% `$n+$' ($n=1$ to $6$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none or r : sixhetero (right-handed)
-% l : sixhetero (left-handed)
-% [] : fully saturated form
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% f : 6,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 6)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% ATOMLIST: list of heteroatoms (max 6 atoms)
-%
-% for n = 1 to 6
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a, b, c, d, e, or f)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \sixheterov{1==N}{1==Cl;2==F}
-% \sixheterov[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \sixheterov[eb]{1==N}{1D==O;4SA==MeO;4SB==OMe;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\sixheterov| uses a picture environment and
-% consists of the following unit processes:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by |\setsixringv|.
-% \end{enumerate}
-%
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/11/15}{Adding \cs{test@vertix@sixv}}
-%
-% \begin{macro}{\sixheterov}
-% \begin{macro}{\@six@heterov}
-% \begin{macro}{\@six@@heterov}
-% \begin{macro}{\@sixheterov}
-% \begin{macrocode}
-\def\sixheterov{\@ifnextchar({\@six@heterov(@}{\@six@heterov(@)}}
-\def\@six@heterov(#1){\@ifnextchar[{\@six@@heterov(#1)[@}%
-{\@six@@heterov(#1)[@]}}
-\def\@six@@heterov(#1)[#2]#3#4{\@ifnextchar[%
-{\@sixheterov(#1)[#2]{#3}{#4}[@}%
-{\@sixheterov(#1)[#2]{#3}{#4}[@]}}
-\def\@sixheterov(#1)[#2]#3#4[#5]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize
-\test@vertix@sixv{#3}{a}{b}{c}{d}{e}{f}%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adustment of subs positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\@reset@ylsw%
-\ylposition{#4}{0}{0}{7}{0}%
-\if@ylsw%
-\yl@shiftii=\@ylii
-\yl@shifti=\@yli
-\advance\yl@shiftii\yl@xdiff
-\advance\yl@shifti\yl@ydiff
-\begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(800,880)(-\shiftii,-\shifti)
- \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `sixheterov' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-{%
-\resetbdsw%
-\@bond@@omit{#5}%
-\set@skel@bond{#1}{a}{a}% bond between 1 and 2 \@aaa -> \skbonda etc
-\set@skel@bond{#1}{b}{b}% bond between 2 and 3 \@bbb -> \skbondb etc
-\set@skel@bond{#1}{c}{c}% bond between 3 and 4 \@ccc -> \skbondc etc
-\set@skel@bond{#1}{d}{d}% bond between 4 and 5 \@ddd -> \skbondd etc
-\set@skel@bond{#1}{e}{e}% bond between 5 and 6 \@eee -> \skbonde etc
-\set@skel@bond{#1}{f}{f}% bond between 6 and 1 \@fff -> \skbondf etc
-}%
-%%%%%\set@outskel@sixv % replaced by above 1998/12/30
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax \bondd \bondf \bondb%
-\else\if\member l\relax \bonda \bondc \bonde%
-\else\if\member a\relax \bonda%
-\else\if\member b\relax \bondb%
-\else\if\member c\relax \bondc%
-\else\if\member d\relax \bondd%
-\else\if\member e\relax \bonde%
-\else\if\member f\relax \bondf%
-\else\if\member A%left aromatic circle
- \put(0,203){\circle{240}}% %circle
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-\else \expandafter\twoCH@@R\member//%
- \set@fusionadd@sixv
-\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\set@hetatom@sixv{#3}{0}{0}{7}{0}% %atom 1--6%
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\setsixringv{#4}{0}{0}{7}{0}% %subst 1--6
-\end{picture}\iniatom\iniflag}% %end of \sixheterov macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Inverse vertical type}
-%
-% The standard skeleton of a six-membered heterocycle of inverse type
-% is selected to have the following locant numbers.
-%
-% \begin{verbatim}
-% **********************************
-% * sixhetero derivatives *
-% * (vertical type, inverse type) *
-% **********************************
-% The following numbering is adopted in this macro.
-%
-% 4
-% *
-% 5 * * 3
-% | |
-% | |
-% 6 * * 2
-% *
-% 1 <===== the original point
-% \end{verbatim}
-%
-% The macro |\sixheterovi| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \sixheterovi(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `f' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to f, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `A' represents an aromatic circle. The option
-% `$n+$' ($n=1$ to $6$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-%
-% BONDLIST =
-%
-% none or r : sixhetero (right-handed)
-% l : sixhetero (left-handed)
-% [] : fully saturated form
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% f : 6,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 6)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% ATOMLIST: list of heteroatoms (max 6 atoms)
-%
-% for n = 1 to 6
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a, b, c, d, e, or f)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \sixheterovi{1==N}{1==Cl;2==F}
-% \sixheterovi[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \sixheterovi[eb]{1==N}{1D==O;4SA==MeO;4SB==OMe;5==Cl;6==Cl}
-%
-% \end{verbatim}
-%
-% The definition of |\sixheterovi| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheterov|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by |\setsixringv|.
-% \end{enumerate}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\sixheterovi}
-% \begin{macro}{\@six@heterovi}
-% \begin{macro}{\@six@@heterovi}
-% \begin{macro}{\@sixheterovi}
-% \begin{macrocode}
-\def\sixheterovi{\@ifnextchar({\@six@heterovi(@}{\@six@heterovi(@)}}
-\def\@six@heterovi(#1){\@ifnextchar[{\@six@@heterovi(#1)[@}%
-{\@six@@heterovi(#1)[@]}}
-\def\@six@@heterovi(#1)[#2]#3#4{\@ifnextchar[%
-{\@sixheterovi(#1)[#2]{#3}{#4}[@}%
-{\@sixheterovi(#1)[#2]{#3}{#4}[@]}}
-\def\@sixheterovi(#1)[#2]#3#4[#5]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize
-\test@vertix@sixv{#3}{d}{c}{b}{a}{f}{e}%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adjustment of subs positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\@reset@ylsw%
-\ylposition{#4}{5}{0}{5}{-1}% %subst 1--4
-\ylposition{#4}{11}{4}{7}{-1}% %subst 5 and 6
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(800,880)(-\shiftii,-\shifti)
- \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `sixheterovi' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-{\resetbdsw%
-\@bond@@omit{#5}%
-\set@skel@bond{#1}{a}{c}% bond between 1 and 2 \@aaa -> \skbondc etc
-\set@skel@bond{#1}{b}{b}% bond between 2 and 3 \@bbb -> \skbondb etc
-\set@skel@bond{#1}{c}{a}% bond between 3 and 4 \@ccc -> \skbonda etc
-\set@skel@bond{#1}{d}{f}% bond between 4 and 5 \@ddd -> \skbondf etc
-\set@skel@bond{#1}{e}{e}% bond between 5 and 6 \@eee -> \skbonde etc
-\set@skel@bond{#1}{f}{d}% bond between 6 and 1 \@fff -> \skbondd etc
-}%
-%%%\set@outskel@sixv% replaced by the above 1998/12/30
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax \bondd \bondf \bondb%
-\else\if\member l\relax \bonda \bondc \bonde%
-\else\if\member a\relax \bondc%
-\else\if\member b\relax \bondb%
-\else\if\member c\relax \bonda%
-\else\if\member d\relax \bondf%
-\else\if\member e\relax \bonde%
-\else\if\member f\relax \bondd%
-\else\if\member A%left aromatic circle
- \put(0,203){\circle{240}}% %circle
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-\else \expandafter\twoCH@@R\member//%
- \set@fusionadd@sixvi
-\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}%
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\set@hetatom@sixv{#3}{5}{0}{5}{-1}% %atom 1--4%
-\set@hetatom@sixv{#3}{11}{4}{7}{-1}% %atom 5 and 6%
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\setsixringv{#4}{5}{0}{5}{-1}% %subst 1--4
-\setsixringv{#4}{11}{4}{7}{-1}% %subst 5 and 6
-\end{picture}\iniatom\iniflag}% %end of \sixheterovi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Pyridine derivatives of vertical type}
-%
-% The macros |\sixheterov| and |\sixheterovi| can be used in the
-% form of a fixed |ATOMLIST|. Hence, the resulting commands for
-% drawing a six-membered heterocyle with one or more nitrogen atoms
-% have an argument |SUBSLIST| as well as an optional argument |BONDLIST|.
-%
-% \begin{verbatim}
-% ************************
-% * pyridine derivatives *
-% * (vertical type) *
-% ************************
-%
-% \pyridinev[BONDLIST]{SUBSLIST}
-% \pyridinevi[BONDLIST]{SUBSLIST}
-% \pyrazinev[BONDLIST]{SUBSLIST}
-% \pyrimidinev[BONDLIST]{SUBSLIST}
-% \pyrimidinevi[BONDLIST]{SUBSLIST}
-% \triazinev[BONDLIST]{SUBSLIST}
-% \triazinevi[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one
-% character selected from a to f, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `A' represents an aromatic circle. The option
-% `$n+$' ($n=1$ to $6$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none or r : pyridine (right-handed)
-% l : pyridine (left-handed)
-% [] : fully saturated ring
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% f : 6,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-nitrogen atom
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \pyridinev{1==Cl;2==F}
-% \pyridinev[c]{1==Cl;4==F;2==CH$_{3}$}
-% \pyridinev[eb]{1D==O;4SA==MeO;4SB==OMe;5W==Cl;6==Cl}
-% \end{verbatim}
-%
-% \begin{macro}{\pridinev}
-% \begin{macro}{\pridinevi}
-% \begin{macrocode}
-\def\pyridinev{\@ifnextchar[{\@pyridinev[@}{\@pyridinev[r]}}
-\def\@pyridinev[#1]#2{%
-\iforigpt \typeout{command `pyridinev' %
- is based on `sixheterov'.}\fi%
-\sixheterov[#1]{1==N}{#2}}%end of \pyridinev macro
-\def\pyridinevi{\@ifnextchar[{\@pyridinevi[@}{\@pyridinevi[r]}}
-\def\@pyridinevi[#1]#2{%
-\iforigpt \typeout{command `pyridinevi' %
- is based on `sixheterovi'.}\fi%
-\sixheterovi[#1]{1==N}{#2}}%end of \pyridinevi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\pyrazinev}
-% \begin{macro}{\pyrazinevi}
-% \begin{macrocode}
-\def\pyrazinev{\@ifnextchar[{\@pyrazinev[@}{\@pyrazinev[r]}}
-\def\@pyrazinev[#1]#2{%
-\iforigpt \typeout{command `pyrazinev' %
- is based on `sixheterov'.}\fi%
-\sixheterov[#1]{1==N;4==N}{#2}}%end of \pyrazinev macro
-%the same formula with an alternative locant numbering
-\def\pyrazinevi{\@ifnextchar[{\@pyrazinevi[@}{\@pyrazinevi[r]}}
-\def\@pyrazinevi[#1]#2{%
-\iforigpt \typeout{command `pyrazinevi' %
- is based on `sixheterovi'.}\fi%
-\sixheterovi[#1]{1==N;4==N}{#2}}%end of \pyrazinevi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\pyrimidinev}
-% \begin{macro}{\pyrimidinevi}
-% \begin{macrocode}
-\def\pyrimidinev{\@ifnextchar[{\@pyrimidinev[@}{\@pyrimidinev[r]}}
-\def\@pyrimidinev[#1]#2{%
-\iforigpt \typeout{command `pyrimidinev' %
- is based on `sixheterov'.}\fi%
-\sixheterov[#1]{1==N;3==N}{#2}}%end of \pyrimidinev macro
-\def\pyrimidinevi{\@ifnextchar[{\@pyrimidinevi[@}{\@pyrimidinevi[r]}}
-\def\@pyrimidinevi[#1]#2{%
-\iforigpt \typeout{command `pyrimidinevi' %
- is based on `sixheterovi'.}\fi%
-\sixheterovi[#1]{1==N;3==N}{#2}}%end of \pyrimidinevi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\pyridazinev}
-% \begin{macro}{\pyridazinevi}
-% \begin{macrocode}
-\def\pyridazinev{\@ifnextchar[{\@pyridazinev[@}{\@pyridazinev[r]}}
-\def\@pyridazinev[#1]#2{%
-\iforigpt \typeout{command `pyridazinev' %
- is based on `sixheterov'.}\fi%
-\sixheterov[#1]{1==N;2==N}{#2}}%end of \pyridazinev macro
-\def\pyridazinevi{\@ifnextchar[{\@pyridazinevi[@}{\@pyridazinevi[r]}}
-\def\@pyridazinevi[#1]#2{%
-\iforigpt \typeout{command `pyridazinev' %
- is based on `sixheterovi'.}\fi%
-\sixheterovi[#1]{1==N;2==N}{#2}}%end of \pyridazinevi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\triazinev}
-% \begin{macro}{\triazinevi}
-% \begin{macrocode}
-\def\triazinev{\@ifnextchar[{\@triazinev[@}{\@triazinev[r]}}
-\def\@triazinev[#1]#2{%
-\iforigpt \typeout{command `triazinev' %
- is based on `sixheterov'.}\fi%
-\sixheterov[#1]{1==N;3==N;5==N}{#2}}%end of \triazinev macro
-\def\triazinevi{\@ifnextchar[{\@triazinevi[@}{\@triazinevi[r]}}
-\def\@triazinevi[#1]#2{%
-\iforigpt \typeout{command `triazinevi' %
- is based on `sixheterovi'.}\fi%
-\sixheterovi[#1]{1==N;3==N;5==N}{#2}}%end of \triazinevi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \section{Five-membered heterocycles}
-% \subsection{Vertical type}
-%
-% The standard skeleton of a five-membered heterocycle
-% is selected to have the following locant numbers.
-%
-% \begin{verbatim}
-% **************************
-% * fivehetero derivatives *
-% * (vertical type) *
-% **************************
-% The following numbering is adopted in this macro.
-%
-% 4 _____ 3
-% | |
-% | |
-% 5 * * 2
-% *
-% 1 <===== the original point
-% \end{verbatim}
-%
-% The macro |\fiveheterov| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \fiveheterov(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `e' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to e, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `A' represents an aromatic circle. The option
-% `$n+$' ($n=1$ to $5$) represents a plus charge on a hetero atom
-% at the $n$-position.
-% The option `$0+$' typesets a plus charge at the center of the ring.
-%
-% \begin{verbatim}
-% BONDLIST: list of inner double bonds
-%
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 5)
-% {0+} : plus (or minus) at the center
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% ATOMLIST: list of heteroatoms (max 5 atoms)
-%
-% for n = 1 to 5
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 5
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a, b, c, d, or e)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \fiveheterov{1==N}{1==H;2==F}
-% \fiveheterov[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \fiveheterov[eb]{1==N}{1D==O;4SA==MeO;4SB==OMe;5W==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\fiveheterov| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheterov|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringv| partially.
-% \end{enumerate}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/10/31}{Add: fused and spiro rings}
-%
-% \begin{macro}{\fiveheterov}
-% \begin{macro}{\@five@heterov}
-% \begin{macro}{\@five@@heterov}
-% \begin{macro}{\@fiveheterov}
-% \begin{macrocode}
-\def\fiveheterov{\@ifnextchar({\@five@heterov(@}{\@five@heterov(@)}}
-\def\@five@heterov(#1){\@ifnextchar[{\@five@@heterov(#1)[@}%
-{\@five@@heterov(#1)[@]}}
-\def\@five@@heterov(#1)[#2]#3#4{\@ifnextchar[%
-{\@fiveheterov(#1)[#2]{#3}{#4}[@}%
-{\@fiveheterov(#1)[#2]{#3}{#4}[@]}}
-\def\@fiveheterov(#1)[#2]#3#4[#5]{%
-\iniatom\iniflag%initialize
-% %%%%%%%%%%%%%
-% % atom list %
-% %%%%%%%%%%%%%
-\test@vertix@sixv{#3}{d}{c}{b}{f}{e}{a}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adustment of subs positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\@reset@ylsw%
-\ylposition{#4}{5}{1}{5}{-1}% % for 1 to 3
-\ylposition{#4}{10}{4}{7}{-1}% % for 4 to 5
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(800,880)(-\shiftii,-\shifti)%
- \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `fiveheterov' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-{\resetbdsw%
-\@bond@@omit{#5}%
-\set@skel@bond{#1}{a}{c}% bond between 1 and 2 \@aaa -> \skbondc etc
-\set@skel@bond{#1}{b}{b}% bond between 2 and 3 \@bbb -> \skbondb etc
-\set@skel@longbond{#1}{c}{skbondhoriz}%
- % bond between 3 and 4 \@ccc -> \skbondhoriz etc
-\set@skel@bond{#1}{d}{e}% bond between 4 and 5 \@ddd -> \skbonde etc
-\set@skel@bond{#1}{e}{d}% bond between 5 and 1 \@eee -> \skbondd etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r%
-\else\if\member a\relax \bondc%
-\else\if\member b\relax \bondb%
-\else\if\member c\relax \bondhoriz%
-\else\if\member d\relax \bonde%
-\else\if\member e\relax \bondd%
-\else\if\member A\relax%
- \put(0,173){\circle{180}}%aromatic circle
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-\else
- \expandafter\twoCH@@R\member//%
- \set@fusionadd@fivev
-\fi\fi\fi\fi\fi\fi\fi}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%
-% % setting heteroatoms %
-% %%%%%%%%%%%%%%%%%%%%%%%
-\set@hetatom@sixv{#3}{5}{1}{5}{-1}% % for 1 to 3
-\set@hetatom@sixv{#3}{10}{4}{7}{-1}% % for 4 to 5
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\setsixringv{#4}{5}{1}{5}{-1}% % for 1 to 3
-\setsixringv{#4}{10}{4}{7}{-1}% % for 4 to 5
-\end{picture}\iniatom\iniflag}% end of \fiveheterov macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Inverse vertical type}
-%
-% The standard skeleton of a five-membered heterocycle of inverse type
-% is selected to have the following locant numbers.
-%
-% \begin{verbatim}
-% *****************************
-% * fivehetero derivatives *
-% * (vertical type, inverse) *
-% *****************************
-% The following numbering is adopted in this macro.
-%
-% 1
-% *
-% 6 * * 2
-% | |
-% |_____|
-% 4 3
-% *
-% (0,0) <===== the original point
-% \end{verbatim}
-%
-% The macro |\fiveheterovi| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \fiveheterovi(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `f' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to e, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `A' represents an aromatic circle. The option
-% `$n+$' ($n=1$ to $5$) represents a plus charge on a hetero atom
-% at the $n$-position.
-% The option `$0+$' typesets a plus charge at the center of the ring.
-%
-% \begin{verbatim}
-% BONDLIST: list of inner double bonds
-%
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 5)
-% {0+} : plus (or minus) at the center
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 5 atoms)
-%
-% for n = 1 to 5
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 5
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a, b, c, d, or e)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \fiveheterovi{1==N}{1==H;2==F}
-% \fiveheterovi[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \fiveheterovi[eb]{1==N}{1D==O;4SA==MeO;4SB==OMe;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\fiveheterovi| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheterov|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringv| partially.
-% \end{enumerate}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-%
-% \begin{macro}{\fiveheterovi}
-% \begin{macro}{\@five@heterovi}
-% \begin{macro}{\@five@@heterovi}
-% \begin{macro}{\@fiveheterovi}
-% \begin{macrocode}
-\def\fiveheterovi{\@ifnextchar({\@five@heterovi(@}{\@five@heterovi(@)}}
-\def\@five@heterovi(#1){\@ifnextchar[{\@five@@heterovi(#1)[@}%
-{\@five@@heterovi(#1)[@]}}
-\def\@five@@heterovi(#1)[#2]#3#4{\@ifnextchar[%
-{\@fiveheterovi(#1)[#2]{#3}{#4}[@}%
-{\@fiveheterovi(#1)[#2]{#3}{#4}[@]}}
-\def\@fiveheterovi(#1)[#2]#3#4[#5]{%
-\iniatom\iniflag%initialize
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%
-% % atom list %
-% %%%%%%%%%%%%%
-\test@vertix@sixv{#3}{a}{b}{c}{e}{f}{d}% d -- dummy
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adustment of subs positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\@reset@ylsw%
-\ylposition{#4}{0}{0}{4}{0}% % for 1 to 3
-\ylposition{#4}{1}{4}{7}{0}% % for 4 to 5
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(800,880)(-\shiftii,-\shifti)%
- \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `fiveheterovi' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-{\resetbdsw%
-\@bond@@omit{#5}%
-\set@skel@bond{#1}{a}{a}% bond between 1 and 2 \@aaa -> \skbonda etc
-\set@skel@bond{#1}{b}{b}% bond between 2 and 3 \@bbb -> \skbondb etc
-\set@skel@longbond{#1}{c}{skbondhorizi}%
- % bond between 3 and 4 \@ccc -> \skbondhorizi etc
-\set@skel@bond{#1}{d}{e}% bond between 4 and 5 \@ddd -> \skbonde etc
-\set@skel@bond{#1}{e}{f}% bond between 5 and 6 \@eee -> \skbondf etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r%
-\else\if\member a\relax \bonda%
-\else\if\member b\relax \bondb%
-\else\if\member c\relax \bondhorizi%
-\else\if\member d\relax \bonde%
-\else\if\member e\relax \bondf%
-\else\if\member A\relax%
- \put(0,233){\circle{180}}%aromatic circle
-\else
- \expandafter\twoCH@@R\member//%
- \set@fusionadd@fivevi
-\fi\fi\fi\fi\fi\fi\fi}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%
-% % setting heteroatoms %
-% %%%%%%%%%%%%%%%%%%%%%%%
-\set@hetatom@sixv{#3}{0}{0}{4}{0}% % for 1 to 3
-\set@hetatom@sixv{#3}{1}{4}{7}{0}% % for 4 to 5
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\setsixringv{#4}{0}{0}{4}{0}% % for 1 to 3
-\setsixringv{#4}{1}{4}{7}{0}% % for 4 to 5
-\end{picture}\iniatom\iniflag}%end of \fiveheterovi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Pyrrole derivatives of vertical type}
-%
-% The macro |\fiveheterov| can be used in the
-% form of a fixed |ATOMLIST|. Hence, the resulting commands for
-% drawing a five-membered heterocyle with one or more nitrogen atoms
-% have an argument |SUBSLIST| as well as an optional argument |BONDLIST|.
-%
-% \begin{verbatim}
-% ***********************************
-% * pyrrole derivatives and others *
-% * (vertical type) *
-% ***********************************
-%
-% \pyrrolev[BONDLIST]{SUBSLIST}
-% \pyrazolev[BONDLIST]{SUBSLIST}
-% \imidazolev[BONDLIST]{SUBSLIST}
-% \isoxazolev[BONDLIST]{SUBSLIST}
-% \oxazolev[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one
-% character selected from a to e, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option
-% `$n+$' ($n=1$ to $5$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of inner double bonds
-%
-% none : mother nucleus
-% [] : fully saturated form
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,1-double bond
-% {n+} : plus at the n-nitrogen atom (n = 1 to 5)
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 5
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \pyrrolev{1==H;2==F}
-% \pyrrolev[]{1==H;2==F}
-% \imidazolev[c]{1==Cl;4==F;2==CH$_{3}$}
-% \isoxazolev[eb]{1==N}{1D==O;4SA==MeO;4SB==OMe;5W==Cl;6==Cl}
-% \end{verbatim}
-%
-% \begin{macro}{\pyrrolev}
-% \begin{macro}{\pyrazolev}
-% \begin{macro}{\imidazolev}
-% \begin{macro}{\isoxazolev}
-% \begin{macro}{\oxazolev}
-% \begin{macrocode}
-\def\pyrrolev{\@ifnextchar[{\@pyrrolev[@}{\@pyrrolev[bd]}}
-\def\@pyrrolev[#1]#2{%
-\iforigpt \typeout{command `pyrrolev' %
- is based on `fiveheterov'.}\fi%
-\fiveheterov[#1]{1==N}{#2}}
-\def\pyrazolev{\@ifnextchar[{\@pyrazolev[@}{\@pyrazolev[bd]}}
-\def\@pyrazolev[#1]#2{%
-\iforigpt \typeout{command `pyrazolev' %
- is based on `fiveheterov'.}\fi%
-\fiveheterov[#1]{1==N;2==N}{#2}}
-\def\imidazolev{\@ifnextchar[{\@imidazolev[@}{\@imidazolev[bd]}}
-\def\@imidazolev[#1]#2{%
-\iforigpt \typeout{command `imidazolev' %
- is based on `fiveheterov'.}\fi%
-\fiveheterov[#1]{1==N;3==N}{#2}}
-\def\isoxazolev{\@ifnextchar[{\@isoxazolev[@}{\@isoxazolev[bd]}}
-\def\@isoxazolev[#1]#2{%
-\iforigpt \typeout{command `isoxazolev' %
- is based on `fiveheterov'.}\fi%
-\fiveheterov[#1]{1==O;2==N}{#2}}
-\def\oxazolev{\@ifnextchar[{\@oxazolev[@}{\@oxazolev[bd]}}
-\def\@oxazolev[#1]#2{%
-\iforigpt \typeout{command `oxazolev' %
- is based on `fiveheterov'.}\fi%
-\fiveheterov[#1]{1==O;3==N}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\furanv}
-% \begin{macro}{\thiophenev}
-% \begin{macrocode}
-\def\furanv{\@ifnextchar[{\@furanv[@}{\@furanv[bd]}}
-\def\@furanv[#1]#2{%
-\iforigpt \typeout{command `furanv' %
- is based on `fiveheterov'.}\fi%
-\fiveheterov[#1]{1==O}{#2}}
-\def\thiophenev{\@ifnextchar[{\@thiophenev[@}{\@thiophenev[bd]}}
-\def\@thiophenev[#1]#2{%
-\iforigpt \typeout{command `thiophenev' %
- is based on `fiveheterov'.}\fi%
-\fiveheterov[#1]{1==S}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Pyrrole derivatives of inverse vertical type}
-%
-% The macro |\fiveheterovi| can be used in the
-% form of a fixed |ATOMLIST|. Hence, the resulting commands for
-% drawing a five-membered heterocyle with one or more nitrogen atoms
-% have an argument |SUBSLIST| as well as an optional argument |BONDLIST|.
-%
-% \begin{verbatim}
-% ***********************************
-% * pyrrole derivatives and others *
-% * (vertical type, inverse) *
-% ***********************************
-%
-% \pyrrolevi[BONDLIST]{SUBSLIST}
-% \pyrazolevi[BONDLIST]{SUBSLIST}
-% \imidazolevi[BONDLIST]{SUBSLIST}
-% \isoxazolevi[BONDLIST]{SUBSLIST}
-% \oxazolevi[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one
-% character selected from a to e, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option
-% `$n+$' ($n=1$ to $5$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of inner double bonds
-%
-% none : mother nucleus
-% [] : fully saturated form
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,1-double bond
-% {n+} : plus at the n-nitrogen atom (n = 1 to 5)
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents (max 6 substitution positions)
-%
-% for n = 1 to 5
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \pyrrolevi{1==H;2==F}
-% \pyrrolevi[]{1==H;2==F}
-% \imidazolevi[c]{1==Cl;4==F;2==CH$_{3}$}
-% \isoxazolevi[eb]{1==N}{1D==O;4SA==MeO;4SB==OMe;5W==Cl;6==Cl}
-% \end{verbatim}
-%
-% \begin{macro}{\pyrrolevi}
-% \begin{macro}{\pyrazolevi}
-% \begin{macro}{\imidazolevi}
-% \begin{macro}{\isoxazolevi}
-% \begin{macro}{\oxazolevi}
-% \begin{macrocode}
-\def\pyrrolevi{\@ifnextchar[{\@pyrrolevi[@}{\@pyrrolevi[bd]}}
-\def\@pyrrolevi[#1]#2{%
-\iforigpt \typeout{command `pyrrolevi' %
- is based on `fiveheterovi'.}\fi%
-\fiveheterovi[#1]{1==N}{#2}}
-\def\pyrazolevi{\@ifnextchar[{\@pyrazolevi[@}{\@pyrazolevi[bd]}}
-\def\@pyrazolevi[#1]#2{%
-\iforigpt \typeout{command `pyrazolevi' %
- is based on `fiveheterovi'.}\fi%
-\fiveheterovi[#1]{1==N;2==N}{#2}}
-\def\imidazolevi{\@ifnextchar[{\@imidazolevi[@}{\@imidazolevi[bd]}}
-\def\@imidazolevi[#1]#2{%
-\iforigpt \typeout{command `imidazolevi' %
- is based on `fiveheterovi'.}\fi%
-\fiveheterovi[#1]{1==N;3==N}{#2}}
-\def\isoxazolevi{\@ifnextchar[{\@isoxazolevi[@}{\@isoxazolevi[bd]}}
-\def\@isoxazolevi[#1]#2{%
-\iforigpt \typeout{command `isoxazolevi' %
- is based on `fiveheterovi'.}\fi%
-\fiveheterovi[#1]{1==O;2==N}{#2}}
-\def\oxazolevi{\@ifnextchar[{\@oxazolevi[@}{\@oxazolevi[bd]}}
-\def\@oxazolevi[#1]#2{%
-\iforigpt \typeout{command `oxazolevi' %
- is based on `fiveheterovi'.}\fi%
-\fiveheterovi[#1]{1==O;3==N}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\furanvi}
-% \begin{macro}{\thiophenevi}
-% \begin{macrocode}
-\def\furanvi{\@ifnextchar[{\@furanvi[@}{\@furanvi[bd]}}
-\def\@furanvi[#1]#2{%
-\iforigpt \typeout{command `furanvi' %
- is based on `fiveheterovi'.}\fi%
-\fiveheterovi[#1]{1==O}{#2}}
-\def\thiophenevi{\@ifnextchar[{\@thiophenevi[@}{\@thiophenevi[bd]}}
-\def\@thiophenevi[#1]#2{%
-\iforigpt \typeout{command `thiophenevi' %
- is based on `fiveheterovi'.}\fi%
-\fiveheterovi[#1]{1==S}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \section{Six-to-six fused heterocyles}
-% \subsection{Vertical type}
-%
-% The standard skeleton of a six-to-six fused heterocycle is selected
-% to have the following locant numbers.
-%
-% \begin{verbatim}
-% **************************
-% * decahetero derivatives *
-% * (vertical type) *
-% **************************
-% The following numbering is adopted in this macro.
-%
-% 8 (10)1
-% * 8a *
-% 7 * * * * 2
-% | | |
-% | | |
-% 6 * * * * 3
-% * 4a *
-% 5 (9) 4
-% ^
-% |
-% the original point
-% \end{verbatim}
-%
-% The macro |\decaheterov| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \decaheterov(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `k' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to k, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `A' and `B' represent aromatic circles. The option
-% `$n+$' ($n=1$ to $10$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of bonds
-%
-% none or r : decahetero (right-handed)
-% l : decahetero (left-handed)
-% [] : fully saturated form
-% a : 1,2-double bond b : 2,3-double bond
-% c : 4,3-double bond d : 4,4a-double bond
-% e : 4a,5-double bond f : 5,6-double bond
-% g : 6,7-double bond h : 7,8-double bond
-% i : 8,8a-double bond j : 1,8a-double bond
-% k : 4a,8a-double bond
-% A : aromatic circle B : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 10)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 10 atoms)
-%
-% for n = 1 to 8
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% na : Hetero atom at 4a or 8b (n=4 or 8)
-% e.g. 4a==N (or 9==N) for N at 4a-position
-% 8a==N (or {{10}}==N) for N at 8a-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for 9 (4a position) and 10 (8a position)
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a to k: see BONDLIST)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \decaheterov{1==N}{1==Cl;2==F}
-% \decaheterov[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \decaheterov[eb]{1==N}{1D==O;4SA==MeO;4SB==OMe;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\decaheterov| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheterov|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringv| several times.
-% \end{enumerate}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/25}{Spiro rings and fused rings
-% \cs{test@vertix@sixv}, \cs{test@vertix@decav}, etc.}
-%
-% \begin{macro}{\decaheterov}
-% \begin{macro}{\@deca@heterov}
-% \begin{macro}{\@deca@@heterov}
-% \begin{macro}{\@decaheterov}
-% \begin{macrocode}
-\def\decaheterov{\@ifnextchar({\@deca@heterov(@}{\@deca@heterov(@)}}
-\def\@deca@heterov(#1){\@ifnextchar[{\@deca@@heterov(#1)[@}%
-{\@deca@@heterov(#1)[@]}}
-\def\@deca@@heterov(#1)[#2]#3#4{\@ifnextchar[%
-{\@decaheterov(#1)[#2]{#3}{#4}[@}%
-{\@decaheterov(#1)[#2]{#3}{#4}[@]}}
-\def\@decaheterov(#1)[#2]#3#4[#5]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag\iniatom%
-\test@vertix@sixv{#3}{a}{b}{c}{d}{e}{f}%
-\test@vertix@decav{#3}{g}{h}{i}{j}{@}{@}%
-% %%%%%%%%%%%%%%%%%%%%%%%
-% % adjustment for (yl) %
-% %%%%%%%%%%%%%%%%%%%%%%%
-\@reset@ylsw%
-\ylhetposition{#4}{0}{0}{5}{0}% %substituents on 1 to 4
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-342}\def\@@yli{0}\fi
-\else
-\ylhetposition{#4}{-1}{3}{7}{0}% %substituents on 5 to 7
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-\ylhetposition{#4}{-7}{0}{2}{0}% %substituent on 8
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{%
-\clipdetection%
-\@clipfusefalse \if@iclip \@clipfusetrue \fi%
-\ylatombondposition{#4}{-8}{7}% %9 %for 4a position
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-171}\def\@@yli{-103}\fi
-\else
-{%
-\clipdetection%
-\@clipfusefalse \if@jclip \@clipfusetrue \fi%
-\ylatombondposition{#4}{-9}{1}% %10 for 8a position
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-171}\def\@@yli{-303}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(1200,880)(-\shiftii,-\shifti)%
- \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `decaheterov' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-\begingroup
-\resetbdsw%
-\@bond@@omit{#5}%
-{\let\fff=\jjj \let\eee=\iii%
-\put(342,0){\set@skel@bond{#1}{a}{a}}%
- % bond between 1 and 2 \@aaa -> \skbonda etc
-\put(342,0){\set@skel@bond{#1}{b}{b}}%
- % bond between 2 and 3 \@bbb -> \skbondb etc
-\put(342,0){\set@skel@bond{#1}{c}{c}}%
- % bond between 3 and 4 \@ccc -> \skbondc etc
-\put(342,0){\set@skel@bond{#1}{d}{d}}%
- % bond between 4 and 4a \@ddd -> \skbondd etc
-\put(342,0){\set@skel@bond{#1}{k}{e}}%
- % bond between 4a and 8a \@kkk -> \skbonde etc
-\put(342,0){\set@skel@bond{#1}{j}{f}}%
- % bond between 8a and 1 \@jjj -> \skbondf etc
-}%
-{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg%
- \let\ccc=\iii\let\bbb=\jjj%
-\set@skel@bond{#1}{i}{a}% bond between 8 and 8a \@iii -> \skbonda etc
-\set@skel@bond{#1}{e}{c}% bond between 5 and 4a \@eee -> \skbondc etc
-\set@skel@bond{#1}{f}{d}% bond between 5 and 6 \@fff -> \skbondd etc
-\set@skel@bond{#1}{g}{e}% bond between 6 and 7 \@ggg -> \skbonde etc
-\set@skel@bond{#1}{h}{f}% bond between 7 and 8 \@hhh -> \skbondf etc
-}%
-\endgroup
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-{\let\fff=\jjj \let\eee=\iii%
- \put(342,0){\bonda}% bond between 1 and 2
- \put(342,0){\bondc}% bond between 3 and 4
-}%
-{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg%
- \let\ccc=\iii\let\bbb=\jjj%
- \put(0,0){\bondb}% bond between 8a and 4a
- \put(0,0){\bondf}% bond between 8 and 7
- \put(0,0){\bondd}% bond between 5 and 6
-}%
-\else\if\member l\relax%
-\else\if\member a\relax%
- \put(342,0){\bonda}% bond between 1 and 2
-\else\if\member b\relax
- \put(342,0){\bondb}% bond between 2 and 3
-\else\if\member c\relax
- \put(342,0){\bondc}% bond between 3 and 4
-\else\if\member d\relax%
-{\let\eee=\iii%
- \put(342,0){\bondd}% bond between 4 and 4a
-}%
-\else\if\member e\relax%
-{\let\ccc=\iii \let\ddd=\eee%
- \put(0,0){\bondc}% bond between 5 and 4a
-}%
-\else\if\member f\relax%
-{\let\ddd=\eee \let\eee=\fff%
- \put(0,0){\bondd}% bond between 5 and 6
-}%
-\else\if\member g\relax%
-{\let\eee=\fff \let\fff=\ggg%
- \put(0,0){\bonde}% bond between 6 and 7
-}%
-\else\if\member h\relax%
-{\let\aaa=\hhh \let\fff=\ggg%
- \put(0,0){\bondf}% bond between 8 and 7
-}%
-\else\if\member i\relax%
-{\let\aaa=\hhh \let\bbb=\jjj%
- \put(0,0){\bonda}% bond between 8 and 8a
-}%
-\else\if\member j\relax%
-{\let\fff=\jjj%
- \put(342,0){\bondf}% bond between 1 and 8a
-}%
-\else\if\member k\relax%
-{\let\ccc=\iii\let\bbb=\jjj%
- \put(0,0){\bondb}% bond between 8a and 4a
-}%
-\else\if\member K\relax%
-{\let\eee=\iii\let\fff=\jjj%
- \put(342,0){\bonde}% bond between 8a and 4a in the other ring
-}%
-\else\if\member A%left aromatic circle
- \put(0,203){\circle{240}} %circle
-\else\if\member B%left aromatic circle
- \put(342,203){\circle{240}} %circle
-\else
- \expandafter\twoCH@@R\member//
- \def\aax{8a}\def\aay{4a}\def\aaz{10}%
- \if\@@tmpa 1\relax% % plus charge etc.
- \putratom{304}{282}{\@@tmpb}% % right type
- \else\if\@@tmpa 2\relax%
- \putratom{402}{253}{\@@tmpb}% % right type
- \else\if\@@tmpa 3\relax%
- \putratom{402}{120}{\@@tmpb}% % right type
- \else\if\@@tmpa 4\relax%
- \putratom{304}{68}{\@@tmpb}% % right type
- \else\if\@@tmpa 5\relax%
- \putratom{-38}{68}{\@@tmpb}% % right type
- \else\if\@@tmpa 6\relax%
- \putlatom{-60}{253}{\@@tmpb}% % left type
- \else\if\@@tmpa 7\relax%
- \putlatom{-60}{120}{\@@tmpb}% % left type
- \else\if\@@tmpa 8\relax%
- \putratom{-38}{282}{\@@tmpb}% % right type
- \else\if\@@tmpa 9\relax%
- \putratom{60}{120}{\@@tmpb}% % right type
-% \else\if\@@tmpa 10\relax%
- \else\ifx\@@tmpa\aaz\relax%1998/10/17
- \putratom{60}{253}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aax\relax%
- \putratom{60}{253}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aay\relax%
- \putratom{60}{120}{\@@tmpb}% % right type
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-% ***********************
-% * setting fused rings *
-% ***********************
- \expandafter\twoCH@R\member//%
- \set@fusion@decav
-\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-\fi\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-%
-% \changes{v2.00a}{2000/11/11}{The
-% \cs{iniflag} command is added to 5- and 8-substitution.}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms and spiro rings %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag
-\put(342,0){\set@hetatom@sixv{#3}{0}{0}{5}{0}%
- \if@aclip \global\@acliptrue\fi
- \if@bclip \global\@bcliptrue\fi
- \if@cclip \global\@ccliptrue\fi
- \if@clip \global\@cliptrue\fi}% %substituents on 1 to 4
-\put(0,0){\iniflag%2000/11/11 by S. Fujita
- \set@hetatom@sixv{#3}{-1}{3}{7}{0}%
- \@gclipfalse \if@fclip \global\@gcliptrue \fi%
- \@fclipfalse \if@eclip \global\@fcliptrue \fi%
- \@eclipfalse \if@clip \global\@ecliptrue \fi}%substituents on 5 to 7
-\put(0,0){\iniflag%2000/11/11 by S. Fujita
- \set@hetatom@sixv{#3}{-7}{0}{2}{0}%
- \@hclipfalse \if@aclip \global\@hcliptrue \fi}%%substituent on 8
-\put(0,0){\set@vrtx@fuse{#3}%
- \if@iclip \global\@icliptrue \fi
- \if@jclip \global\@jcliptrue \fi}% fused positions
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents and exocyclic bonds %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\put(342,0){\setsixringv{#4}{0}{0}{5}{0}}% %substituents on 1 to 4
-{%
- \@clipfalse \if@eclip \@cliptrue \fi% %substituents on 5 to 7
- \@eclipfalse \if@fclip \@ecliptrue \fi%
- \@fclipfalse \if@gclip \@fcliptrue \fi%
-\put(0,0){\setsixringv{#4}{-1}{3}{7}{0}}%
-}%
-{\@aclipfalse \if@hclip \@acliptrue \fi% %substituent on 8
-\put(0,0){\setsixringv{#4}{-7}{0}{2}{0}}%
-}%
-{\@clipfusefalse \if@iclip \@clipfusetrue \fi%
- \put(171,103){\setatombond{#4}{-8}{7}}% %9 %for 4a position
-}%
-{\@clipfusefalse \if@jclip \@clipfusetrue \fi%
- \put(171,303){\setatombond{#4}{-9}{1}}% %10 for 8a position
-}%
-\end{picture}\iniatom\iniflag}% %end of \decaheterov macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The |\clipdetection| command is used for the detection of
-% clippings for a six-six ring. In particular, the clippings
-% at the fused positions are detected in the |\decaheterov| command,
-% where the data are applied to the command
-% |\ylatombondposition| (chemstr.dtx).
-% \changes{v1.02}{1998/10/16}{Newly added command}
-%
-% \begin{macro}{\clipdetection}
-% \begin{macrocode}
-\def\clipdetection{%
-% hetero atom on 1
-\ifx\aaa\empty\else%
- \@acliptrue%
-\fi%
-% hetero atom on 2
-\ifx\bbb\empty\else%
- \@bcliptrue%
-\fi%
-% hetero atom on 3
-\ifx\ccc\empty\else%
- \@ccliptrue%
-\fi%
-% hetero atom on 4
-\ifx\ddd\empty\else%
- \@cliptrue%
-\fi%
-% hetero atom on 4a
-{\let\eee=\iii%
-\ifx\eee\empty\else%
- \global\@icliptrue%
-\fi%
-}%
-% hetero atom on 8a
-{\let\fff=\jjj%
-\ifx\fff\empty\else%
- \global\@jcliptrue%
-\fi%
-}%
-% hetero atom on 5
-{\let\ddd=\eee%
-\ifx\ddd\empty\else
- \global\@ecliptrue%
-\fi%
-}%
-% hetero atom on 6
-{\let\eee=\fff%
-\ifx\eee\empty\else%
- \global\@fcliptrue%
-\fi%
-}%
-% hetero atom on 7
-{\let\fff=\ggg%
-\ifx\fff\empty\else%
- \global\@gcliptrue%
-\fi%
-}%
-% hetero atom on 8
-{\let\aaa=\hhh%
-\ifx\aaa\empty\else%
- \global\@hcliptrue%
-\fi%
-}}% end \clipdetection
-% \end{macrocode}
-% \end{macro}
-%
-% The command |\ylhetposition| is used in the |\decaheterov| command,
-% giving the sift values for drawing a structure as a substituent.
-% \changes{v1.02}{1998/10/16}{Newly added command}
-%
-% \begin{macro}{\ylhetposition}
-% \begin{macrocode}
-\def\ylhetposition#1#2#3#4#5{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}\relax%
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifnum#5<0\relax%
-\@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
-\else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax\fi
-\ifnum\@tmpaa>#3\relax%
-\ifnum\@tmpaa<#4\relax%
-\ifcase\@tmpaa%0 omit
-% \end{macrocode}
-%
-% The flags |\@lyatrue| etc are not used in a revised edition.
-%
-% \begin{macrocode}
- \or
- \ifx\aaa\empty
- \ifx\hhh\empty% aaa and hhh are absent
- \gdef\@ylii{0}\gdef\@yli{-406}\global\@ylswtrue%\@ylatrue% subst. on 1
- \else% hhh is present
- \def\@ylii{0}\def\@yli{-442}\@ylswtrue%\@ylatrue% subst. on 1
- \fi
- \else%aaa is present
- \def\@ylii{0}\def\@yli{-442}\@ylswtrue%\@ylatrue% subst. on 1
- \fi
- \or\ifx\bbb\empty
- \def\@ylii{-171}\def\@yli{-303}\@ylswtrue%\@ylbtrue% subst. on 2
-% \def\@ylii{-513}\def\@yli{-303}\@ylswtrue%\@ylbtrue% subst. on 2
- \else
- \def\@ylii{-213}\def\@yli{-327}\@ylswtrue%\@ylbtrue% subst. on 2
-% \def\@ylii{-555}\def\@yli{-327}\@ylswtrue%\@ylbtrue% subst. on 2
- \fi
- \or\ifx\ccc\empty
- \def\@ylii{-171}\def\@yli{-103}\@ylswtrue%\@ylctrue% subst. on 3
-% \def\@ylii{-513}\def\@yli{-103}\@ylswtrue%\@ylctrue% subst. on 3
- \else
- \def\@ylii{-213}\def\@yli{-79}\@ylswtrue%\@ylctrue% subst. on 3
-% \def\@ylii{-555}\def\@yli{-79}\@ylswtrue%\@ylctrue% subst. on 3
- \fi
- \or\ifx\ddd\empty
- \ifx\eee\empty% ddd and eee are absent
- \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%\@yldtrue% subst. on 4
- \else% eee present
- \gdef\@ylii{0}\gdef\@yli{36}\global\@ylswtrue%\@yldtrue% subst. on 4
- \fi
- \else% ddd present
- \gdef\@ylii{0}\gdef\@yli{36}\global\@ylswtrue%\@yldtrue% subst. on 4
- \fi
- \or
- \ifx\eee\empty
- \ifx\iii\empty
- \ifx\fff\empty% eee, iii and fff are absent
- \def\@ylii{173}\def\@yli{-103}\@ylswtrue%\@yletrue% subst. on 5
- \else% fff is present
- \def\@ylii{213}\def\@yli{-79}\@ylswtrue%\@yletrue% subst. on 5
- \fi
-% \else% iii is present; fused position => no action here
-% \def\@ylii{0}\def\@yli{-36}\@ylswtrue%\@yletrue% subst. on 5
- \fi
- \else% eee is present
- \def\@ylii{213}\def\@yli{-79}\@ylswtrue%\@yletrue% subst. on 5
- \fi
- \or
- \ifx\fff\empty
- \ifx\jjj\empty
- \ifx\ggg\empty% fff, jjj, and ggg are absent
- \def\@ylii{173}\def\@yli{-303}\@ylswtrue%\@ylftrue% subst. on 6
- \else%ggg is present
- \def\@ylii{213}\def\@yli{-327}\@ylswtrue%\@ylftrue% subst. on 6
- \fi
-% \else%jjj is present; fused position => no action here
-% \def\@ylii{213}\def\@yli{-327}\@ylswtrue%\@ylftrue% subst. on 6
- \fi
- \else%fff is present
- \def\@ylii{213}\def\@yli{-327}\@ylswtrue%\@ylftrue% subst. on 6
- \fi%
-\fi%end of ifcase
-\fi\fi\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse vertical type}
-%
-% The standard skeleton of a six-to-six fused heterocycle is selected
-% to have the following locant numbers.
-%
-% \begin{verbatim}
-% **********************************
-% * decahetero derivatives *
-% * (vertical type, inverse type) *
-% **********************************
-% The following numbering is adopted in this macro.
-%
-% 5 (9) 4
-% * 4a *
-% 6 * * * * 3
-% | | |
-% | | |
-% 7 * * * * 2
-% * 8a *
-% 8 (10)1
-% ^
-% |
-% the original point
-% \end{verbatim}
-%
-% The macro |\decaheterovi| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \decaheterovi(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `k' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to k, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The options `A' and `B' represent aromatic circles in two rings.
-% The option `$n+$' ($n=1$ to $10$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of bonds
-%
-% none or r : decahetero (right-handed)
-% l : decahetero (left-handed)
-% [] : fully saturated form
-% a : 1,2-double bond b : 2,3-double bond
-% c : 4,3-double bond d : 4,4a-double bond
-% e : 4a,5-double bond f : 5,6-double bond
-% g : 6,7-double bond h : 7,8-double bond
-% i : 8,8a-double bond j : 1,8a-double bond
-% k : 4a,8a-double bond
-% K : 4a,8a-double bond in the other ring
-% A : aromatic circle B : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 10)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 10 atoms)
-%
-% for n = 1 to 8
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% na : Hetero atom at 4a or 8b (n=4 or 8)
-% e.g. 4a==N (or 9==N) for N at 4a-position
-% 8a==N (or {{10}}==N) for N at 8a-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for 9 (4a position) and 10 (8a position)
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a to k: see BONDLIST)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \decaheterovi{1==N}{1==Cl;2==F}
-% \decaheterovi[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \decaheterovi[eb]{1==N}{1D==O;4SA==MeO;4SB==OMe;5W==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\decaheterovi| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheterovi|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringv| several times.
-% \end{enumerate}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/25}{Spiro rings and fused rings:
-% \cs{test@vertix@decavi}, etc.}
-%
-% \begin{macro}{\decaheterovi}
-% \begin{macro}{\@deca@heterovi}
-% \begin{macro}{\@deca@@heterovi}
-% \begin{macro}{\@decaheterovi}
-% \begin{macrocode}
-\def\decaheterovi{\@ifnextchar({\@deca@heterovi(@}{\@deca@heterovi(@)}}
-\def\@deca@heterovi(#1){\@ifnextchar[{\@deca@@heterovi(#1)[@}%
-{\@deca@@heterovi(#1)[@]}}
-\def\@deca@@heterovi(#1)[#2]#3#4{\@ifnextchar[%
-{\@decaheterovi(#1)[#2]{#3}{#4}[@}%
-{\@decaheterovi(#1)[#2]{#3}{#4}[@]}}
-\def\@decaheterovi(#1)[#2]#3#4[#5]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag\iniatom%
-%%\test@vertix@sixv{#3}{d}{c}{b}{a}{h}{g}%
-%%\test@vertix@decav{#3}{f}{e}{i}{j}{@}{@}%{i}{j} fixed
-\test@vertix@decavi{#3}%
-%
-% %%%%%%%%%%%%%%%%%%%%%%%
-% % adjustment for (yl) %
-% %%%%%%%%%%%%%%%%%%%%%%%
-\@reset@ylsw%
-\ylhetposition{#4}{5}{0}{5}{-1}% %substituents on 1 to 4
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-342}\def\@@yli{0}\fi
-\else
-\ylhetposition{#4}{12}{3}{7}{-1}% %substituents on 6 to 8
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-\ylhetposition{#4}{-4}{0}{2}{0}% %substituent on 5
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{%
-\clipdetection%
-\@clipfusefalse \if@iclip \@clipfusetrue \fi%
- \ylatombondposition{#4}{-9}{7}% %10 for 8a position
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-171}\def\@@yli{-103}\fi
-\else
-{%
-\clipdetection%
-\@clipfusefalse \if@jclip \@clipfusetrue \fi%
-\ylatombondposition{#4}{-8}{1}% %9 for 4a position
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-171}\def\@@yli{-303}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(1200,880)(-\shiftii,-\shifti)%
- \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `decaheterovi' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-\begingroup
-\resetbdsw%
-\@bond@@omit{#5}%
-{\let\fff=\jjj \let\eee=\iii%
-\put(342,0){\set@skel@bond{#1}{c}{a}}%
- % bond between 1 and 2 \@aaa -> \skbonda etc
-\put(342,0){\set@skel@bond{#1}{b}{b}}%
- % bond between 2 and 3 \@bbb -> \skbondb etc
-\put(342,0){\set@skel@bond{#1}{a}{c}}%
- % bond between 3 and 4 \@ccc -> \skbondc etc
-\put(342,0){\set@skel@bond{#1}{j}{d}}%
- % bond between 4 and 4a \@ddd -> \skbondd etc
-\put(342,0){\set@skel@bond{#1}{k}{e}}%
- % bond between 4a and 8a \@kkk -> \skbonde etc
-\put(342,0){\set@skel@bond{#1}{d}{f}}%
- % bond between 8a and 1 \@jjj -> \skbondf etc
-}%
-{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg%
- \let\ccc=\iii\let\bbb=\jjj%
-\set@skel@bond{#1}{e}{a}% bond between 8 and 8a \@eee -> \skbonda etc
-\set@skel@bond{#1}{i}{c}% bond between 5 and 4a \@iii -> \skbondc etc
-\set@skel@bond{#1}{h}{d}% bond between 5 and 6 \@hhh -> \skbondd etc
-\set@skel@bond{#1}{g}{e}% bond between 6 and 7 \@ggg -> \skbonde etc
-\set@skel@bond{#1}{f}{f}% bond between 7 and 8 \@fff -> \skbondf etc
-}%
-\endgroup
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-{\let\fff=\jjj \let\eee=\iii%
- \put(342,0){\bonda}% bond between 1 and 2
- \put(342,0){\bondc}% bond between 3 and 4
-}%
-{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg%
- \let\ccc=\iii\let\bbb=\jjj%
- \put(0,0){\bondb}% bond between 8a and 4a
- \put(0,0){\bondf}% bond between 8 and 7
- \put(0,0){\bondd}% bond between 5 and 6
-}%
-\else\if\member l\relax%
-\else\if\member a\relax%
- \put(342,0){\bondc}% bond between 3 and 4
-\else\if\member b\relax%
- \put(342,0){\bondb}% bond between 2 and 3
-\else\if\member c\relax%
- \put(342,0){\bonda}% bond between 1 and 2
-\else\if\member d\relax%
-{\let\fff=\jjj%
- \put(342,0){\bondf}% bond between 1 and 8a
-}%
-\else\if\member e\relax%
-{\let\aaa=\hhh \let\bbb=\jjj%
- \put(0,0){\bonda}% bond between 8 and 8a
-}%
-\else\if\member f\relax%
-{\let\aaa=\hhh \let\fff=\ggg%
- \put(0,0){\bondf}% bond between 8 and 7
-}%
-\else\if\member g\relax%
-{\let\eee=\fff \let\fff=\ggg%
- \put(0,0){\bonde}% bond between 6 and 7
-}%
-\else\if\member h\relax%
-{\let\ddd=\eee \let\eee=\fff%
- \put(0,0){\bondd}% bond between 5 and 6
-}%
-\else\if\member i\relax%
-{\let\ccc=\iii \let\ddd=\eee%
- \put(0,0){\bondc}% bond between 5 and 4a
-}%
-\else\if\member j\relax%
-{\let\eee=\iii%
- \put(342,0){\bondd}% bond between 4 and 4a
-}%
-\else\if\member k\relax%
-{\let\ccc=\iii\let\bbb=\jjj%
- \put(0,0){\bondb}% bond between 8a and 4a
-}%
-\else\if\member K\relax%
-{\let\eee=\iii\let\fff=\jjj%
- \put(342,0){\bonde}% bond between 8a and 4a in the other ring
-}%
-\else\if\member A%left aromatic circle
- \put(0,203){\circle{240}} %circle
-\else\if\member B%left aromatic circle
- \put(342,203){\circle{240}} %circle
-\else
- \expandafter\twoCH@@R\member//%
- \def\aax{4a}\def\aay{8a}\def\aaz{10}%
- \if\@@tmpa 4\relax% % plus charge etc.
- \putratom{304}{282}{\@@tmpb}% % right type
- \else\if\@@tmpa 3\relax%
- \putratom{402}{253}{\@@tmpb}% % right type
- \else\if\@@tmpa 2\relax%
- \putratom{402}{120}{\@@tmpb}% % right type
- \else\if\@@tmpa 1\relax%
- \putratom{304}{68}{\@@tmpb}% % right type
- \else\if\@@tmpa 7\relax%
- \putlatom{-60}{253}{\@@tmpb}% % left type
- \else\if\@@tmpa 6\relax%
- \putlatom{-60}{120}{\@@tmpb}% % left type
- \else\if\@@tmpa 5\relax%
- \putratom{-38}{282}{\@@tmpb}% % right type
- \else\if\@@tmpa 9\relax%
- \putratom{60}{253}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aax\relax%
- \putratom{60}{253}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aay\relax%
- \putratom{60}{120}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aaz\relax% 1998/10/17 by S. Fujita
-% \else\if\@@tmpa 10\relax%
- \putratom{60}{120}{\@@tmpb}% % right type
- \else\if\@@tmpa 8\relax%
- \putratom{-38}{68}{\@@tmpb}% % right type
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-% ***********************
-% * setting fused rings *
-% ***********************
- \expandafter\twoCH@R\member//%
- \set@fusion@decavi
-\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-\fi\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms and spiro rings %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag\iniatom%
-\@tmpclipfalse
-\put(0,0){\set@hetatom@sixv{#3}{12}{3}{7}{-1}%
- \@gclipfalse \if@fclip \global\@gcliptrue \fi%
- \@fclipfalse \if@eclip \global\@fcliptrue \fi%
- \@eclipfalse \if@clip \global\@ecliptrue \fi%
-}%substituents on 6 to 8
-\put(0,0){\set@hetatom@sixv{#3}{-4}{0}{2}{0}%
- \@aclipfalse \if@aclip \global\@hcliptrue \fi%
-}%%substituent on 5
-\put(0,0){\set@vrtx@decafusevi{#3}%
- \@tmpclipfalse
- \if@iclip \global\@tmpcliptrue \fi
- \if@jclip \global\@icliptrue \fi
- \if@tmpclip \global\@jcliptrue \fi
-}% fused positions
-%to be done after all
-\put(342,0){\set@hetatom@sixv{#3}{5}{0}{5}{-1}%
- \if@aclip \global\@acliptrue\fi
- \if@bclip \global\@bcliptrue\fi
- \if@cclip \global\@ccliptrue\fi
- \if@clip \global\@cliptrue\fi
-}% %substituents on 1 to 4
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents and exocyclic bonds %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\put(342,0){\setsixringv{#4}{5}{0}{5}{-1}}% %substituents on 1 to 4
-{\@clipfalse \if@eclip \@cliptrue \fi% %substituents on 6 to 8
- \@eclipfalse \if@fclip \@ecliptrue \fi%
- \@fclipfalse \if@gclip \@fcliptrue \fi%
-\put(0,0){\setsixringv{#4}{12}{3}{7}{-1}}%
-}
-{\@aclipfalse \if@hclip \@acliptrue \fi% %substituent on 5
-\put(0,0){\setsixringv{#4}{-4}{0}{2}{0}}%
-}%
-{\@clipfusefalse \if@iclip \@clipfusetrue \fi%
- \put(171,103){\setatombond{#4}{-9}{7}}% %10 for 8a position
-}%
-{\@clipfusefalse \if@jclip \@clipfusetrue \fi%
- \put(171,303){\setatombond{#4}{-8}{1}}% %9 for 4a position
-}%
-\end{picture}\iniatom\iniflag}% %end of \decaheterovi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\test@vertix@decavi| is used to test the presence of
-% a hetero atom or a spiro substituent on a vertex of the
-% decaheterovi nucleus.
-%
-% \begin{macro}{\if@tmpclip}
-% \begin{macro}{\test@vertix@decavi}
-% \begin{macrocode}
-\newif\if@tmpclip \@tmpclipfalse
-\def\test@vertix@decavi#1{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\ifcase\@tmpa%
- \or%
- \if\@tmpb s\relax\def\ddd{}\else\def\ddd{@}\fi
- \or%2
- \if\@tmpb s\relax\def\ccc{}\else\def\ccc{@}\fi
- \or%3
- \if\@tmpb s\relax\def\bbb{}\else\def\bbb{@}\fi
- \or%
- \if\@tmpb a%
- \def\jjj{@}%4a
- \else\if\@tmpb s%
- \def\aaa{}%4
- \else\if\@tmpb h%
- \def\aaa{@}%4
- \else\ifx\@tmpb\empty%
- \def\aaa{@}%4
- \fi\fi\fi\fi%
- \or%5
- \if\@tmpb s\relax\def\hhh{}\else\def\hhh{@}\fi
- \or%6
- \if\@tmpb s\relax\def\ggg{}\else\def\ggg{@}\fi
- \or%7
- \if\@tmpb s\relax\def\fff{}\else\def\fff{@}\fi
- \or%
- \if\@tmpb a%
- \xdef\iii{@}%8a
- \else\if\@tmpb s%
- \xdef\eee{}%8s
- \else\if\@tmpb h%
- \xdef\eee{@}%8h
- \else\ifx\@tmpb\empty%
- \xdef\eee{@}%8
- \fi\fi\fi\fi%
-\or%9 (= 4a)
- \if\@tmpb s\relax\def\jjj{}\else\def\jjj{@}\fi
-\or%10 (= 8a)
- \if\@tmpb s\relax\def\iii{}\else\def\iii{@}\fi
-\fi\fi}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\set@vrtx@decafusevi| is used to set
-% a hetero atom or on a vertex of a bridgehead location.
-%
-% \begin{macro}{\set@vrtx@decafusevi}
-% \begin{macrocode}
-\def\set@vrtx@decafusevi#1{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\ifcase\@tmpa\or\or\or
- \or%%%%4
- \if\@tmpb a%
- \global\@icliptrue%
- \putlatom{207}{280}{\@memberb}% % left type
- \else\relax
- \fi
- \or\or\or
- \or%8
- \if\@tmpb a%
- \global\@jcliptrue%
- \putlatom{207}{65}{\@memberb}% % left type
- \else\relax
- \fi
-\or%9 (= 4a)
- \global\@icliptrue%
- \putlatom{207}{280}{\@memberb}% % left type
-\or%10 (= 8a)
- \global\@jcliptrue%
- \putlatom{207}{65}{\@memberb}% % left type
-\fi\fi}%
-}% end of the macro \set@vrtx@decafusevi
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\set@fusion@decavi| is used to set
-% a fused ring or on an edge of the decaheterovi nucleus.
-%
-% \begin{macro}{\set@fusion@decavi}
-% \begin{macrocode}
-\def\set@fusion@decavi{%
- \let\@@tmpa=\@tmpa
- \let\@@tmpb=\@tmpb
- \if\@tmpa a%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa A%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa b%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa B%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa c%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa C%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa d%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixvi}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `d'}%
- \fi
- \else\if\@tmpa D%
- \let\@@tmpa=\@tmpa
- \put(342,0){\set@fusionadd@sixvi}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `D'}%
- \fi
- \else\if\@tmpa e%
- \edef\@@tmpa{c}%
- \put(0,0){\set@fusionadd@sixvi}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `e'}%
- \fi
- \else\if\@tmpa E%
- \edef\@@tmpa{C}%
- \put(0,0){\set@fusionadd@sixvi}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `E'}%
- \fi
- \else\if\@tmpa f%
- \edef\@@tmpa{d}%
- \put(0,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa F%
- \edef\@@tmpa{D}%
- \put(0,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa g%
- \edef\@@tmpa{e}%
- \put(0,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa G%
- \edef\@@tmpa{E}%
- \put(0,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa h%
- \edef\@@tmpa{f}%
- \put(0,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa H%
- \edef\@@tmpa{F}%
- \put(0,0){\set@fusionadd@sixvi}%
- \else\if\@tmpa i%
- \edef\@@tmpa{a}%
- \put(0,0){\set@fusionadd@sixvi}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `i'}%
- \fi
- \else\if\@tmpa I%
- \edef\@@tmpa{A}%
- \put(0,0){\set@fusionadd@sixvi}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `I'}%
- \fi
- \else\if\@tmpa j%
- \edef\@@tmpa{f}%
- \put(342,0){\set@fusionadd@sixvi}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `j'}%
- \fi
- \else\if\@tmpa J%
- \edef\@@tmpa{F}%
- \put(342,0){\set@fusionadd@sixvi}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `J'}%
- \fi
- \else\if\@tmpa k%
- \edef\@@tmpa{e}%
- \put(342,0){\set@fusionadd@sixvi}%
- \if@smallringsw\else
- \XyMTeXWarning{Forbidden Fusion for bond `k'}%
- \fi
- \else\if\@tmpa K%
- \edef\@@tmpa{E}%
- \put(342,0){\set@fusionadd@sixvi}%
- \if@smallringsw\else
- \XyMTeXWarning{Forbidden Fusion for bond `K'}%
- \fi
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@decavi
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Vertical-bottom type}
-% The macro |\decaheterovb| is used for drawing six-six heterocyclic
-% derivatives of vertical-bottom type (numbering from the bottom
-% to the left-upper part).
-% The word ``vertical'' means that each benzene ring is a vertical type.
-% The word ``bottom'' means that the benzene ring with young locant numbers
-% is located at the bottom.
-% The skeleton and endocyclic double bonds are drawn directly,
-% while substituents and exocyclic bonds are placed by useing
-% the inner macro |\setsixringv|.
-%
-% The standard skeleton of a six-to-six fused heterocycle is selected
-% to have the following locant numbers.
-%
-% \changes{v1.02}{1998/10/16}{Newly added command}
-%
-% \begin{verbatim}
-% ***************************
-% * decahetro derivatives *
-% * (vertical bottom type) *
-% ***************************
-% The following numbering is adopted in this macro.
-%
-% 7
-% *
-% 6 * * 8
-% | |
-% | | 0G (4a)
-% 5 * * *
-% 0F(4a) * * 1
-% | |
-% | |
-% 4 * * 2
-% *
-% 3
-% ^
-% |
-% the original point
-% \end{verbatim}
-%
-% The macro |\decaheterovb| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \decaheterovb(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `k' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to k, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `A' and `B' represent aromatic circles. The option
-% `$n+$' ($n=1$ to $10$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of bonds
-%
-% none or r : decahetero (right-handed)
-% l : decahetero (left-handed)
-% [] : fully saturated form
-% a : 1,2-double bond b : 2,3-double bond
-% c : 4,3-double bond d : 4,4a-double bond
-% e : 4a,5-double bond f : 5,6-double bond
-% g : 6,7-double bond h : 7,8-double bond
-% i : 8,8a-double bond j : 1,8a-double bond
-% k : 4a,8a-double bond
-% K : 4a,8a-double bond in the other ring
-% A : aromatic circle B : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 10)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 10 atoms)
-%
-% for n = 1 to 8
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% na : Hetero atom at 4a or 8b (n=4 or 8)
-% e.g. 4a==N (or 9==N) for N at 4a-position
-% 8a==N (or {{10}}==N) for N at 8a-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for 9 (4a position) and 10 (8a position)
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a to k: see BONDLIST)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \decaheterovb{1==N}{1==Cl;2==F}
-% \decaheterovb[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \decaheterovb[eb]{1==N}{1D==O;4SA==MeO;4SB==OMe;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\decaheterovb| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheterov|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringv| several times.
-% \end{enumerate}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/25}{Spiro rings and fused rings}
-%
-% \begin{macro}{\decaheterovb}
-% \begin{macro}{\@deca@heterovb}
-% \begin{macro}{\@deca@@heterovb}
-% \begin{macro}{\@decaheterovb}
-% \begin{macrocode}
-\def\decaheterovb{\@ifnextchar({\@deca@heterovb(@}{\@deca@heterovb(@)}}
-\def\@deca@heterovb(#1){\@ifnextchar[{\@deca@@heterovb(#1)[@}%
-{\@deca@@heterovb(#1)[@]}}
-\def\@deca@@heterovb(#1)[#2]#3#4{\@ifnextchar[%
-{\@decaheterovb(#1)[#2]{#3}{#4}[@}%
-{\@decaheterovb(#1)[#2]{#3}{#4}[@]}}
-\def\@decaheterovb(#1)[#2]#3#4[#5]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag\iniatom%
-\test@vertix@decavb{#3}%
-% %%%%%%%%%%%%%%%%%%%%%%%
-% % adjustment for (yl) %
-% %%%%%%%%%%%%%%%%%%%%%%%
-\@reset@ylsw%
-{\let\eee=\ddd\let\ddd=\ccc
-\let\ccc=\bbb\let\bbb=\aaa
-\ylhetpositionb{#4}{1}{1}{6}{0}% %substituents on 1 to 4
-}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-\ylhetpositionb{#4}{0}{4}{7}{0}% %substituents on 5 to 6
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{171}\def\@@yli{-303}\fi
-\else
-{\let\aaa=\ggg \let\bbb=\hhh
-\ylhetpositionb{#4}{-6}{0}{3}{0}% %substituents on 7 to 8
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{171}\def\@@yli{-303}\fi
-\else
-{%
-\clipdetection%
-\@clipfusefalse \if@iclip \@clipfusetrue \fi%
-\ylatombondposition{#4}{-8}{9}% %9 %for 4a position
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{171}\def\@@yli{-303}\fi
-\else
-{%
-\clipdetection%
-\@clipfusefalse \if@jclip \@clipfusetrue \fi%
-\ylatombondposition{#4}{-9}{3}% %10 for 8a position
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{-406}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(1000,1200)(-550,-240)
- \iforigpt \put(-550,-240){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `decaheterovb' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-\begingroup
-\resetbdsw%
-\@bond@@omit{#5}%
-{\let\eee=\ddd\let\ddd=\ccc
- \let\ccc=\bbb\let\bbb=\aaa
- \let\aaa=\jjj \let\fff=\iii
-\set@skel@bond{#1}{j}{a}% bond between 8a and 1 \@jjj -> \skbonda etc
-\set@skel@bond{#1}{a}{b}% bond between 1 and 2 \@aaa -> \skbondb etc
-\set@skel@bond{#1}{b}{c}% bond between 2 and 3 \@bbb -> \skbondc etc
-\set@skel@bond{#1}{c}{d}% bond between 3 and 4 \@ccc -> \skbondd etc
-\set@skel@bond{#1}{d}{e}% bond between 4 and 4a \@ddd -> \skbonde etc
-\set@skel@bond{#1}{k}{f}% bond between 4a and 8a \@kkk -> \skbondf etc
-}%
-{\let\aaa=\ggg\let\bbb=\hhh\let\ccc=\jjj\let\ddd=\iii
-\put(-171,303){\set@skel@bond{#1}{h}{a}}%
- % bond between 7 and 8 \@hhh -> \skbonda etc
-\put(-171,303){\set@skel@bond{#1}{i}{b}}%
- % bond between 8 and 8a \@iii -> \skbondb etc
-\put(-171,303){\set@skel@bond{#1}{e}{d}}%
- % bond between 4a and 5 \@eee -> \skbondd etc
-\put(-171,303){\set@skel@bond{#1}{f}{e}}%
- % bond between 5 and 6 \@fff -> \skbonde etc
-\put(-171,303){\set@skel@bond{#1}{g}{f}}%
- % bond between 6 and 7 \@ggg -> \skbondf etc
-}%
-\endgroup
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-{\let\aaa=\ggg\let\bbb=\hhh\let\ccc=\jjj\let\ddd=\iii
- \put(-171,303){\bonda}% bond between 7 and 8
- \put(-171,303){\bonde}% bond between 5 and 6
-}%
-{\let\eee=\ddd\let\ddd=\ccc
- \let\ccc=\bbb\let\bbb=\aaa
- \let\aaa=\jjj \let\fff=\iii
- \put(0,0){\bondb}% bond between 1 and 2
- \put(0,0){\bondd}% bond between 3 and 4
- \put(0,0){\bondf}% bond between 4a and 4b
-}%
-\else\if\member l\relax%
-\else\if\member a\relax%
-{\let\ccc=\bbb\let\bbb=\aaa
- \put(0,0){\bondb}% bond between 1 and 2
-}%
-\else\if\member b\relax
-{\let\ddd=\ccc\let\ccc=\bbb
- \put(0,0){\bondc}% bond between 2 and 3
-}%
-\else\if\member c\relax
-{\let\eee=\ddd\let\ddd=\ccc
- \put(0,0){\bondd}% bond between 3 and 4
-}%
-\else\if\member d\relax%
-{\let\fff=\eee\let\eee=\ddd
- \put(0,0){\bonde}% bond between 4 and 4a
-}%
-\else\if\member e\relax%
-{\let\ddd=\iii%
- \put(-171,303){\bondd}% bond between 5 and 4a
-}%
-\else\if\member f\relax%
- \put(-171,303){\bonde}% bond between 5 and 6
-\else\if\member g\relax%
-{\let\aaa=\ggg
- \put(-171,303){\bondf}% bond between 6 and 7
-}%
-\else\if\member h\relax%
-{\let\aaa=\ggg \let\bbb=\hhh%
- \put(-171,303){\bonda}% bond between 8 and 7
-}%
-\else\if\member i\relax%
-{\let\bbb=\hhh \let\ccc=\jjj%
- \put(-171,303){\bondb}% bond between 8 and 8a
-}%
-\else\if\member j\relax%
-{\let\bbb=\aaa\let\aaa=\jjj%
- \put(0,0){\bonda}% bond between 1 and 8a
-}%
-\else\if\member k\relax%
-{\let\aaa=\jjj\let\fff=\iii%
- \put(0,0){\bondf}% bond between 8a and 4a
-}%
-\else\if\member K\relax%
-{\let\ccc=\jjj\let\ddd=\iii%
- \put(-171,303){\bondc}% bond between 8a and 4a in the other ring
-}%
-\else\if\member A%left aromatic circle
- \put(-171,506){\circle{240}} %circle
-\else\if\member B%left aromatic circle
- \put(0,203){\circle{240}} %circle
-\else \expandafter\twoCH@@R\member//%
- \def\aax{8a}\def\aay{4a}\def\aaz{10}%
- \if\@@tmpa 1\relax% % plus charge etc.
- \putratom{60}{253}{\@@tmpb}% % right type
- \else\if\@@tmpa 2\relax%
- \putratom{60}{120}{\@@tmpb}% % right type
- \else\if\@@tmpa 3\relax%
- \putratom{-38}{68}{\@@tmpb}% % right type
- \else\if\@@tmpa 4\relax%
- \putratom{-120}{120}{\@@tmpb}% % right type
- \else\if\@@tmpa 5\relax%
- \putlatom{-209}{431}{\@@tmpb}% % left type
- \else\if\@@tmpa 6\relax%
- \putlatom{-209}{546}{\@@tmpb}% % left type
- \else\if\@@tmpa 7\relax%
- \putratom{-209}{585}{\@@tmpb}% % right type
- \else\if\@@tmpa 8\relax%
- \putratom{-111}{546}{\@@tmpb}% % right type
- \else\if\@@tmpa 9\relax%
- \putlatom{-60}{253}{\@@tmpb}% % left type
- \else\ifx\@@tmpa\aaz\relax%
- \putratom{-38}{282}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aax\relax%
- \putratom{-38}{282}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aay\relax%
- \putratom{-209}{371}{\@@tmpb}% % right type
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-% ***********************
-% * setting fused rings *
-% ***********************
- \expandafter\twoCH@R\member//%
- \set@fusion@decavb
-\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-\fi\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-%
-% \changes{v2.00a}{2000/11/11}{The
-% \cs{iniflag} command is added to 5- and 8-substitution.}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag\iniatom
-\put(-171,303){\set@hetatom@sixv{#3}{0}{4}{7}{0}%
-\if@eclip \global\@ecliptrue\fi%
-\if@fclip \global\@fcliptrue\fi%
-}% %substituents on 5 to 6
-\put(-171,303){\set@hetatom@sixv{#3}{-6}{0}{3}{0}%
- \@gclipfalse \if@aclip \global\@gcliptrue \fi%
- \@hclipfalse \if@bclip \global\@hcliptrue \fi%
-}% %substituents on 7 to 8
-\put(0,0){\set@vrtx@decafusevb{#3}%
- \if@iclip \global\@icliptrue \fi
- \if@jclip \global\@jcliptrue \fi
-}%9 %for 4a position, %10 for 8a position
-%to be done after all
-\put(0,0){\iniflag%2000/11/11 by S. Fujita
-\set@hetatom@sixv{#3}{1}{1}{6}{0}%
-\@aclipfalse \if@bclip \global\@acliptrue \fi%
-\@bclipfalse \if@cclip \global\@bcliptrue \fi%
-\@cclipfalse \if@clip \global\@ccliptrue \fi%
-\@clipfalse \if@eclip \global\@cliptrue \fi%
-}% %substituents on 1 to 4
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents and exocyclic bonds %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-{%
-\@eclipfalse \if@clip \@ecliptrue \fi%
-\@clipfalse \if@cclip \@cliptrue \fi%
-\@cclipfalse \if@bclip \@ccliptrue \fi%
-\@bclipfalse \if@aclip \@bcliptrue \fi%
-\put(0,0){\setsixringv{#4}{1}{1}{6}{0}}% %substituents on 1 to 4
-}%
-{%
-\put(-171,303){\setsixringv{#4}{0}{4}{7}{0}}% %substituents on 5 to 6
-}%
-{%
- \@aclipfalse \if@gclip \@acliptrue \fi%
- \@bclipfalse \if@hclip \@bcliptrue \fi%
-\put(-171,303){\setsixringv{#4}{-6}{0}{3}{0}}% %substituents on 7 to 8
-}%
-{\@clipfusefalse \if@iclip \@clipfusetrue \fi%
- \put(-171,303){\setatombond{#4}{-8}{9}}% %9 %for 4a position
-}%
-{\@clipfusefalse \if@jclip \@clipfusetrue \fi%
- \put(0,406){\setatombond{#4}{-9}{3}}% %10 for 8a position
-}%
-\end{picture}\iniatom\iniflag}% %end of \decaheterovb macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The command |\ylhetpositionb| is used in the |\decaheterovb| command,
-% giving the sift values for drawing a structure as a substituent.
-% \changes{v1.02}{1998/10/16}{Newly added command}
-%
-% \begin{macro}{\ylhetpositionb}
-% \begin{macrocode}
-\def\ylhetpositionb#1#2#3#4#5{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}\relax%
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifnum#5<0\relax%
-\@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
-\else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax\fi
-\ifnum\@tmpaa>#3\relax%
-\ifnum\@tmpaa<#4\relax%
-\ifcase\@tmpaa%0 omit
- \or
- \ifx\aaa\empty%
- \ifx\ggg\empty% aaa and ggg are absent
- \gdef\@ylii{0}\gdef\@yli{-406}\global\@ylswtrue%\@ylatrue% subst. on 1
- \else% ggg is present
- \gdef\@ylii{0}\gdef\@yli{-442}\global\@ylswtrue%\@ylatrue% subst. on 1
- \fi
- \else%aaa is present
- \gdef\@ylii{0}\gdef\@yli{-442}\global\@ylswtrue%\@ylatrue% subst. on 1
- \fi
- \or
- \ifx\bbb\empty
- \ifx\hhh\empty% aaa and hhh are absent
- \gdef\@ylii{-171}\gdef\@yli{-303}\global\@ylswtrue%\@ylbtrue% subst. on 2
- \else%hhh is present
- \gdef\@ylii{-213}\gdef\@yli{-327}\global\@ylswtrue%\@ylbtrue% subst. on 2
- \fi
- \else
- \gdef\@ylii{-213}\gdef\@yli{-327}\global\@ylswtrue%\@ylbtrue% subst. on 2
- \fi
- \or\ifx\ccc\empty
- \gdef\@ylii{-171}\gdef\@yli{-103}\global\@ylswtrue%\@ylctrue% subst. on 3
- \else
- \gdef\@ylii{-213}\gdef\@yli{-79}\global\@ylswtrue%\@ylctrue% subst. on 3
- \fi
- \or
- \ifx\ddd\empty
- \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%\@yldtrue% subst. on 4
- \else% ddd present
- \gdef\@ylii{0}\gdef\@yli{36}\global\@ylswtrue%\@yldtrue% subst. on 4
- \fi
- \or
- \ifx\eee\empty
- \gdef\@ylii{173}\gdef\@yli{-103}\global\@ylswtrue%\@yletrue% subst. on 5
- \else% eee is present
- \gdef\@ylii{223}\gdef\@yli{-79}\global\@ylswtrue%\@yletrue% subst. on 5
- \fi
- \or
- \ifx\fff\empty
- \gdef\@ylii{173}\gdef\@yli{-303}\global\@ylswtrue%\@ylftrue% subst. on 6
- \else%fff is present
- \gdef\@ylii{213}\gdef\@yli{-327}\global\@ylswtrue%\@ylftrue% subst. on 6
- \fi
-\fi%end of ifcase
-\fi\fi\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\test@vertix@decavb| determines the presence of
-% a hetro atom or a spriro ring at each of the vertices.
-% \changes{v2.00}{1998/12/25}{Added: spiro rings}
-%
-% \begin{macro}{\test@vertix@decavb}
-% \begin{macrocode}
-\def\test@vertix@decavb#1{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\ifcase\@tmpa%
- \or% \xdef\aaa{\@memberb}%1
- \if\@tmpb s\relax\def\aaa{}\else\def\aaa{@}\fi
- \or% \xdef\bbb{\@memberb}%2
- \if\@tmpb s\relax\def\bbb{}\else\def\bbb{@}\fi
- \or% \xdef\ccc{\@memberb}%3
- \if\@tmpb s\relax\def\ccc{}\else\def\ccc{@}\fi
- \or%
- \if\@tmpb a%
- \def\iii{@}%4a
- \else\if\@tmpb s%
- \def\ddd{}%4
- \else\if\@tmpb h%
- \def\ddd{@}%4
- \else\ifx\@tmpb\empty%
- \def\ddd{@}%4
- \fi\fi\fi\fi%
- \or% \xdef\eee{\@memberb}%5
- \if\@tmpb s\relax\def\eee{}\else\def\eee{@}\fi
- \or% \xdef\fff{\@memberb}%6
- \if\@tmpb s\relax\def\fff{}\else\def\fff{@}\fi
- \or% \xdef\ggg{\@memberb}%7
- \if\@tmpb s\relax\def\ggg{}\else\def\ggg{@}\fi
- \or%
- \if\@tmpb a%
- \def\jjj{@}%8a
- \else\if\@tmpb s%
- \def\hhh{}%8
- \else\if\@tmpb h%
- \def\hhh{@}%4
- \else\ifx\@tmpb\empty%
- \def\hhh{@}%4
- \fi\fi\fi\fi%
-\or% \xdef\iii{\@memberb}%9 (= 4a)
- \if\@tmpb s\relax\def\iii{}\else\def\iii{@}\fi
-\or% \xdef\jjj{\@memberb}%10 (= 8a)
- \if\@tmpb s\relax\def\jjj{}\else\def\jjj{@}\fi
-\fi\fi}%
-}% end of the macro \test@vertix@decavb
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\set@vrtx@decafusevb| typesets a hetero atom
-% at each fused position.
-% \changes{v2.00}{1998/12/25}{Added: spiro rings}
-%
-% \begin{macro}{\set@vrtx@decafusevb}
-% \begin{macrocode}
-\def\set@vrtx@decafusevb#1{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\ifcase\@tmpa\or\or\or
- \or%%%%4
- \if\@tmpb a%
- \global\@icliptrue%
- \putlatom{-135}{280}{\@memberb}% % left type
- \else\relax
- \fi
- \or\or\or
- \or%8
- \if\@tmpb a%
- \global\@jcliptrue%
- \putratom{-31}{356}{\@memberb}% % right type
- \else\relax
- \fi
-\or%9 (= 4a)
- \global\@icliptrue%
- \putlatom{-135}{280}{\@memberb}% % left type
-\or%10 (= 8a)
- \global\@jcliptrue%
- \putratom{-31}{356}{\@memberb}% % right type
-\fi\fi}%
-}% end of the macro \set@vrtx@decafusevb
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Vertical-top type}
-%
-% The macro |\decaheterovt| is used for drawing six-to-six fused derivatives
-% of vertical-bottom type (numbering from the top to the left-down part).
-% The word ``vertical'' means that each benzene ring is a vertical type.
-% The word ``top'' means that the benzene ring with young locant numbers
-% is located at the top.
-% The skeleton and endocyclic double bonds are drawn directly,
-% while substituents and exocyclic bonds are placed by useing
-% the inner macro |\setsixringv|.
-% \changes{v1.02}{1998/10/18}{Newly added command}
-%
-% \begin{verbatim}
-% ****************************
-% * decaheterovt derivatives *
-% * (vertical-top type) *
-% ****************************
-% The following numbering is adopted in this macro.
-%
-% 2
-% *
-% 1 * * 3
-% | |
-% | |
-% 0G (8a) * * 4
-% 8 * * 0F(4a)
-% | |
-% | |
-% 7 * * 5
-% *
-% 6
-% ^
-% |
-% the original point
-% \end{verbatim}
-%
-% The macro |\decaheterovt| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \decaheterovt(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `k' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to k, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `A' and `B' represent aromatic circles. The option
-% `$n+$' ($n=1$ to $10$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of bonds
-%
-% none or r : decahetero (right-handed)
-% l : decahetero (left-handed)
-% [] : fully saturated form
-% a : 1,2-double bond b : 2,3-double bond
-% c : 4,3-double bond d : 4,4a-double bond
-% e : 4a,5-double bond f : 5,6-double bond
-% g : 6,7-double bond h : 7,8-double bond
-% i : 8,8a-double bond j : 1,8a-double bond
-% k : 4a,8a-double bond
-% K : 4a,8a-double bond in the other ring
-% A : aromatic circle B : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 10)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 10 atoms)
-%
-% for n = 1 to 8
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% na : Hetero atom at 4a or 8b (n=4 or 8)
-% e.g. 4a==N (or 9==N) for N at 4a-position
-% 8a==N (or {{10}}==N) for N at 8a-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for 9 (4a position) and 10 (8a position)
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a to k: see BONDLIST)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \decaheterovt{1==N}{1==Cl;2==F}
-% \decaheterovt[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \decaheterovt[eb]{1==N}{1D==O;4SA==MeO;4SB==OMe;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\decaheterovt| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheterov|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringv| several times.
-% \end{enumerate}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/10/31}{Add: Spiro and fused rings}
-%
-% \begin{macro}{\decaheterovt}
-% \begin{macro}{\@deca@heterovt}
-% \begin{macro}{\@deca@@heterovt}
-% \begin{macro}{\@decaheterovt}
-% \begin{macrocode}
-\def\decaheterovt{\@ifnextchar({\@deca@heterovt(@}{\@deca@heterovt(@)}}
-\def\@deca@heterovt(#1){\@ifnextchar[{\@deca@@heterovt(#1)[@}%
-{\@deca@@heterovt(#1)[@]}}
-\def\@deca@@heterovt(#1)[#2]#3#4{\@ifnextchar[%
-{\@decaheterovt(#1)[#2]{#3}{#4}[@}%
-{\@decaheterovt(#1)[#2]{#3}{#4}[@]}}
-\def\@decaheterovt(#1)[#2]#3#4[#5]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag\iniatom%
-\test@vertix@decavb{#3}%
-% %%%%%%%%%%%%%%%%%%%%%%%
-% % adjustment for (yl) %
-% %%%%%%%%%%%%%%%%%%%%%%%
-\@reset@ylsw%
-{\let\fff=\aaa
-\ylhetpositiont{#4}{5}{5}{7}{0}% %substituent on 1
-}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-171}\def\@@yli{-303}\fi
-\else
-{\let\aaa=\bbb\let\bbb=\ccc\let\ccc=\ddd
-\ylhetpositiont{#4}{-1}{0}{4}{0}% %substituents on 2 to 4
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-171}\def\@@yli{-303}\fi
-\else
-{\let\ccc=\eee\let\ddd=\fff
-\let\eee=\ggg\let\fff=\hhh
-\ylhetpositiont{#4}{-2}{2}{7}{0}% %substituents on 5 to 8
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{%
-\clipdetection%
-\@clipfusefalse \if@iclip \@clipfusetrue \fi%
-\ylatombondposition{#4}{-8}{5}% %9 %for 4a position
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-171}\def\@@yli{-303}\fi
-\else
-{%
-\clipdetection%
-\@clipfusefalse \if@jclip \@clipfusetrue \fi%
-\ylatombondposition{#4}{-9}{11}% %10 for 8a position
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{-406}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(1200,880)(-\shiftii,-\shifti)%
- \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `decaheterovt' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-\begingroup
-\resetbdsw%
-\@bond@@omit{#5}%
-{%
- \let\fff=\aaa \let\aaa=\bbb \let\bbb=\ccc
- \let\ccc=\ddd \let\ddd=\iii \let\eee=\jjj
-\put(171,303){\set@skel@bond{#1}{b}{a}}%
- % bond between 2 and 3 \@bbb -> \skbonda etc
-\put(171,303){\set@skel@bond{#1}{c}{b}}%
- % bond between 3 and 4 \@ccc -> \skbondb etc
-\put(171,303){\set@skel@bond{#1}{d}{c}}%
- % bond between 4 and 4a \@ddd -> \skbondc etc
-\put(171,303){\set@skel@bond{#1}{k}{d}}%
- % bond between 4a and 8a \@kkk -> \skbondd etc
-\put(171,303){\set@skel@bond{#1}{j}{e}}%
- % bond between 8a and 1 \@jjj -> \skbonde etc
-\put(171,303){\set@skel@bond{#1}{a}{f}}%
- % bond between 1 and 2 \@aaa -> \skbondf etc
-}%
-{%
- \let\aaa=\jjj\let\bbb=\iii
- \let\ccc=\eee\let\ddd=\fff
- \let\eee=\ggg\let\fff=\hhh
-\set@skel@bond{#1}{e}{b}% bond between 4a and 5 \@eee -> \skbondb etc
-\set@skel@bond{#1}{f}{c}% bond between 5 and 6 \@fff -> \skbondc etc
-\set@skel@bond{#1}{g}{d}% bond between 6 and 7 \@ggg -> \skbondd etc
-\set@skel@bond{#1}{h}{e}% bond between 7 and 8 \@hhh -> \skbonde etc
-\set@skel@bond{#1}{i}{f}% bond between 8 and 8a \@iii -> \skbondf etc
-}%
-\endgroup
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-{%
- \let\ccc=\eee\let\ddd=\fff\let\eee=\ggg\let\fff=\ggg
- \put(0,0){\bondc}% bond between 7 and 8
- \put(0,0){\bonde}% bond between 5 and 6
-}%
-{%
- \let\fff=\aaa\let\aaa=\bbb
- \let\bbb=\ccc\let\ccc=\ddd
- \let\ddd=\iii\let\eee=\jjj
- \put(171,303){\bondf}% bond between 1 and 2
- \put(171,303){\bondb}% bond between 3 and 4
- \put(171,303){\bondd}% bond between 4a and 8a
-}%
-\else\if\member l\relax%
-\else\if\member a\relax%
-{\let\fff=\aaa\let\aaa=\bbb
- \put(171,303){\bondf}% bond between 1 and 2
-}%
-\else\if\member b\relax
-{\let\aaa=\bbb\let\bbb=\ccc
- \put(171,303){\bonda}% bond between 2 and 3
-}%
-\else\if\member c\relax
-{\let\bbb=\ccc\let\ccc=\ddd
- \put(171,303){\bondb}% bond between 3 and 4
-}%
-\else\if\member d\relax%
-{\let\ccc=\ddd\let\ddd=\eee
- \put(171,303){\bondc}% bond between 4 and 4a
-}%
-\else\if\member e\relax%
-{\let\ccc=\eee\let\bbb=\iii%
- \put(0,0){\bondb}% bond between 5 and 4a
-}%
-\else\if\member f\relax%
-{\let\ccc=\eee\let\ddd=\fff
- \put(0,0){\bondc}% bond between 5 and 6
-}%
-\else\if\member g\relax%
-{\let\ddd=\fff\let\eee=\ggg
- \put(0,0){\bondd}% bond between 6 and 7
-}%
-\else\if\member h\relax%
-{\let\eee=\ggg \let\fff=\hhh%
- \put(0,0){\bonde}% bond between 8 and 7
-}%
-\else\if\member i\relax%
-{\let\aaa=\jjj \let\fff=\hhh%
- \put(0,0){\bondf}% bond between 8 and 8a
-}%
-\else\if\member j\relax%
-{\let\fff=\aaa\let\eee=\jjj%
- \put(171,303){\bonde}% bond between 1 and 8a
-}%
-\else\if\member k\relax%
-{\let\aaa=\jjj\let\bbb=\iii%
- \put(0,0){\bonda}% bond between 8a and 4a
-}%
-\else\if\member K\relax%
-{\let\eee=\jjj\let\ddd=\iii%
- \put(171,303){\bondd}% bond between 8a and 4a in the other ring
-}%
-\else\if\member A%left aromatic circle
- \put(171,506){\circle{240}} %circle
-\else\if\member B%left aromatic circle
- \put(0,203){\circle{240}} %circle
-\else
- \expandafter\twoCH@@R\member//%
- \def\aax{8a}\def\aay{4a}\def\aaz{10}%
- \if\@@tmpa 1\relax% % plus charge etc.
- \putlatom{111}{546}{\@@tmpb}% % left type
- \else\if\@@tmpa 2\relax%
- \putlatom{209}{585}{\@@tmpb}% % left type
- \else\if\@@tmpa 3\relax%
- \putratom{209}{546}{\@@tmpb}% % right type
- \else\if\@@tmpa 4\relax%
- \putratom{209}{431}{\@@tmpb}% % right type
- \else\if\@@tmpa 5\relax%
- \putratom{60}{120}{\@@tmpb}% % right type
- \else\if\@@tmpa 6\relax%
- \putratom{-38}{68}{\@@tmpb}% % right type
- \else\if\@@tmpa 7\relax%
- \putratom{-120}{120}{\@@tmpb}% % right type
- \else\if\@@tmpa 8\relax%
- \putlatom{-60}{253}{\@@tmpb}% % left type
- \else\if\@@tmpa 9\relax%
- \putratom{60}{253}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aaz\relax%
- \putratom{-38}{282}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aax\relax%
- \putratom{-38}{282}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aay\relax%
- \putratom{60}{253}{\@@tmpb}% % right type
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-% ***********************
-% * setting fused rings *
-% ***********************
- \expandafter\twoCH@R\member//%
- \set@fusion@decavt
-\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-\fi\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag
-\put(0,0){\set@hetatom@sixv{#3}{-2}{2}{7}{0}%
- \@hclipfalse \if@fclip \global\@hcliptrue \fi%
- \@gclipfalse \if@eclip \global\@gcliptrue \fi%
- \@fclipfalse \if@clip \global\@fcliptrue \fi%
- \@eclipfalse \if@cclip \global\@ecliptrue \fi%
-}% %substituents on 5 to 8
-\put(0,0){\set@vrtx@decafusevt{#3}%
- \if@iclip \global\@icliptrue \fi
- \if@jclip \global\@jcliptrue \fi
-}%9 %for 4a position, %10 for 8a position
-%to be done after all (exept aclip)
-\put(171,303){\set@hetatom@sixv{#3}{-1}{0}{4}{0}%
-\@clipfalse \if@cclip \global\@cliptrue \fi%
-\@cclipfalse \if@bclip \global\@ccliptrue \fi%
-\@bclipfalse \if@aclip \global\@bcliptrue \fi%
-}% %substituents on 2 to 4
-{%
-\@fclipfalse%locally cancelled 1999/2/15 by Shinsaku Fujita
-\put(171,303){\set@hetatom@sixv{#3}{5}{5}{7}{0}%
-\@aclipfalse \if@fclip \global\@acliptrue \fi%
-}% %substituent on 1
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents and exocyclic bonds %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-{%
-\@fclipfalse \if@aclip \@fcliptrue \fi%
-\put(171,303){\setsixringv{#4}{5}{5}{7}{0}}% %substituent on 1
-}%
-{%
-\@aclipfalse \if@bclip \@acliptrue \fi%
-\@bclipfalse \if@cclip \@bcliptrue \fi%
-\@cclipfalse \if@clip \@ccliptrue \fi%
-\put(171,303){\setsixringv{#4}{-1}{0}{4}{0}}% %substituents on 2 to 4
-}%
-{%
- \@cclipfalse \if@eclip \@ccliptrue \fi%
- \@clipfalse \if@fclip \@cliptrue \fi%
- \@eclipfalse \if@gclip \@ecliptrue \fi%
- \@fclipfalse \if@hclip \@fcliptrue \fi%
-\put(0,0){\setsixringv{#4}{-2}{2}{7}{0}}% %substituents on 5 to 8
-}%
-{\@clipfusefalse \if@iclip \@clipfusetrue \fi%
- \put(171,303){\setatombond{#4}{-8}{5}}% %9 %for 4a position
-}%
-{\@clipfusefalse \if@jclip \@clipfusetrue \fi%
- \put(0,406){\setatombond{#4}{-9}{11}}% %10 for 8a position
-}%
-\end{picture}\iniatom\iniflag}% %end of \decaheterovt macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The command |\ylhetpositiont| is used in the |\decaheterovt| command,
-% giving the sift values for drawing a structure as a substituent.
-% \changes{v1.02}{1998/10/18}{Newly added command}
-%
-% \begin{macro}{\ylhetpositiont}
-% \begin{macrocode}
-\def\ylhetpositiont#1#2#3#4#5{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}\relax%
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifnum#5<0\relax%
-\@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
-\else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax\fi
-\ifnum\@tmpaa>#3\relax%
-\ifnum\@tmpaa<#4\relax%
-\ifcase\@tmpaa%0 omit
- \or
- \ifx\aaa\empty%
- \ifx\bbb\empty% aaa and bbb are absent
- \gdef\@ylii{0}\gdef\@yli{-406}\global\@ylswtrue%\@ylatrue% subst. on 1
- \else% bbb is present
- \gdef\@ylii{0}\gdef\@yli{-442}\global\@ylswtrue%\@ylatrue% subst. on 1
- \fi
- \else%aaa is present
- \gdef\@ylii{0}\gdef\@yli{-442}\global\@ylswtrue%\@ylatrue% subst. on 1
- \fi
- \or
- \ifx\bbb\empty
- \ifx\ccc\empty% aaa and ccc are absent
- \gdef\@ylii{-171}\gdef\@yli{-303}\global\@ylswtrue%\@ylbtrue% subst. on 2
- \else%ccc is present
- \gdef\@ylii{-213}\gdef\@yli{-327}\global\@ylswtrue%\@ylbtrue% subst. on 2
- \fi
- \else
- \gdef\@ylii{-213}\gdef\@yli{-327}\global\@ylswtrue%\@ylbtrue% subst. on 2
- \fi
- \or
- \ifx\ccc\empty
- \ifx\ddd\empty
- \ifx\eee\empty% ccc, ddd, eee are absent
- \gdef\@ylii{-171}\gdef\@yli{-103}\global\@ylswtrue%\@ylctrue%subst. on 3
- \else%eee is present
- \gdef\@ylii{-213}\gdef\@yli{-79}\global\@ylswtrue%\@ylctrue% subst. on 3
- \fi
- \else%ddd is present
- \gdef\@ylii{-213}\gdef\@yli{-79}\global\@ylswtrue%\@ylctrue% subst. on 3
- \fi
- \else%ccc is present
- \gdef\@ylii{-213}\gdef\@yli{-79}\global\@ylswtrue%\@ylctrue% subst. on 3
- \fi
- \or
- \ifx\ddd\empty
- \ifx\fff\empty%ddd and fff are absent
- \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%\@yldtrue% subst. on 4
- \else%fff present
- \gdef\@ylii{0}\gdef\@yli{36}\global\@ylswtrue%\@yldtrue% subst. on 4
- \fi
- \else% ddd present
- \gdef\@ylii{0}\gdef\@yli{36}\global\@ylswtrue%\@yldtrue% subst. on 4
- \fi
- \or
- \ifx\eee\empty
- \ifx\ggg\empty%eee and ggg are absent
- \gdef\@ylii{173}\gdef\@yli{-103}\global\@ylswtrue%\@yletrue% subst. on 5
- \else% ggg is present
- \gdef\@ylii{223}\gdef\@yli{-79}\global\@ylswtrue%\@yletrue% subst. on 5
- \fi
- \else% eee is present
- \gdef\@ylii{223}\gdef\@yli{-79}\global\@ylswtrue%\@yletrue% subst. on 5
- \fi
- \or
- \ifx\fff\empty
- \ifx\hhh\empty%fff and hhh are absent
- \gdef\@ylii{173}\gdef\@yli{-303}\global\@ylswtrue%\@ylftrue% subst. on 6
- \else%hhh is present
- \gdef\@ylii{213}\gdef\@yli{-327}\global\@ylswtrue%\@ylftrue% subst. on 6
- \fi
- \else%fff is present
- \gdef\@ylii{213}\gdef\@yli{-327}\global\@ylswtrue%\@ylftrue% subst. on 6
- \fi
-\fi%end of ifcase
-\fi\fi\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\set@vrtx@decafusevt| is used to typeset a hetero
-% atom at each fused vertex (4a or 8a) of a decaheterovt ring.
-%
-% \begin{macro}{\set@vrtx@decafusevt}
-% \begin{macrocode}
-\def\set@vrtx@decafusevt#1{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\ifcase\@tmpa\or\or\or
- \or%%%%4
- \if\@tmpb a%
- \global\@icliptrue%
- \putratom{135}{280}{\@memberb}% % right type
- \else\relax
- \fi
- \or\or\or
- \or%8
- \if\@tmpb a%
- \global\@jcliptrue%
- \putlatom{31}{356}{\@memberb}% % left type
- \else\relax
- \fi
-\or%9 (= 4a)
- \global\@icliptrue%
- \putratom{135}{280}{\@memberb}% % right type
-\or%10 (= 8a)
- \global\@jcliptrue%
- \putlatom{31}{356}{\@memberb}% % left type
-\fi\fi}%
-}% end of the macro \set@vrtx@decafusevt
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Short-cut commands for fused heterocycles}
-%
-% The macros |\decaheterov|, |\decaheterovb|, and
-% |\decaheterovt| can be used in the form of a fixed |ATOMLIST|.
-% Hence, the resulting commands for drawing a fused heterocyle
-% with one or more nitrogen atoms have an argument |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-%
-% \begin{verbatim}
-% ****************************************************
-% * heterocycles having two fused six-membered rings *
-% * (vertical type) *
-% ****************************************************
-%
-% \quinolinev[BONDLIST]{SUBSLIST}
-% \quinolinevi[BONDLIST]{SUBSLIST}
-% \quinolinevb[BONDLIST]{SUBSLIST}
-% \quinolinevt[BONDLIST]{SUBSLIST}
-%
-% \isoquinolinev[BONDLIST]{SUBSLIST}
-% \isoquinolinevi[BONDLIST]{SUBSLIST}
-% \isoquinolinevb[BONDLIST]{SUBSLIST}
-% \isoquinolinevt[BONDLIST]{SUBSLIST}
-%
-% \quinoxalinev[BONDLIST]{SUBSLIST}
-% \quinoxalinevi[BONDLIST]{SUBSLIST}
-% \quinoxalinevb[BONDLIST]{SUBSLIST}
-% \quinoxalinevt[BONDLIST]{SUBSLIST}
-%
-% \quinazolinev[BONDLIST]{SUBSLIST}
-% \quinazolinevi[BONDLIST]{SUBSLIST}
-% \quinazolinevb[BONDLIST]{SUBSLIST}
-% \quinazolinevt[BONDLIST]{SUBSLIST}
-%
-% \cinnolinev[BONDLIST]{SUBSLIST}
-% \cinnolinevi[BONDLIST]{SUBSLIST}
-% \cinnolinevb[BONDLIST]{SUBSLIST}
-% \cinnolinevt[BONDLIST]{SUBSLIST}
-%
-% \pteridinev[BONDLIST]{SUBSLIST}
-% \pteridinevi[BONDLIST]{SUBSLIST}
-% \pteridinevb[BONDLIST]{SUBSLIST}
-% \pteridinevt[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one character selected
-% from a to k (K), each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The optiona `A' and `B' typeset aromatic circles.
-% The option
-% `$n+$' ($n=1$ to $10$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of bonds
-%
-% none or r : decahetero (right-handed)
-% l : decahetero (left-handed)
-% [] : fully saturated form
-% a : 1,2-double bond b : 2,3-double bond
-% c : 4,3-double bond d : 4,4a-double bond
-% e : 4a,5-double bond f : 5,6-double bond
-% g : 6,7-double bond h : 7,8-double bond
-% i : 8,8a-double bond j : 1,8a-double bond
-% k : 4a,8a-double bond
-% K : 4a,8a-double bond in the other ring
-% A : aromatic circle B : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 10)
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for 9 (4a position) and 10 (8a position)
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \quinolinev{3==Cl;2==F}
-% \quinolinev{3==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% \begin{macro}{\quinolinev}
-% \begin{macro}{\quinolinevi}
-% \begin{macro}{\quinolinevb}
-% \begin{macro}{\quinolinevt}
-% \changes{v1.02}{1998/10/18}{Newly added commands:
-% \cs{quinolinevb} and \cs{quinolinevt}}
-% \begin{macrocode}
-\def\quinolinev{%
- \@ifnextchar[{\@quinolinev[@}{\@quinolinev[acfhk]}}
-\def\@quinolinev[#1]#2{%
-\iforigpt \typeout{command `quinolinev' %
- is based on `decaheterov'.}\fi%
-\decaheterov[#1]{1==N}{#2}}
-\def\quinolinevi{%
- \@ifnextchar[{\@quinolinevi[@}{\@quinolinevi[acfhk]}}
-\def\@quinolinevi[#1]#2{%
-\iforigpt \typeout{command `quinolinevi' %
- is based on `decaheterovi'.}\fi%
-\decaheterovi[#1]{1==N}{#2}}
-\def\quinolinevb{%
- \@ifnextchar[{\@quinolinevb[@}{\@quinolinevb[acfhk]}}
-\def\@quinolinevb[#1]#2{%
-\iforigpt \typeout{command `quinolinevb' %
- is based on `decaheterovb'.}\fi%
-\decaheterovb[#1]{1==N}{#2}}
-\def\quinolinevt{%
- \@ifnextchar[{\@quinolinevt[@}{\@quinolinevt[acfhk]}}
-\def\@quinolinevt[#1]#2{%
-\iforigpt \typeout{command `quinolinevt' %
- is based on `decaheterovt'.}\fi%
-\decaheterovt[#1]{1==N}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\isoquinolinev}
-% \begin{macro}{\isoquinolinevi}
-% \begin{macro}{\isoquinolinevb}
-% \begin{macro}{\isoquinolinevt}
-% \changes{v1.02}{1998/10/18}{Newly added commands:
-% \cs{isoquinolinevb} and \cs{isoquinolinevt}}
-% \begin{macrocode}
-\def\isoquinolinev{%
- \@ifnextchar[{\@isoquinolinev[@}{\@isoquinolinev[acfhk]}}
-\def\@isoquinolinev[#1]#2{%
-\iforigpt \typeout{command `isoquinolinev' %
- is based on `decaheterov'.}\fi%
-\decaheterov[#1]{2==N}{#2}}
-\def\isoquinolinevi{%
- \@ifnextchar[{\@isoquinolinevi[@}{\@isoquinolinevi[acfhk]}}
-\def\@isoquinolinevi[#1]#2{%
-\iforigpt \typeout{command `isoquinolinevi' %
- is based on `decaheterovi'.}\fi%
-\decaheterovi[#1]{2==N}{#2}}%
-\def\isoquinolinevb{%
- \@ifnextchar[{\@isoquinolinevb[@}{\@isoquinolinevb[acfhk]}}
-\def\@isoquinolinevb[#1]#2{%
-\iforigpt \typeout{command `isoquinolinevb' %
- is based on `decaheterovi'.}\fi%
-\decaheterovb[#1]{2==N}{#2}}%
-\def\isoquinolinevt{%
- \@ifnextchar[{\@isoquinolinevt[@}{\@isoquinolinevt[acfhk]}}
-\def\@isoquinolinevt[#1]#2{%
-\iforigpt \typeout{command `isoquinolinevt' %
- is based on `decaheterovt'.}\fi%
-\decaheterovt[#1]{2==N}{#2}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\quinoxalinev}
-% \begin{macro}{\quinoxalinevi}
-% \begin{macro}{\quinoxalinevb}
-% \begin{macro}{\quinoxalinevt}
-% \changes{v1.02}{1998/10/18}{Newly added commands:
-% \cs{quinoxalinevb} and \cs{quinoxalinevt}}
-% \begin{macrocode}
-\def\quinoxalinev{%
- \@ifnextchar[{\@quinoxalinev[@}{\@quinoxalinev[acfhk]}}
-\def\@quinoxalinev[#1]#2{%
-\iforigpt \typeout{command `quinoxalinev' %
- is based on `decaheterov'.}\fi%
-\decaheterov[#1]{1==N;4==N}{#2}}
-\def\quinoxalinevi{%
- \@ifnextchar[{\@quinoxalinevi[@}{\@quinoxalinevi[acfhk]}}
-\def\@quinoxalinev[#1]#2{%
-\iforigpt \typeout{command `quinoxalinevi' %
- is based on `decaheterovi'.}\fi%
-\decaheterovi[#1]{1==N;4==N}{#2}}
-\def\quinoxalinevb{%
- \@ifnextchar[{\@quinoxalinevb[@}{\@quinoxalinevb[acfhk]}}
-\def\@quinoxalinevb[#1]#2{%
-\iforigpt \typeout{command `quinoxalinevb' %
- is based on `decaheterovb'.}\fi%
-\decaheterovb[#1]{1==N;4==N}{#2}}
-\def\quinoxalinevt{%
- \@ifnextchar[{\@quinoxalinevt[@}{\@quinoxalinevt[acfhk]}}
-\def\@quinoxalinevt[#1]#2{%
-\iforigpt \typeout{command `quinoxalinevt' %
- is based on `decaheterovt'.}\fi%
-\decaheterovt[#1]{1==N;4==N}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\quinazolinev}
-% \begin{macro}{\quinazolinevi}
-% \begin{macro}{\quinazolinevb}
-% \begin{macro}{\quinazolinevt}
-% \changes{v1.02}{1998/10/18}{Newly added commands:
-% \cs{quinazolinevb} and \cs{quinazolinevt}}
-% \begin{macrocode}
-\def\quinazolinev{%
- \@ifnextchar[{\@quinazolinev[@}{\@quinazolinev[acfhk]}}
-\def\@quinazolinev[#1]#2{%
-\iforigpt \typeout{command `quinazolinev' %
- is based on `decaheterov'.}\fi%
-\decaheterov[#1]{1==N;3==N}{#2}}
-\def\quinazolinevi{%
- \@ifnextchar[{\@quinazolinevi[@}{\@quinazolinevi[acfhk]}}
-\def\@quinazolinevi[#1]#2{%
-\iforigpt \typeout{command `quinazolinevi' %
- is based on `decaheterovi'.}\fi%
-\decaheterovi[#1]{1==N;3==N}{#2}}
-\def\quinazolinevb{%
- \@ifnextchar[{\@quinazolinevb[@}{\@quinazolinevb[acfhk]}}
-\def\@quinazolinevb[#1]#2{%
-\iforigpt \typeout{command `quinazolinevb' %
- is based on `decaheterovb'.}\fi%
-\decaheterovb[#1]{1==N;3==N}{#2}}
-\def\quinazolinevt{%
- \@ifnextchar[{\@quinazolinevt[@}{\@quinazolinevt[acfhk]}}
-\def\@quinazolinevt[#1]#2{%
-\iforigpt \typeout{command `quinazolinevt' %
- is based on `decaheterovt'.}\fi%
-\decaheterovt[#1]{1==N;3==N}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\cinnolinev}
-% \begin{macro}{\cinnolinevi}
-% \begin{macro}{\cinnolinevb}
-% \begin{macro}{\cinnolinevt}
-% \changes{v1.02}{1998/10/18}{Newly added commands:
-% \cs{cinnolinevb} and \cs{cinnolinevt}}
-% \begin{macrocode}
-\def\cinnolinev{%
- \@ifnextchar[{\@cinnolinev[@}{\@cinnolinev[acfhk]}}
-\def\@cinnolinev[#1]#2{%
-\iforigpt \typeout{command `cinnolinev' %
- is based on `decaheterov'.}\fi%
-\decaheterov[#1]{1==N;2==N}{#2}}
-\def\cinnolinevi{%
- \@ifnextchar[{\@cinnolinevi[@}{\@cinnolinevi[acfhk]}}
-\def\@cinnolinevi[#1]#2{%
-\iforigpt \typeout{command `cinnolinevi' %
- is based on `decaheterovi'.}\fi%
-\decaheterovi[#1]{1==N;2==N}{#2}}
-\def\cinnolinevb{%
- \@ifnextchar[{\@cinnolinevb[@}{\@cinnolinevb[acfhk]}}
-\def\@cinnolinevb[#1]#2{%
-\iforigpt \typeout{command `cinnolinevb' %
- is based on `decaheterovb'.}\fi%
-\decaheterovb[#1]{1==N;2==N}{#2}}
-\def\cinnolinevt{%
- \@ifnextchar[{\@cinnolinevt[@}{\@cinnolinevt[acfhk]}}
-\def\@cinnolinevt[#1]#2{%
-\iforigpt \typeout{command `cinnolinevt' %
- is based on `decaheterovt'.}\fi%
-\decaheterovt[#1]{1==N;2==N}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\pteridinev}
-% \begin{macro}{\pteridinevi}
-% \begin{macro}{\pteridinevb}
-% \begin{macro}{\pteridinevt}
-% \changes{v1.02}{1998/10/18}{Newly added commands:
-% \cs{pteridinevb} and \cs{pteridinevt}}
-% \begin{macrocode}
-\def\pteridinev{\@ifnextchar[{\@pteridinev[@}{\@pteridinev[acfhk]}}
-\def\@pteridinev[#1]#2{%
-\iforigpt \typeout{command `pteridinev' %
- is based on `decaheterov'.}\fi%
-\decaheterov[#1]{1==N;3==N;5==N;8==N}{#2}}
-\def\pteridinevi{\@ifnextchar[{\@pteridinevi[@}{\@pteridinevi[acfhk]}}
-\def\@pteridinevi[#1]#2{%
-\iforigpt \typeout{command `pteridinevi' %
- is based on `decaheterovi'.}\fi%
-\decaheterovi[#1]{1==N;3==N;5==N;8==N}{#2}}
-\def\pteridinevb{\@ifnextchar[{\@pteridinevb[@}{\@pteridinevb[acfhk]}}
-\def\@pteridinevb[#1]#2{%
-\iforigpt \typeout{command `pteridinevb' %
- is based on `decaheterovb'.}\fi%
-\decaheterovb[#1]{1==N;3==N;5==N;8==N}{#2}}
-\def\pteridinevt{\@ifnextchar[{\@pteridinevt[@}{\@pteridinevt[acfhk]}}
-\def\@pteridinevt[#1]#2{%
-\iforigpt \typeout{command `pteridinevt' %
- is based on `decaheterovt'.}\fi%
-\decaheterovt[#1]{1==N;3==N;5==N;8==N}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \section{Six-to-five fused heterocycles}
-% \subsection{Vertical type}
-%
-% The standard skeleton of a six-to-five fused heterocycle is selected
-% to have the following locant numbers.
-%
-% \begin{verbatim}
-% **************************
-% * nonahetero derivatives *
-% * (vertical type) *
-% **************************
-% The following numbering is adopted in this macro.
-%
-% 4
-% * 3a(8)
-% 5 * * _____ 3
-% | | |
-% | | |
-% 6 * * * * 2
-% * 7a *
-% 7 (9) 1
-% ^
-% |
-% the original point
-% \end{verbatim}
-%
-% The macro |\nonaheterov| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \nonaheterov(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `j' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to j, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The options `A' and `B' represent aromatic circles in two rings.
-% The option `$n+$' ($n=1$ to $9$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of bonds
-%
-% none or r : aromatic six-membered ring
-% [] : fully saturated form
-% a : 1,2-double bond b : 2,3-double bond
-% c : 3,3a-double bond d : 4,3a-double bond
-% e : 4,5-double bond f : 5,6-double bond
-% g : 6,7-double bond h : 7,7a-double bond
-% i : 1,7a-double bond
-% j : 3a,4a-double bond
-% J : 3a,4a-double bond in the other ring
-% A : aromatic circle (six-membered ring)
-% B : aromatic circle (five-membered ring)
-% {n+} : plus at the n-nitrogen atom (n = 1 to 9)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 9 atoms)
-%
-% for n = 1 to 7
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% na : Hetero atom at 3a or 7b (n=3 or 7)
-% e.g. 3a==N (or 8==N) for N at 4a-position
-% 7a==N (or 9==N) for N at 8a-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for 8 (3a position) and 9 (7a position)
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a to j: see BONDLIST)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \nonaheterov{1==N}{1==Cl;2==F}
-% \nonaheterov[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% The definition of |\nonaheterov| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheterov|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringv| several times in
-% a restricted fashion.
-% \end{enumerate}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/5}{Add: fused and spiro rings}
-%
-% \begin{macro}{\nonaheterov}
-% \begin{macro}{\@nona@heterov}
-% \begin{macro}{\@nona@@heterov}
-% \begin{macro}{\@nonaheterov}
-% \begin{macrocode}
-\def\nonaheterov{\@ifnextchar({\@nona@heterov(@}{\@nona@heterov(@)}}
-\def\@nona@heterov(#1){\@ifnextchar[{\@nona@@heterov(#1)[@}%
-{\@nona@@heterov(#1)[@]}}
-\def\@nona@@heterov(#1)[#2]#3#4{\@ifnextchar[%
-{\@nonaheterov(#1)[#2]{#3}{#4}[@}%
-{\@nonaheterov(#1)[#2]{#3}{#4}[@]}}
-\def\@nonaheterov(#1)[#2]#3#4[#5]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag\iniatom%
-\test@vertix@nonav{#3}%
-% %%%%%%%%%%%%%%%%%%%%%%%
-% % adjustment for (yl) %
-% %%%%%%%%%%%%%%%%%%%%%%%
-\@reset@ylsw%
-\ylposition{#4}{5}{1}{5}{-1}% %substituents on 1 to 3
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-342}\def\@@yli{0}\fi
-\else
-{\let\ddd=\eee\let\eee=\fff\let\fff=\ggg
-\ylposition{#4}{11}{3}{7}{-1}% %substituents on 5 to 7
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{\let\aaa=\hhh
-\ylposition{#4}{-3}{0}{2}{0}%%substituent on 4
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{%
-\clipdetection%
-\@clipfusefalse \if@iclip \@clipfusetrue \fi%
-\ylatombondposition{#4}{-8}{7}% %9 %for 7a position
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-171}\def\@@yli{-103}\fi
-\else
-{%
-\clipdetection%
-\@clipfusefalse \if@jclip \@clipfusetrue \fi%
-\ylatombondposition{#4}{-7}{1}% %8 for 3a position
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-171}\def\@@yli{-303}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(1200,880)(-\shiftii,-\shifti)%
- \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `nonaheterov' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-\begingroup
-\resetbdsw%
-\@bond@@omit{#5}%
-{\let\fff=\jjj \let\eee=\iii%
-\put(342,0){\set@skel@bond{#1}{a}{c}}%
- % bond between 1 and 2 \@aaa -> \skbondc etc
-\put(342,0){\set@skel@bond{#1}{b}{b}}%
- % bond between 2 and 3 \@bbb -> \skbondb etc
-\put(342,0){\set@skel@longbond{#1}{c}{skbondhoriz}}%
- % bond between 3 and 3a \@ccc -> \skbondhoriz etc
-\put(342,0){\set@skel@bond{#1}{j}{e}}%
- % bond between 3a and 7a \@jjj -> \skbonde etc
-\put(342,0){\set@skel@bond{#1}{i}{d}}%
- % bond between 7a and 1 \@iii -> \skbondd etc
-}%
-{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg%
- \let\ccc=\iii\let\bbb=\jjj%
-\set@skel@bond{#1}{d}{a}% bond between 3a and 4 \@ddd -> \skbonda etc
-\set@skel@bond{#1}{h}{c}% bond between 7 and 7a \@hhh -> \skbondc etc
-\set@skel@bond{#1}{g}{d}% bond between 6 and 7 \@ggg -> \skbondd etc
-\set@skel@bond{#1}{f}{e}% bond between 5 and 6 \@fff -> \skbonde etc
-\set@skel@bond{#1}{e}{f}% bond between 4 and 5 \@eee -> \skbondf etc
-}%
-\endgroup
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg%
- \let\ccc=\iii\let\bbb=\jjj%
- \put(0,0){\bondb}% bond between 3a and 7a
- \put(0,0){\bondf}% bond between 4 and 5
- \put(0,0){\bondd}% bond between 6 and 7
-}%
-\else\if\member l\relax%
-\else\if\member a\relax%
- \put(342,0){\bondc}% bond between 3 and 4
-\else\if\member b\relax%
- \put(342,0){\bondb}% bond between 2 and 3
-\else\if\member c\relax%
- \put(342,0){\bondhoriz}% bond between 3 and 3a
-\else\if\member d\relax%
-{\let\aaa=\hhh \let\bbb=\jjj%
- \put(0,0){\bonda}% bond between 4 and 3a
-}
-\else\if\member e\relax%
-{\let\aaa=\hhh \let\fff=\ggg%
- \put(0,0){\bondf}% bond between 4 and 5
-}%
-\else\if\member f\relax%
-{\let\eee=\fff \let\fff=\ggg%
- \put(0,0){\bonde}% bond between 5 and 6
-}%
-\else\if\member g\relax%
-{\let\ddd=\eee \let\eee=\fff%
- \put(0,0){\bondd}% bond between 6 and 7
-}%
-\else\if\member h\relax%
-{\let\ccc=\iii \let\ddd=\eee%
- \put(0,0){\bondc}% bond between 7 and 7a
-}%
-\else\if\member i\relax%
-{\let\eee=\iii%
- \put(342,0){\bondd}% bond between 1 and 7a
-}%
-\else\if\member j\relax%
-{\let\ccc=\iii\let\bbb=\jjj%
- \put(0,0){\bondb}% bond between 7a and 3a
-}%
-\else\if\member J\relax%
-{\let\eee=\iii\let\fff=\jjj%
- \put(342,0){\bonde}% bond between 7a and 3a
-}%
-\else\if\member A%left aromatic circle
- \put(0,203){\circle{240}} %circle
-\else\if\member B%left aromatic circle
- \put(342,173){\circle{180}} %circle 1993/11/20 S.Fujita
-\else
- \expandafter\twoCH@@R\member//%
- \def\aax{7a} \def\aay{3a}%
- \if\@@tmpa 1\relax%
- \putratom{304}{68}{\@@tmpb}% % right type
- \else\if\@@tmpa 2\relax%
- \putratom{402}{120}{\@@tmpb}% % right type
- \else\if\@@tmpa 3\relax%
- \putratom{402}{253}{\@@tmpb}% % right type
- \else\if\@@tmpa 4\relax%
- \putratom{-38}{282}{\@@tmpb}% % right type
- \else\if\@@tmpa 5\relax%
- \putlatom{-60}{120}{\@@tmpb}% % left type
- \else\if\@@tmpa 6\relax%
- \putlatom{-60}{253}{\@@tmpb}% % left type
- \else\if\@@tmpa 7\relax%
- \putratom{-38}{68}{\@@tmpb}% % right type
- \else\if\@@tmpa 8\relax%
- \putratom{60}{253}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aax\relax%
- \putratom{60}{253}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aay\relax%
- \putratom{60}{120}{\@@tmpb}% % right type
- \else\if\@@tmpa 9\relax%
- \putratom{60}{120}{\@@tmpb}% % right type
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-% ***********************
-% * setting fused rings *
-% ***********************
- \expandafter\twoCH@R\member//%
- \set@fusion@nonav
-\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-\fi\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms and spiro rings %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag\iniatom%
-\@tmpclipfalse
-%position 7 should be treated befor position 1 (using the same \if@clip)
-\put(0,0){\set@hetatom@sixv{#3}{11}{3}{7}{-1}%
- \@gclipfalse \if@fclip \global\@gcliptrue \fi%
- \@fclipfalse \if@eclip \global\@fcliptrue \fi%
- \@eclipfalse \if@clip \global\@ecliptrue \fi%
-}%substituents on 5 to 7
-\put(342,0){\set@hetatom@sixv{#3}{5}{1}{5}{-1}%
- \if@bclip \global\@bcliptrue\fi
- \if@cclip \global\@ccliptrue\fi
- \if@clip \global\@cliptrue\fi
-}% %substituents on 1 to 3
-\put(0,0){\set@hetatom@sixv{#3}{-3}{0}{2}{0}%
- \@aclipfalse \if@aclip \global\@hcliptrue \fi%
-}%%substituent on 4
-\put(0,0){\set@vrtx@nonafusev{#3}%
- \@tmpclipfalse
- \if@iclip \global\@tmpcliptrue \fi
- \if@jclip \global\@icliptrue \fi
- \if@tmpclip \global\@jcliptrue \fi
-}% fused positions
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents and exocyclic bonds %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\put(342,0){\setsixringv{#4}{5}{1}{5}{-1}}% %substituents on 1 to 3
-{\@clipfalse \if@eclip \@cliptrue \fi% %substituents on 5 to 7
- \@eclipfalse \if@fclip \@ecliptrue \fi%
- \@fclipfalse \if@gclip \@fcliptrue \fi%
-\put(0,0){\setsixringv{#4}{11}{3}{7}{-1}}%
-}%
-{\@aclipfalse \if@hclip \@acliptrue \fi% %substituent on 4
-\put(0,0){\setsixringv{#4}{-3}{0}{2}{0}}%
-}%
-{\@clipfusefalse \if@iclip \@clipfusetrue \fi%
- \put(171,103){\setatombond{#4}{-8}{7}}% %9 for 7a position
-}%
-{\@clipfusefalse \if@jclip \@clipfusetrue \fi%
- \put(171,303){\setatombond{#4}{-7}{1}}% %8 for 3a position
-}%
-\end{picture}\iniatom\iniflag}% %end of \nonaheterov macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\test@vertix@nonav| is used to test the presence of
-% a hetero atom or a spiro substituent on a vertex of the
-% nonaheterov nucleus.
-% \changes{v2.00}{1998/12/05}{New command: \cs{test@vertix@nonav}}
-%
-% \begin{macro}{\test@vertix@nonav}
-% \begin{macrocode}
-\def\test@vertix@nonav#1{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\ifcase\@tmpa%
- \or%
- \if\@tmpb s\relax\def\ddd{}\else\def\ddd{@}\fi
- \or%2
- \if\@tmpb s\relax\def\ccc{}\else\def\ccc{@}\fi
- \or%3%
- \if\@tmpb a%
- \def\jjj{@}%3a
- \else\if\@tmpb s%
- \def\bbb{}%3
- \else\if\@tmpb h%
- \def\bbb{@}%3
- \else\ifx\@tmpb\empty%
- \def\bbb{@}%3
- \fi\fi\fi\fi%
- \or%4
- \if\@tmpb s\relax\def\hhh{}\else\def\hhh{@}\fi
- \or%5
- \if\@tmpb s\relax\def\ggg{}\else\def\ggg{@}\fi
- \or%6
- \if\@tmpb s\relax\def\fff{}\else\def\fff{@}\fi
- \or%7
- \if\@tmpb a%
- \xdef\iii{@}%7a
- \else\if\@tmpb s%
- \xdef\eee{}%7s
- \else\if\@tmpb h%
- \xdef\eee{@}%7h
- \else\ifx\@tmpb\empty%
- \xdef\eee{@}%7
- \fi\fi\fi\fi%
-\or%8 (= 3a)
- \if\@tmpb s\relax\def\jjj{}\else\def\jjj{@}\fi
-\or%9 (= 7a)
- \if\@tmpb s\relax\def\iii{}\else\def\iii{@}\fi
-\fi\fi}}% end of \test@vertix@nonav
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\set@vrtx@nonafusev| is used to set
-% a hetero atom or on a vertex of a bridgehead location.
-%
-% \begin{macro}{\set@vrtx@nonafusev}
-% \begin{macrocode}
-\def\set@vrtx@nonafusev#1{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\ifcase\@tmpa\or\or
- \or%%%%3
- \if\@tmpb a%
- \global\@icliptrue%
- \putlatom{207}{280}{\@memberb}% % left type
- \else\relax
- \fi
- \or\or\or
- \or%7
- \if\@tmpb a%
- \global\@jcliptrue%
- \putlatom{207}{65}{\@memberb}% % left type
- \else\relax
- \fi
-\or%8 (= 3a)
- \global\@icliptrue%
- \putlatom{207}{280}{\@memberb}% % left type
-\or%9 (= 7a)
- \global\@jcliptrue%
- \putlatom{207}{65}{\@memberb}% % left type
-\fi\fi}%
-}% end of the macro \set@vrtx@nonafusev
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse vertical type}
-%
-% The standard skeleton of a six-to-five fused heterocycle is selected
-% to have the following locant numbers.
-%
-% \begin{verbatim}
-% **********************************
-% * nonahetero derivatives *
-% * (vertical type, inverse type) *
-% **********************************
-% The following numbering is adopted in this macro.
-%
-% 7(10) 1
-% * 7a *
-% 6 * * * * 2
-% | | |
-% | |_____|
-% 5 * * 3
-% * 3a(8)
-% 4
-% ^
-% |
-% the original point
-% \end{verbatim}
-%
-% The macro |\nonaheterovi| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \nonaheterovi(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `j' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to j, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The options `A' and `B' represent aromatic circles in two rings.
-% The option `$n+$' ($n=1$ to $9$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of bonds
-%
-% none or r : aromatic six-membered ring
-% [] : fully saturated form
-% a : 1,2-double bond b : 2,3-double bond
-% c : 3,3a-double bond d : 4,3a-double bond
-% e : 4,5-double bond f : 5,6-double bond
-% g : 6,7-double bond h : 7,7a-double bond
-% i : 1,7a-double bond
-% j : 3a,4a-double bond
-% J : 3a,4a-double bond in the other ring
-% A : aromatic circle (six-membered ring)
-% B : aromatic circle (five-membered ring)
-% {n+} : plus at the n-nitrogen atom (n = 1 to 9)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 9 atoms)
-%
-% for n = 1 to 7
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% na : Hetero atom at 3a or 7b (n=3 or 7)
-% e.g. 3a==N (or 8==N) for N at 4a-position
-% 7a==N (or 9==N) for N at 8a-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for 8 (3a position) and 9 (7a position)
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a to j: see BONDLIST)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \nonaheterovi{1==N}{1==Cl;2==F}
-% \nonaheterovi[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% The definition of |\nonaheterovi| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheterov|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringv| several times in
-% a restricted fashion.
-% \end{enumerate}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/05}{Added: spiro and fused rings}
-%
-% \begin{macro}{\nonaheterovi}
-% \begin{macro}{\@nona@heterovi}
-% \begin{macro}{\@nona@@heterovi}
-% \begin{macro}{\@nonaheterovi}
-% \begin{macrocode}
-\def\nonaheterovi{\@ifnextchar({\@nona@heterovi(@}{\@nona@heterovi(@)}}
-\def\@nona@heterovi(#1){\@ifnextchar[{\@nona@@heterovi(#1)[@}%
-{\@nona@@heterovi(#1)[@]}}
-\def\@nona@@heterovi(#1)[#2]#3#4{\@ifnextchar[%
-{\@nonaheterovi(#1)[#2]{#3}{#4}[@}%
-{\@nonaheterovi(#1)[#2]{#3}{#4}[@]}}
-\def\@nonaheterovi(#1)[#2]#3#4[#5]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag\iniatom%initialize
-\test@vertix@nonavi{#3}%
-% %%%%%%%%%%%%%%%%%%%%%%%
-% % adjustment for (yl) %
-% %%%%%%%%%%%%%%%%%%%%%%%
-\@reset@ylsw%
-\ylposition{#4}{0}{0}{4}{0}% %substituents on 1 to 3
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-342}\def\@@yli{0}\fi
-\else
-{\let\ddd=\eee\let\eee=\fff\let\fff=\ggg
-\ylposition{#4}{0}{3}{7}{0}%%substituents on 4 to 6
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{\let\aaa=\hhh
-\ylposition{#4}{-6}{0}{2}{0}%%substituent on 7
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{%
-\clipdetection%
-\@clipfusefalse \if@iclip \@clipfusetrue \fi%
-\ylatombondposition{#4}{-7}{7}% %8 for 3a position
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-171}\def\@@yli{-103}\fi
-\else
-{%
-\clipdetection%
-\@clipfusefalse \if@jclip \@clipfusetrue \fi%
-\ylatombondposition{#4}{-8}{1}% %9 for 7a position
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-171}\def\@@yli{-303}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(1200,880)(-\shiftii,-\shifti)%
- \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `nonaheterovi' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-\begingroup
-\resetbdsw%
-\@bond@@omit{#5}%
-{\let\fff=\jjj \let\eee=\iii%
-\put(342,0){\set@skel@bond{#1}{a}{a}}%
- % bond between 1 and 2 \@aaa -> \skbonda etc
-\put(342,0){\set@skel@bond{#1}{b}{b}}%
- % bond between 2 and 3 \@bbb -> \skbondb etc
-\put(342,0){\set@skel@longbond{#1}{c}{skbondhorizi}}%
- % bond between 3 and 3a \@ccc -> \skbondhoriz etc
-\put(342,0){\set@skel@bond{#1}{j}{e}}%
- % bond between 3a and 7a \@jjj -> \skbonde etc
-\put(342,0){\set@skel@bond{#1}{i}{f}}%
- % bond between 7a and 1 \@iii -> \skbondf etc
-%
-% \put(342,0){\skbonda}% bond between 1 and 2
-% \put(342,0){\skbondb}% bond between 2 and 3
-% \put(342,0){\skbonde}% bond between 7a and 3a
-% \put(342,0){\skbondf}% bond between 1 and 7a
-% \put(342,0){\skbondhorizi}% bond between 3 and 3a
-}%
-{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg%
- \let\ccc=\iii\let\bbb=\jjj%
-\set@skel@bond{#1}{h}{a}% bond between 7a and 7 \@hhh -> \skbonda etc
-\set@skel@bond{#1}{d}{c}% bond between 3a and 4 \@ddd -> \skbondc etc
-\set@skel@bond{#1}{e}{d}% bond between 4 and 5 \@eee -> \skbondd etc
-\set@skel@bond{#1}{f}{e}% bond between 5 and 6 \@fff -> \skbonde etc
-\set@skel@bond{#1}{g}{f}% bond between 6 and 7 \@ggg -> \skbondf etc
-%
-% \put(0,0){\skbonda}% bond between 7 and 7a
-% \put(0,0){\skbondc}% bond between 4 and 3a
-% \put(0,0){\skbondf}% bond between 6 and 7
-% \put(0,0){\skbondd}% bond between 4 and 5
-% \put(0,0){\skbonde}% bond between 5 and 6
-}%
-\endgroup
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg
- \let\ccc=\iii\let\bbb=\jjj
- \put(0,0){\bondb}% bond between 3a and 7a
- \put(0,0){\bondf}% bond between 6 and 7
- \put(0,0){\bondd}% bond between 4 and 5
-}%
-\else\if\member l\relax%
-\else\if\member a\relax%
- \put(342,0){\bonda}% bond between 1 and 2
-\else\if\member b\relax%
- \put(342,0){\bondb}% bond between 2 and 3
-\else\if\member c\relax%
- \put(342,0){\bondhorizi}% bond between 3 and 3a
-\else\if\member d\relax%
-{\let\ccc=\iii \let\ddd=\eee%
- \put(0,0){\bondc}% bond between 4 and 3a
-}%
-\else\if\member e\relax%
-{\let\ddd=\eee\let\eee=\fff%
- \put(0,0){\bondd}% bond between 4 and 5
-}%
-\else\if\member f\relax%
-{\let\eee=\fff \let\fff=\ggg%
- \put(0,0){\bonde}% bond between 5 and 6
-}%
-\else\if\member g\relax%
-{\let\aaa=\hhh \let\fff=\ggg%
- \put(0,0){\bondf}% bond between 7 and 6
-}%
-\else\if\member h\relax%
-{\let\aaa=\hhh \let\bbb=\jjj%
- \put(0,0){\bonda}% bond between 7 and 7a
-}%
-\else\if\member i\relax%
-{\let\fff=\jjj%
- \put(342,0){\bondf}% bond between 1 and 7a
-}%
-\else\if\member j\relax%
-{\let\ccc=\iii\let\bbb=\jjj%
- \put(0,0){\bondb}% bond between 7a and 3a
-}%
-\else\if\member J\relax%
-{\let\eee=\iii\let\fff=\jjj%
- \put(342,0){\bonde}% bond between 7a and 3a
-}%
-\else\if\member A%left aromatic circle
- \put(0,203){\circle{240}}% %circle
-\else\if\member B%left aromatic circle
- \put(342,233){\circle{180}} %circle 1993/11/20 S.Fujita
-\else
- \expandafter\twoCH@@R\member//%
- \def\aax{7a} \def\aay{3a}%
- \if\@@tmpa 1\relax%
- \putratom{304}{282}{\@@tmpb}% % right type
- \else\if\@@tmpa 3\relax%
- \putratom{402}{120}{\@@tmpb}% % right type
- \else\if\@@tmpa 2\relax%
- \putratom{402}{253}{\@@tmpb}% % right type
- \else\if\@@tmpa 7\relax%
- \putratom{-38}{282}{\@@tmpb}% % right type
- \else\if\@@tmpa 6\relax%
- \putlatom{-60}{120}{\@@tmpb}% % left type
- \else\if\@@tmpa 5\relax%
- \putlatom{-60}{253}{\@@tmpb}% % left type
- \else\if\@@tmpa 4\relax%
- \putratom{-38}{68}{\@@tmpb}% % right type
- \else\if\@@tmpa 9\relax%
- \putratom{60}{253}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aax\relax%
- \putratom{60}{253}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aay\relax%
- \putratom{60}{120}{\@@tmpb}% % right type
- \else\if\@@tmpa 8\relax%
- \putratom{60}{120}{\@@tmpb}% % right type
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-% ***********************
-% * setting fused rings *
-% ***********************
- \expandafter\twoCH@R\member//%
- \set@fusion@nonavi
-\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-\fi\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms and spiro rings %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag
-\put(342,0){\set@hetatom@sixv{#3}{0}{0}{4}{0}%
- \if@aclip \global\@acliptrue\fi
- \if@bclip \global\@bcliptrue\fi
- \if@cclip \global\@ccliptrue\fi
-}% %substituents on 1 to 3
-\put(0,0){\set@hetatom@sixv{#3}{0}{3}{7}{0}%
- \@gclipfalse \if@fclip \global\@gcliptrue \fi%
- \@fclipfalse \if@eclip \global\@fcliptrue \fi%
- \@eclipfalse \if@clip \global\@ecliptrue \fi}%substituents on 4 to 6
-\put(0,0){\set@hetatom@sixv{#3}{-6}{0}{2}{0}%
- \@hclipfalse \if@aclip \global\@hcliptrue \fi}%%substituent on 7
-\put(0,0){\set@vrtx@nonafusevi{#3}%
- \if@iclip \global\@icliptrue \fi
- \if@jclip \global\@jcliptrue \fi}% fused positions
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents and exocyclic bonds %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\put(342,0){\setsixringv{#4}{0}{0}{4}{0}}% %substituents on 1 to 3
-{\@clipfalse \if@eclip \@cliptrue \fi% %substituents on 4 to 6
- \@eclipfalse \if@fclip \@ecliptrue \fi%
- \@fclipfalse \if@gclip \@fcliptrue \fi%
-\put(0,0){\setsixringv{#4}{0}{3}{7}{0}}%
-}%
-{\@aclipfalse \if@hclip \@acliptrue \fi% %substituent on 7
-\put(0,0){\setsixringv{#4}{-6}{0}{2}{0}}%
-}%
-{\@clipfusefalse \if@iclip \@clipfusetrue \fi%
- \put(171,103){\setatombond{#4}{-7}{7}}% %8 for 3a position
-}%
-{\@clipfusefalse \if@jclip \@clipfusetrue \fi%
- \put(171,303){\setatombond{#4}{-8}{1}}% %9 for 7a position
-}%
-\end{picture}\iniatom\iniflag}% %end of \nonaheterovi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\test@vertix@nonavi| is used to test the presence of
-% a hetero atom or a spiro substituent on a vertex of the
-% nonaheterovi nucleus.
-% \changes{v2.00}{1998/12/05}{New command: \cs{test@vertix@nonavi}}
-%
-% \begin{macro}{\test@vertix@nonavi}
-% \begin{macrocode}
-\def\test@vertix@nonavi#1{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\ifcase\@tmpa%
- \or%
- \if\@tmpb s\relax\def\aaa{}\else\def\aaa{@}\fi
- \or%2
- \if\@tmpb s\relax\def\bbb{}\else\def\bbb{@}\fi
- \or%3%
- \if\@tmpb a%
- \def\iii{@}%3a
- \else\if\@tmpb s%
- \def\ccc{}%3
- \else\if\@tmpb h%
- \def\ccc{@}%3
- \else\ifx\@tmpb\empty%
- \def\ccc{@}%3
- \fi\fi\fi\fi%
- \or%4
- \if\@tmpb s\relax\def\eee{}\else\def\eee{@}\fi
- \or%5
- \if\@tmpb s\relax\def\fff{}\else\def\fff{@}\fi
- \or%6
- \if\@tmpb s\relax\def\ggg{}\else\def\ggg{@}\fi
- \or%7
- \if\@tmpb a%
- \xdef\jjj{@}%7a
- \else\if\@tmpb s%
- \xdef\hhh{}%7s
- \else\if\@tmpb h%
- \xdef\hhh{@}%7h
- \else\ifx\@tmpb\empty%
- \xdef\hhh{@}%7
- \fi\fi\fi\fi%
-\or%8 (= 3a)
- \if\@tmpb s\relax\def\iii{}\else\def\iii{@}\fi
-\or%9 (= 7a)
- \if\@tmpb s\relax\def\jjj{}\else\def\jjj{@}\fi
-\fi\fi}}
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\set@vrtx@nonafusevi| is used to set
-% a hetero atom on a vertex of a bridgehead location.
-% \changes{v2.00}{1998/12/05}{New command: \cs{set@vrtx@nonafusevi}}
-%
-% \begin{macro}{\set@vrtx@nonafusevi}
-% \begin{macrocode}
-\def\set@vrtx@nonafusevi#1{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else%
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\ifcase\@tmpa\or\or
- \or%%%%3
- \if\@tmpb a%
- \global\@icliptrue%
- \putlatom{207}{65}{\@memberb}% % left type
- \else\relax
- \fi
- \or\or\or
- \or%7
- \if\@tmpb a%
- \global\@jcliptrue%
- \putlatom{207}{280}{\@memberb}% % left type
- \else\relax
- \fi
-\or%8 (= 3a)
- \global\@icliptrue%
- \putlatom{207}{65}{\@memberb}% % left type
-\or%9 (= 7a)
- \global\@jcliptrue%
- \putlatom{207}{280}{\@memberb}% % left type
-\fi\fi}%
-}% end of the macro \set@vrtx@nonafusevi
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Short-cut commands for fused heterocycles}
-%
-% The macros |\nonaheterov| and |\nonaheterovi| can be used in the
-% form of a fixed |ATOMLIST|. Hence, the resulting commands for
-% drawing a fused heterocyle with one or more nitrogen atoms
-% have an argument |SUBSLIST| as well as an optional argument |BONDLIST|.
-%
-% \begin{verbatim}
-% **********************************************************
-% * heterocycles having fused six- and five-membered rings *
-% * (vertical type) *
-% **********************************************************
-%
-% N-heterocycles:
-%
-% \indolev[BONDLIST]{SUBSLIST}
-% \indolevi[BONDLIST]{SUBSLIST}
-%
-% \isoindolev[BONDLIST]{SUBSLIST}
-% \isoindolevi[BONDLIST]{SUBSLIST}
-%
-% \indolizinev[BONDLIST]{SUBSLIST}
-% \indolizinevi[BONDLIST]{SUBSLIST}
-% (different from the IUPAC numbering)
-%
-% \purinev[BONDLIST]{SUBSLIST}
-% \purinevi[BONDLIST]{SUBSLIST}
-% (different from the IUPAC numbering)
-%
-% O-heterocycles:
-%
-% \benzofuranev[BONDLIST]{SUBSLIST}
-% \benzofuranevi[BONDLIST]{SUBSLIST}
-%
-% \isobenzofuranevi[BONDLIST]{SUBSLIST}
-%
-% \benzoxazolev[BONDLIST]{SUBSLIST}
-% \benzoxazolevi[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one
-% character selected from a to j, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The optiona `A' and `B' typeset aromatic circles.
-% The option
-% `$n+$' ($n=1$ to $9$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of bonds
-%
-% none or r : aromatic six-membered ring
-% [] : fully saturated form
-% a : 1,2-double bond b : 2,3-double bond
-% c : 3,3a-double bond d : 4,3a-double bond
-% e : 4,5-double bond f : 5,6-double bond
-% g : 6,7-double bond h : 7,7a-double bond
-% i : 1,7a-double bond
-% J : 3a,4a-double bond in the other ring
-% A : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 9)
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for 8 (3a position) and 9 (7a position)
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-%
-% e.g.
-%
-% \indolev{1==N}{1==Cl;2==F}
-% \indolev[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% \begin{macro}{\purinev}
-% \begin{macro}{\purinevi}
-% \begin{macrocode}
-\def\purinev{\@ifnextchar[{\@purinev[@}{\@purinev[ra]}}
-\def\@purinev[#1]#2{%
-\iforigpt \typeout{command `purinev' %
- is based on `nonaheterov'.}\fi%
-\nonaheterov[#1]{1==N;3==N;5==N;7==N}{#2}}
-\def\purinevi{\@ifnextchar[{\@purinevi[@}{\@purinevi[ra]}}
-\def\@purinevi[#1]#2{%
-\iforigpt \typeout{command `purinevi' %
- is based on `nonaheterovi'.}\fi%
-\nonaheterovi[#1]{1==N;3==N;5==N;7==N}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\indolev}
-% \begin{macro}{\indolevi}
-% \begin{macrocode}
-\def\indolev{\@ifnextchar[{\@indolev[@}{\@indolev[rb]}}
-\def\@indolev[#1]#2{%
-\iforigpt \typeout{command `indolev' %
- is based on `nonaheterov'.}\fi%
-\nonaheterov[#1]{1==N}{#2}}
-\def\indolevi{\@ifnextchar[{\@indolevi[@}{\@indolevi[rb]}}
-\def\@indolevi[#1]#2{%
-\iforigpt \typeout{command `indolevi' %
- is based on `nonaheterovi'.}\fi%
-\nonaheterovi[#1]{1==N}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\indolizinev}
-% \begin{macro}{\indolizinevi}
-% \begin{macrocode}
-\def\indolizinev{%
- \@ifnextchar[{\@indolizinev[@}{\@indolizinev[aceg]}}
-\def\@indolizinev[#1]#2{%
-\iforigpt \typeout{command `indolizinev' %
- is based on `nonaheterov'.}\fi%
-\nonaheterov[#1]{7a==N}{#2}}
-\def\indolizinevi{%
- \@ifnextchar[{\@indolizinevi[@}{\@indolizinevi[aceg]}}
-\def\@indolizinevi[#1]#2{%
-\iforigpt \typeout{command `indolizinevi' %
- is based on `nonaheterovi'.}\fi%
-\nonaheterovi[#1]{7a==N}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\isoindolev}
-% \begin{macro}{\isoindolevi}
-% \begin{macrocode}
-\def\isoindolev{\@ifnextchar[{\@isoindolev[@}{\@isoindolev[cegi]}}
-\def\@isoindolev[#1]#2{%
-\iforigpt \typeout{command `isoindolev' %
- is based on `nonaheterov'.}\fi%
-\nonaheterov[#1]{2==N}{#2}}
-\def\isoindolevi{\@ifnextchar[{\@isoindolevi[@}{\@isoindolevi[cegi]}}
-\def\@isoindolevi[#1]#2{%
-\iforigpt \typeout{command `isoindolevi' %
- is based on `nonaheterovi'.}\fi%
-\nonaheterovi[#1]{2==N}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\benzofuranev}
-% \begin{macro}{\benzofuranevi}
-% \begin{macrocode}
-\def\benzofuranev{%
- \@ifnextchar[{\@benzofuranev[@}{\@benzofuranev[rb]}}
-\def\@benzofuranev[#1]#2{%
-\iforigpt \typeout{command `benzofuranev' %
- is based on `nonaheterov'.}\fi%
-\nonaheterov[#1]{1==O}{#2}}
-\def\benzofuranevi{%
- \@ifnextchar[{\@benzofuranevi[@}{\@benzofuranevi[rb]}}
-\def\@benzofuranevi[#1]#2{%
-\iforigpt \typeout{command `benzofuranevi' %
- is based on `nonaheterovi'.}\fi%
-\nonaheterovi[#1]{1==O}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\isobenzofuranev}
-% \begin{macro}{\isobenzofuranevi}
-% \begin{macrocode}
-\def\isobenzofuranev{\@ifnextchar[{\@isobenzofuranev[@}%
- {\@isobenzofuranev[cegi]}}
-\def\@isobenzofuranev[#1]#2{%
-\iforigpt \typeout{command `isobenzofuranev' %
- is based on `nonaheterov'.}\fi%
-\nonaheterov[#1]{2==O}{#2}}
-\def\isobenzofuranevi{\@ifnextchar[{\@isobenzofuranevi[@}%
- {\@isobenzofuranevi[cegi]}}
-\def\@isobenzofuranevi[#1]#2{%
-\iforigpt \typeout{command `isobenzofuranevi' %
- is based on `nonaheterovi'.}\fi%
-\nonaheterovi[#1]{2==O}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\benzoxazolev}
-% \begin{macro}{\benzoxazolevi}
-% \begin{macrocode}
-\def\benzoxazolev{%
- \@ifnextchar[{\@benzoxazolev[@}{\@benzoxazolev[rb]}}
-\def\@benzoxazolev[#1]#2{%
-\iforigpt \typeout{command `benzoxazolev' %
- is based on `nonaheterov'.}\fi%
-\nonaheterov[#1]{1==O;3==N}{#2}}
-\def\benzoxazolevi{%
- \@ifnextchar[{\@benzoxazolevi[@}{\@benzoxazolevi[rb]}}
-\def\@benzoxazolevi[#1]#2{%
-\iforigpt \typeout{command `benzoxazolevi' %
- is based on `nonaheterovi'.}\fi%
-\nonaheterovi[#1]{1==O;3==N}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \section{Building blocks}
-% \subsection{Six-membered ring unit}
-%
-% The old function (v1.01) of |\sixunitv| as a fusing ring unit
-% is succeeded by |\sixfusev| and |\sixfusevi|.
-% The command |\sixunitv| has been changed into a subsidiary
-% command of |\sixheterov| (v2.00).
-%
-% The macro |\sixunitv| is a six-membered fragment that can be
-% fused to another ring structure to produce a new ring system.
-% The following
-% numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% **********************
-% * six-membered unit *
-% * (vertical type) *
-% **********************
-%
-% 1
-% *
-% 6 * * 2
-% | |
-% | |
-% 5 * * 3
-% *
-% 4 <===== the original point
-% \end{verbatim}
-%
-% The macro |\sixunitv| has three arguments |ATOMLIST|, |SUBSLIST|
-% and |OMIT|
-% as well as an optional argument |BONDLIST|.
-%
-% \begin{verbatim}
-% \sixunitv[BONDLIST]{ATOMLIST}{SUBSLIST}{OMIT}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one
-% character selected from a to f, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $6$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : fully saturated
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% f : 6,1-double bond
-% {n+} : plus at the n-nitrogen atom (n = 1 to 6)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 6 atoms)
-%
-% for n = 1 to 6
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |OMIT| represents one bond to be omitted.
-% The omitted edge is regarded as a fused position.
-%
-% \begin{verbatim}
-% OMIT: one bond omitted (a, b, c, d, e, or f)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \sixhunitv{1==N}{1==Cl;2==F}{e}
-% \end{verbatim}
-%
-% The definition of |\sixunitv| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheterov|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringv|.
-% \end{enumerate}
-%
-% \changes{v1.01a}{1998/06/08}{\cs{sixunitv} bug fix:
-% \cs{bbb} to \cs{fff} and \cs{ccc} to \cs{eee}}
-%
-% \begin{macro}{\sixunitv}
-% \begin{macro}{\@sixunitv}
-% \begin{macrocode}
-\def\sixunitv{\@ifnextchar[{\@sixunitv[@}{\@sixunitv[@]}}
-\def\@sixunitv[#1]#2#3#4{\sixheterov[#1]{#2}{#3}[#4]}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{verbatim}
-% (Old difinition)
-% % \begin{macro}{\sixunitv}
-% % \begin{macro}{\@sixunitv}
-% % \begin{macrocode}
-% \def\sixunitv{\@ifnextchar[{\@sixunitv}{\@sixunitv[r]}}
-% \def\@sixunitv[#1]#2#3#4{%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % % treatment of atom list %
-% % %%%%%%%%%%%%%%%%%%%%%%%%%%
-% \iniatom\iniflag%initialize%
-% \@forsemicol\member:=#2\do{%
-% \expandafter\@m@mb@r\member;\relax%
-% \expandafter\twoch@r\@membera{}%
-% \ifcase\@tmpa%
-% \or \xdef\aaa{\@memberb}%
-% \or \xdef\bbb{\@memberb}%
-% \or \xdef\ccc{\@memberb}%
-% \or \xdef\ddd{\@memberb}%
-% \or \xdef\eee{\@memberb}%
-% \or \xdef\fff{\@memberb}%
-% \fi}%
-% \begin{picture}(800,880)(-\shiftii,-\shifti)%
-% \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
-% \put(-\noshift,-\noshift){\circle{50}}%
-% \typeout{command `sixunitv' origin: %
-% (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%
-% % % outer skeleton %
-% % %%%%%%%%%%%%%%%%%%
-% % changed OMIT into a list 1993/11/21 by Shinsaku Fujita
-% {\resetbdsw%
-% \@tfor\memBer:=#4\do{%
-% \if\memBer a\relax\gdef\@aaa{}\fi%
-% \if\memBer b\relax\gdef\@bbb{}\fi%
-% \if\memBer c\relax\gdef\@ccc{}\fi%
-% \if\memBer d\relax\gdef\@ddd{}\fi%
-% \if\memBer e\relax\gdef\@eee{}\fi%
-% \if\memBer f\relax\gdef\@fff{}\fi%
-% }%
-% \if\@aaa a\relax\skbonda\fi% bond between 1 and 2
-% \if\@bbb b\relax\skbondb\fi% bond between 2 and 3
-% \if\@ccc c\relax\skbondc\fi% bond between 3 and 4
-% \if\@ddd d\relax\skbondd\fi% bond between 4 and 5
-% \if\@eee e\relax\skbonde\fi% bond between 5 and 6
-% \if\@fff f\relax\skbondf\fi% bond between 6 and 1
-% }%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%
-% % % inner double bond %
-% % %%%%%%%%%%%%%%%%%%%%%
-% \@tfor\member:=#1\do{%
-% \if\member r\relax%
-% \else\if\member l\relax%
-% \else\if\member a\relax%
-% \ifx#4a\relax\else%
-% \bonda%
-% \fi%
-% \else\if\member b\relax%
-% \ifx#4b\relax\else%
-% \bondb%
-% \fi%
-% \else\if\member c\relax%
-% \ifx#4c\relax\else%
-% \bondc%
-% \fi%
-% \else\if\member d\relax%
-% \ifx#4d\relax\else%
-% \bondd%
-% \fi%
-% \else\if\member e\relax%
-% \ifx#4e\relax\else%
-% \bonde%
-% \fi%
-% \else\if\member f\relax%
-% \ifx#4f\relax\else%
-% \bondf%
-% \fi%
-% \else\if\member A%left aromatic circle
-% \put(0,203){\circle{240}}% %circle
-% \else \expandafter\twoch@@r\member{}{}%
-% \if\@@tmpa 1\relax%
-% \putratom{-38}{282}{\@@tmpb}% % right type
-% \else\if\@@tmpa 2\relax%
-% \putratom{60}{253}{\@@tmpb}% % right type
-% \else\if\@@tmpa 3\relax%
-% \putratom{60}{120}{\@@tmpb}% % right type
-% \else\if\@@tmpa 4\relax%
-% \putratom{-38}{68}{\@@tmpb}% % right type
-% \fi\fi\fi\fi%
-% \fi\fi\fi\fi\fi\fi\fi\fi\fi%
-% }%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%%%%
-% % % setting hetero atoms %
-% % %%%%%%%%%%%%%%%%%%%%%%%%
-% \ifx\ddd\empty\else%
-% \@cliptrue%
-% \putratom{-31}{-10}{\ddd}% % right type
-% \fi%
-% \ifx\aaa\empty\else%
-% \@acliptrue%
-% \putratom{-31}{356}{\aaa}% % right type
-% \fi%
-% \ifx\bbb\empty\else%
-% \@bcliptrue%
-% \putratom{135}{280}{\bbb}% % right type
-% \fi%
-% \ifx\ccc\empty\else%
-% \@ccliptrue%
-% \putratom{135}{65}{\ccc}% % right type
-% \fi%
-% \ifx\fff\empty\else%
-% \@fcliptrue%
-% % \putlatom{-135}{280}{\bbb}% % left type
-% \putlatom{-135}{280}{\fff}% % left type
-% \fi%
-% \ifx\eee\empty\else%
-% \@ecliptrue%
-% % \putlatom{-135}{65}{\ccc}% % left type
-% \putlatom{-135}{65}{\eee}% % left type
-% \fi%
-% % %%%%%%%%%%%%%%%%%%%%%%%%
-% % % setting substituents %
-% % %%%%%%%%%%%%%%%%%%%%%%%%
-% \setsixringv{#3}{0}{0}{7}{0}%
-% \end{picture}\iniatom\iniflag}% %end of \sixunitv macro
-% % \end{macrocode}
-% % \end{macro}
-% % \end{macro}
-% % \end{verbatim}
-%
-% \subsection{Five-membered ring unit}
-% \subsubsection{Vertical type}
-%
-% The old function (v1.01) of |\fiveunitv| as a fusing ring unit
-% is succeeded by |\fivefusev|.
-% The command |\fiveunitv| has been changed into a subsidiary
-% command of |\fiveheterov| (v2.00).
-%
-% The macro |\fiveunitv| is a five-membered fragment that can be
-% fused to another
-% ring structure to produce a new ring system. The following
-% numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% **********************
-% * five-membered unit *
-% * (vertical type) *
-% **********************
-%
-% 4 _______ 3
-% | |
-% | |
-% 5 * * 2
-% *
-% 1 <===== the original point
-% \end{verbatim}
-%
-% The macro |\fiveunitv| has three arguments |ATOMLIST|, |SUBSLIST|
-% and |OMIT|
-% as well as an optional argument |BONDLIST|.
-%
-% \begin{verbatim}
-% \fiveunitv[BONDLIST]{ATOMLIST}{SUBSLIST}{OMIT}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one
-% character selected from a to e, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $5$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of inner double bonds
-%
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,1-double bond
-% {n+} : plus at the n-nitrogen atom (n = 1 to 5)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 5 atoms)
-%
-% for n = 1 to 5
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 5
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |OMIT| represents one bond to be omitted.
-% The omitted edge is regarded as a fused position.
-%
-% \begin{verbatim}
-% OMIT: one bond omitted (a, b, c, d, e, or f)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \fiveunitv{1==N}{1==H;2==F}{a}
-% \end{verbatim}
-%
-% The definition of |\fiveunitv| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheterov|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringv| partially.
-% \end{enumerate}
-%
-% \begin{macro}{\fiveunitv}
-% \begin{macro}{\@fiveunitv}
-% \begin{macrocode}
-\def\fiveunitv{\@ifnextchar[{\@fiveunitv[@}{\@fiveunitv[r]}}
-\def\@fiveunitv[#1]#2#3#4{\fiveheterov[#1]{#2}{#3}[#4]}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{verbatim}
-% (Old definition)
-% % \begin{macro}{\fiveunitv}
-% % \begin{macro}{\@fiveunitv}
-% % \begin{macrocode}
-% \def\fiveunitv{\@ifnextchar[{\@fiveunitv}{\@fiveunitv[r]}}
-% \def\@fiveunitv[#1]#2#3#4{%
-% \iniatom\iniflag%initialize
-% %\def\aaa{}\def\bbb{}\def\ccc{}\def\ddd{}\def\eee{}\def\fff{}%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % % treatment of atom list %
-% % %%%%%%%%%%%%%%%%%%%%%%%%%%
-% \@forsemicol\member:=#2\do{%
-% \expandafter\@m@mb@r\member;\relax%
-% \expandafter\twoch@r\@membera{}%
-% \ifcase\@tmpa%
-% \or \xdef\ddd{\@memberb}%
-% \or \xdef\ccc{\@memberb}%
-% \or \xdef\bbb{\@memberb}%
-% \or \xdef\fff{\@memberb}%
-% \or \xdef\eee{\@memberb}%
-% \fi}%
-% \begin{picture}(800,880)(-\shiftii,-\shifti)%
-% \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
-% \put(-\noshift,-\noshift){\circle{50}}%
-% \typeout{command `fiveunitv' origin: %
-% (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%
-% % %% outer skeleton %
-% % %%%%%%%%%%%%%%%%%%%
-% % changed OMIT to a list 1993/11/21 by Shinsaku Fujita
-% {\resetbdsw%
-% \@tfor\memBer:=#4\do{%
-% \if\memBer a\relax\gdef\@aaa{}\fi%
-% \if\memBer b\relax\gdef\@bbb{}\fi%
-% \if\memBer c\relax\gdef\@ccc{}\fi%
-% \if\memBer d\relax\gdef\@ddd{}\fi%
-% \if\memBer e\relax\gdef\@eee{}\fi%
-% %\if\memBer f\relax\gdef\@fff{}\fi%
-% }%
-% \if\@aaa a\relax\skbondc\fi% bond between 1 and 2
-% \if\@bbb b\relax\skbondb\fi% bond between 2 and 3
-% \if\@ccc c\relax\skbondhoriz\fi% bond between 3 and 4
-% \if\@ddd d\relax\skbonde\fi% bond between 4 and 5
-% \if\@eee e\relax\skbondd\fi% bond between 5 and 6
-% %\if\@fff f\relax\skbondf\fi% bond between 6 and 1
-% }%
-% % old
-% %\ifx#4a\relax\else%
-% % \skbondc%bond between 1 and 2
-% %\fi%
-% %\ifx#4e\relax\else%
-% % \skbondd%bond between 1 and 5
-% %\fi%
-% %\ifx#4b\relax\else%
-% % \skbondb%bond between 2 to 3
-% %\fi%
-% %\ifx#4d\relax\else%
-% % \skbonde%bond between 5 and 4
-% %\fi%
-% %\ifx#4c\relax\else%
-% % \skbondhoriz%bond between 4 and 3
-% %\fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%%
-% % %% inner double bond %
-% % %%%%%%%%%%%%%%%%%%%%%%
-% \@tfor\member:=#1\do{%
-% \if\member r%
-% \else\if\member a\relax%
-% \ifx#4a\relax\else%
-% \bondc%
-% \fi%
-% \else\if\member b\relax%
-% \ifx#4b\relax\else%
-% \bondb%
-% \fi%
-% \else\if\member c\relax%
-% \ifx#4c\relax\else%
-% \bondhoriz%
-% \fi%
-% \else\if\member d\relax%
-% \ifx#4d\relax\else%
-% \bonde%
-% \fi%
-% \else\if\member e\relax%
-% \ifx#4e\relax\else%
-% \bondd%
-% \fi%
-% \else \expandafter\twoch@@r\member{}{}% %plus or minus charges
-% \if\@@tmpa 1\relax%
-% \putratom{-38}{68}{\@@tmpb}% % right type
-% \else\if\@@tmpa 2\relax%
-% \putratom{60}{120}{\@@tmpb}% % right type
-% \else\if\@@tmpa 3\relax%
-% \putratom{60}{233}{\@@tmpb}% % right type
-% \else\if\@@tmpa 4\relax%
-% \putratom{-60}{233}{\@@tmpb}% % right type
-% \else\if\@@tmpa 5\relax%
-% \putratom{-60}{120}{\@@tmpb}% % right type
-% \fi\fi\fi\fi\fi%
-% \fi\fi\fi\fi\fi\fi}%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%%%
-% % % setting heteroatoms %
-% % %%%%%%%%%%%%%%%%%%%%%%%
-% \ifx\ddd\empty\else%
-% \@cliptrue%
-% \putratom{-31}{-10}{\ddd}% % right type at 1
-% \fi%
-% \ifx\bbb\empty\else%
-% \@bcliptrue%
-% \putratom{135}{280}{\bbb}% % right type at 3
-% \fi%
-% \ifx\fff\empty\else%
-% \@fcliptrue%
-% \putlatom{-135}{280}{\fff}% % left type at 4
-% \fi%
-% \ifx\ccc\empty\else%
-% \@ccliptrue%
-% \putratom{135}{65}{\ccc}% % right type at 2
-% \fi%
-% \ifx\eee\empty\else%
-% \@ecliptrue%
-% \putlatom{-135}{65}{\eee}% % left type at 5
-% \fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%%%%
-% % % setting substituents %
-% % %%%%%%%%%%%%%%%%%%%%%%%%
-% \setsixringv{#3}{5}{1}{5}{-1}% % for 1 to 3
-% \setsixringv{#3}{10}{4}{7}{-1}% % for 4 to 5
-% \end{picture}\iniatom\iniflag}%end of \fiveunitv macro
-% % \end{macrocode}
-% % \end{macro}
-% % \end{macro}
-% \end{verbatim}
-%
-% \subsubsection{Inverse vertical type}
-%
-% The old function (v1.01) of |\fiveunitvi| as a fusing ring unit
-% is succeeded by |\fivefusevi|.
-% The command |\fiveunitvi| has been changed into a subsidiary
-% command of |\fiveheterovi| (v2.00).
-%
-% The macro |\fiveunitvi| typesets a five-membered fragment that can be
-% fused to another
-% ring structure to produce a new ring system. The following
-% numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% ************************************
-% * five-membered unit *
-% * (vertical type, inverse type) *
-% ************************************
-%
-% 1
-% *
-% 6 * * 2
-% | |
-% |_____|
-% 4 3
-% *
-% (0,0) <===== the original point
-% \end{verbatim}
-%
-% The macro |\fiveunitvi| has three arguments |ATOMLIST|, |SUBSLIST|
-% and |OMIT|
-% as well as an optional argument |BONDLIST|.
-%
-% \begin{verbatim}
-% \fiveunitvi[BONDLIST]{ATOMLIST}{SUBSLIST}{OMIT}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one
-% character selected from a to e, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $5$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of inner double bonds
-%
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,1-double bond
-% {n+} : plus at the n-nitrogen atom (n = 1 to 5)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 5 atoms)
-%
-% for n = 1 to 5
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 5
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |OMIT| represents one bond to be omitted.
-% The omitted edge is regarded as a fused position.
-%
-% \begin{verbatim}
-% OMIT: one bond omitted (a, b, c, d, e, or f)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \fiveunitvi{1==N}{1==H;2==F}{a}
-% \end{verbatim}
-%
-% The definition of |\fiveunitvi| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheterov|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringv| partially.
-% \end{enumerate}
-%
-% \begin{macro}{\fiveunitvi}
-% \begin{macro}{\@fiveunitvi}
-% \begin{macrocode}
-\def\fiveunitvi{\@ifnextchar[{\@fiveunitvi[@}{\@fiveunitvi[r]}}
-\def\@fiveunitvi[#1]#2#3#4{\fiveheterovi[#1]{#2}{#3}[#4]}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{verbatim}
-% (Old definition)
-% % \begin{macro}{\fiveunitvi}
-% % \begin{macro}{\@fiveunitvi}
-% % \begin{macrocode}
-% \def\fiveunitvi{\@ifnextchar[{\@fiveunitvi}{\@fiveunitvi[r]}}
-% \def\@fiveunitvi[#1]#2#3#4{%
-% \iniatom\iniflag%initialize
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % % treatment of atom list %
-% % %%%%%%%%%%%%%%%%%%%%%%%%%%
-% %\def\aaa{}\def\bbb{}\def\ccc{}\def\ddd{}\def\eee{}\def\fff{}%
-% \@forsemicol\member:=#2\do{%
-% \expandafter\@m@mb@r\member;\relax%
-% \expandafter\twoch@r\@membera{}%
-% \ifcase\@tmpa%
-% \or \xdef\aaa{\@memberb}%
-% \or \xdef\bbb{\@memberb}%
-% \or \xdef\ccc{\@memberb}%
-% \or \xdef\eee{\@memberb}%
-% \or \xdef\fff{\@memberb}%
-% \fi}%
-% \begin{picture}(800,880)(-\shiftii,-\shifti)%
-% \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
-% \put(-\noshift,-\noshift){\circle{50}}%
-% \typeout{command `fiveunitvi' origin: %
-% (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%
-% % % outer skeleton %
-% % %%%%%%%%%%%%%%%%%%
-% % changed OMIT to a list 1993/11/21 by Shinsaku Fujita
-% {\resetbdsw%
-% \@tfor\memBer:=#4\do{%
-% \if\memBer a\relax\gdef\@aaa{}\fi%
-% \if\memBer b\relax\gdef\@bbb{}\fi%
-% \if\memBer c\relax\gdef\@ccc{}\fi%
-% \if\memBer d\relax\gdef\@ddd{}\fi%
-% \if\memBer e\relax\gdef\@eee{}\fi%
-% %\if\memBer f\relax\gdef\@fff{}\fi%
-% }%
-% \if\@aaa a\relax\skbonda\fi% bond between 1 and 2
-% \if\@bbb b\relax\skbondb\fi% bond between 2 and 3
-% \if\@ccc c\relax\skbondhorizi\fi% bond between 3 and 4
-% \if\@ddd d\relax\skbonde\fi% bond between 4 and 5
-% \if\@eee e\relax\skbondf\fi% bond between 5 and 6
-% %\if\@fff f\relax\skbondf\fi% bond between 6 and 1
-% }%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%
-% % % inner double bond %
-% % %%%%%%%%%%%%%%%%%%%%%
-% \@tfor\member:=#1\do{%
-% \if\member r%
-% \else\if\member a\relax%
-% \ifx#4a\relax\else%
-% \bonda%
-% \fi%
-% \else\if\member b\relax%
-% \ifx#4b\relax\else%
-% \bondb%
-% \fi%
-% \else\if\member c\relax%
-% \ifx#4c\relax\else%
-% \bondhorizi%
-% \fi%
-% \else\if\member d\relax%
-% \ifx#4d\relax\else%
-% \bonde%
-% \fi%
-% \else\if\member e\relax%
-% \ifx#4e\relax\else%
-% \bondf%
-% \fi%
-% \else \expandafter\twoch@@r\member{}{}% %plus or minus charges
-% \if\@@tmpa 1\relax%
-% \putratom{-38}{282}{\@@tmpb}% % right type
-% \else\if\@@tmpa 2\relax%
-% \putratom{60}{233}{\@@tmpb}% % right type
-% \else\if\@@tmpa 3\relax%
-% \putratom{60}{120}{\@@tmpb}% % right type
-% \else\if\@@tmpa 4\relax%
-% \putratom{-60}{120}{\@@tmpb}% % right type
-% \else\if\@@tmpa 5\relax%
-% \putratom{-60}{233}{\@@tmpb}% % right type
-% \fi\fi\fi\fi\fi%
-% \fi\fi\fi\fi\fi\fi}%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%%%
-% % % setting heteroatoms %
-% % %%%%%%%%%%%%%%%%%%%%%%%
-% \ifx\aaa\empty\else%
-% \@acliptrue%
-% \putratom{-31}{356}{\aaa}% % right type at 1
-% \fi%
-% \ifx\bbb\empty\else%
-% \@bcliptrue%
-% \putratom{135}{280}{\bbb}% % right type at 3
-% \fi%
-% \ifx\fff\empty\else%
-% \@fcliptrue%
-% \putlatom{-135}{280}{\fff}% % left type at 4
-% \fi%
-% \ifx\ccc\empty\else%
-% \@ccliptrue%
-% \putratom{135}{65}{\ccc}% % right type at 2
-% \fi%
-% \ifx\eee\empty\else%
-% \@ecliptrue%
-% \putlatom{-135}{65}{\eee}% % left type at 5
-% \fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%%%%
-% % % setting substituents %
-% % %%%%%%%%%%%%%%%%%%%%%%%%
-% \setsixringv{#3}{0}{0}{4}{0}% % for 1 to 3
-% \setsixringv{#3}{1}{4}{7}{0}% % for 4 to 5
-% \end{picture}\iniatom\iniflag}% %end of \fiveunitvi macro
-% % \end{macrocode}
-% % \end{macro}
-% % \end{macro}
-% \end{verbatim}
-%
-% \section{Four-membered heterocycles}
-% \subsection{Horizontal bonds}
-%
-% \begin{macro}{\bondshoriz}
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%
-% % horizontal bond %
-% %%%%%%%%%%%%%%%%%%%
-% horizontal inner bond for four-membered rings
-\def\bondshoriz{%
- \begin{picture}(200,300)(0,0)
- \ifx\fff\empty%
- \ifx\bbb\empty%
- \put(-138,270){\line(1,0){134}}%double bond 4-3
- \else%
- \put(-138,270){\line(1,0){115}}%double bond 4-3
- \fi%
- \else%
- \ifx\bbb\empty%
- \put(-120,270){\line(1,0){115}}%double bond 4-3
- \else%
- \put(-120,270){\line(1,0){96}}%double bond 4-3
- \fi%
- \fi\end{picture}}%
-% horizontal inner bond for four-membered rings (inverse type)
-\def\bondshorizi{%
- \begin{picture}(200,300)(0,0)
- \ifx\eee\empty%
- \ifx\ccc\empty%
- \put(-138,136){\line(1,0){134}}%double bond 4-3
- \else%%
- \put(-138,136){\line(1,0){115}}%double bond 4-3
- \fi%
- \else%
- \ifx\ccc\empty%
- \put(-120,136){\line(1,0){115}}%double bond 4-3
- \else%
- \put(-120,136){\line(1,0){96}}%double bond 4-3
- \fi%
- \fi\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\skbondshoriz}
-% \begin{macrocode}
-%horizontal bond for four-membered rings
-\def\skbondshoriz{%
- \begin{picture}(200,300)(0,0)
- \ifx\fff\empty%
- \ifx\bbb\empty%
- \put(-171,303){\line(1,0){200}}%bond 4-3
- \else%
- \put(-171,303){\line(1,0){158}}%bond 4-3
- \fi%
- \else%
- \ifx\bbb\empty%
- \put(29,303){\line(-1,0){158}}%bond 4-3
- \else%
- \put(-129,303){\line(1,0){116}}%bond 4-3
- \fi%
- \fi\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\skbondshorizi}
-% \begin{macrocode}
-%horizontal bond for four-membered rings (inverse type)
-\def\skbondshorizi{%
- \begin{picture}(200,300)(0,0)
- \ifx\eee\empty%
- \ifx\ccc\empty%
- \put(-171,103){\line(1,0){200}}%bond 4-3
- \else%
- \put(-171,103){\line(1,0){158}}%bond 4-3
- \fi%
- \else%
- \ifx\ccc\empty%
- \put(29,103){\line(-1,0){158}}%bond 4-3
- \else%
- \put(-129,103){\line(1,0){116}}%bond 4-3
- \fi%
- \fi\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dotskbondshoriz}
-% \begin{macrocode}
-%horizontal bond for four-membered rings
-\def\dotskbondshoriz{%
- \begin{picture}(200,300)(0,0)
- \ifx\fff\empty%
- \ifx\bbb\empty%
- \@ifundefined{dottedline}{%
- \put(-171,303){\line(1,0){200}}%bond 4-3
- }{{\thicklines%
- \dottedline{20}(-171,303)(29,303)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(-171,303){\line(1,0){158}}%bond 4-3
- }{{\thicklines%
- \dottedline{20}(-171,303)(-29,303)}}%
- \fi%
- \else%
- \ifx\bbb\empty%
- \@ifundefined{dottedline}{%
- \put(29,303){\line(-1,0){158}}%bond 4-3
- }{{\thicklines%
- \dottedline{20}(29,303)(-129,303)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(-129,303){\line(1,0){116}}%bond 4-3
- }{{\thicklines%
- \dottedline{20}(-129,303)(-13,303)}}%
- \fi%
- \fi\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dotskbondshorizi}
-% \begin{macrocode}
-%horizontal bond for four-membered rings (inverse type)
-\def\dotskbondshorizi{%
- \begin{picture}(200,300)(0,0)
- \ifx\eee\empty%
- \ifx\ccc\empty%
- \@ifundefined{dottedline}{%
- \put(-171,103){\line(1,0){200}}%bond 4-3
- }{{\thicklines%
- \dottedline{20}(-171,103)(29,103)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(-171,103){\line(1,0){158}}%bond 4-3
- }{{\thicklines%
- \dottedline{20}(-171,103)(-29,103)}}%
- \fi%
- \else%
- \ifx\ccc\empty%
- \@ifundefined{dottedline}{%
- \put(29,103){\line(-1,0){158}}%bond 4-3
- }{{\thicklines%
- \dottedline{20}(29,103)(-129,103)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(-129,103){\line(1,0){116}}%bond 4-3
- }{{\thicklines%
- \dottedline{20}(-129,103)(-13,103)}}%
- \fi%
- \fi\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Drawing four-membered heterocycles}
-%
-% The macro |\fourhetero| typesets a four-membered ring. The following
-% numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% **************************
-% * fourhetero derivatives *
-% * (vertical type) *
-% **************************
-% The following numbering is adopted in this macro.
-%
-% c
-% 4 _____ 3
-% d | | b
-% | |
-% 1 ----- 2<===== the original point
-% a
-% \end{verbatim}
-%
-% The macro |\fourhetero| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \fourhetero(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `d' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to e, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $4$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of inner double bonds
-%
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% e : 4,1-double bond
-%
-% {n+} : plus at the n-nitrogen atom (n = 1 to 4)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 4 atoms)
-%
-% for n = 1 to 4
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 4
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a to d: see BONDLIST)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \fourhetero{1==N}{1==H;2==F}
-% \fourhetero[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \fourhetero[eb]{1==N}{1D==O;4SA==MeO;4SB==OMe;5W==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\fourhetero| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheterov|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringv| partially.
-% \end{enumerate}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/5}{Add: spiro and fused rings}
-%
-% \begin{macro}{\fourhetero}
-% \begin{macro}{\@four@hetero}
-% \begin{macro}{\@four@@hetero}
-% \begin{macro}{\@fourhetero}
-% \begin{macrocode}
-\def\fourhetero{\@ifnextchar({\@four@hetero(@}{\@four@hetero(@)}}
-\def\@four@hetero(#1){\@ifnextchar[{\@four@@hetero(#1)[@}%
-{\@four@@hetero(#1)[@]}}
-\def\@four@@hetero(#1)[#2]#3#4{\@ifnextchar[%
-{\@fourhetero(#1)[#2]{#3}{#4}[@}%
-{\@fourhetero(#1)[#2]{#3}{#4}[@]}}
-\def\@fourhetero(#1)[#2]#3#4[#5]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize
-\test@vertix@sixv{#3}{e}{c}{b}{f}{@}{@}%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adustment of subs positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\@reset@ylsw%
-\ylposition{#4}{5}{1}{4}{-1}% for 2 to 3
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{142}\def\@@yli{0}\fi
-\else
-\ylposition{#4}{4}{4}{6}{0}% for 1
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-\ylposition{#4}{2}{5}{7}{0}% for 4
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-%
-%\begin{picture}(800,880)(-\shiftii,-\shifti)%
-% \iforigpt\put(-\shiftii,-\shifti){\circle*{50}}%
-% \put(-\noshift,-\noshift){\circle{50}}%
-% \typeout{command `fourhetero' origin: %
-% (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-% Correction of the zero point: S. Fujita 1993/11/19
-% x axis: 400 + 171 = 571
-% y axis: 240 - 103 = 137
-%
-\begin{picture}(800,880)(-571,-137)%
- \iforigpt\put(-571,-137){\circle*{50}}%
- \put(-171,103){\circle{50}}%
- \typeout{command `fourhetero' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-{\resetbdsw%
-\@bond@@omit{#5}%
-\put(0,0){\set@skel@longbond{#1}{a}{skbondshorizi}}%
- % bond between 1 and 2 \@aaa -> \skbondshorizi etc
-\put(-142,0){\set@skel@bond{#1}{b}{b}}%
- % bond between 2 and 3 \@bbb -> \skbondb etc
-\put(0,0){\set@skel@longbond{#1}{c}{skbondshoriz}}%
- % bond between 3 and 4 \@ccc -> \skbondshoriz etc
-\put(0,0){\set@skel@bond{#1}{d}{e}}%
- % bond between 4 and 1 \@ddd -> \skbonde etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r%
-\else\if\member a\relax \put(0,0){\bondshorizi}%
-\else\if\member b\relax \put(-142,0){\bondb}%
-\else\if\member c\relax \put(0,0){\bondshoriz}%
-\else\if\member d\relax \put(0,0){\bonde}%
-\else
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
- \expandafter\twoCH@@R\member//%
- \set@fusionadd@fourv
-\fi\fi\fi\fi\fi}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%
-% % setting heteroatoms %
-% %%%%%%%%%%%%%%%%%%%%%%%
-\put(-142,0){\set@hetatom@sixv{#3}{5}{1}{4}{-1}}% for 2 to 3
-\put(0,0){\set@hetatom@sixv{#3}{4}{4}{6}{0}}% for 1
-\put(0,0){\set@hetatom@sixv{#3}{2}{5}{7}{0}}% for 4
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\put(-142,0){\setsixringv{#4}{5}{1}{4}{-1}}% for 2 to 3
-\put(0,0){\setsixringv{#4}{4}{4}{6}{0}}% for 1
-\put(0,0){\setsixringv{#4}{2}{5}{7}{0}}% for 4
-\end{picture}\iniatom\iniflag}% %end of \fourhetero macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\set@fusionadd@fourv| is an inner command contained
-% in the definition of |\fourhetero| etc., where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusion@fourv|.
-%
-% \begin{macro}{\set@fusionadd@fourv}
-% \changes{v2.00}{1998/12/5}{New command: \cs{set@fusionadd@fourv}}
-% \begin{macrocode}
-\def\set@fusionadd@fourv{%
- \if\@@tmpa 1\relax%
- \putlatom{-200}{120}{\scriptsize \@@tmpb}% % right type
- \else\if\@@tmpa 2\relax%
- \putratom{60}{120}{\scriptsize \@@tmpb}% % right type
- \else\if\@@tmpa 3\relax%
- \putratom{60}{233}{\scriptsize \@@tmpb}% % right type
- \else\if\@@tmpa 4\relax%
- \putlatom{-200}{233}{\scriptsize \@@tmpb}% % right type
- \else
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
- \set@fusion@fourv
- \fi\fi\fi\fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% The inner command |\set@fusion@fourv| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@fourv}
-% \changes{v2.00}{1998/12/5}{New command: \cs{set@fusion@fourv}}
-% \begin{macrocode}
-\def\set@fusion@fourv{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if\@@tmpa d\relax%
- \putlratom{-171}{303}{\@@tmpb}% % bond fused
- \FuseWarning{0}{200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d}%
- \else\if\@@tmpa D\relax%
- \putlratom{-171}{103}{\@@tmpb}% % bond fused
- \FuseWarning{0}{-200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D}%
- \else\if\@@tmpa a\relax%
- \putlratom{-173}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{f}%
- \else\if\@@tmpa A\relax%
- \putlratom{27}{103}{\@@tmpb}% % bond fused
- \FuseWarning{200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A}%
- \else\if\@@tmpa b\relax%
- \putlratom{27}{103}{\@@tmpb}% % bond fused
- \FuseWarning{0}{-200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b}%
- \else\if\@@tmpa B\relax%
- \putlratom{27}{303}{\@@tmpb}% % bond fused
- \FuseWarning{0}{200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B}%
- \else\if\@@tmpa c\relax%
- \putlratom{27}{303}{\@@tmpb}% % bond fused
- \FuseWarning{200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c}%
- \else\if\@@tmpa C\relax%
- \putlratom{-171}{303}{\@@tmpb}% % bond fused
- \FuseWarning{-200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C}%
-\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@fourv
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Three-membered heterocycles}
-% \subsection{Vertical type}
-% \subsubsection{Sloped bonds}
-%
-% \begin{macro}{\bondtria}
-% \begin{macrocode}
-% **********************
-% * bonds for triangle *
-% **********************
-% fff 3--------2bbb
-% ` /
-% ddd `1/ <===== the original point
-% bond between 1 and 2
- \def\bondtria{%
- \ifx\ddd\empty%
- \ifx\bbb\empty%
- \put(-6,42){\line(3,5){72}}% %double bond 1-2
- \else%
- \put(-6,42){\line(3,5){60}}% %double bond 1-2
- \fi%
- \else%
- \ifx\bbb\empty%
- \put(6,62){\line(3,5){60}}% %double bond 1-2
- \else%
- \put(10,32){\line(3,5){60}}% %double bond 1-2
- \fi%
- \fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\bondtrib}
-% \begin{macrocode}
-% bond between 1 and 3
- \def\bondtrib{%
- \ifx\ddd\empty%
- \ifx\fff\empty%
- \put(6,42){\line(-3,5){72}}% %double bond 1-3
- \else%
- \put(6,42){\line(-3,5){60}}% %double bond 1-3
- \fi%
- \else%
- \ifx\fff\empty%
- \put(-6,62){\line(-3,5){60}}% %double bond 1-2
- \else%
- \put(6,42){\line(-3,5){60}}% %double bond 1-2
- \fi%
- \fi%
- }%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\skbondtria}
-% \begin{macrocode}
-%bond between 1 and 2
-\def\skbondtria{%
- \begin{picture}(200,200)(0,0)
- \ifx\ddd\empty%
- \ifx\bbb\empty%
- \put(0,0){\line(3,5){103}}% %bond 1-2
- \else%
- \put(0,0){\line(3,5){80}}% %bond 1-2
- \fi%
- \else%
- \ifx\bbb\empty%
- \put(103,171){\line(-3,-5){80}}% %bond 1-2
- \else%
- \put(35,21){\line(3,5){60}}% %bond 1-2
- \fi%
- \fi\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\skbondtrib}
-% \begin{macrocode}
-%bond between 1 and 3
-\def\skbondtrib{%
- \begin{picture}(200,200)(0,0)
- \ifx\ddd\empty%
- \ifx\fff\empty%
- \put(0,0){\line(-3,5){103}}% %bond 1-3
- \else%
- \put(0,0){\line(-3,5){80}}% %bond 1-3
- \fi%
- \else%
-% \ifx\eee\empty%bug fix 1993/11/19
- \ifx\fff\empty%
- \put(-103,171){\line(3,-5){80}}% %bond 1-3
- \else%
- \put(-35,21){\line(-3,5){60}}% %bond 1-3
- \fi%
- \fi\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dotskbondtria}
-% \begin{macrocode}
-%bond between 1 and 2
-\def\dotskbondtria{%
- \begin{picture}(200,200)(0,0)
- \ifx\ddd\empty%
- \ifx\bbb\empty%
- \@ifundefined{dottedline}{%
- \put(0,0){\line(3,5){103}}% %bond 1-2
- }{{\thicklines%
- \dottedline{20}(0,0)(103,171)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(0,0){\line(3,5){80}}% %bond 1-2
- }{{\thicklines%
- \dottedline{20}(0,0)(80,133)}}%
- \fi%
- \else%
- \ifx\bbb\empty%
- \@ifundefined{dottedline}{%
- \put(103,171){\line(-3,-5){80}}% %bond 1-2
- }{{\thicklines%
-% \dottedline{20}(0,0)(23,38)}}%
- \dottedline{20}(103,171)(23,38)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(35,21){\line(3,5){60}}% %bond 1-2
- }{{\thicklines%
- \dottedline{20}(35,21)(95,121)}}%
- \fi%
- \fi\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dotskbondtrib}
-% \begin{macrocode}
-%bond between 1 and 3
-\def\dotskbondtrib{%
- \begin{picture}(200,200)(0,0)
- \ifx\ddd\empty%
- \ifx\fff\empty%
- \@ifundefined{dottedline}{%
- \put(0,0){\line(-3,5){103}}% %bond 1-3
- }{{\thicklines%
- \dottedline{20}(0,0)(-103,171)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(0,0){\line(-3,5){80}}% %bond 1-3
- }{{\thicklines%
- \dottedline{20}(0,0)(-80,133)}}%
- \fi%
- \else%
- \ifx\fff\empty%
- \@ifundefined{dottedline}{%
- \put(-103,171){\line(3,-5){80}}% %bond 1-3
- }{{\thicklines%
- \dottedline{20}(-103,171)(-23,38)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(-35,21){\line(-3,5){60}}% %bond 1-3
- }{{\thicklines%
- \dottedline{20}(-35,21)(-95,121)}}%
- \fi%
- \fi\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Drawing three-membered heterocycles}
-%
-% The macro |\threehetero| typesets a three-membered ring. The following
-% numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% ****************************
-% * thereehetero derivatives *
-% * (vertical type) *
-% ****************************
-%
-% b
-% 3--------2
-% c ` / a
-% `1/ <===== the original point
-% \end{verbatim}
-%
-% The macro |\threehetero| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \threehetero(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \threeheterov(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `c' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to c, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $3$) represents a plus charge on a hetero atom
-% at the $n$-position.
-% The option `$n+$' ($n=4$ to $6$) represents a plus charge outside the ring.
-% The option `$0+$' typesets a plus charge at the center of the ring.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : saturated
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 3,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-hetero atom (n = 1 to 3)
-% : n=4 -- outer plus at 1 position
-% : n=5 -- outer plus at 2 position
-% : n=6 -- outer plus at 3 position
-% {0+} : plus at the center of a cyclopropane ring
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 3 atoms)
-%
-% for n = 1 to 3
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 3
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a to c: see BONDLIST)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \threehetero{1==N}{1==Cl;2==F}
-% \threehetero[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \threehetero{1==N}{1D==O;4SA==MeO;4SB==OMe;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\threehetero| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheterov|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringv| partially.
-% \end{enumerate}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/5}{Add: spiro and fused rings}
-%
-% \begin{macro}{\threehetero}
-% \begin{macro}{\@three@hetero}
-% \begin{macro}{\@three@@hetero}
-% \begin{macro}{\@threehetero}
-% \begin{macrocode}
-\def\threehetero{\@ifnextchar({\@three@hetero(@}{\@three@hetero(@)}}
-\def\@three@hetero(#1){\@ifnextchar[{\@three@@hetero(#1)[@}%
-{\@three@@hetero(#1)[@]}}
-\def\@three@@hetero(#1)[#2]#3#4{\@ifnextchar[%
-{\@threehetero(#1)[#2]{#3}{#4}[@}%
-{\@threehetero(#1)[#2]{#3}{#4}[@]}}
-\def\@threehetero(#1)[#2]#3#4[#5]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize
-\test@vertix@sixv{#3}{d}{b}{f}{@}{@}{@}%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adustment of subs positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\@reset@ylsw%
-\ylposition{#4}{3}{3}{5}{0}%subst 1
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{68}\def\@@yli{0}\fi
-\else
-\ylposition{#4}{0}{1}{3}{0}%subst 2
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{142}\def\@@yli{132}\fi
-\else
-\ylposition{#4}{3}{5}{7}{0}%subst 3
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{132}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-%
-%\begin{picture}(800,880)(-\shiftii,-\shifti)%
-% \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}%
-% \put(-\noshift,-\noshift){\circle{50}}%
-% adjust x,y-coodinate by S. Fujita 1993/11/20
-\begin{picture}(800,580)(-468,-240)%
- \iforigpt \put(-468,-240){\circle*{50}}%
- \put(-68,0){\circle{50}}%
- \typeout{command `threeheterov' origin: %
- (68,0) ---> (468,240)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-{\resetbdsw%
-\@bond@@omit{#5}%
-\put(-68,0){\set@skel@longbond{#1}{a}{skbondtria}}%
- % bond between 1 and 2 \@aaa -> \skbondtria etc
-\put(0,-132){\set@skel@longbond{#1}{b}{skbondshoriz}}%
- % bond between 2 and 3 \@bbb -> \skbondb etc
-\put(-68,0){\set@skel@longbond{#1}{c}{skbondtrib}}%
- % bond between 3 and 1 \@ccc -> \skbondtria etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-\else\if\member a\relax\put(-68,0){\bondtria}%
-\else\if\member b\relax\put(0,-126){\bondshoriz}%
-\else\if\member c\relax\put(-68,0){\bondtrib}%
-\else\if\member A\relax% aromatic circle
- \put(-70,108){\circle{100}}% %circle
-\else
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
- \expandafter\twoCH@@R\member//%
- \set@fusionadd@threev
-\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\put(-68,0){\set@hetatom@sixv{#3}{3}{3}{5}{0}%
-\if@clip\global\@cliptrue\fi
-}%subst 1
-\put(-142,-132){\set@hetatom@sixv{#3}{0}{1}{3}{0}%
-\if@bclip\global\@bcliptrue\fi
-}%subst 2
-\put(0,-132){\set@hetatom@sixv{#3}{3}{5}{7}{0}%
-\if@fclip\global\@fcliptrue\fi
-}%subst 3
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\put(-68,0){\setsixringv{#4}{3}{3}{5}{0}}%subst 1
-\put(-142,-132){\setsixringv{#4}{0}{1}{3}{0}}%subst 2
-\put(0,-132){\setsixringv{#4}{3}{5}{7}{0}}%subst 3
-\end{picture}%
-\iniatom\iniflag}% %end of \threehetero macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\threeheterov}
-% \begin{macrocode}
-\let\threeheterov=\threehetero
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\set@fusionadd@threev| is an inner command contained
-% in the definition of |\threehetero| etc., where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusion@threev|.
-%
-% \begin{macro}{\set@fusionadd@threev}
-% \changes{v2.00}{1998/12/5}{New command: \cs{set@fusionadd@threev}}
-% \begin{macrocode}
-\def\set@fusionadd@threev{%
- \if\@@tmpa 0\relax%
- \putratom{-94}{92}{\scriptsize\@@tmpb}% % right type
- \else\if\@@tmpa 1\relax%
- \putratom{-94}{60}{\scriptsize\@@tmpb}% % right type
- \else\if\@@tmpa 2\relax%
- \putratom{-52}{120}{\scriptsize\@@tmpb}% % right type
- \else\if\@@tmpa 3\relax%
- \putratom{-126}{126}{\scriptsize\@@tmpb}% % right type
- \else\if\@@tmpa 4\relax%
- \putratom{-30}{-20}{\scriptsize\@@tmpb}% % right type
- \else\if\@@tmpa 5\relax%
- \putratom{52}{110}{\scriptsize\@@tmpb}% % right type
- \else\if\@@tmpa 6\relax%
- \putratom{-250}{110}{\scriptsize\@@tmpb}% % right type
- \else
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
- \set@fusion@threev
- \fi\fi\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% The inner command |\set@fusion@threev| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@threev}
-% \changes{v2.00}{1998/12/5}{New command: \cs{set@fusion@threev}}
-% \begin{macrocode}
-\def\set@fusion@threev{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if\@@tmpa b\relax%
- \putlratom{29}{171}{\@@tmpb}% % bond fused
- \FuseWarning{200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b}%
- \else\if\@@tmpa B\relax%
- \putlratom{-171}{171}{\@@tmpb}% % bond fused
- \FuseWarning{-200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B}%
- \else\if\@@tmpa a\relax%
- \putlratom{-68}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-103}{-171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a}%
- \else\if\@@tmpa A\relax%
- \putlratom{29}{171}{\@@tmpb}% % bond fused
- \FuseWarning{103}{171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A}%
- \else\if\@@tmpa c\relax%
- \putlratom{-171}{171}{\@@tmpb}% % bond fused
- \FuseWarning{-103}{171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c}%
- \else\if\@@tmpa C\relax%
- \putlratom{-68}{0}{\@@tmpb}% % bond fused
- \FuseWarning{103}{-171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C}%
-\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@threev
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse vertical type}
-% \subsubsection{Sloped bonds}
-%
-% \changes{v1.02}{1998/10/20}{Newly added commands:
-% \cs{Bondtria}}
-% \begin{macro}{\Bondtria}
-% \begin{macrocode}
-% **********************
-% * bonds for triangle *
-% **********************
-%
-% aaa /1` <===== the original point
-% / `
-% eee 3--------2ccc
-% bond between 1 and 2
- \def\Bondtria{%
- \ifx\aaa\empty%
- \ifx\ccc\empty%
- \put(-6,-42){\line(3,-5){72}}% %double bond 1-2
- \else%
- \put(-6,-42){\line(3,-5){60}}% %double bond 1-2
- \fi%
- \else%
- \ifx\ccc\empty%
- \put(6,-62){\line(3,-5){60}}% %double bond 1-2
- \else%
- \put(10,-32){\line(3,-5){60}}% %double bond 1-2
- \fi%
- \fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.02}{1998/10/20}{Newly added commands: \cs{Bondtrib}}
-% \begin{macro}{\Bondtrib}
-% \begin{macrocode}
-% bond between 1 and 3
- \def\Bondtrib{%
- \ifx\aaa\empty%
- \ifx\eee\empty%
- \put(6,-42){\line(-3,-5){72}}% %double bond 1-3
- \else%
- \put(6,-42){\line(-3,-5){60}}% %double bond 1-3
- \fi%
- \else%
- \ifx\fff\empty%
- \put(-6,-62){\line(-3,-5){60}}% %double bond 1-2
- \else%
- \put(6,-42){\line(-3,-5){60}}% %double bond 1-2
- \fi%
- \fi%
- }%
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.02}{1998/10/20}{Newly added commands:
-% \cs{skBondtria}}
-% \begin{macro}{\skBondtria}
-% \begin{macrocode}
-%bond between 1 and 2
-\def\skBondtria{%
-% \begin{picture}(200,200)(0,0)
-% \begin{picture}(0,0)(0,0)
- \ifx\aaa\empty%
- \ifx\ccc\empty%
- \put(0,0){\line(3,-5){103}}% %bond 1-2
- \else%
- \put(0,0){\line(3,-5){80}}% %bond 1-2
- \fi%
- \else%
- \ifx\ccc\empty%
- \put(103,-171){\line(-3,5){80}}% %bond 1-2
- \else%
- \put(35,-21){\line(3,-5){60}}% %bond 1-2
- \fi%
- \fi
-%\end{picture}
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.02}{1998/10/20}{Newly added commands:
-% \cs{skBondtrib}}
-% \begin{macro}{\skBondtrib}
-% \begin{macrocode}
-%bond between 1 and 3
-\def\skBondtrib{%
-% \begin{picture}(0,0)(0,0)
-% \begin{picture}(200,200)(0,0)
- \ifx\aaa\empty%
- \ifx\eee\empty%
- \put(0,0){\line(-3,-5){103}}% %bond 1-3
- \else%
- \put(0,0){\line(-3,-5){80}}% %bond 1-3
- \fi%
- \else%
- \ifx\eee\empty%
- \put(-103,-171){\line(3,5){80}}% %bond 1-3
- \else%
- \put(-35,-21){\line(-3,-5){60}}% %bond 1-3
- \fi%
- \fi
-%\end{picture}
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v2.00}{1998/12/25}{Newly added commands:
-% \cs{dotskBondtria}}
-% \begin{macro}{\dotskBondtria}
-% \begin{macrocode}
-%bond between 1 and 2
-\def\dotskBondtria{%
- \ifx\aaa\empty%
- \ifx\ccc\empty%
- \@ifundefined{dottedline}{%
- \put(0,0){\line(3,-5){103}}% %bond 1-2
- }{{\thicklines%
- \dottedline{20}(0,0)(103,-171)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(0,0){\line(3,-5){80}}% %bond 1-2
- }{{\thicklines%
- \dottedline{20}(0,0)(80,-133)}}%
- \fi%
- \else%
- \ifx\ccc\empty%
- \@ifundefined{dottedline}{%
- \put(103,-171){\line(-3,5){80}}% %bond 1-2
- }{{\thicklines%
- \dottedline{20}(103,-171)(23,-38)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(35,-21){\line(3,-5){60}}% %bond 1-2
- }{{\thicklines%
- \dottedline{20}(35,-21)(95,-121)}}%
- \fi%
- \fi
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v2.00}{1998/12/25}{Newly added commands:
-% \cs{dotskBondtrib}}
-% \begin{macro}{\dotskBondtrib}
-% \begin{macrocode}
-%bond between 1 and 3
-\def\dotskBondtrib{%
- \ifx\aaa\empty%
- \ifx\eee\empty%
- \@ifundefined{dottedline}{%
- \put(0,0){\line(-3,-5){103}}% %bond 1-3
- }{{\thicklines%
- \dottedline{20}(0,0)(-103,-171)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(0,0){\line(-3,-5){80}}% %bond 1-3
- }{{\thicklines%
- \dottedline{20}(0,0)(-80,-133)}}%
- \fi%
- \else%
- \ifx\eee\empty%
- \@ifundefined{dottedline}{%
- \put(-103,-171){\line(3,5){80}}% %bond 1-3
- }{{\thicklines%
- \dottedline{20}(-103,-171)(-23,-38)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(-35,-21){\line(-3,-5){60}}% %bond 1-3
- }{{\thicklines%
- \dottedline{20}(-35,-21)(-95,-121)}}%
- \fi%
- \fi
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Drawing three-membered heterocycles (inverse)}
-%
-% The macro |\threeheteroi| typesets a three-membered ring of
-% inverse vertical type. The following numbering is adopted
-% in this macro.
-% \changes{v1.02}{1998/10/20}{Newly added commands:
-% \cs{threeheteroi}}
-%
-% \begin{verbatim}
-% ****************************
-% * thereehetero derivatives *
-% * (inverse vertical type) *
-% ****************************
-%
-% /1` <===== the original point
-% c / ` a
-% 3--------2
-% b
-% \end{verbatim}
-%
-% The macro |\threeheteroi| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \threeheteroi(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \threeheterovi(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `c' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to c, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $3$) represents a plus charge on a hetero atom
-% at the $n$-position.
-% The option `$n+$' ($n=4$ to $6$) represents a plus charge outside the ring.
-% The option `$0+$' typesets a plus charge at the center of the ring.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : saturated
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 3,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-hetero atom (n = 1 to 3)
-% : n=4 -- outer plus at 1 position
-% : n=5 -- outer plus at 2 position
-% : n=6 -- outer plus at 3 position
-% {0+} : plus at the center of a cyclopropane ring
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 3 atoms)
-%
-% for n = 1 to 3
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 3
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a to c: see BONDLIST)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \threeheteroi{1==N}{1==Cl;2==F}
-% \threeheteroi[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \threeheteroi{1==N}{1D==O;4SA==MeO;4SB==OMe;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\threehetero| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheterov|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringv| partially.
-% \end{enumerate}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/5}{Add: spiro and fused rings}
-%
-% \begin{macro}{\threeheteroi}
-% \begin{macro}{\@three@heteroi}
-% \begin{macro}{\@three@@heteroi}
-% \begin{macro}{\@threeheteroi}
-% \begin{macrocode}
-\def\threeheteroi{\@ifnextchar({\@three@heteroi(@}{\@three@heteroi(@)}}
-\def\@three@heteroi(#1){\@ifnextchar[{\@three@@heteroi(#1)[@}%
-{\@three@@heteroi(#1)[@]}}
-\def\@three@@heteroi(#1)[#2]#3#4{\@ifnextchar[%
-{\@threeheteroi(#1)[#2]{#3}{#4}[@}%
-{\@threeheteroi(#1)[#2]{#3}{#4}[@]}}
-\def\@threeheteroi(#1)[#2]#3#4[#5]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize
-\test@vertix@sixv{#3}{a}{c}{e}{@}{@}{@}%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adustment of subs positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\@reset@ylsw%
-\ylposition{#4}{0}{0}{2}{0}%subst 1
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{68}\def\@@yli{406}\fi
-\else
-\ylposition{#4}{1}{2}{4}{0}%subst 2
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{142}\def\@@yli{275}\fi
-\else
-\ylposition{#4}{2}{4}{6}{0}%subst 3
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{275}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(800,580)(-468,-340)%
- \iforigpt \put(-468,-340){\circle*{50}}%
- \put(-68,0){\circle{50}}%
- \typeout{command `threeheteroi' origin: %
- (0,0) ---> (-468,-340)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-{\resetbdsw%
-\@bond@@omit{#5}%
-\put(-68,0){\set@skel@longbond{#1}{a}{skBondtria}}%
- % bond between 1 and 2 \@aaa -> \skBondtria etc
-\put(0,-275){\set@skel@longbond{#1}{b}{skbondshorizi}}%
- % bond between 2 and 3 \@bbb -> \skbondb etc
-\put(-68,0){\set@skel@longbond{#1}{c}{skBondtrib}}%
- % bond between 3 and 1 \@ccc -> \skBondtrib etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-\else\if\member a\relax\put(-68,0){\Bondtria}%
-\else\if\member b\relax\put(0,-274){\bondshorizi}%
-\else\if\member c\relax\put(-68,0){\Bondtrib}%
-\else\if\member A\relax% aromatic circle
- \put(-70,-108){\circle{100}}% %circle
-\else
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
- \expandafter\twoCH@@R\member//%
- \set@fusionadd@threevi
-\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\put(-68,-406){\set@hetatom@sixv{#3}{0}{0}{2}{0}%
-\if@aclip\global\@acliptrue\fi
-}%subst 1
-\put(0,-275){\set@hetatom@sixv{#3}{2}{4}{6}{0}%
-\if@eclip\global\@ecliptrue\fi
-}%subst 3
-\put(-142,-275){\set@hetatom@sixv{#3}{1}{2}{4}{0}%
-\if@cclip\global\@ccliptrue\fi
-}%subst 2
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\put(-68,-406){\setsixringv{#4}{0}{0}{2}{0}}%subst 1
-\put(0,-275){\setsixringv{#4}{2}{4}{6}{0}}%subst 3
-\put(-142,-275){\setsixringv{#4}{1}{2}{4}{0}}%subst 2
-\end{picture}%
-\iniatom\iniflag}% %end of \threeheteroi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\threeheterovi}
-% \begin{macrocode}
-\let\threeheterovi=\threeheteroi
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\set@fusionadd@threevi| is an inner command contained
-% in the definition of |\threeheteroi| etc., where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusion@threevi|.
-%
-% \begin{macro}{\set@fusionadd@threevi}
-% \changes{v2.00}{1998/12/5}{New command: \cs{set@fusionadd@threevi}}
-% \begin{macrocode}
-\def\set@fusionadd@threevi{%
- \if\@@tmpa 0\relax%
- \putratom{-94}{-120}{\scriptsize\@@tmpb}% % right type
- \else\if\@@tmpa 1\relax%
- \putratom{-94}{-80}{\scriptsize\@@tmpb}% % right type
- \else\if\@@tmpa 2\relax%
- \putratom{-52}{-150}{\scriptsize\@@tmpb}% % right type
- \else\if\@@tmpa 3\relax%
- \putratom{-126}{-150}{\scriptsize\@@tmpb}% % right type
- \else\if\@@tmpa 4\relax%
- \putratom{-30}{0}{\scriptsize\@@tmpb}% % right type
- \else\if\@@tmpa 5\relax%
- \putratom{32}{-130}{\scriptsize\@@tmpb}% % right type
- \else\if\@@tmpa 6\relax%
- \putratom{-230}{-130}{\scriptsize\@@tmpb}% % right type
- \else
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
- \set@fusion@threevi
- \fi\fi\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% The inner command |\set@fusion@threevi| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@threevi}
-% \changes{v2.00}{1998/12/5}{New command: \cs{set@fusion@threevi}}
-% \begin{macrocode}
-\def\set@fusion@threevi{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if\@@tmpa b\relax%
- \putlratom{29}{-171}{\@@tmpb}% % bond fused
- \FuseWarning{200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b}%
- \else\if\@@tmpa B\relax%
- \putlratom{-171}{-171}{\@@tmpb}% % bond fused
- \FuseWarning{-200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B}%
- \else\if\@@tmpa a\relax%
- \putlratom{-68}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-103}{171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a}%
- \else\if\@@tmpa A\relax%
- \putlratom{29}{-171}{\@@tmpb}% % bond fused
- \FuseWarning{103}{-171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A}%
- \else\if\@@tmpa c\relax%
- \putlratom{-171}{-171}{\@@tmpb}% % bond fused
- \FuseWarning{103}{171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c}%
- \else\if\@@tmpa C\relax%
- \putlratom{-68}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-103}{-171}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C}%
-\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@threevi
-%</hetarom>
-% \end{macrocode}
-% \end{macro}
-%
-% \Finale
-%
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/hetarom.ins b/Master/texmf-dist/source/latex/xymtex/hetarom.ins
deleted file mode 100644
index 75c408ae768..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/hetarom.ins
+++ /dev/null
@@ -1,51 +0,0 @@
-\def\batchfile{hetarom.ins}
-\input docstrip.tex
-\preamble
-
-This is a generated file.
-
-Copyright 1996, 1998, 2000 by Shinsaku Fujita
-
-This file is part of the XyMTeX system.
-=======================================
-
-Version 1.01 Released on August 16, 1996
-Version 1.02 Released on October 31, 1998 (private version)
-Version 2.00 Released on December 25, 1998
-Version 2.00a Released on November 11, 2000
-
-Copyright (C) 1996,1998,2000 by Shinsaku Fujita, all rights reserved.
-This style file is created for drawing chemical structural formulas
-This style file is to be contained in the ``xymtex'' directory which
-is an input directory for TeX.
-
-Copying of this file is authorized only if either
-
- (1) you make absolutely no changes to your copy, including name and
- directory name
- (2) if you do make changes,
- (a) you name it something other than the names included in the
- ``xymtex'' directory and
- (b) you acknowledge the original name.
- This restriction ensures that all standard styles are identical.
-
-=======================================
-
-This file contains several codes modified from latex.tex (LaTeX2.09)
-and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-Copyright 1994 the LaTeX3 project and the individual authors (For further
-copyright information see the file legal.txt of the LaTeX2e standard
-distribution, and any other copyright indicated in this file.)
-
-\endpreamble
-
-\keepsilent
-
-\generateFile{hetarom.drv}{t}{%
- \from{hetarom.dtx}{driver}}
-
-\generateFile{hetarom.sty}{t}{%
- \from{hetarom.dtx}{hetarom}}
-
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/hetaromh.drv b/Master/texmf-dist/source/latex/xymtex/hetaromh.drv
deleted file mode 100644
index fa9b0ae95db..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/hetaromh.drv
+++ /dev/null
@@ -1,83 +0,0 @@
-%%
-%% This is file `hetaromh.drv',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% hetaromh.dtx (with options: `driver')
-%%
-%% This is a generated file.
-%%
-%% Copyright 1996,1998,2000 by Shinsaku Fujita
-%%
-%% This file is part of the XyMTeX system.
-%% =======================================
-%%
-%% Version 1.01 Released on August 16, 1996
-%% Version 1.02 Released on October 31, 1996 (private version)
-%% Version 2.00 Released on December 25, 1998
-%% Version 2.00a Released on November 11, 2000
-%%
-%% Copyright (C) 1996, 1998, 2000 by Shinsaku Fujita, all rights reserved.
-%% This style file is created for drawing chemical structural formulas
-%% This style file is to be contained in the ``xymtex'' directory which
-%% is an input directory for TeX.
-%%
-%% Copying of this file is authorized only if either
-%%
-%% (1) you make absolutely no changes to your copy, including name and
-%% directory name
-%% (2) if you do make changes,
-%% (a) you name it something other than the names included in the
-%% ``xymtex'' directory and
-%% (b) you acknowledge the original name.
-%% This restriction ensures that all standard styles are identical.
-%%
-%% =======================================
-%%
-%% This file contains several codes modified from latex.tex (LaTeX2.09)
-%% and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-%% Copyright 1994 the LaTeX3 project and the individual authors (For further
-%% copyright information see the file legal.txt of the LaTeX2e standard
-%% distribution, and any other copyright indicated in this file.)
-%%
-%% File: hetaromh.dtx
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{hetaromh.dtx}[1998/12/25 v2.00 XyMTeX{} package file]
-\documentclass{ltxdoc}
-\GetFileInfo{hetaromh.dtx}
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-\title{Heterocycles of horizontal type by {\sffamily hetaromh.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606-8585 Japan
-}
-\date{\filedate}
-\begin{document}
- \maketitle
- \DocInput{hetaromh.dtx}
-\end{document}
-\endinput
-%%
-%% End of file `hetaromh.drv'.
diff --git a/Master/texmf-dist/source/latex/xymtex/hetaromh.dtx b/Master/texmf-dist/source/latex/xymtex/hetaromh.dtx
deleted file mode 100644
index c90896bf019..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/hetaromh.dtx
+++ /dev/null
@@ -1,6700 +0,0 @@
-% \iffalse meta-comment
-%% File: hetaromh.dtx
-%
-% Copyright 1993,1996,1998,2000 by Shinsaku Fujita
-%
-% This file is part of XyMTeX system.
-% -------------------------------------
-%
-% This file is a successor to:
-%
-% hetaromh.sty
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%\typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 1.00}
-%\typeout{ -- Released December 1, 1993 by Shinsaku Fujita}
-% Copyright (C) 1993 by Shinsaku Fujita, all rights reserved.
-%
-% This file is a part of the macro package ``XyMTeX'' which has been
-% designed for typesetting chemical structural formulas.
-%
-% This file is to be contained in the ``xymtex'' directory which is
-% an input directory for TeX. It is a LaTeX optional style file and
-% should be used only within LaTeX, because several macros of the file
-% are based on LaTeX commands.
-%
-% For the review of XyMTeX, see
-% (1) Shinsaku Fujita, ``Typesetting structural formulas with the text
-% formatter TeX/LaTeX'', Computers and Chemistry, in press.
-% The following book deals with an application of TeX/LaTeX to
-% preparation of manuscripts of chemical fields:
-% (2) Shinsaku Fujita, ``LaTeX for Chemists and Biochemists''
-% Tokyo Kagaku Dozin, Tokyo (1993) [in Japanese].
-%
-% Copying of this file is authorized only if either
-% (1) you make absolutely no changes to your copy, including name and
-% directory name; or
-% (2) if you do make changes,
-% (a) you name it something other than the names included in the
-% ``xymtex'' directory and
-% (b) you are requested to leave this notice intact.
-% This restriction ensures that all standard styles are identical.
-%
-% Please report any bugs, comments, suggestions, etc. to:
-% Shinsaku Fujita,
-% Ashigara Research Laboratories, Fuji Photo Film Co., Ltd.,
-% Minami-Ashigara, Kanagawa-ken, 250-01, Japan.
-%
-% New address:
-% Shinsaku Fujita,
-% Department of Chemistry and Materials Technology,
-% Kyoto Institute of Technology, \\
-% Matsugasaki, Sakyoku, Kyoto, 606 Japan
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{hetaromh}
-% \def\versi@ndate{December 01, 1993}
-% \def\versi@nno{ver1.00}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{hetaromh}
-% \def\versi@ndate{August 16, 1996}
-% \def\versi@nno{ver1.01}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{hetaromh}
-% \def\versi@ndate{October 31, 1998}
-% \def\versi@nno{ver1.02}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{hetaromh}
-% \def\versi@ndate{December 25, 1998}
-% \def\versi@nno{ver2.00}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% \fi
-%
-% \CheckSum{5947}
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%
-% \setcounter{StandardModuleDepth}{1}
-%
-% \StopEventually{}
-% \MakeShortVerb{\|}
-%
-% \iffalse
-% \changes{v1.01}{1996/06/26}{first edition for LaTeX2e}
-% \changes{v1.02}{1998/10/31}{revised edition for LaTeX2e}
-% \changes{v2.00}{1998/12/25}{enhanced edition for LaTeX2e}
-% \changes{v2.00a}{2000/11/11}{bug fix}
-% \fi
-%
-% \iffalse
-%<*driver>
-\NeedsTeXFormat{pLaTeX2e}
-% \fi
-\ProvidesFile{hetaromh.dtx}[1998/12/25 v2.00 XyMTeX{} package file]
-% \iffalse
-\documentclass{ltxdoc}
-\GetFileInfo{hetaromh.dtx}
-%
-% %%XyMTeX Logo: Definition 2%%%
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\title{Heterocycles of horizontal type by {\sffamily hetaromh.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606-8585 Japan
-% % (old address)
-% % Ashigara Research Laboratories,
-% % Fuji Photo Film Co., Ltd., \\
-% % Minami-Ashigara, Kanagawa, 250-01 Japan
-}
-\date{\filedate}
-%
-\begin{document}
- \maketitle
- \DocInput{hetaromh.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \section{Introduction}\label{hetaromh:intro}
-%
-% \subsection{Options for {\sffamily docstrip}}
-%
-% \DeleteShortVerb{\|}
-% \begin{center}
-% \begin{tabular}{|l|l|}
-% \hline
-% \emph{option} & \emph{function}\\ \hline
-% hetaromh & hetaromh.sty \\
-% driver & driver for this dtx file \\
-% \hline
-% \end{tabular}
-% \end{center}
-% \MakeShortVerb{\|}
-%
-% \subsection{Version Information}
-%
-% \begin{macrocode}
-%<*hetaromh>
-\typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 2.00}
-\typeout{ -- Released December 25, 1998 by Shinsaku Fujita}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\j@urnalname{hetaromh}
-\def\versi@ndate{November 11, 2000}
-\def\versi@nno{ver2.00a}
-\def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\typeout{XyMTeX Macro File `\j@urnalname' (\versi@nno) <\versi@ndate>%
-\space[\copyrighth@lder]}
-% \end{macrocode}
-%
-% \section{List of commands for hetaromh.sty}
-%
-% \begin{verbatim}
-%
-% **********************************
-% * hetaromh.sty: list of commands *
-% **********************************
-%
-% <Conventions for bond-setting>
-%
-% \hbonda
-% \hbondf
-% \hbondb
-% \hbondc
-% \hbondd
-% \hbonde
-% \hbondvert
-% \hbondverti
-%
-% \hskbonda
-% \hskbondf
-% \hskbondc
-% \hskbondd
-% \hskbondb
-% \hskbonde
-% \hskbondvert
-% \hskbondverti
-%
-% \dothskbonda
-% \dothskbondf
-% \dothskbondc
-% \dothskbondd
-% \dothskbondb
-% \dothskbonde
-% \dothskbondvert
-% \dothskbondverti
-% \end{verbatim}
-%
-% \begin{verbatim}
-%
-% <Six-membered heterocycles (horizontal)>
-%
-% Basic Macros
-%
-% \sixheteroh \@sixheteroh
-% \sixheterohi \@sixheterohi
-%
-% Application Macros
-%
-% \pyridineh \@pyridineh
-% \pyridinehi \@pyridinehi
-% \pyrazineh \@pyrazineh
-% \pyrimidineh \@pyrimidineh
-% \pyrimidinehi \@pyrimidinehi
-% \pyridazineh \@pyridazineh
-% \pyridazinehi \@pyridazinehi
-% \triazineh \@triazineh
-% \triazinehi \@triazinehi
-% \end{verbatim}
-%
-% \begin{verbatim}
-%
-% <Five-membered heterocycles (horizontal)>
-%
-% Basic Macros
-%
-% \fiveheteroh \@fiveheteroh
-% \fiveheterohi \@fiveheterohi
-%
-% Application Macros
-%
-% \pyrroleh \@pyrroleh
-% \pyrazoleh \@pyrazoleh
-% \imidazoleh \@imidazoleh
-% \isoxazoleh \@isoxazoleh
-% \oxazoleh \@oxazoleh
-%
-% \furanh \@furanh
-% \thiopheneh \@thiopheneh
-%
-% \pyrrolehi \@pyrrolehi
-% \pyrazolehi \@pyrazolehi
-% \imidazolehi \@imidazolehi
-% \isoxazolehi \@isoxazolehi
-% \oxazolehi \@oxazolehi
-%
-% \furanhi \@furanhi
-% \thiophenehi \@thiophenehi
-%
-% \end{verbatim}
-%
-% \begin{verbatim}
-%
-% <Six-Six fused heterocycles (horizontal)>
-%
-% Basic Macros
-%
-% \decaheteroh \@decaheteroh
-% \decaheterohi \@decaheterohi
-%
-% Application Macros
-%
-% \quinolineh \@quinolineh
-% \quinolinehi \@quinolinehi
-% \isoquinolineh \@isoquinolineh
-% \isoquinolinehi \@isoquinolinehi
-% \quinoxalineh \@quinoxalineh
-% \quinazolineh \@quinazolineh
-% \quinazolinehi \@quinazolinehi
-% \cinnolineh \@cinnolineh
-% \cinnolinehi \@cinnolinehi
-% \pteridineh \@pteridineh
-% \pteridinehi \@pteridinehi
-% \end{verbatim}
-%
-% \begin{verbatim}
-%
-% <Six-Five fused heterocycles (horizontal)>
-%
-% Basic Macros
-%
-% \nonaheteroh \@nonaheteroh
-% \nonaheterohi \@nonaheterohi
-%
-% Application Macros
-%
-% \purineh \@purineh
-% \purinehi \@purinehi
-% \indoleh \@indoleh
-% \indolehi \@indolehi
-% \indolizineh \@indolizineh
-% \indolizinehi \@indolizinehi
-% \isoindoleh \@isoindoleh
-% \isoindolehi \@isoindolehi
-% \benzofuraneh \@benzofuraneh
-% \benzofuranehi \@benzofuranehi
-% \isobenzofuraneh \@isobenzofuraneh
-% \isobenzofuranehi \@isobenzofuranehi
-% \benzoxazoleh \@benzoxazoleh
-% \benzoxazolehi \@benzoxazolehi
-% \end{verbatim}
-%
-% \begin{verbatim}
-%
-% <Building units>
-%
-% \sixunith \@sixunith
-% \fiveunith \@fiveunith
-% \fiveunithi \@fiveunithi
-% \end{verbatim}
-%
-% \begin{verbatim}
-%
-% <Three-membered rings>
-%
-% \threeheteroh \@threeheteroh
-% \threeheterohi \@threeheterohi
-% \end{verbatim}
-%
-% \section{Input of basic macros}
-%
-% To assure the compatibility to \LaTeX{}2.09 (the native mode),
-% the commands added by \LaTeXe{} have not been used in the resulting sty
-% files ({\sf hetaromh.sty} for the present case). Hence, the combination
-% of |\input| and |\@ifundefined| is used to crossload sty
-% files ({\sf chemstr.sty} for the present case) in place of the
-% |\RequirePackage| command of \LaTeXe{}.
-%
-% \begin{macrocode}
-% *************************
-% * input of basic macros *
-% *************************
-\@ifundefined{setsixringv}{\input chemstr.sty\relax}{}%
-\@ifundefined{test@vertix@decavi}{\input hetarom.sty\relax}{}%
-\unitlength=0.1pt%
-% \end{macrocode}
-%
-% \section{Various switches}
-%
-% These control sequences have been commented out, since they are
-% defined elsewhere.
-%
-% \begin{macrocode}
-% % ****************************
-% % * various flags (switches) *
-% % ****************************
-% \newif\if@gclip \@gclipfalse%
-% \newif\if@hclip \@hclipfalse%
-% \newif\if@iclip \@iclipfalse%
-% \newif\if@jclip \@jclipfalse%
-% \def\iniflag{%
-% \@aclipfalse \@bclipfalse\@cclipfalse\@clipfalse\@eclipfalse%
-% \@fclipfalse\@gclipfalse\@hclipfalse\@iclipfalse\@jclipfalse%
-% \@clipfusefalse}%
-% \def\iniatom{%
-% \def\aaa{}\def\bbb{}\def\ccc{}\def\ddd{}\def\eee{}\def\fff{}%
-% \def\ggg{}\def\hhh{}\def\iii{}\def\jjj{}%
-% \def\@aaa{}\def\@bbb{}\def\@ccc{}\def\@ddd{}\def\@eee{}\def\@fff{}%
-% }%
-% \def\resetbdsw{\gdef\@aaa{a}\gdef\@bbb{b}\gdef\@ccc{c}%
-% \gdef\@ddd{d}\gdef\@eee{e}\gdef\@fff{f}}%
-%
-\iniatom%
-% \end{macrocode}
-%
-% \section{Macros for setting bonds}
-% \subsection{Inner double bonds}
-%
-% The macros |\sixheteroh| and |\fiveheteroh| use internal macros for setting
-% inner double bonds in accordance with the presence or the absence of
-% hetero atoms. During the processes of such setting,
-% the inner macros |\hbonda| to |\hbondf| are used to set a bond
-% on each edge of a six- or five-membered ring; and
-% the inner macros |\hbondvert| and |\hbondverti| draw vertical bonds
-% of a five-membered ring.
-%
-% Note that
-% comments (conerning locant numbers) on the end of each row have
-% lost the exact meaning,
-% since such a command moiety is used in many macros after copying.
-%
-% \begin{verbatim}
-% ******************************
-% * setting inner double bonds *
-% ******************************
-%
-% b
-% (bbb) 2 3 (ccc)
-% a ----- c
-% * *
-% the original point ===> 1 * (aaa) * 4 (ddd)
-% (0,0) * * c
-% f -----
-% (fff) 6 5 (eee)
-% e
-% \end{verbatim}
-%
-% \begin{macro}{\hbonda}
-% The macro |\hbonda| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\aaa| and |\bbb|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-% bond between 1 and 2
-\def\hbonda{%
- \ifx\aaa\empty%
- \ifx\bbb\empty%
- \put(42,6){\line(3,5){78}}% %double bond 1-2
- \else%
- \put(42,6){\line(3,5){62}}% %double bond 1-2
- \fi%
- \else%
- \ifx\bbb\empty%
- \put(57,36){\line(3,5){62}}% %double bond 1-2
- \else%
- \put(57,36){\line(3,5){62}}% %double bond 1-2
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\hbondf}
-% The macro |\hbondf| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\aaa| and |\fff|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-% bond between 1 and 6
-\def\hbondf{%
- \ifx\aaa\empty%
- \ifx\fff\empty%
- \put(42,-6){\line(3,-5){78}}% %double bond 1-6
- \else%
- \put(42,-6){\line(3,-5){62}}% %double bond 1-6
- \fi%
- \else%
- \ifx\fff\empty%
- \put(57,-36){\line(3,-5){62}}% %double bond 1-6
- \else%
- \put(57,-36){\line(3,-5){62}}% %double bond 1-6
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\hbondb}
-% The macro |\hbondf| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\bbb| and |\ccc|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-% bond between 3 and 2
- \def\hbondb{%
- \ifx\bbb\empty%
- \ifx\ccc\empty%
- \put(129,138){\line(1,0){148}}% %double bond 2-3
- \else%
- \put(129,138){\line(1,0){134}}% %double bond 3-2
- \fi%
- \else%
- \ifx\ccc\empty%
- \put(143,138){\line(1,0){134}}% %double bond 3-2
- \else%
- \put(143,138){\line(1,0){110}}% %double bond 3-2
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\hbondc}
-% The macro |\hbondc| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\ddd| and |\ccc|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-% bond between 4 and 3
- \def\hbondc{%
- \ifx\ddd\empty%
- \ifx\ccc\empty%
- \put(364,6){\line(-3,5){78}}% %double bond 4-3
- \else%
- \put(364,6){\line(-3,5){62}}% %double bond 4-3
- \fi%
- \else%
- \ifx\ccc\empty%
- \put(349,36){\line(-3,5){62}}% %double bond 4-3
- \else%
- \put(349,36){\line(-3,5){62}}% %double bond 4-3
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\hbondd}
-% The macro |\hbondf| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\ddd| and |\eee|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-% bond between 4 and 5
- \def\hbondd{%
- \ifx\ddd\empty%
- \ifx\eee\empty%
- \put(364,-6){\line(-3,-5){78}}% %double bond 4-5
- \else%
- \put(364,-6){\line(-3,-5){62}}% %double bond 4-5
- \fi%
- \else%
- \ifx\eee\empty%
- \put(349,-36){\line(-3,-5){62}}% %double bond 4-5
- \else%
- \put(349,-36){\line(-3,-5){62}}% %double bond 4-5
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\hbonde}
-% The macro |\hbonde| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\fff| and |\eee|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-% bond between 5 and 6
-\def\hbonde{%
- \ifx\fff\empty%
- \ifx\eee\empty%
- \put(129,-138){\line(1,0){148}}% %double bond 6-5
- \else%
- \put(129,-138){\line(1,0){134}}% %double bond 5-6
- \fi%
- \else%
- \ifx\eee\empty%
- \put(143,-138){\line(1,0){134}}% %double bond 5-6
- \else%
- \put(143,-138){\line(1,0){110}}% %double bond 5-6
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\hbondvert}
-% The macro |\hbondvert| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\fff| and |\bbb|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-% vertical inner bond for five-membered rings
-\def\hbondvert{%
- \ifx\fff\empty%
- \ifx\bbb\empty%
- \put(136,-138){\line(0,1){277}}% %double bond 4-3
- \else%
- \put(136,-138){\line(0,1){258}}% %double bond 4-3
- \fi%
- \else%
- \ifx\bbb\empty%
- \put(136,-120){\line(0,1){258}}% %double bond 4-3
- \else
- \put(136,-120){\line(0,1){239}}% %double bond 4-3
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\hbondverti}
-% The macro |\hbondverti| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\ccc| and |\eee|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-% horizontal inner bond for five-membered rings (inverse type)
-\def\hbondverti{%
- \ifx\eee\empty%
- \ifx\ccc\empty%
- \put(270,-138){\line(0,0){277}}% %double bond 4-3
- \else%
- \put(270,-138){\line(0,1){258}}% %double bond 4-3
- \fi%
- \else%
- \ifx\ccc\empty%
- \put(270,-120){\line(0,1){258}}% %double bond 4-3
- \else%
- \put(270,-120){\line(0,1){239}}% %double bond 4-3
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Skeletal bonds}
-%
-% The macros |\sixheteroh| and |\fiveheteroh| use inner macros for setting
-% skeletal bonds in accordance with the presence or the absence of
-% hetero atoms. During the processes of such setting,
-% the inner macros |\skbonda| to |\skbondf| are used to set a bond
-% on each edge of a six- or five-membered ring; and
-% the inner macros |\hskibondverti| to |\hskibondverti| draw vertical bonds
-% of a five-membered ring.
-%
-% \begin{verbatim}
-% ********************************************
-% * setting skeletal bonds (horizontal type) *
-% ********************************************
-% The following numbering is adopted in this macro.
-%
-% b
-% (bbb) 2 3 (ccc)
-% a ----- c
-% * *
-% the original point ===> 1 * (aaa) * 4 (ddd)
-% (0,0) * * d
-% f -----
-% (fff) 6 5 (eee)
-% e
-% \end{verbatim}
-%
-% \begin{macro}{\hskbonda}
-% The macro |\hskbonda| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\aaa| and |\bbb|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 1 and 2
-\def\hskbonda{%
- \ifx\aaa\empty%
- \ifx\bbb\empty%
- \put(0,0){\line(3,5){103}}% %bond 1-2
- \else%
- \put(0,0){\line(3,5){79}}% %bond 1-2
- \fi%
- \else%
- \ifx\bbb\empty%
- \put(24,40){\line(3,5){79}}% %bond 1-2
- \else%
- \put(24,40){\line(3,5){62}}% %bond 1-2
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\hskbondf}
-% The macro |\hskbondf| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\aaa| and |\fff|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 1 and 6
-\def\hskbondf{%
- \ifx\aaa\empty%
- \ifx\fff\empty
- \put(0,0){\line(3,-5){103}}% %bond 1-6
- \else%
- \put(0,0){\line(3,-5){79}}% %bond 1-6
- \fi%
- \else%
- \ifx\fff\empty%
- \put(24,-40){\line(3,-5){79}}% %bond 1-6
- \else%
- \put(24,-40){\line(3,-5){62}}% %bond 1-6
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\hskbondc}
-% The macro |\hskbondc| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\ddd| and |\ccc|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 4 and 3
-\def\hskbondc{%
- \ifx\ddd\empty%
- \ifx\ccc\empty%
- \put(406,0){\line(-3,5){103}}% %bond 4-3
- \else%
- \put(406,0){\line(-3,5){79}}% %bond 4-3
- \fi%
- \else%
- \ifx\ccc\empty%
- \put(382,40){\line(-3,5){79}}% %bond 4-3
- \else%
- \put(382,40){\line(-3,5){62}}% %bond 4-3
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\hskbondd}
-% The macro |\hskbondd| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\ddd| and |\eee|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 4 and 5
-\def\hskbondd{%
- \ifx\ddd\empty%
- \ifx\eee\empty%
- \put(406,0){\line(-3,-5){103}}% %bond 4-5
- \else%
- \put(406,0){\line(-3,-5){79}}% %bond 4-5
- \fi%
- \else%
- \ifx\eee\empty%
- \put(382,-40){\line(-3,-5){79}}% %bond 4-5
- \else%
- \put(382,-40){\line(-3,-5){62}}% %bond 4-5
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\hskbondb}
-% The macro |\hskbondb| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\bbb| and |\ccc|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 3 and 2
-\def\hskbondb{%
- \ifx\bbb\empty%
- \ifx\ccc\empty%
- \put(103,171){\line(1,0){200}}% %bond 2-3
- \else%
- \put(103,171){\line(1,0){160}}% %bond 3-2
- \fi%
- \else%
- \ifx\ccc\empty%
- \put(143,171){\line(1,0){160}}% %bond 3-2
- \else%
- \put(143,171){\line(1,0){120}}% %bond 3-2
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\hskbonde}
-% The macro |\hskbonde| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\eee| and |\fff|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 5 and 6
-\def\hskbonde{%
- \ifx\eee\empty%
- \ifx\fff\empty%
- \put(103,-171){\line(1,0){200}}% %bond 6-5
- \else%
- \put(143,-171){\line(1,0){160}}% %bond 5-6
- \fi%
- \else%
- \ifx\fff\empty%
- \put(103,-171){\line(1,0){160}}% %bond 5-6
- \else%
- \put(143,-171){\line(1,0){120}}% %bond 5-6
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\hskbondvert}
-% The macro |\hskbondvert| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\bbb| and |\fff|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%vertical bond for five-membered rings
-\def\hskbondvert{%
- \ifx\fff\empty%
- \ifx\bbb\empty%
- \put(103,-171){\line(0,1){342}}% %bond 4-3
- \else%
- \put(103,-171){\line(0,1){300}}% %bond 4-3
- \fi%
- \else%
- \ifx\bbb\empty%
- \put(103,171){\line(0,-1){300}}% %bond 4-3
- \else%
- \put(103,-129){\line(0,1){258}}% %bond 4-3
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\hskbondverti}
-% The macro |\hskbondverti| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\eee| and |\ccc|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%vertical bond for five-membered rings (inverse type)
-\def\hskbondverti{%
- \ifx\eee\empty%
- \ifx\ccc\empty%
- \put(303,-171){\line(0,1){342}}% %bond 4-3
- \else%
- \put(303,-171){\line(0,1){300}}% %bond 4-3
- \fi%
- \else%
- \ifx\ccc\empty%
- \put(303,171){\line(0,-1){300}}% %bond 4-3
- \else%
- \put(303,-129){\line(0,1){258}}% %bond 4-3
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Dotted Skeletal Bonds}
-%
-% The macros |\sixfuseh| etc. use inner macros for setting
-% skeletal bonds in accordance with the presence or the absence of
-% hetero atoms. During the processes of such setting,
-% the inner macros |\dothskbonda| to |\dothskbondf| are used
-% to set a dotted bond on each edge of a six- or five-membered ring.
-%
-% \begin{macro}{\dothskbonda}
-% The macro |\dothskbonda| is the dotted counterpart of |\hskbonda|,
-% which refers to the control sequences representing
-% atoms on both of the terminal vertices (|\aaa| and |\bbb|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 1 and 2
-\def\dothskbonda{%
- \ifx\aaa\empty%
- \ifx\bbb\empty%
- \@ifundefined{dottedline}{%
- \put(0,0){\line(3,5){103}}% %bond 1-2
- }{{\thicklines%
- \dottedline{20}(0,0)(103,171)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(0,0){\line(3,5){79}}% %bond 1-2
- }{{\thicklines%
- \dottedline{20}(0,0)(79,132)}}%
- \fi%
- \else%
- \ifx\bbb\empty%
- \@ifundefined{dottedline}{%
- \put(24,40){\line(3,5){79}}% %bond 1-2
- }{{\thicklines%
- \dottedline{20}(24,40)(103,171)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(24,40){\line(3,5){62}}% %bond 1-2
- }{{\thicklines%
- \dottedline{20}(24,40)(86,143)}}%
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dothskbondb}
-% The macro |\dothskbondb| is the dotted counterpart of |\hskbondb|,
-% which refers to the control sequences representing
-% atoms on both of the terminal vertices (|\bbb| and |\ccc|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 3 and 2
-\def\dothskbondb{%
- \ifx\bbb\empty%
- \ifx\ccc\empty%
- \@ifundefined{dottedline}{%
- \put(103,171){\line(1,0){200}}% %bond 2-3
- }{{\thicklines%
- \dottedline{20}(103,171)(303,171)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(103,171){\line(1,0){160}}% %bond 3-2
- }{{\thicklines%
- \dottedline{20}(103,171)(263,171)}}%
- \fi%
- \else%
- \ifx\ccc\empty%
- \@ifundefined{dottedline}{%
- \put(143,171){\line(1,0){160}}% %bond 3-2
- }{{\thicklines%
- \dottedline{20}(143,171)(303,171)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(143,171){\line(1,0){120}}% %bond 3-2
- }{{\thicklines%
- \dottedline{20}(143,171)(263,171)}}%
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dothskbondc}
-% The macro |\dothskbondc| is the dotted counterpart of |\hskbondc|,
-% which refers to the control sequences representing
-% atoms on both of the terminal vertices (|\ddd| and |\ccc|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 4 and 3
-\def\dothskbondc{%
- \ifx\ddd\empty%
- \ifx\ccc\empty%
- \@ifundefined{dottedline}{%
- \put(406,0){\line(-3,5){103}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(406,0)(303,171)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(406,0){\line(-3,5){79}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(406,0)(327,132)}}%
- \fi%
- \else%
- \ifx\ccc\empty%
- \@ifundefined{dottedline}{%
- \put(382,40){\line(-3,5){79}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(382,40)(303,171)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(382,40){\line(-3,5){62}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(382,40)(320,143)}}%
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dothskbondd}
-% The macro |\dothskbondd| is the dotted counterpart of |\hskbondd|,
-% which refers to the control sequences representing
-% atoms on both of the terminal vertices (|\ddd| and |\eee|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 4 and 5
-\def\dothskbondd{%
- \ifx\ddd\empty%
- \ifx\eee\empty%
- \@ifundefined{dottedline}{%
- \put(406,0){\line(-3,-5){103}}% %bond 4-5
- }{{\thicklines%
- \dottedline{20}(406,0)(303,-171)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(406,0){\line(-3,-5){79}}% %bond 4-5
- }{{\thicklines%
- \dottedline{20}(406,0)(327,-132)}}%
- \fi%
- \else%
- \ifx\eee\empty%
- \@ifundefined{dottedline}{%
- \put(382,-40){\line(-3,-5){79}}% %bond 4-5
- }{{\thicklines%
- \dottedline{20}(382,-40)(303,-171)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(382,-40){\line(-3,-5){62}}% %bond 4-5
- }{{\thicklines%
- \dottedline{20}(382,-40)(320,-143)}}%
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dothskbonde}
-% The macro |\dothskbonde| is the dotted counterpart of |\hskbonde|,
-% which refers to the control sequences representing
-% atoms on both of the terminal vertices (|\eee| and |\fff|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 5 and 6
-\def\dothskbonde{%
- \ifx\eee\empty%
- \ifx\fff\empty%
- \@ifundefined{dottedline}{%
- \put(103,-171){\line(1,0){200}}% %bond 6-5
- }{{\thicklines%
- \dottedline{20}(103,-171)(303,-171)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(143,-171){\line(1,0){160}}% %bond 5-6
- }{{\thicklines%
- \dottedline{20}(143,-171)(303,-171)}}%
- \fi%
- \else%
- \ifx\fff\empty%
- \@ifundefined{dottedline}{%
- \put(103,-171){\line(1,0){160}}% %bond 5-6
- }{{\thicklines%
- \dottedline{20}(103,-171)(263,-171)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(143,-171){\line(1,0){120}}% %bond 5-6
- }{{\thicklines%
- \dottedline{20}(143,-171)(263,-171)}}%
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dothskbondf}
-% The macro |\dothskbondf| is the dotted counterpart of |\hskbondf|,
-% which refers to the control sequences representing
-% atoms on both of the terminal vertices (|\aaa| and |\fff|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%bond between 1 and 6
-\def\dothskbondf{%
- \ifx\aaa\empty%
- \ifx\fff\empty
- \@ifundefined{dottedline}{%
- \put(0,0){\line(3,-5){103}}% %bond 1-6
- }{{\thicklines%
- \dottedline{20}(0,0)(103,-171)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(0,0){\line(3,-5){79}}% %bond 1-6
- }{{\thicklines%
- \dottedline{20}(0,0)(79,-131)}}%
- \fi%
- \else%
- \ifx\fff\empty%
- \@ifundefined{dottedline}{%
- \put(24,-40){\line(3,-5){79}}% %bond 1-6
- }{{\thicklines%
- \dottedline{20}(24,-40)(103,-171)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(24,-40){\line(3,-5){62}}% %bond 1-6
- }{{\thicklines%
- \dottedline{20}(24,-40)(86,-143)}}%
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dothskbondvert}
-% The macro |\dothskbondvert| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\bbb| and |\fff|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%vertical bond for five-membered rings
-\def\dothskbondvert{%
- \ifx\fff\empty%
- \ifx\bbb\empty%
- \@ifundefined{dottedline}{%
- \put(103,-171){\line(0,1){342}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(103,-171)(103,171)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(103,-171){\line(0,1){300}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(103,-171)(103,129)}}%
- \fi%
- \else%
- \ifx\bbb\empty%
- \@ifundefined{dottedline}{%
- \put(103,171){\line(0,-1){300}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(103,171)(103,-129)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(103,-129){\line(0,1){258}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(103,-129)(103,129)}}%
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dothskbondverti}
-% The macro |\dothskbondverti| refers to the control sequences representing
-% atoms on both of the terminal vertices (|\eee| and |\ccc|) and
-% examine whether these are empty or not. Thereby,
-% it decides the vertices to be truncated.
-%
-% \begin{macrocode}
-%vertical bond for five-membered rings (inverse type)
-\def\dothskbondverti{%
- \ifx\eee\empty%
- \ifx\ccc\empty%
- \@ifundefined{dottedline}{%
- \put(303,-171){\line(0,1){342}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(303,-171)(303,171)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(303,-171){\line(0,1){300}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(303,-171)(303,129)}}%
- \fi%
- \else%
- \ifx\ccc\empty%
- \@ifundefined{dottedline}{%
- \put(303,171){\line(0,-1){300}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(303,171)(303,-129)}}%
- \else%
- \@ifundefined{dottedline}{%
- \put(303,-129){\line(0,1){258}}% %bond 4-3
- }{{\thicklines%
- \dottedline{20}(303,-129)(303,129)}}%
- \fi\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\set@skel@bondh| is used in |\sixfuseh| etc.
-% for setting skeletal bonds (outer bonds), when |\@aaa| etc.
-% (produced by |\csname|...|\endcsname|) are equal to `a'
-% etc. (given as \#2). Thinline, thickline and dotted-line
-% skeletal bonds are available.
-%
-% \begin{macro}{\set@skel@bondh}
-% \begin{macrocode}
-\def\set@skel@bondh#1#2#3{%
- \expandafter\if\csname @#2#2#2\endcsname #2\relax%OK
- % \if\@aaa #2\relax%OK
- \@skbondlistfalse
- \@tfor\member:=#1\do{%
- \expandafter\twoCH@@R\member//
- \if\@@tmpa #2\relax%
- \if\@@tmpb A\relax%
- \expandafter\csname dothskbond#3\endcsname% \dothskbonda etc.
- \@skbondlisttrue
- \else\if\@@tmpb B\relax%
- {\thicklines
- \expandafter\csname hskbond#3\endcsname% \hskbonda etc.
- }%
- \@skbondlisttrue
- \fi\fi
- \fi%
- }%
- \if@skbondlist\else
- {\thinlines
- \expandafter\csname hskbond#3\endcsname% \hskbonda etc.
- }%
- \fi%
- \else
- \expandafter\ifx\csname @#2#2#2\endcsname \empty\relax%
- % \ifx\@aaa\empty\relax
- \@tfor\member:=#1\do{%
- \expandafter\twoCH@@R\member//
- \if\@@tmpa #2\relax%
- \XyMTeXWarning{Unavailable bond `#2' in SKBONDLIST}\fi
- }%
- \fi\fi
-}% end of \set@skel@bondh
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Six-membered heterocyles}
-% \subsection{Horizontal type}
-%
-% The standard skeleton of a six-membered heterocycle is selected
-% to have the following locant numbers.
-%
-% \begin{verbatim}
-% *************************
-% * sixhetero derivatives *
-% * (horizontal type) *
-% *************************
-% The following numbering is adopted in this macro.
-%
-% b
-% 2 3
-% a ----- c
-% * *
-% the original point ===> 1 * * 4
-% (0,0) * * d
-% f -----
-% 6 5
-% e
-%
-% \end{verbatim}
-%
-% The macro |\sixheterovh| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \sixheteroh(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `f' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to f, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `A' represents an aromatic circle. The option
-% `$n+$' ($n=1$ to $6$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none or r : sixhetero (right-handed)
-% l : sixhetero (left-handed)
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% f : 6,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 6)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 6 atoms)
-%
-% for n = 1 to 6
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents (max 6 substitution positions)
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a, b, c, d, e, or f)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \sixheteroh{1==N}{1==Cl;2==F}
-% \sixheteroh[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \sixheteroh[eb]{1==N}{1D==O;4SA==MeO;4SB==OMe;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\sixheteroh| uses a picture environment and
-% consists of the following unit processes:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by |\setsixringh|.
-% \end{enumerate}
-%
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylpositionh}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/11/29}{Add: Spiro and fused rings}
-%
-% \begin{macro}{\sixheteroh}
-% \begin{macro}{\@six@heteroh}
-% \begin{macro}{\@six@@heteroh}
-% \begin{macro}{\@sixheteroh}
-% \begin{macrocode}
-\def\sixheteroh{\@ifnextchar({\@six@heteroh(@}{\@six@heteroh(@)}}
-\def\@six@heteroh(#1){\@ifnextchar[{\@six@@heteroh(#1)[@}%
-{\@six@@heteroh(#1)[@]}}
-\def\@six@@heteroh(#1)[#2]#3#4{\@ifnextchar[%
-{\@sixheteroh(#1)[#2]{#3}{#4}[@}%
-{\@sixheteroh(#1)[#2]{#3}{#4}[@]}}
-\def\@sixheteroh(#1)[#2]#3#4[#5]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize
-\test@vrtx@sixh{#3}%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adjustment of attached positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\@reset@ylsw%
-\ylpositionh{#4}{0}{0}{7}{0}%
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
-\begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(880,800)(-240,-400)%
- \iforigpt \put(-\shifti,-\shiftii){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `sixheteroh' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shifti,\the\shiftii)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-{%
-\resetbdsw%
-\@bond@@omit{#5}%
-\set@skel@bondh{#1}{a}{a}% bond between 1 and 2 \@aaa -> \hskbonda etc
-\set@skel@bondh{#1}{b}{b}% bond between 2 and 3 \@bbb -> \hskbondb etc
-\set@skel@bondh{#1}{c}{c}% bond between 3 and 4 \@ccc -> \hskbondc etc
-\set@skel@bondh{#1}{d}{d}% bond between 4 and 5 \@ddd -> \hskbondd etc
-\set@skel@bondh{#1}{e}{e}% bond between 5 and 6 \@eee -> \hskbonde etc
-\set@skel@bondh{#1}{f}{f}% bond between 6 and 1 \@fff -> \hskbondf etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax \hbondd \hbondf \hbondb%
-\else \if\member l\relax \hbonda \hbondc \hbonde%
-\else \if\member a\relax \hbonda%
-\else \if\member b\relax \hbondb%
-\else \if\member c\relax \hbondc%
-\else \if\member d\relax \hbondd%
-\else \if\member e\relax \hbonde%
-\else \if\member f\relax \hbondf%
-\else \if\member A%left aromatic circle
-% \put(0,203){\circle{240}}% %circle
- \put(203,0){\circle{240}}% %circle
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-\else \expandafter\twoCH@@R\member//%
- \set@fusionadd@sixh
-\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\set@hetatom@sixh{#3}{0}{0}{7}{0}% %atom 1--6%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\setsixringh{#4}{0}{0}{7}{0}% %subst 1--6
-\end{picture}\iniatom\iniflag}% %end of \sixheteroh macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\test@vrtx@sixh| is used to test the presence of
-% a hetero atom or a spiro substituent on a vertex of the
-% sixheteroh nucleus.
-%
-% \begin{macro}{\test@vrtx@sixh}
-% \begin{macrocode}
-\def\test@vrtx@sixh#1{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\ifcase\@tmpa%
- \or% \xdef\aaa{\@memberb}%
- \if\@tmpb s\relax\def\aaa{}\else\def\aaa{@}\fi
- \or% \xdef\bbb{\@memberb}%
- \if\@tmpb s\relax\def\bbb{}\else\def\bbb{@}\fi
- \or% \xdef\ccc{\@memberb}%
- \if\@tmpb s\relax\def\ccc{}\else\def\ccc{@}\fi
- \or% \xdef\ddd{\@memberb}%
- \if\@tmpb s\relax\def\ddd{}\else\def\ddd{@}\fi
- \or% \xdef\eee{\@memberb}%
- \if\@tmpb s\relax\def\eee{}\else\def\eee{@}\fi
- \or% \xdef\fff{\@memberb}%
- \if\@tmpb s\relax\def\fff{}\else\def\fff{@}\fi
-\fi\fi}%
-}% end of \test@vrtx@sixh
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse horizontal type}
-%
-% The standard skeleton of a six-membered heterocycle of inverse type
-% is selected to have the following locant numbers.
-%
-% \begin{verbatim}
-% ************************************
-% * sixhetero derivatives *
-% * (horizontal type, inverse type) *
-% ************************************
-% The following numbering is adopted in this macro.
-%
-% b
-% 3 2
-% c ----- a
-% * *
-% the original point ===> 4 * * 1
-% (0,0) * * f
-% d -----
-% 5 6
-% e
-% \end{verbatim}
-%
-% The macro |\sixheterohi| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \sixheterohi(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `f' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to f, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `A' represents an aromatic circle. The option
-% `$n+$' ($n=1$ to $6$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-%
-% BONDLIST =
-%
-% none or r : sixhetero (right-handed)
-% l : sixhetero (left-handed)
-% [] : fully saturated form
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% f : 6,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 4)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 6 atoms)
-%
-% for n = 1 to 6
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents (max 6 substitution positions)
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a, b, c, d, e, or f)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \sixheterohi{1==N}{1==Cl;2==F}
-% \sixheterohi[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \sixheterohi[eb]{1==N}{1D==O;4SA==MeO;4SB==OMe;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\sixheterohi| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheterov|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by |\setsixringh|.
-% \end{enumerate}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylpositionh}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/11/29}{Add: Spiro and fused rings}
-%
-% \begin{macro}{\sixheterohi}
-% \begin{macro}{\@six@heterohi}
-% \begin{macro}{\@six@@heterohi}
-% \begin{macro}{\@sixheterohi}
-% \begin{macrocode}
-\def\sixheterohi{\@ifnextchar({\@six@heterohi(@}{\@six@heterohi(@)}}
-\def\@six@heterohi(#1){\@ifnextchar[{\@six@@heterohi(#1)[@}%
-{\@six@@heterohi(#1)[@]}}
-\def\@six@@heterohi(#1)[#2]#3#4{\@ifnextchar[%
-{\@sixheterohi(#1)[#2]{#3}{#4}[@}%
-{\@sixheterohi(#1)[#2]{#3}{#4}[@]}}
-\def\@sixheterohi(#1)[#2]#3#4[#5]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize
-\test@vrtx@sixhi{#3}%
-\@reset@ylsw%
-\ylpositionh{#4}{5}{0}{5}{-1}% %subst 1--4
-\ylpositionh{#4}{11}{4}{7}{-1}% %subst 5 and 6
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(880,800)(-240,-400)%
- \iforigpt \put(-\shifti,-\shiftii){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `sixheterohi' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shifti,\the\shiftii)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-{\resetbdsw%
-\@bond@@omit{#5}%
-\set@skel@bondh{#1}{a}{c}% bond between 1 and 2 \@aaa -> \hskbondc etc
-\set@skel@bondh{#1}{b}{b}% bond between 2 and 3 \@bbb -> \hskbondb etc
-\set@skel@bondh{#1}{c}{a}% bond between 3 and 4 \@ccc -> \hskbonda etc
-\set@skel@bondh{#1}{d}{f}% bond between 4 and 5 \@ddd -> \hskbondf etc
-\set@skel@bondh{#1}{e}{e}% bond between 5 and 6 \@eee -> \hskbonde etc
-\set@skel@bondh{#1}{f}{d}% bond between 6 and 1 \@fff -> \hskbondd etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax \hbondd \hbondf \hbondb%
-\else \if\member l\relax \hbonda \hbondc \hbonde%
-\else \if\member a\relax \hbondc%
-\else \if\member b\relax \hbondb%
-\else \if\member c\relax \hbonda%
-\else \if\member d\relax \hbondf%
-\else \if\member e\relax \hbonde%
-\else \if\member f\relax \hbondd%
-\else \if\member A%left aromatic circle
-% \put(0,203){\circle{240}}% %circle
- \put(203,0){\circle{240}}% %circle
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-\else \expandafter\twoCH@@R\member//%
- \set@fusionadd@sixhi
-\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\set@hetatom@sixh{#3}{5}{0}{5}{-1}% %subst 1--4
-\set@hetatom@sixh{#3}{11}{4}{7}{-1}% %subst 5 and 6
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\setsixringh{#4}{5}{0}{5}{-1}% %subst 1--4
-\setsixringh{#4}{11}{4}{7}{-1}% %subst 5 and 6
-\end{picture}\iniatom\iniflag}% %end of \sixheterohi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\test@vrtx@sixhi| is used to test the presence of
-% a hetero atom or a spiro substituent on a vertex of the
-% sixheteroh nucleus.
-%
-% \begin{macro}{\test@vrtx@sixhi}
-% \begin{macrocode}
-\def\test@vrtx@sixhi#1{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\ifcase\@tmpa%
- \or \if\@tmpb s\relax\def\ddd{}\else\def\ddd{@}\fi
- \or \if\@tmpb s\relax\def\ccc{}\else\def\ccc{@}\fi
- \or \if\@tmpb s\relax\def\bbb{}\else\def\bbb{@}\fi
- \or \if\@tmpb s\relax\def\aaa{}\else\def\aaa{@}\fi
- \or \if\@tmpb s\relax\def\fff{}\else\def\fff{@}\fi
- \or \if\@tmpb s\relax\def\eee{}\else\def\eee{@}\fi
-\fi\fi}%
-}% end of \test@vrtx@sixhi
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Pyridine derivatives of horizontal type}
-%
-% The macros |\sixheteroh| and |\sixheterohi| can be used in the
-% form of a fixed |ATOMLIST|. Hence, the resulting commands for
-% drawing a six-membered heterocyle with one or more nitrogen atoms
-% have an argument |SUBSLIST| as well as an optional argument |BONDLIST|.
-%
-% \begin{verbatim}
-% ************************
-% * pyridine derivatives *
-% * (horizontal type) *
-% ************************
-%
-% \pyridineh[BONDLIST]{SUBSLIST}
-% \pyridinehi[BONDLIST]{SUBSLIST}
-% \pyrazineh[BONDLIST]{SUBSLIST}
-% \pyrimidineh[BONDLIST]{SUBSLIST}
-% \pyrimidinehi[BONDLIST]{SUBSLIST}
-% \triazineh[BONDLIST]{SUBSLIST}
-% \triazinehi[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one
-% character selected from a to f, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `A' represents an aromatic circle. The option
-% `$n+$' ($n=1$ to $6$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none or r : pyridine (right-handed)
-% l : pyridine (left-handed)
-% [] : fully saturated ring
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% f : 6,1-double bond
-% A : aromatic circle
-% {n+} : plus at the nitrogen atom
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \pyridineh{1==Cl;2==F}
-% \pyridineh[c]{1==Cl;4==F;2==CH$_{3}$}
-% \pyridineh[eb]{1D==O;4SA==MeO;4SB==OMe;5W==Cl;6==Cl}
-% \end{verbatim}
-% \changes{v2.00}{1998/11/29}{Add: fused rings}
-%
-% \begin{macro}{\pyridineh}
-% \begin{macro}{\pyridinehi}
-% \begin{macrocode}
-\def\pyridineh{\@ifnextchar[{\@pyridineh[@}{\@pyridineh[r]}}%
-\def\@pyridineh[#1]#2{%
-\iforigpt \typeout{command `pyridineh' %
- is based on `sixheteroh'.}\fi%
-\sixheteroh[#1]{1==N}{#2}}%end of \pyridineh macro
-\def\pyridinehi{\@ifnextchar[{\@pyridinehi}{\@pyridinehi[r]}}%
-\def\@pyridinehi[#1]#2{%
-\iforigpt \typeout{command `pyridinehi' %
- is based on `sixheterohi'.}\fi%
-\sixheterohi[#1]{1==N}{#2}}% %end of \pyridinehi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\pyridazineh}
-% \begin{macrocode}
-\def\pyrazineh{\@ifnextchar[{\@pyrazineh[@}{\@pyrazineh[r]}}%
-\def\@pyrazineh[#1]#2{%
-\iforigpt \typeout{command `pyrazineh' %
- is based on `sixheteroh'.}\fi%
-\sixheteroh[#1]{1==N;4==N}{#2}}%end of \pyrazineh macro
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\pyrimidineh}
-% \begin{macro}{\pyrimidinehi}
-% \begin{macrocode}
-\def\pyrimidineh{%
- \@ifnextchar[{\@pyrimidineh[@}{\@pyrimidineh[r]}}%
-\def\@pyrimidineh[#1]#2{%
-\iforigpt \typeout{command `pyrimidineh' %
- is based on `sixheteroh'.}\fi%
-\sixheteroh[#1]{1==N;3==N}{#2}}%
- %end of \pyrimidineh macro
-\def\pyrimidinehi{%
- \@ifnextchar[{\@pyrimidinehi[@}{\@pyrimidinehi[r]}}%
-\def\@pyrimidinehi[#1]#2{%
-\iforigpt \typeout{command `pyrimidinehi' %
- is based on `sixheterohi'.}\fi%
-\sixheterohi[#1]{1==N;3==N}{#2}}%end of \pyrimidinehi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\pyridazineh}
-% \begin{macro}{\pyridazinehi}
-% \begin{macrocode}
-\def\pyridazineh{\@ifnextchar[{\@pyridazineh[@}{\@pyridazineh[r]}}%
-\def\@pyridazineh[#1]#2{%
-\iforigpt \typeout{command `pyridazineh' %
- is based on `sixheteroh'.}\fi%
-\sixheteroh[#1]{1==N;2==N}{#2}}%
- %end of \pyridazineh macro
-\def\pyridazinehi{%
- \@ifnextchar[{\@pyridazinehi}{\@pyridazinehi[r]}}%
-\def\@pyridazinehi[#1]#2{%
-\iforigpt \typeout{command `pyridazinehi' %
- is based on `sixheterohi'.}\fi%
-\sixheterohi[#1]{1==N;2==N}{#2}}%end of \pyridazinehi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\triazineh}
-% \begin{macro}{\triazinehi}
-% \begin{macrocode}
-\def\triazineh{\@ifnextchar[{\@triazineh[@}{\@triazineh[r]}}%
-\def\@triazineh[#1]#2{%
-\iforigpt \typeout{command `triazineh' %
- is based on `sixheteroh'.}\fi%
-\sixheteroh[#1]{1==N;3==N;5==N}{#2}}%end of \triazineh macro
-\def\triazinehi{\@ifnextchar[{\@triazinehi[@}{\@triazinehi[r]}}%
-\def\@triazinehi[#1]#2{%
-\iforigpt \typeout{command `triazinehi' %
- is based on `sixheterohi'.}\fi%
-\sixheterohi[#1]{1==N;3==N;5==N}{#2}}%end of \triazinehi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \section{Five-membered heterocycles}
-% \subsection{Horizontal type}
-%
-% The standard skeleton of a five-membered heterocycle
-% is selected to have the following locant numbers.
-%
-% \begin{verbatim}
-% ****************************
-% * fivehetero derivatives *
-% * (horizontal type) *
-% ****************************
-% The following numbering is adopted in this macro.
-%
-% 3 _____ 2
-% | *
-% | * 1 <===== the original point
-% | *
-% 4 ----- 5
-% \end{verbatim}
-%
-% The macro |\fiveheteroh| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \fiveheteroh(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `e' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to e, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `A' represents an aromatic circle. The option
-% `$n+$' ($n=1$ to $5$) represents a plus charge on a hetero atom
-% at the $n$-position. The option
-% `$0+$' represents a plus charge at the center of the ring.
-%
-% \begin{verbatim}
-% BONDLIST: list of inner double bonds
-%
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 5)
-% {0+} : plus (or others) at the center
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 5 atoms)
-%
-% for n = 1 to 5
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 5
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a, b, c, d, or e)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \fiveheteroh{1==N}{1==H;2==F}
-% \fiveheteroh[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \fiveheteroh[eb]{1==N}{1D==O;4SA==MeO;4SB==OMe;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\fiveheteroh| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheterov|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by |\setsixringh| partially.
-% \end{enumerate}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylpositionh}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/5}{Add: fused and spiro rings}
-%
-% \begin{macro}{\fiveheteroh}
-% \begin{macro}{\@five@heteroh}
-% \begin{macro}{\@five@@heteroh}
-% \begin{macro}{\@fiveheteroh}
-% \begin{macrocode}
-\def\fiveheteroh{\@ifnextchar({\@five@heteroh(@}{\@five@heteroh(@)}}
-\def\@five@heteroh(#1){\@ifnextchar[{\@five@@heteroh(#1)[@}%
-{\@five@@heteroh(#1)[@]}}
-\def\@five@@heteroh(#1)[#2]#3#4{\@ifnextchar[%
-{\@fiveheteroh(#1)[#2]{#3}{#4}[@}%
-{\@fiveheteroh(#1)[#2]{#3}{#4}[@]}}
-\def\@fiveheteroh(#1)[#2]#3#4[#5]{%
-\iniatom\iniflag%initialize
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\test@vrtx@fivehi{#3}%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adustment of subs positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\@reset@ylsw%
-\ylpositionh{#4}{5}{1}{5}{-1}% % for 1 to 3
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-\ylpositionh{#4}{10}{4}{7}{-1}% % for 4 to 5
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(800,880)(-240,-400)%
- \iforigpt \put(-\shifti,-\shiftii){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `fiveheteroh' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shifti,\the\shiftii)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-{\resetbdsw%
-\@bond@@omit{#5}%
-\set@skel@bondh{#1}{a}{c}% bond between 1 and 2 \@aaa -> \skbondc etc
-\set@skel@bondh{#1}{b}{b}% bond between 2 and 3 \@bbb -> \skbondb etc
-\set@skel@longbond{#1}{c}{hskbondvert}%
- % bond between 3 and 4 \@ccc -> \skbondhoriz etc
-\set@skel@bondh{#1}{d}{e}% bond between 4 and 5 \@ddd -> \skbonde etc
-\set@skel@bondh{#1}{e}{d}% bond between 5 and 1 \@eee -> \skbondd etc
-}%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r%
-\else \if\member a\relax \hbondc%
-\else \if\member b\relax \hbondb%
-\else \if\member c\relax \hbondvert%
-\else \if\member d\relax \hbonde%
-\else \if\member e\relax \hbondd%
-\else \if\member A%left aromatic circle
- \put(233,0){\circle{180}}% %circle
-\else
- \expandafter\twoCH@@R\member//%
- \set@fusionadd@fiveh
-\fi\fi\fi\fi\fi\fi\fi}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\put(0,0){\set@hetatom@sixh{#3}{5}{1}{5}{-1}}% % for 1 to 3
-\put(0,0){\set@hetatom@sixh{#3}{10}{4}{7}{-1}}% % for 4 to 5
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\put(0,0){\setsixringh{#4}{5}{1}{5}{-1}}% % for 1 to 3
-\put(0,0){\setsixringh{#4}{10}{4}{7}{-1}}% % for 4 to 5
-\end{picture}\iniatom\iniflag}% %end of \fiveheteroh macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\test@vrtx@fivehi| is used to test the presence of
-% a hetero atom or a spiro substituent on a vertex of the
-% fiveheteroh nucleus.
-%
-% \begin{macro}{\test@vrtx@fivehi}
-% \begin{macrocode}
-\def\test@vrtx@fivehi#1{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\ifcase\@tmpa%
- \or \if\@tmpb s\relax\def\ddd{}\else\def\ddd{@}\fi
- \or \if\@tmpb s\relax\def\ccc{}\else\def\ccc{@}\fi
- \or \if\@tmpb s\relax\def\bbb{}\else\def\bbb{@}\fi
- \or \if\@tmpb s\relax\def\fff{}\else\def\fff{@}\fi
- \or \if\@tmpb s\relax\def\eee{}\else\def\eee{@}\fi
- \or \if\@tmpb s\relax\def\aaa{}\else\def\aaa{@}\fi% dummy
-\fi\fi}%
-}% end of \test@vrtx@sixhi
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse horizontal type}
-%
-% The standard skeleton of a five-membered heterocycle of inverse type
-% is selected to have the following locant numbers.
-%
-% \begin{verbatim}
-% *******************************
-% * fivehetero derivatives *
-% * (horizontal type, inverse) *
-% *******************************
-% The following numbering is adopted in this macro.
-%
-% 2 ----- 3
-% * |
-% the original point 1 * |
-% * |
-% _____|
-% 5 4
-% \end{verbatim}
-%
-% The macro |\fiveheterohi| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \fiveheterohi(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `e' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to e, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `A' represents an aromatic circle. The option
-% `$n+$' ($n=1$ to $5$) represents a plus charge on a hetero atom
-% at the $n$-position. The option
-% `$0+$' represents a plus charge at the center of the ring.
-%
-% \begin{verbatim}
-%
-% BONDLIST: list of inner double bonds
-%
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 5)
-% {0+} : plus (or others) at the center
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 5 atoms)
-%
-% for n = 1 to 5
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 5
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a, b, c, d, or e)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \fiveheterohi{1==N}{1==H;2==F}
-% \fiveheterohi[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \fiveheterohi[eb]{1==N}{1D==O;4SA==MeO;4SB==OMe;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\fiveheterohi| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheteroh|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by |\setsixringh| partially.
-% \end{enumerate}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylpositionh}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/5}{Add: fused and spiro rings}
-%
-% \begin{macro}{\fiveheterohi}
-% \begin{macro}{\@five@heterohi}
-% \begin{macro}{\@five@@heterohi}
-% \begin{macro}{\@fiveheterohi}
-% \begin{macrocode}
-\def\fiveheterohi{\@ifnextchar({\@five@heterohi(@}{\@five@heterohi(@)}}
-\def\@five@heterohi(#1){\@ifnextchar[{\@five@@heterohi(#1)[@}%
-{\@five@@heterohi(#1)[@]}}
-\def\@five@@heterohi(#1)[#2]#3#4{\@ifnextchar[%
-{\@fiveheterohi(#1)[#2]{#3}{#4}[@}%
-{\@fiveheterohi(#1)[#2]{#3}{#4}[@]}}
-\def\@fiveheterohi(#1)[#2]#3#4[#5]{%
-\iniatom\iniflag%initialize
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\test@vertix@sixv{#3}{a}{b}{c}{e}{f}{d}%d--dummy
-\@reset@ylsw%
-\ylpositionh{#4}{0}{0}{4}{0}% % for 1 to 3
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-\ylpositionh{#4}{1}{4}{7}{0}% % for 4 to 5
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(800,880)(-240,-400)%
- \iforigpt \put(-\shifti,-\shiftii){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `fiveheterohi' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shifti,\the\shiftii)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-{\resetbdsw%
-\@bond@@omit{#5}%
-\set@skel@bondh{#1}{a}{a}% bond between 1 and 2 \@aaa -> \hskbonda etc
-\set@skel@bondh{#1}{b}{b}% bond between 2 and 3 \@bbb -> \hskbondb etc
-\set@skel@longbond{#1}{c}{hskbondverti}%
- % bond between 3 and 4 \@ccc -> \hskbondverti etc
-\set@skel@bondh{#1}{d}{e}% bond between 4 and 5 \@ddd -> \hskbonde etc
-\set@skel@bondh{#1}{e}{f}% bond between 5 and 6 \@eee -> \hskbondf etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r%
-\else \if\member a\relax \hbonda%
-\else \if\member b\relax \hbondb%
-\else \if\member c\relax \hbondverti%
-\else \if\member d\relax \hbonde%
-\else \if\member e\relax \hbondf%
-\else \if\member A%left aromatic circle
- \put(173,0){\circle{180}}% %circle
-\else
- \expandafter\twoCH@@R\member//%
- \set@fusionadd@fivehi
-\fi\fi\fi\fi\fi\fi\fi}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\set@hetatom@sixh{#3}{0}{0}{4}{0}% % for 1 to 3
-\set@hetatom@sixh{#3}{1}{4}{7}{0}% % for 4 to 5
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\setsixringh{#4}{0}{0}{4}{0}% % for 1 to 3
-\setsixringh{#4}{1}{4}{7}{0}% % for 4 to 5
-\end{picture}\iniatom\iniflag}% %end of \fiveheterohi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Pyrrole derivatives of horizontal type}
-%
-% The macro |\fiveheteroh| can be used in the
-% form of a fixed |ATOMLIST|. Hence, the resulting commands for
-% drawing a five-membered heterocyle with one or more nitrogen atoms
-% have an argument |SUBSLIST| as well as an optional argument |BONDLIST|.
-%
-% \begin{verbatim}
-% ***********************************
-% * pyrrole derivatives and others *
-% * (horizontal type) *
-% ***********************************
-%
-% \pyrroleh[BONDLIST]{SUBSLIST}
-% \pyrazoleh[BONDLIST]{SUBSLIST}
-% \imidazoleh[BONDLIST]{SUBSLIST}
-% \isoxazoleh[BONDLIST]{SUBSLIST}
-% \oxazoleh[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one
-% character selected from a to e, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option
-% `$n+$' ($n=1$ to $5$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of inner double bonds
-%
-% none : mother nucleus
-% [] : fully saturated form
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,1-double bond
-% {n+} : plus at the n-nitrogen atom (n = 1 to 5)
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 5
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \pyrroleh{1==H;2==F}
-% \pyrroleh[]{1==H;2==F}
-% \imidazoleh[c]{1==Cl;4==F;2==CH$_{3}$}
-% \isoxazoleh[eb]{1==N}{1D==O;4SA==MeO;4SB==OMe;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% \begin{macro}{\pyrroleh}
-% \begin{macro}{\pyrazoleh}
-% \begin{macro}{\imidazoleh}
-% \begin{macro}{\isoxazoleh}
-% \begin{macro}{\oxazoleh}
-% \begin{macrocode}
-\def\pyrroleh{\@ifnextchar[{\@pyrroleh[@}{\@pyrroleh[bd]}}%
-\def\@pyrroleh[#1]#2{%
-\iforigpt \typeout{command `pyrroleh' %
- is based on `fiveheteroh'.}\fi%
-\fiveheteroh[#1]{1==N}{#2}}%
-\def\pyrazoleh{\@ifnextchar[{\@pyrazoleh[@}{\@pyrazoleh[bd]}}%
-\def\@pyrazoleh[#1]#2{%
-\iforigpt \typeout{command `pyrazoleh' %
- is based on `fiveheteroh'.}\fi%
-\fiveheteroh[#1]{1==N;2==N}{#2}}%
-\def\imidazoleh{\@ifnextchar[{\@imidazoleh[@}{\@imidazoleh[bd]}}%
-\def\@imidazoleh[#1]#2{%
-\iforigpt \typeout{command `imidazoleh' %
- is based on `fiveheteroh'.}\fi%
-\fiveheteroh[#1]{1==N;3==N}{#2}}%
-\def\isoxazoleh{\@ifnextchar[{\@isoxazoleh[@}{\@isoxazoleh[bd]}}%
-\def\@isoxazoleh[#1]#2{%
-\iforigpt \typeout{command `isoxazoleh' %
- is based on `fiveheteroh'.}\fi%
-\fiveheteroh[#1]{1==O;2==N}{#2}}%
-\def\oxazoleh{\@ifnextchar[{\@oxazoleh[@}{\@oxazoleh[bd]}}%
-\def\@oxazoleh[#1]#2{%
-\iforigpt \typeout{command `oxazoleh' %
- is based on `fiveheteroh'.}\fi%
-\fiveheteroh[#1]{1==O;3==N}{#2}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\furanh}
-% \begin{macro}{\thiopheneh}
-% \begin{macrocode}
-\def\furanh{\@ifnextchar[{\@furanh[@}{\@furanh[bd]}}
-\def\@furanh[#1]#2{%
-\iforigpt \typeout{command `furanh' %
- is based on `fiveheteroh'.}\fi%
-\fiveheteroh[#1]{1==O}{#2}}
-\def\thiopheneh{\@ifnextchar[{\@thiopheneh[@}{\@thiopheneh[bd]}}
-\def\@thiopheneh[#1]#2{%
-\iforigpt \typeout{command `thiopheneh' %
- is based on `fiveheteroh'.}\fi%
-\fiveheteroh[#1]{1==S}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Pyrrole derivatives of inverse horizontal type}
-%
-% The macro |\fiveheterohi| can be used in the
-% form of a fixed |ATOMLIST|. Hence, the resulting commands for
-% drawing a five-membered heterocyle with one or more nitrogen atoms
-% have an argument |SUBSLIST| as well as an optional argument |BONDLIST|.
-%
-% \begin{verbatim}
-% *************************************
-% * pyrrole derivatives and others *
-% * (horizontal type, inverse) *
-% *************************************
-%
-% \pyrrolehi[BONDLIST]{SUBSLIST}
-% \pyrazolehi[BONDLIST]{SUBSLIST}
-% \imidazolehi[BONDLIST]{SUBSLIST}
-% \isoxazolehi[BONDLIST]{SUBSLIST}
-% \oxazolehi[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one
-% character selected from a to e, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option
-% `$n+$' ($n=1$ to $5$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of inner double bonds
-%
-% none : mother nucleus
-% [] : fully saturated form
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,1-double bond
-% {n+} : plus at the n-nitrogen atom (n = 1 to 5)
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 5
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \pyrrolehi{1==H;2==F}
-% \pyrrolehi[]{1==H;2==F}
-% \imidazolehi[c]{1==Cl;4==F;2==CH$_{3}$}
-% \isoxazolehi[eb]{1==N}{1D==O;4SA==MeO;4SB==OMe;5==Cl}
-% \end{verbatim}
-%
-% \begin{macro}{\pyrrolehi}
-% \begin{macro}{\pyrazolehi}
-% \begin{macro}{\imidazolehi}
-% \begin{macro}{\isoxazolehi}
-% \begin{macro}{\oxazolehi}
-% \begin{macrocode}
-\def\pyrrolehi{\@ifnextchar[{\@pyrrolehi[@}{\@pyrrolehi[bd]}}%
-\def\@pyrrolehi[#1]#2{%
-\iforigpt \typeout{command `pyrrolehi' %
- is based on `fiveheterohi'.}\fi%
-\fiveheterohi[#1]{1==N}{#2}}%
-\def\pyrazolehi{\@ifnextchar[{\@pyrazolehi[@}{\@pyrazolehi[bd]}}%
-\def\@pyrazolehi[#1]#2{%
-\iforigpt \typeout{command `pyrazolehi' %
- is based on `fiveheterohi'.}\fi%
-\fiveheterohi[#1]{1==N;2==N}{#2}}%
-\def\imidazolehi{\@ifnextchar[{\@imidazolehi[@}{\@imidazolehi[bd]}}%
-\def\@imidazolehi[#1]#2{%
-\iforigpt \typeout{command `imidazolehi' %
- is based on `fiveheterohi'.}\fi%
-\fiveheterohi[#1]{1==N;3==N}{#2}}%
-\def\isoxazolehi{\@ifnextchar[{\@isoxazolehi[@}{\@isoxazolehi[bd]}}%
-\def\@isoxazolehi[#1]#2{%
-\iforigpt \typeout{command `isoxazolehi' %
- is based on `fiveheterohi'.}\fi%
-\fiveheterohi[#1]{1==O;2==N}{#2}}%
-\def\oxazolehi{\@ifnextchar[{\@oxazolehi[@}{\@oxazolehi[bd]}}%
-\def\@oxazolehi[#1]#2{%
-\iforigpt \typeout{command `oxazolehi' %
- is based on `fiveheterohi'.}\fi%
-\fiveheterohi[#1]{1==O;3==N}{#2}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\furanhi}
-% \begin{macro}{\thiophenehi}
-% \begin{macrocode}
-\def\furanhi{\@ifnextchar[{\@furanhi[@}{\@furanhi[bd]}}
-\def\@furanhi[#1]#2{%
-\iforigpt \typeout{command `furanhi' %
- is based on `fiveheterohi'.}\fi%
-\fiveheterohi[#1]{1==O}{#2}}
-\def\thiophenehi{\@ifnextchar[{\@thiophenehi[@}{\@thiophenehi[bd]}}
-\def\@thiophenehi[#1]#2{%
-\iforigpt \typeout{command `thiophenehi' %
- is based on `fiveheterohi'.}\fi%
-\fiveheterohi[#1]{1==S}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \section{Six-to-six fused heterocyles}
-% \subsection{Horizontal type}
-%
-% The standard skeleton of a six-to-six fused heterocycle is selected
-% to have the following locant numbers.
-%
-% \begin{verbatim}
-% ****************************
-% * decahetero derivatives *
-% * (horizontal type) *
-% ****************************
-% The following numbering is adopted in this macro.
-%
-% 2 3
-%
-% *1 4 (*1 origin)
-%
-% (10)8a 4a(9)
-%
-% 8 5
-%
-% 7 6
-% ____ ____
-% |cf. |
-% | 8 (10)1 |
-% | * 8a * |
-% | 7 * * * * 2 |
-% | | | | |
-% | | | | |
-% | 6 * * * * 3 |
-% | * 4a * |
-% | 5 (9) 4 |
-% | ^ |
-% | | |
-% | the original point |
-% |____ ____|
-% \end{verbatim}
-%
-% The macro |\decaheteroh| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \decaheteroh(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `k' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to k, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `A' and `B' represent aromatic circles. The option
-% `$n+$' ($n=1$ to $10$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of bonds
-%
-% none or r : decahetero (right-handed)
-% l : no action
-% [] : fully saturated form
-% a : 1,2-double bond b : 2,3-double bond
-% c : 4,3-double bond d : 4,4a-double bond
-% e : 4a,5-double bond f : 5,6-double bond
-% g : 6,7-double bond h : 7,8-double bond
-% i : 8,8a-double bond j : 1,8a-double bond
-% k : 4a,8a-double bond
-% K : 4a,8a-double bond in the other ring
-% A : aromatic circle B : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 10)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 10 atoms)
-%
-% for n = 1 to 8
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% na : Hetero atom at 4a or 8b (n=4 or 8)
-% e.g. 4a==N (or 9==N) for N at 4a-position
-% 8a==N (or {{10}}==N) for N at 8a-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for 9 (4a position) and 10 (8a position)
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a to k; see BONDLIST)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \decaheteroh{1==N}{1==Cl;2==F}
-% \decaheteroh[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \decaheteroh[eb]{1==N}{1D==O;4SA==MeO;4SB==OMe;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\decaheteroh| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheterov|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringh| several times.
-% \end{enumerate}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/11/30}{Add: spiro and fused rings}
-%
-% \begin{macro}{\decaheteroh}
-% \begin{macro}{\@deca@heteroh}
-% \begin{macro}{\@deca@@heteroh}
-% \begin{macro}{\@decaheteroh}
-% \begin{macrocode}
-\def\decaheteroh{\@ifnextchar({\@deca@heteroh(@}{\@deca@heteroh(@)}}
-\def\@deca@heteroh(#1){\@ifnextchar[{\@deca@@heteroh(#1)[@}%
-{\@deca@@heteroh(#1)[@]}}
-\def\@deca@@heteroh(#1)[#2]#3#4{\@ifnextchar[%
-{\@decaheteroh(#1)[#2]{#3}{#4}[@}%
-{\@decaheteroh(#1)[#2]{#3}{#4}[@]}}
-\def\@decaheteroh(#1)[#2]#3#4[#5]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag\iniatom%
-\test@vertix@sixv{#3}{a}{b}{c}{d}{e}{f}%
-\test@vertix@decav{#3}{g}{h}{i}{j}{@}{@}%
-% %%%%%%%%%%%%%%%%%%%%%%%
-% % adjustment for (yl) %
-% %%%%%%%%%%%%%%%%%%%%%%%
-\@reset@ylsw%
-\ylhetpositionh{#4}{0}{0}{5}{0}% %substituents on 1 to 4
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{\let\ddd=\eee\let\eee=\fff\let\fff=\ggg
-\ylhetpositionh{#4}{-1}{3}{7}{0}% %substituents on 5 to 7
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{342}\fi
-\else
-{\let\aaa=\hhh
-\ylhetpositionh{#4}{-7}{0}{2}{0}% %substituent on 8
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{342}\fi
-\else
-{%
-\clipdetection%
-\@clipfusefalse \if@iclip \@clipfusetrue \fi%
-\ylatombondposition{#4}{-8}{4}% %9 for 4a position
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-303}\def\@@yli{171}\fi
-\else
-{%
-\clipdetection%
-\@clipfusefalse \if@jclip \@clipfusetrue \fi%
-\ylatombondposition{#4}{-9}{10}% %10 for 8a position
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-103}\def\@@yli{171}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(1200,1200)(-400,-800)
- \iforigpt \put(-\shiftii,-\shiftiii){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `decaheteroh' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shiftiii)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-\begingroup
-\resetbdsw%
-\@bond@@omit{#5}%
-{\let\fff=\jjj \let\eee=\iii%
-\set@skel@bondh{#1}{a}{a}% bond between 1 and 2 \@aaa -> \hskbonda etc
-\set@skel@bondh{#1}{b}{b}% bond between 2 and 3 \@bbb -> \hskbondb etc
-\set@skel@bondh{#1}{c}{c}% bond between 3 and 4 \@ccc -> \hskbondc etc
-\set@skel@bondh{#1}{d}{d}% bond between 4 and 5 \@ddd -> \skbondd etc
-\set@skel@bondh{#1}{k}{e}% bond between 7 and 8 \@kkk -> \skbonde etc
-\set@skel@bondh{#1}{j}{f}% bond between 7 and 8 \@jjj -> \skbondf etc
-}%
-{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg%
- \let\ccc=\iii\let\bbb=\jjj%
-\put(0,-342){\set@skel@bondh{#1}{i}{a}}%
- % bond between 8a and 8 \@iii -> \hskbonda etc
-\put(0,-342){\set@skel@bondh{#1}{e}{c}}%
- % bond between 4a and 5 \@eee -> \hskbondc etc
-\put(0,-342){\set@skel@bondh{#1}{f}{d}}%
- % bond between 5 and 6 \@fff -> \hskbondd etc
-\put(0,-342){\set@skel@bondh{#1}{g}{e}}%
- % bond between 6 and 7 \@ggg -> \hskbonde etc
-\put(0,-342){\set@skel@bondh{#1}{h}{f}}%
- % bond between 7 and 8 \@hhh -> \hskbondf etc
-}%
-\endgroup
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-{\let\fff=\jjj \let\eee=\iii%
- \put(0,0){\hbonda}% bond between 1 and 2%
- \put(0,0){\hbondc}% bond between 3 and 4%
-}%
-{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg%
- \let\ccc=\iii\let\bbb=\jjj%
- \put(0,-342){\hbondb}% bond between 8a and 4a
- \put(0,-342){\hbondf}% bond between 8 and 7
- \put(0,-342){\hbondd}% bond between 5 and 6
-}%
-\else \if\member l\relax%
-\else \if\member a\relax%
- \put(0,0){\hbonda}% bond between 1 and 2
-\else \if\member b\relax%
- \put(0,0){\hbondb}% bond between 2 and 3
-\else \if\member c\relax%
- \put(0,0){\hbondc}% bond between 3 and 4
-% \put(342,0){\hbondc}% bond between 3 and 4
-\else \if\member d\relax%
-{\let\eee=\iii%
- \put(0,0){\hbondd}% bond between 4 and 4a
-}%
-\else \if\member e\relax%
-{\let\ccc=\iii \let\ddd=\eee%
- \put(0,-342){\hbondc}% bond between 5 and 4a
-}%
-\else \if\member f\relax%
-{\let\ddd=\eee \let\eee=\fff%
- \put(0,-342){\hbondd}% bond between 5 and 6
-}%
-\else \if\member g\relax%
-{\let\eee=\fff \let\fff=\ggg%
- \put(0,-342){\hbonde}% bond between 6 and 7
-}%
-\else \if\member h\relax%
-{\let\aaa=\hhh \let\fff=\ggg%
- \put(0,-342){\hbondf}% bond between 8 and 7
-}%
-\else \if\member i\relax%
-{\let\aaa=\hhh \let\bbb=\jjj%
- \put(0,-342){\hbonda}% bond between 8 and 8a
-}%
-\else \if\member j\relax%
-{\let\fff=\jjj%
- \put(0,0){\hbondf}% bond between 1 and 8a
-}%
-\else \if\member k\relax%
-{\let\ccc=\iii\let\bbb=\jjj%
- \put(0,-342){\hbondb}% bond between 8a and 4a
-}%
-\else \if\member K\relax%
-{\let\eee=\iii\let\fff=\jjj%
- \put(0,0){\hbonde}% bond between 8a and 4a in the other ring
-}%
-\else \if\member A%left aromatic circle
- \put(203,0){\circle{240}}% %circle
-\else \if\member B%left aromatic circle
- \put(203,-342){\circle{240}}% %circle
-\else
- \expandafter\twoCH@@R\member//%
- \def\aax{8a} \def\aay{4a} \def\aaz{10}%
- \if\@@tmpa 4\relax%
- \putratom{272}{-18}{\@@tmpb}% % right type
- \else\if\@@tmpa 1\relax%
- \putratom{68}{-18}{\@@tmpb}% % right type
- \else\if\@@tmpa 3\relax%
- \putratom{233}{60}{\@@tmpb}% % right type
- \else\if\@@tmpa 2\relax%
- \putratom{120}{60}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aaz\relax%
- \putratom{120}{-110}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aax\relax%
- \putratom{120}{-110}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aay\relax
- \putratom{233}{-110}{\@@tmpb}% % right type
- \else\if\@@tmpa 9\relax%
- \putratom{233}{-110}{\@@tmpb}% % right type
- \else\if\@@tmpa 5\relax%
- \putratom{272}{-360}{\@@tmpb}% % right type
- \else\if\@@tmpa 8\relax%
- \putratom{68}{-360}{\@@tmpb}% % right type
- \else\if\@@tmpa 6\relax%
- \putratom{233}{-452}{\@@tmpb}% % right type
- \else\if\@@tmpa 7\relax%
- \putratom{120}{-452}{\@@tmpb}% % right type
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-% ***********************
-% * setting fused rings *
-% ***********************
- \expandafter\twoCH@R\member//%
- \set@fusion@decah
-\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-\fi\fi\fi\fi\fi\fi}%
-% \end{macrocode}
-%
-% \changes{v2.00a}{2000/11/11}{The
-% \cs{iniflag} command is added to 5- and 8-substitution.}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag
-\put(0,0){\set@hetatom@sixh{#3}{0}{0}{5}{0}%
- \if@aclip \global\@acliptrue\fi
- \if@bclip \global\@bcliptrue\fi
- \if@cclip \global\@ccliptrue\fi
- \if@clip \global\@cliptrue\fi}% %substituents on 1 to 4
-\put(0,-342){\iniflag%2000/11/11 by Shinsaku Fujita
- \set@hetatom@sixh{#3}{-1}{3}{7}{0}%
- \@gclipfalse \if@fclip \global\@gcliptrue \fi%
- \@fclipfalse \if@eclip \global\@fcliptrue \fi%
- \@eclipfalse \if@clip \global\@ecliptrue \fi}%substituents on 5 to 7
-\put(0,-342){\iniflag%2000/11/11 by Shinsaku Fujita
- \set@hetatom@sixh{#3}{-7}{0}{2}{0}%
- \@hclipfalse \if@aclip \global\@hcliptrue \fi}%%substituent on 8
-\put(0,0){\set@vrtx@fuseh{#3}%
- \if@iclip \global\@icliptrue \fi
- \if@jclip \global\@jcliptrue \fi}% fused positions
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents and exocyclic bonds %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\put(0,0){\setsixringh{#4}{0}{0}{5}{0}}% %substituents on 1 to 4
-{\@clipfalse \if@eclip \@cliptrue \fi% %substituents on 5 to 7
- \@eclipfalse \if@fclip \@ecliptrue \fi%
- \@fclipfalse \if@gclip \@fcliptrue \fi%
-\put(0,-342){\setsixringh{#4}{-1}{3}{7}{0}}%
-}%
-{\@aclipfalse \if@hclip \@acliptrue \fi% %substituent on 8
-\put(0,-342){\setsixringh{#4}{-7}{0}{2}{0}}%
-}%
-{\@clipfusefalse \if@iclip \@clipfusetrue \fi%
- \put(303,-171){\setatombond{#4}{-8}{4}} %9 for 4a position
-}%
-{\@clipfusefalse \if@jclip \@clipfusetrue \fi%
- \put(103,-171){\setatombond{#4}{-9}{10}} %10 for 8a position
-}%
-\end{picture}\iniatom\iniflag}% %end of \decaheteroh macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The command |\ylhetpositionh| is used in the |\decaheteroh| command,
-% giving the sift values for drawing a structure as a substituent.
-% \changes{v1.02}{1998/10/16}{Newly added command}
-%
-% \begin{macro}{\ylhetpositionh}
-% \begin{macrocode}
-\def\ylhetpositionh#1#2#3#4#5{%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#1\do{%
-\if@@ylsw\else
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax
-\expandafter\threech@r\@membera{}{}\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifnum#5<0\relax%
-\@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
-\else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax\fi
-\ifnum\@tmpaa>#3\relax%
-\ifnum\@tmpaa<#4\relax%
-\ifcase\@tmpaa%0 omit
- \or
- \ifx\aaa\empty
- \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%\@ylatrue% subst. on 1
- \else
- \gdef\@ylii{30}\gdef\@yli{0}\global\@ylswtrue%\@ylatrue% subst. on 1
- \fi
- \or
- \ifx\bbb\empty
- \gdef\@ylii{-103}\gdef\@yli{-171}\global\@ylswtrue%\@ylbtrue% subst. on 2
- \else
- \gdef\@ylii{-73}\gdef\@yli{-223}\global\@ylswtrue%\@ylbtrue% subst. on 2
- \fi
- \or
- \ifx\ccc\empty
- \gdef\@ylii{-303}\gdef\@yli{-171}\global\@ylswtrue%\@ylctrue% subst. on 3
- \else
- \gdef\@ylii{-333}\gdef\@yli{-223}\global\@ylswtrue%\@ylctrue% subst. on 3
- \fi
- \or
- \ifx\ddd\empty
- \gdef\@ylii{-406}\gdef\@yli{0}\global\@ylswtrue%\@yldtrue% subst. on 4
- \else
- \gdef\@ylii{-436}\gdef\@yli{0}\global\@ylswtrue%\@yldtrue% subst. on 4
- \fi
- \or
- \ifx\eee\empty
- \gdef\@ylii{-303}\gdef\@yli{171}\global\@ylswtrue%\@yletrue% subst. on 5
- \else
- \gdef\@ylii{-333}\gdef\@yli{223}\global\@ylswtrue%\@yletrue% subst. on 5
- \fi
- \or
- \ifx\fff\empty
- \gdef\@ylii{-103}\gdef\@yli{171}\global\@ylswtrue%\@ylftrue% subst. on 6
- \else
- \gdef\@ylii{-73}\gdef\@yli{223}\global\@ylswtrue%\@ylftrue% subst. on 6
- \fi
-\fi%end of ifcase
-\fi\fi\fi\fi\fi}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse horizontal type}
-%
-% The standard skeleton of a six-to-six fused heterocycle is selected
-% to have the following locant numbers.
-%
-% \begin{verbatim}
-% ************************************
-% * decahetero derivatives *
-% * (horizonatl type, inverse type) *
-% ************************************
-% The following numbering is adopted in this macro.
-%
-% 3 2
-%
-% *4 1 (*4 origin)
-%
-% (8)4a 8a(10)
-%
-% 5 8
-%
-% 6 7
-% ____ ____
-% |cf. |
-% | 5 (9) 4 |
-% | * 4a * |
-% | 6 * * * * 3 |
-% | | | | |
-% | | | | |
-% | 7 * * * * 2 |
-% | * 8a * |
-% | 8 (9) 1 |
-% | ^ |
-% | | |
-% | the original point |
-% |____ ____|
-% \end{verbatim}
-%
-% The macro |\decaheterohi| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \decaheterohi(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `k' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to k, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The options `A' and `B' represent aromatic circles in two rings.
-% The option `$n+$' ($n=1$ to $10$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of bonds
-%
-% none or r : decahetero (right-handed)
-% l : no action
-% [] : fully saturated form
-% a : 1,2-double bond b : 2,3-double bond
-% c : 4,3-double bond d : 4,4a-double bond
-% e : 4a,5-double bond f : 5,6-double bond
-% g : 6,7-double bond h : 7,8-double bond
-% i : 8,8a-double bond j : 1,8a-double bond
-% k : 4a,8a-double bond
-% K : 4a,8a-double bond in the other ring
-% A : aromatic circle B : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 10)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 10 atoms)
-%
-% for n = 1 to 8
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% na : Hetero atom at 4a or 8b (n=4 or 8)
-% e.g. 4a==N (or 9==N) for N at 4a-position
-% 8a==N (or {{10}}==N) for N at 8a-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for 9 (4a position) and 10 (8a position)
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a to k; see BONDLIST)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \decaheterohi{1==N}{1==Cl;2==F}
-% \decaheterohi[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \decaheterohi[eb]{1==N}{1D==O;4SA==MeO;4SB==OMe;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\decaheterohi| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheterov|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringh| several times.
-% \end{enumerate}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/1}{Add: spiro and fused rings}
-%
-% \begin{macro}{\decaheterohi}
-% \begin{macro}{\@deca@heterohi}
-% \begin{macro}{\@deca@@heterohi}
-% \begin{macro}{\@decaheterohi}
-% \begin{macrocode}
-\def\decaheterohi{\@ifnextchar({\@deca@heterohi(@}{\@deca@heterohi(@)}}
-\def\@deca@heterohi(#1){\@ifnextchar[{\@deca@@heterohi(#1)[@}%
-{\@deca@@heterohi(#1)[@]}}
-\def\@deca@@heterohi(#1)[#2]#3#4{\@ifnextchar[%
-{\@decaheterohi(#1)[#2]{#3}{#4}[@}%
-{\@decaheterohi(#1)[#2]{#3}{#4}[@]}}
-\def\@decaheterohi(#1)[#2]#3#4[#5]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag\iniatom%
-\test@vertix@decavi{#3}%
-% %%%%%%%%%%%%%%%%%%%%%%%
-% % adjustment for (yl) %
-% %%%%%%%%%%%%%%%%%%%%%%%
-\@reset@ylsw%
-\ylhetpositionh{#4}{5}{0}{5}{-1}% %substituents on 1 to 4
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{\let\ddd=\eee\let\eee=\fff\let\fff=\ggg
-\ylhetpositionh{#4}{12}{3}{7}{-1}% %substituents on 6 to 8
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{342}\fi
-\else
-{\let\aaa=\hhh
-\ylhetpositionh{#4}{-4}{0}{2}{0}% %substituent on 5
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{342}\fi
-\else
-{%
-\clipdetection%
-\@clipfusefalse \if@iclip \@clipfusetrue \fi%
-\ylatombondposition{#4}{-9}{4}% %10 for 8a position
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-303}\def\@@yli{171}\fi
-\else
-{%
-\clipdetection%
-\@clipfusefalse \if@jclip \@clipfusetrue \fi%
-\ylatombondposition{#4}{-8}{10}% %9 for 4a position
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-103}\def\@@yli{171}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(1200,1200)(-400,-800)%
- \iforigpt \put(-\shiftii,-\shiftiii){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `decaheterohi' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shiftiii)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-\begingroup
-\resetbdsw%
-\@bond@@omit{#5}%
-{\let\fff=\jjj \let\eee=\iii%
-\set@skel@bondh{#1}{a}{c}% bond between 1 and 2 \@aaa -> \hskbondc etc
-\set@skel@bondh{#1}{b}{b}% bond between 2 and 3 \@bbb -> \hskbondb etc
-\set@skel@bondh{#1}{c}{a}% bond between 3 and 4 \@ccc -> \hskbonda etc
-\set@skel@bondh{#1}{d}{f}% bond between 4 and 4a \@ddd -> \hskbondf etc
-\set@skel@bondh{#1}{k}{e}% bond between 4a and 8a \@kkk -> \hskbonde etc
-\set@skel@bondh{#1}{j}{d}% bond between 8a and 1 \@jjj -> \hskbondd etc
-}%
-{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg%
- \let\ccc=\iii\let\bbb=\jjj%
-\put(0,-342){\set@skel@bondh{#1}{e}{a}}%
- % bond between 4a and 5 \@eee -> \hskbonda etc
-\put(0,-342){\set@skel@bondh{#1}{i}{c}}%
- % bond between 8a and 8 \@iii -> \hskbondc etc
-\put(0,-342){\set@skel@bondh{#1}{h}{d}}%
- % bond between 7 and 8 \@hhh -> \hskbondd etc
-\put(0,-342){\set@skel@bondh{#1}{g}{e}}%
- % bond between 6 and 7 \@ggg -> \hskbonde etc
-\put(0,-342){\set@skel@bondh{#1}{f}{f}}%
- % bond between 5 and 6 \@fff -> \hskbondf etc
-}%
-\endgroup
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-{\let\fff=\jjj \let\eee=\iii%
- \put(0,0){\hbonda}% bond between 1 and 2
- \put(0,0){\hbondc}% bond between 3 and 4
-}%
-{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg%
- \let\ccc=\iii\let\bbb=\jjj%
- \put(0,-342){\hbondb}% bond between 8a and 4a
- \put(0,-342){\hbondf}% bond between 8 and 7
- \put(0,-342){\hbondd}% bond between 5 and 6
-}%
-\else \if\member l\relax%
-\else \if\member a\relax%
- \put(0,0){\hbondc}% bond between 3 and 4
-\else \if\member b\relax
- \put(0,0){\hbondb}% bond between 2 and 3
-\else \if\member c\relax
- \put(0,0){\hbonda}% bond between 1 and 2
-\else \if\member d\relax%
-{\let\fff=\jjj%
- \put(0,0){\hbondf}% bond between 1 and 8a
-}%
-\else \if\member e\relax%
-{\let\aaa=\hhh \let\bbb=\jjj%
- \put(0,-342){\hbonda}% bond between 8 and 8a
-}%
-\else \if\member f\relax%
-{\let\aaa=\hhh \let\fff=\ggg%
- \put(0,-342){\hbondf}% bond between 8 and 7
-}%
-\else \if\member g\relax%
-{\let\eee=\fff \let\fff=\ggg%
- \put(0,-342){\hbonde}% bond between 6 and 7
-}%
-\else \if\member h\relax%
-{\let\ddd=\eee \let\eee=\fff%
- \put(0,-342){\hbondd}% bond between 5 and 6
-}%
-\else \if\member i\relax%
-{\let\ccc=\iii \let\ddd=\eee%
- \put(0,-342){\hbondc}% bond between 5 and 4a
-}%
-\else \if\member j\relax%
-{\let\eee=\iii%
- \put(0,0){\hbondd}% bond between 4 and 4a
-}%
-\else \if\member k\relax%
-{\let\ccc=\iii\let\bbb=\jjj%
- \put(0,-342){\hbondb}% bond between 8a and 4a
-}%
-\else \if\member K\relax%
-{\let\eee=\iii\let\fff=\jjj%
- \put(0,0){\hbonde}% bond between 8a and 4a
-}%
-\else \if\member A%left aromatic circle
- \put(203,0){\circle{240}}% %circle
-\else \if\member B%left aromatic circle
- \put(203,-342){\circle{240}}% %circle
-\else \expandafter\twoCH@@R\member//%
- \def\aax{8a}\def\aay{4a}\def\aaz{10}%
- \if\@@tmpa 4\relax%
- \putratom{68}{-18}{\@@tmpb}% % right type
- \else\if\@@tmpa 1\relax%
- \putratom{272}{-18}{\@@tmpb}% % right type
- \else\if\@@tmpa 3\relax%
- \putratom{120}{60}{\@@tmpb}% % right type
- \else\if\@@tmpa 2\relax%
- \putratom{233}{60}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aaz\relax%
- \putratom{233}{-110}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aax\relax%
- \putratom{233}{-110}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aay\relax%
- \putratom{120}{-110}{\@@tmpb}% % right type
- \else\if\@@tmpa 9\relax%
- \putratom{120}{-110}{\@@tmpb}% % right type
- \else\if\@@tmpa 5\relax%
- \putratom{68}{-360}{\@@tmpb}% % right type
- \else\if\@@tmpa 8\relax%
- \putratom{272}{-360}{\@@tmpb}% % right type
- \else\if\@@tmpa 6\relax%
- \putratom{120}{-452}{\@@tmpb}% % right type
- \else\if\@@tmpa 7\relax%
- \putratom{233}{-452}{\@@tmpb}% % right type
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-% ***********************
-% * setting fused rings *
-% ***********************
- \expandafter\twoCH@R\member//%
- \set@fusion@decahi
-\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-\fi\fi\fi\fi\fi\fi}%
-% \end{macrocode}
-%
-% \changes{v2.00a}{2000/11/11}{The
-% \cs{iniflag} command is added to 8-substitution.}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag
-\@tmpclipfalse
-\put(0,0){\set@hetatom@sixh{#3}{5}{0}{5}{-1}%
- \if@aclip \global\@acliptrue\fi
- \if@bclip \global\@bcliptrue\fi
- \if@cclip \global\@ccliptrue\fi
- \if@clip \global\@cliptrue\fi
-}% %substituents on 1 to 4
-\put(0,-342){\iniflag%2000/11/11 by Shinsaku Fujita
- \set@hetatom@sixh{#3}{12}{3}{7}{-1}%
- \@gclipfalse \if@fclip \global\@gcliptrue \fi%
- \@fclipfalse \if@eclip \global\@fcliptrue \fi%
- \@eclipfalse \if@clip \global\@ecliptrue \fi%
-}%substituents on 6 to 8
-\put(0,-342){\set@hetatom@sixh{#3}{-4}{0}{2}{0}%
- \@aclipfalse \if@aclip \global\@hcliptrue \fi%
-}%%substituent on 5
-\put(0,0){\set@vrtx@decafusehi{#3}%
- \@tmpclipfalse
- \if@iclip \global\@tmpcliptrue \fi
- \if@jclip \global\@icliptrue \fi
- \if@tmpclip \global\@jcliptrue \fi
-}% fused positions
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents and exocyclic bonds %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\put(0,0){\setsixringh{#4}{5}{0}{5}{-1}}% %substituents on 1 to 4
-{\@clipfalse \if@eclip \@cliptrue \fi% %substituents on 6 to 8
- \@eclipfalse \if@fclip \@ecliptrue \fi%
- \@fclipfalse \if@gclip \@fcliptrue \fi%
-\put(0,-342){\setsixringh{#4}{12}{3}{7}{-1}}%
-}%
-{\@aclipfalse \if@hclip \@acliptrue \fi% %substituent on 5
-\put(0,-342){\setsixringh{#4}{-4}{0}{2}{0}}%
-}%
-{\@clipfusefalse \if@iclip \@clipfusetrue \fi%
- \put(303,-171){\setatombond{#4}{-9}{4}}% %10 for 8a position
-}%
-{\@clipfusefalse \if@jclip \@clipfusetrue \fi
- \put(103,-171){\setatombond{#4}{-8}{10}}% %9 for 4a position
-}%
-\end{picture}\iniatom\iniflag}% %end of \decaheterohi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\set@vrtx@decafusehi| is an inner command contained
-% in the definition of |\decaheterohi|, where the macro is used to set
-% a hetero atom or on a vertex of a bridgehead location.
-%
-% \begin{macro}{\set@vrtx@decafusehi}
-% \begin{macrocode}
-\def\set@vrtx@decafusehi#1{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\ifcase\@tmpa\or\or\or
- \or%%%%4
- \if\@tmpb a%
- \global\@icliptrue%
- \putlatom{135}{-211}{\@memberb}% % left type
- \else\if\@tmpb h%
- \XyMTeXWarning{Forbidden fused position `4a' or `9'}%
- \else\if\@tmpb s%
- \XyMTeXWarning{Forbidden fused position `4a' or `9'}%
- \else\ifx\@tmpb\empty\relax
- \else
- \XyMTeXWarning{Forbidden fused position `4a' or `9'}%
- \fi\fi\fi\fi
- \or\or\or
- \or%8
- \if\@tmpb a%
- \global\@jcliptrue%
- \putratom{273}{-211}{\@memberb}% % right type
- \else\if\@tmpb h%
- \XyMTeXWarning{Forbidden fused position `8a' or `10'}%
- \else\if\@tmpb s%
- \XyMTeXWarning{Forbidden fused position `8a' or `10'}%
- \else\ifx\@tmpb\empty\relax
- \else
- \XyMTeXWarning{Forbidden fused position `8a' or `10'}%
- \fi\fi\fi\fi
-\or%9 (= 4a)
- \ifx\@tmpb\empty%
- \global\@icliptrue%
- \putlatom{135}{-211}{\@memberb}% % left type
- \else
- \XyMTeXWarning{Forbidden fused position `4a' or `9'}%
- \fi
-\or%10 (= 8a)
- \ifx\@tmpb\empty%
- \global\@jcliptrue%
- \putratom{273}{-211}{\@memberb}% % right type
- \else
- \XyMTeXWarning{Forbidden fused position `8a' or `10'}%
- \fi
-\fi\fi}%
-}% end of the macro \set@vrtx@decafusehi
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\set@fusion@decahi| is an inner command contained
-% in the definition of |\decaheterohi|, where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusionadd@sixhi|.
-%
-% \begin{macro}{\set@fusion@decahi}
-% \changes{v2.00}{1998/11/15}{New command: \cs{set@fusion@decahi}}
-% \begin{macrocode}
-\def\set@fusion@decahi{%
- \let\@@tmpa=\@tmpa
- \let\@@tmpb=\@tmpb
- \if\@tmpa a%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixhi}%
- \else\if\@tmpa A%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixhi}%
- \else\if\@tmpa b%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixhi}%
- \else\if\@tmpa B%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixhi}%
- \else\if\@tmpa c%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixhi}%
- \else\if\@tmpa C%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixhi}%
- \else\if\@tmpa d%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixhi}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `d'}%
- \fi
- \else\if\@tmpa D%
- \let\@@tmpa=\@tmpa
- \put(0,0){\set@fusionadd@sixhi}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `D'}%
- \fi
- \else\if\@tmpa e%
- \edef\@@tmpa{c}%
- \put(0,-342){\set@fusionadd@sixhi}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `e'}%
- \fi
- \else\if\@tmpa E%
- \edef\@@tmpa{C}%
- \put(0,-342){\set@fusionadd@sixhi}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `E'}%
- \fi
- \else\if\@tmpa f%
- \edef\@@tmpa{d}%
- \put(0,-342){\set@fusionadd@sixhi}%
- \else\if\@tmpa F%
- \edef\@@tmpa{D}%
- \put(0,-342){\set@fusionadd@sixhi}%
- \else\if\@tmpa g%
- \edef\@@tmpa{e}%
- \put(0,-342){\set@fusionadd@sixhi}%
- \else\if\@tmpa G%
- \edef\@@tmpa{E}%
- \put(0,-342){\set@fusionadd@sixhi}%
- \else\if\@tmpa h%
- \edef\@@tmpa{f}%
- \put(0,-342){\set@fusionadd@sixhi}%
- \else\if\@tmpa H%
- \edef\@@tmpa{F}%
- \put(0,-342){\set@fusionadd@sixhi}%
- \else\if\@tmpa i%
- \edef\@@tmpa{a}%
- \put(0,-342){\set@fusionadd@sixhi}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `i'}%
- \fi
- \else\if\@tmpa I%
- \edef\@@tmpa{A}%
- \put(0,-342){\set@fusionadd@sixhi}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `I'}%
- \fi
- \else\if\@tmpa j%
- \edef\@@tmpa{f}%
- \put(0,0){\set@fusionadd@sixhi}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `j'}%
- \fi
- \else\if\@tmpa J%
- \edef\@@tmpa{F}%
- \put(0,0){\set@fusionadd@sixhi}%
- \if@smallringsw\else
- \XyMTeXWarning{Unfavorable Fusion for bond `J'}%
- \fi
- \else\if\@tmpa k%
- \edef\@@tmpa{e}%
- \put(0,0){\set@fusionadd@sixhi}%
- \if@smallringsw\else
- \XyMTeXWarning{Forbidden Fusion for bond `k'}%
- \fi
- \else\if\@tmpa K%
- \edef\@@tmpa{E}%
- \put(0,0){\set@fusionadd@sixhi}%
- \if@smallringsw\else
- \XyMTeXWarning{Forbidden Fusion for bond `K'}%
- \fi
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@decahi
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Short-cut commands for fused heterocycles}
-%
-% The macro |\decaheteroh| can be used in the
-% form of a fixed |ATOMLIST|. Hence, the resulting commands for
-% drawing a fused heterocyle with one or more nitrogen atoms
-% have an argument |SUBSLIST| as well as an optional argument |BONDLIST|.
-%
-% \begin{verbatim}
-% ****************************************************
-% * heterocycles having two fused six-membered rings *
-% * (horizontal type) *
-% ****************************************************
-%
-% \quinolineh[BONDLIST]{SUBSLIST}
-% \quinolinehi[BONDLIST]{SUBSLIST}
-% \isoquinolineh[BONDLIST]{SUBSLIST}
-% \isoquinolinehi[BONDLIST]{SUBSLIST}
-% \quinoxalineh[BONDLIST]{SUBSLIST}
-% \quinazolineh[BONDLIST]{SUBSLIST}
-% \quinazolinehi[BONDLIST]{SUBSLIST}
-% \cinnolineh[BONDLIST]{SUBSLIST}
-% \cinnolinehi[BONDLIST]{SUBSLIST}
-% \pteridineh[BONDLIST]{SUBSLIST}
-% \pteridinehi[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one
-% character selected from a to k, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The optiona `A' and `B' typeset aromatic circles.
-% The option
-% `$n+$' ($n=1$ to $10$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of bonds
-%
-% none or r : decahetero (right-handed)
-% l : decahetero (left-handed)
-% [] : fully saturated form
-% a : 1,2-double bond b : 2,3-double bond
-% c : 4,3-double bond d : 4,4a-double bond
-% e : 4a,5-double bond f : 5,6-double bond
-% g : 6,7-double bond h : 7,8-double bond
-% i : 8,8a-double bond j : 1,8a-double bond
-% k : 4a,8a-double bond
-% A : aromatic circle B : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 10)
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for 9 (4a position) and 10 (8a position)
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \quinolineh{2==Cl;3==F}
-% \end{verbatim}
-%
-% \begin{macro}{\quinolineh}
-% \begin{macro}{\quinolinehi}
-% \begin{macrocode}
-\def\quinolineh{%
- \@ifnextchar[{\@quinolineh[@}{\@quinolineh[acfhk]}}%
-\def\@quinolineh[#1]#2{%
-\iforigpt \typeout{command `quinolineh' %
- is based on `decaheteroh'.}\fi%
-\decaheteroh[#1]{1==N}{#2}}%
-\def\quinolinehi{%
- \@ifnextchar[{\@quinolinehi[@}{\@quinolinehi[acfhk]}}%
-\def\@quinolinehi[#1]#2{%
-\iforigpt \typeout{command `quinolinehi' %
- is based on `decaheterohi'.}\fi%
-\decaheterohi[#1]{1==N}{#2}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\isoquinolineh}
-% \begin{macro}{\isoquinolinehi}
-% \begin{macrocode}
-\def\isoquinolineh{%
- \@ifnextchar[{\@isoquinolineh[@}{\@isoquinolineh[acfhk]}}%
-\def\@isoquinolineh[#1]#2{%
-\iforigpt \typeout{command `isoquinolineh' %
- is based on `decaheteroh'.}\fi%
-\decaheteroh[#1]{2==N}{#2}}%
-\def\isoquinolinehi{%
- \@ifnextchar[{\@isoquinolinehi[@}{\@isoquinolinehi[acfhk]}}%
-\def\@isoquinolinehi[#1]#2{%
-\iforigpt \typeout{command `isoquinolinehi' %
- is based on `decaheterohi'.}\fi%
-\decaheterohi[#1]{2==N}{#2}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{quinoxalineh}
-% \begin{macrocode}
-\def\quinoxalineh{%
- \@ifnextchar[{\@quinoxalineh[@}{\@quinoxalineh[acfhk]}}%
-\def\@quinoxalineh[#1]#2{%
-\iforigpt \typeout{command `quinoxalineh' %
- is based on `decaheteroh'.}\fi%
-\decaheteroh[#1]{1==N;4==N}{#2}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\quinazolineh}
-% \begin{macro}{\quinazolinehi}
-% \begin{macrocode}
-\def\quinazolineh{%
- \@ifnextchar[{\@quinazolineh[@}{\@quinazolineh[acfhk]}}%
-\def\@quinazolineh[#1]#2{%
-\iforigpt \typeout{command `quinazolineh' %
- is based on `decaheteroh'.}\fi%
-\decaheteroh[#1]{1==N;3==N}{#2}}%
-\def\quinazolinehi{%
- \@ifnextchar[{\@quinazolinehi[@}{\@quinazolinehi[acfhk]}}%
-\def\@quinazolinehi[#1]#2{%
-\iforigpt \typeout{command `quinazolinehi' %
- is based on `decaheterohi'.}\fi%
-\decaheterohi[#1]{1==N;3==N}{#2}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\cinnolineh}
-% \begin{macro}{\cinnolinehi}
-% \begin{macrocode}
-\def\cinnolineh{%
- \@ifnextchar[{\@cinnolineh[@}{\@cinnolineh[acfhk]}}%
-\def\@cinnolineh[#1]#2{%
-\iforigpt \typeout{command `cinnolineh' %
- is based on `decaheteroh'.}\fi%
-\decaheteroh[#1]{1==N;2==N}{#2}}%
-\def\cinnolinehi{%
- \@ifnextchar[{\@cinnolinehi[@}{\@cinnolinehi[acfhk]}}%
-\def\@cinnolinehi[#1]#2{%
-\iforigpt \typeout{command `cinnolinehi' %
- is based on `decaheterohi'.}\fi%
-\decaheterohi[#1]{1==N;2==N}{#2}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\pteridineh}
-% \begin{macro}{\pteridinehi}
-% \begin{macrocode}
-\def\pteridineh{%
- \@ifnextchar[{\@pteridineh[@}{\@pteridineh[acfhk]}}%
-\def\@pteridineh[#1]#2{%
-\iforigpt \typeout{command `pteridineh' %
- is based on `decaheteroh'.}\fi%
-\decaheteroh[#1]{1==N;3==N;5==N;8==N}{#2}}%
-\def\pteridinehi{%
- \@ifnextchar[{\@pteridinehi[@}{\@pteridinehi[acfhk]}}%
-\def\@pteridinehi[#1]#2{%
-\iforigpt \typeout{command `pteridinehi' %
- is based on `decaheterohi'.}\fi%
-\decaheterohi[#1]{1==N;3==N;5==N;8==N}{#2}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \section{Six-to-five fused heterocycles}
-% \subsection{Horizontal type}
-%
-% The standard skeleton of a six-to-five fused heterocycle is selected
-% to have the following locant numbers.
-%
-% \begin{verbatim}
-% **************************
-% * nonahetero derivatives *
-% * (horizontal type) *
-% **************************
-% The following numbering is adopted in this macro.
-%
-% 3 2
-%
-% 1 (*1 origin)
-%
-% (8)3a 7a(9)
-%
-% 4 7
-%
-% 5 6
-% ____ ____
-% |cf. |
-% | 4 (8) |
-% | * 3a |
-% | 5 * * ----- 3 |
-% | | | | |
-% | | | | |
-% | 6 * * * * 2 |
-% | * 7a * |
-% | 7 (9) 1 |
-% | ^ |
-% | | |
-% | the original point |
-% |____ ____|
-% \end{verbatim}
-%
-% The macro |\nonaheteroh| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \nonaheteroh(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `j' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to j, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The options `A' and `B' represent aromatic circles in two rings.
-% The option `$n+$' ($n=1$ to $9$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of bonds
-%
-% none or r : aromatic six-membered ring
-% [] : fully saturated form
-% a : 1,2-double bond b : 2,3-double bond
-% c : 3,3a-double bond d : 4,3a-double bond
-% e : 4,5-double bond f : 5,6-double bond
-% g : 6,7-double bond h : 7,7a-double bond
-% i : 1,7a-double bond
-% j : 3a,4a-double bond
-% J : 3a,4a-double bond in the other ring
-% A : aromatic circle (six-membered)
-% B : aromatic circle (five-membered)
-% {n+} : plus at the n-nitrogen atom (n = 1 to 9)
-% {0+} : plus (or others) at the center
-% of the five-membered cycle
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 9 atoms)
-%
-% for n = 1 to 7
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% na : Hetero atom at 3a or 7b (n=3 or 7)
-% e.g. 3a==N (or 8==N) for N at 4a-position
-% 7a==N (or 9==N) for N at 8a-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for 8 (3a position) and 9 (7a position)
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a to j; see BONDLIST)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \nonaheteroh{1==N}{1==Cl;2==F}
-% \nonaheteroh[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% The definition of |\nonaheteroh| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheteroh|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringh| several times in
-% a restricted fashion.
-% \end{enumerate}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylpositionh}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/05}{Add: fused and spiro rings}
-%
-% \begin{macro}{\nonaheteroh}
-% \begin{macro}{\@nona@heteroh}
-% \begin{macro}{\@nona@@heteroh}
-% \begin{macro}{\@nonaheteroh}
-% \begin{macrocode}
-\def\nonaheteroh{\@ifnextchar({\@nona@heteroh(@}{\@nona@heteroh(@)}}
-\def\@nona@heteroh(#1){\@ifnextchar[{\@nona@@heteroh(#1)[@}%
-{\@nona@@heteroh(#1)[@]}}
-\def\@nona@@heteroh(#1)[#2]#3#4{\@ifnextchar[%
-{\@nonaheteroh(#1)[#2]{#3}{#4}[@}%
-{\@nonaheteroh(#1)[#2]{#3}{#4}[@]}}
-\def\@nonaheteroh(#1)[#2]#3#4[#5]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag\iniatom%
-\test@vertix@nonav{#3}%
-% %%%%%%%%%%%%%%%%%%%%%%%
-% % adjustment for (yl) %
-% %%%%%%%%%%%%%%%%%%%%%%%
-\@reset@ylsw%
-\ylpositionh{#4}{5}{1}{5}{-1}% %substituents on 1 to 3
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{\let\ddd=\eee\let\eee=\fff\let\fff=\ggg
-\ylpositionh{#4}{11}{3}{7}{-1}% %substituents on 5 to 7
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{342}\fi
-\else
-{\let\aaa=\hhh
-\ylpositionh{#4}{-3}{0}{2}{0}%%substituent on 4
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{342}\fi
-\else
-{%
-\clipdetection%
-\@clipfusefalse \if@iclip \@clipfusetrue \fi%
-\ylatombondposition{#4}{-8}{4}% %9 for 7a position
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-303}\def\@@yli{171}\fi
-\else
-{%
-\clipdetection%
-\@clipfusefalse \if@jclip \@clipfusetrue \fi%
-\ylatombondposition{#4}{-7}{10}% %8 for 3a position
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-103}\def\@@yli{171}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(1200,1200)(-400,-800)%
- \iforigpt \put(-\shiftii,-\shiftiii){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `nonahetero' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shiftiii)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-\begingroup
-\resetbdsw%
-\@bond@@omit{#5}%
-{\let\fff=\jjj \let\eee=\iii%
-\set@skel@bondh{#1}{a}{c}% bond between 1 and 2 \@aaa -> \hskbondc etc
-\set@skel@bondh{#1}{b}{b}% bond between 2 and 3 \@bbb -> \hskbondb etc
-\set@skel@longbond{#1}{c}{hskbondvert}%
- % bond between 3 and 3a \@ccc -> \hskbondhoriz etc
-\set@skel@bondh{#1}{j}{e}% bond between 3a and 7a \@jjj -> \hskbonde etc
-\set@skel@bondh{#1}{i}{d}% bond between 7a and 1 \@iii -> \hskbondd etc
-}%
-{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg
- \let\ccc=\iii\let\bbb=\jjj%
-\put(0,-342){\set@skel@bondh{#1}{d}{a}}%
- % bond between 3a and 4 \@ddd -> \hskbonda etc
-\put(0,-342){\set@skel@bondh{#1}{h}{c}}%
- % bond between 7a and 7 \@hhh -> \hskbondc etc
-\put(0,-342){\set@skel@bondh{#1}{g}{d}}%
- % bond between 6 and 7 \@ggg -> \hskbondd etc
-\put(0,-342){\set@skel@bondh{#1}{f}{e}}%
- % bond between 5 and 6 \@fff -> \hskbonde etc
-\put(0,-342){\set@skel@bondh{#1}{e}{f}}%
- % bond between 4 and 5 \@eee -> \hskbondf etc
-}%
-\endgroup
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg%
- \let\ccc=\iii\let\bbb=\jjj%
- \put(0,-342){\hbondb}% bond between 3a and 7a
- \put(0,-342){\hbondf}% bond between 4 and 5
- \put(0,-342){\hbondd}% bond between 6 and 7
-}%
-\else \if\member l\relax%
-\else \if\member a\relax%
- \put(0,0){\hbondc}% bond between 3 and 4
-\else \if\member b\relax%
- \put(0,0){\hbondb}% bond between 2 and 3
-\else \if\member c\relax%
- \put(0,0){\hbondvert}% bond between 3 and 3a
-\else \if\member d\relax%
-{\let\aaa=\hhh \let\bbb=\jjj%
- \put(0,-342){\hbonda}% bond between 4 and 3a
-}%
-\else \if\member e\relax%
-{\let\aaa=\hhh \let\fff=\ggg%
- \put(0,-342){\hbondf}% bond between 4 and 5
-}%
-\else \if\member f\relax%
-{\let\eee=\fff \let\fff=\ggg%
- \put(0,-342){\hbonde}% bond between 5 and 6
-}%
-\else \if\member g\relax%
-{\let\ddd=\eee \let\eee=\fff%
- \put(0,-342){\hbondd}% bond between 6 and 7
-}%
-\else \if\member h\relax%
-{\let\ccc=\iii \let\ddd=\eee%
- \put(0,-342){\hbondc}% bond between 7 and 7a
-}%
-\else \if\member i\relax%
-{\let\eee=\iii%
- \put(0,0){\hbondd}% bond between 1 and 7a
-}%
-\else \if\member j\relax%
-{\let\ccc=\iii\let\bbb=\jjj%
- \put(0,-342){\hbondb}% bond between 7a and 3a
-}%
-\else \if\member J\relax%
-{\let\eee=\iii\let\fff=\jjj%
- \put(0,0){\hbonde}% bond between 7a and 3a
-}%
-\else \if\member B%left aromatic circle
- \put(233,0){\circle{180}}% %circle (five-membered)
-\else \if\member A%left aromatic circle
- \put(203,-342){\circle{240}}% %circle (six-membered)
-\else
- \expandafter\twoCH@@R\member//%
- \def\aax{3a} \def\aay{7a}%
- \if\@@tmpa 1\relax%
- \putratom{272}{-18}{\@@tmpb}% % right type
- \else\if\@@tmpa 2\relax%
- \putratom{233}{60}{\@@tmpb}% % right type
- \else\if\@@tmpa 3\relax%
- \putratom{120}{60}{\@@tmpb}% % right type
- \else\if\@@tmpa 4\relax%
- \putratom{68}{-360}{\@@tmpb}% % right type
- \else\if\@@tmpa 5\relax%
- \putratom{120}{-452}{\@@tmpb}% % right type
- \else\if\@@tmpa 6\relax%
- \putratom{233}{-452}{\@@tmpb}% % right type
- \else\if\@@tmpa 7\relax%
- \putratom{272}{-360}{\@@tmpb}% % right type
- \else\if\@@tmpa 8\relax%
- \putratom{120}{-110}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aax\relax%
- \putratom{120}{-110}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aay\relax%
- \putratom{233}{-110}{\@@tmpb}% % right type
- \else\if\@@tmpa 9\relax%
- \putratom{233}{-110}{\@@tmpb}% % right type
- \else\if\@@tmpa 0\relax%
- \putratom{196}{-30}{\@@tmpb}% % right type
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-% ***********************
-% * setting fused rings *
-% ***********************
- \expandafter\twoCH@R\member//%
- \set@fusion@nonah
-\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-\fi\fi\fi\fi\fi\fi}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag
-\@tmpclipfalse
-\put(0,0){\set@hetatom@sixh{#3}{5}{1}{5}{-1}%
- \if@aclip \global\@acliptrue\fi
- \if@bclip \global\@bcliptrue\fi
- \if@cclip \global\@ccliptrue\fi
-}% %substituents on 1 to 3
-\put(0,-342){\set@hetatom@sixh{#3}{11}{3}{7}{-1}%
- \@gclipfalse \if@fclip \global\@gcliptrue \fi%
- \@fclipfalse \if@eclip \global\@fcliptrue \fi%
- \@eclipfalse \if@clip \global\@ecliptrue \fi%
-}%substituents on 5 to 7
-\put(0,-342){\set@hetatom@sixh{#3}{-3}{0}{2}{0}%
- \@aclipfalse \if@aclip \global\@hcliptrue \fi%
-}%%substituent on 4
-\put(0,0){\set@vrtx@nonafuseh{#3}%
- \@tmpclipfalse
- \if@iclip \global\@tmpcliptrue \fi
- \if@jclip \global\@icliptrue \fi
- \if@tmpclip \global\@jcliptrue \fi
-}% fused positions
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents and exocyclic bonds %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\put(0,0){\setsixringh{#4}{5}{1}{5}{-1}}% %substituents on 1 to 3
-{\@clipfalse \if@eclip \@cliptrue \fi% %substituents on 5 to 7
- \@eclipfalse \if@fclip \@ecliptrue \fi%
- \@fclipfalse \if@gclip \@fcliptrue \fi%
-\put(0,-342){\setsixringh{#4}{11}{3}{7}{-1}}%
-}%
-{\@aclipfalse \if@hclip \@acliptrue \fi% %substituent on 4
-\put(0,-342){\setsixringh{#4}{-3}{0}{2}{0}}%
-}%
-{\@clipfusefalse \if@iclip \@clipfusetrue \fi%
- \put(303,-171){\setatombond{#4}{-8}{4}}% %9 for 7a position
-}%
-{\@clipfusefalse \if@jclip \@clipfusetrue \fi%
- \put(103,-171){\setatombond{#4}{-7}{10}}% %8 for 3a position
-}%
-\end{picture}\iniatom\iniflag}% %end of \nonaheteroh macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\set@vrtx@nonafuseh| is an inner command contained
-% in the definition of |\nonaheteroh|, where the macro is used to set
-% a hetero atom on a vertex of a bridgehead location.
-% \changes{v2.00}{1998/12/05}{New command: \cs{set@vrtx@nonafuseh}}
-%
-% \begin{macro}{\set@vrtx@nonafuseh}
-% \begin{macrocode}
-\def\set@vrtx@nonafuseh#1{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\ifcase\@tmpa\or\or
- \or%%%%3
- \if\@tmpb a%
- \global\@icliptrue%
- \putlatom{135}{-211}{\@memberb}% % left type
- \else\if\@tmpb h%
- \XyMTeXWarning{Forbidden fused position `3a' or `8'}%
- \else\if\@tmpb s%
- \XyMTeXWarning{Forbidden fused position `3a' or `8'}%
- \else\ifx\@tmpb\empty\relax
- \else
- \XyMTeXWarning{Forbidden fused position `3a' or `8'}%
- \fi\fi\fi\fi
- \or\or\or
- \or%7
- \if\@tmpb a%
- \global\@jcliptrue%
- \putratom{273}{-211}{\@memberb}% % right type
- \else\if\@tmpb h%
- \XyMTeXWarning{Forbidden fused position `7a' or `9'}%
- \else\if\@tmpb s%
- \XyMTeXWarning{Forbidden fused position `7a' or `9'}%
- \else\ifx\@tmpb\empty\relax
- \else
- \XyMTeXWarning{Forbidden fused position `7a' or `9'}%
- \fi\fi\fi\fi
-\or%8 (= 3a)
- \ifx\@tmpb\empty%
- \global\@icliptrue%
- \putlatom{135}{-211}{\@memberb}% % left type
- \else
- \XyMTeXWarning{Forbidden fused position `3a' or `8'}%
- \fi
-\or%9 (= 7a)
- \ifx\@tmpb\empty%
- \global\@jcliptrue%
- \putratom{273}{-211}{\@memberb}% % right type
- \else
- \XyMTeXWarning{Forbidden fused position `7a' or `9'}%
- \fi
-\fi\fi}%
-}% end of the macro \set@vrtx@nonafuseh
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse horizontal type}
-%
-% The standard skeleton of a six-to-five fused heterocycle is selected
-% to have the following locant numbers.
-%
-% \begin{verbatim}
-% ************************************
-% * nonahetero derivatives *
-% * (horizontal type, inverse type) *
-% ************************************
-% The following numbering is adopted in this macro.
-%
-%
-% 2 3
-%
-% 1
-%
-% (9)7a 3a(8)
-%
-% 7 4
-%
-% 6 5
-% ____ ____
-% |cf. |
-% | 7 (9) 1 |
-% | * 7a * |
-% | 6 * * * * 2 |
-% | | | | |
-% | | | | |
-% | 5 * * ----- 3 |
-% | * 3a |
-% | 4 (8) |
-% | ^ |
-% | | |
-% | the original point |
-% |____ ____|
-% \end{verbatim}
-%
-% The macro |\nonaheterohi| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \nonaheterohi(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `j' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to j, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The options `A' and `B' represent aromatic circles in two rings.
-% The option `$n+$' ($n=1$ to $9$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-%
-% BONDLIST: list of bonds
-%
-% none or r : aromatic six-membered ring
-% [] : fully saturated form
-% a : 1,2-double bond b : 2,3-double bond
-% c : 3,3a-double bond d : 4,3a-double bond
-% e : 4,5-double bond f : 5,6-double bond
-% g : 6,7-double bond h : 7,7a-double bond
-% i : 1,7a-double bond
-% j : 3a,4a-double bond
-% J : 3a,4a-double bond in the other ring
-% A : aromatic circle (six-membered)
-% B : aromatic circle (five-membered)
-% {n+} : plus at the n-nitrogen atom (n = 1 to 9)
-% {0+} : plus (or others) at the center
-% of the five-membered cycle
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 9 atoms)
-%
-% for n = 1 to 7
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% na : Hetero atom at 3a or 7b (n=3 or 7)
-% e.g. 3a==N (or 8==N) for N at 4a-position
-% 7a==N (or 9==N) for N at 8a-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for 8 (3a position) and 9 (7a position)
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a to j; see BONDLIST)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \nonaheterohi{1==N}{1==Cl;2==F}
-% \nonaheterohi[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% The definition of |\nonaheterohi| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheteroh|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringh| several times in
-% a restricted fashion.
-% \end{enumerate}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylpositionh}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/05}{Add: fused and spiro rings}
-%
-% \begin{macro}{\nonaheterohi}
-% \begin{macro}{\@nona@heterohi}
-% \begin{macro}{\@nona@@heterohi}
-% \begin{macro}{\@nonaheterohi}
-% \begin{macrocode}
-\def\nonaheterohi{\@ifnextchar({\@nona@heterohi(@}{\@nona@heterohi(@)}}
-\def\@nona@heterohi(#1){\@ifnextchar[{\@nona@@heterohi(#1)[@}%
-{\@nona@@heterohi(#1)[@]}}
-\def\@nona@@heterohi(#1)[#2]#3#4{\@ifnextchar[%
-{\@nonaheterohi(#1)[#2]{#3}{#4}[@}%
-{\@nonaheterohi(#1)[#2]{#3}{#4}[@]}}
-\def\@nonaheterohi(#1)[#2]#3#4[#5]{%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag\iniatom%initialize
-\test@vertix@nonavi{#3}%
-% %%%%%%%%%%%%%%%%%%%%%%%
-% % adjustment for (yl) %
-% %%%%%%%%%%%%%%%%%%%%%%%
-\@reset@ylsw%
-\ylpositionh{#4}{0}{0}{4}{0}% %substituents on 1 to 3
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{\let\ddd=\eee\let\eee=\fff\let\fff=\ggg
-\ylpositionh{#4}{0}{3}{7}{0}%%substituents on 4 to 6
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{342}\fi
-\else
-{\let\aaa=\hhh
-\ylpositionh{#4}{-6}{0}{2}{0}%%substituent on 7
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{342}\fi
-\else
-{%
-\clipdetection%
-\@clipfusefalse \if@iclip \@clipfusetrue \fi%
-\ylatombondposition{#4}{-7}{4}% %8 for 3a position
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-303}\def\@@yli{171}\fi
-\else
-{%
-\clipdetection%
-\@clipfusefalse \if@jclip \@clipfusetrue \fi%
-\ylatombondposition{#4}{-8}{10}%%9 for 7a position
-}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-103}\def\@@yli{171}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
- \begin{picture}(1200,1200)(-400,-800)%
- \iforigpt \put(-\shiftii,-\shiftiii){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `nonaheterohi' origin: %
- (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shiftiii)}\fi%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-\begingroup
-\resetbdsw%
-\@bond@@omit{#5}%
-{\let\fff=\jjj \let\eee=\iii%
-\set@skel@bondh{#1}{a}{a}% bond between 1 and 2 \@aaa -> \hskbonda etc
-\set@skel@bondh{#1}{b}{b}% bond between 2 and 3 \@bbb -> \hskbondb etc
-\set@skel@longbond{#1}{c}{hskbondverti}%
- % bond between 3 and 3a \@ccc -> \hskbondverti etc
-\set@skel@bondh{#1}{j}{e}% bond between 3a and 7a \@jjj -> \hskbonde etc
-\set@skel@bondh{#1}{i}{f}% bond between 7a and 1 \@iii -> \hskbondf etc
-}%
-{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg%
- \let\ccc=\iii\let\bbb=\jjj%
-\put(0,-342){\set@skel@bondh{#1}{h}{a}}%
- % bond between 7a and 7 \@hhh -> \hskbonda etc
-\put(0,-342){\set@skel@bondh{#1}{d}{c}}%
- % bond between 3a and 4 \@ddd -> \hskbondc etc
-\put(0,-342){\set@skel@bondh{#1}{e}{d}}%
- % bond between 4 and 5 \@eee -> \hskbondd etc
-\put(0,-342){\set@skel@bondh{#1}{f}{e}}%
- % bond between 5 and 6 \@fff -> \hskbonde etc
-\put(0,-342){\set@skel@bondh{#1}{g}{f}}%
- % bond between 6 and 7 \@ggg -> \hskbondf etc
-}%
-\endgroup
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg%
- \let\ccc=\iii\let\bbb=\jjj%
- \put(0,-342){\hbondb}% bond between 3a and 7a
- \put(0,-342){\hbondf}% bond between 6 and 7
- \put(0,-342){\hbondd}% bond between 4 and 5
-}%
-\else \if\member l\relax%
-\else \if\member a\relax%
- \put(0,0){\hbonda}% bond between 1 and 2
-\else \if\member b\relax%
- \put(0,0){\hbondb}% bond between 2 and 3
-\else \if\member c\relax%
- \put(0,0){\hbondverti}% bond between 3 and 3a
-\else \if\member d\relax%
-{\let\ccc=\iii \let\ddd=\eee%
- \put(0,-342){\hbondc}% bond between 4 and 3a
-}%
-\else \if\member e\relax%
-{\let\ddd=\eee\let\eee=\fff%
- \put(0,-342){\hbondd}% bond between 4 and 5
-}%
-\else \if\member f\relax%
-{\let\eee=\fff \let\fff=\ggg%
- \put(0,-342){\hbonde}% bond between 5 and 6
-}%
-\else \if\member g\relax%
-{\let\aaa=\hhh \let\fff=\ggg%
- \put(0,-342){\hbondf}% bond between 7 and 6
-}%
-\else \if\member h\relax%
-{\let\aaa=\hhh \let\bbb=\jjj%
- \put(0,-342){\hbonda}% bond between 7 and 7a
-}%
-\else \if\member i\relax%
-{\let\fff=\jjj%
- \put(0,0){\hbondf}% bond between 1 and 7a
-}%
-\else \if\member j\relax%
-{\let\ccc=\iii\let\bbb=\jjj%
- \put(0,-342){\hbondb}% bond between 7a and 3a
-}%
-\else \if\member J\relax%
-{\let\eee=\iii\let\fff=\jjj%
- \put(0,0){\hbonde}% bond between 7a and 3a
-}%
-\else \if\member B%aromatic circle
- \put(173,0){\circle{180}}% %circle (five-membered)
-\else \if\member A%aromatic circle
- \put(203,-342){\circle{240}}% %circle (six-membered)
-\else
- \expandafter\twoCH@@R\member//%
- \def\aax{7a} \def\aay{3a}%
- \if\@@tmpa 1\relax%
- \putratom{68}{-18}{\@@tmpb}% % right type
- \else\if\@@tmpa 3\relax%
- \putratom{233}{60}{\@@tmpb}% % right type
- \else\if\@@tmpa 2\relax%
- \putratom{120}{60}{\@@tmpb}% % right type
- \else\if\@@tmpa 7\relax%
- \putratom{68}{-360}{\@@tmpb}% % right type
- \else\if\@@tmpa 6\relax%
- \putratom{120}{-452}{\@@tmpb}% % right type
- \else\if\@@tmpa 5\relax%
- \putratom{233}{-452}{\@@tmpb}% % right type
- \else\if\@@tmpa 4\relax%
- \putratom{272}{-360}{\@@tmpb}% % right type
- \else\if\@@tmpa 9\relax%
- \putratom{120}{-110}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aax\relax%
- \putratom{120}{-110}{\@@tmpb}% % right type
- \else\ifx\@@tmpa\aay\relax%
- \putratom{233}{-110}{\@@tmpb}% % right type
- \else\if\@@tmpa 8\relax%
- \putratom{233}{-110}{\@@tmpb}% % right type
- \else\if\@@tmpa 0\relax%
- \putratom{140}{-30}{\@@tmpb}% % right type
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-% ***********************
-% * setting fused rings *
-% ***********************
- \expandafter\twoCH@R\member//%
- \set@fusion@nonahi
-\fi\fi\fi\fi\fi\fi\fi\fi\fi%
-\fi\fi\fi\fi\fi\fi}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag
-\put(0,0){\set@hetatom@sixh{#3}{0}{0}{4}{0}%
- \if@aclip \global\@acliptrue\fi
- \if@bclip \global\@bcliptrue\fi
- \if@cclip \global\@ccliptrue\fi
-}% %substituents on 1 to 3
-\put(0,-342){\set@hetatom@sixh{#3}{0}{3}{7}{0}%
- \@gclipfalse \if@fclip \global\@gcliptrue \fi%
- \@fclipfalse \if@eclip \global\@fcliptrue \fi%
- \@eclipfalse \if@clip \global\@ecliptrue \fi}%substituents on 4 to 6
-\put(0,-342){\set@hetatom@sixh{#3}{-6}{0}{2}{0}%
- \@hclipfalse \if@aclip \global\@hcliptrue \fi}%%substituent on 7
-\put(0,0){\set@vrtx@nonafusehi{#3}%
- \if@iclip \global\@icliptrue \fi
- \if@jclip \global\@jcliptrue \fi}% fused positions
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents and exocyclic bonds %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\put(0,0){\setsixringh{#4}{0}{0}{4}{0}}% %substituents on 1 to 3
-{\@clipfalse \if@eclip \@cliptrue \fi% %substituents on 4 to 6
- \@eclipfalse \if@fclip \@ecliptrue \fi%
- \@fclipfalse \if@gclip \@fcliptrue \fi%
-\put(0,-342){\setsixringh{#4}{0}{3}{7}{0}}%
-}%
-{\@aclipfalse \if@hclip \@acliptrue \fi% %substituent on 7
-\put(0,-342){\setsixringh{#4}{-6}{0}{2}{0}}%
-}%
-{\@clipfusefalse \if@iclip \@clipfusetrue \fi%
- \put(303,-171){\setatombond{#4}{-7}{4}}% %8 for 3a position
-}%
-{\@clipfusefalse \if@jclip \@clipfusetrue \fi%
- \put(103,-171){\setatombond{#4}{-8}{10}}%%9 for 7a position
-}%
-\end{picture}\iniatom\iniflag}% %end of \nonaheterohi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The command |\set@vrtx@nonafusehi| is to set an atom (stored as
-% |\@memberb|) at one (stored as |\@tmpa|) of the fused vertices
-% of a six-five ring.
-% These vertices are incapable of accomodating a spiro group.
-% On the other hand, the other positions can take spiro groups
-% (stored as |\@memberb|), which are treated by means of
-% the command |\set@hetatom@sixh|.
-% The command |\set@vrtx@nonafusehi| is used in such commands
-% as |\nonaheterohi| for treating thier ATOMLISTs,
-%
-% \begin{macro}{\set@vrtx@nonafusehi}
-% \changes{v2.00}{1998/12/5}{New command: \cs{set@vrtx@nonafusehi}}
-% \begin{macrocode}
-\def\set@vrtx@nonafusehi#1{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoCH@R\@membera//%
-\ifcase\@tmpa%
- \or
- \or
- \or%%%%3
- \if\@tmpb a%
- \global\@icliptrue%
- \putratom{273}{-211}{\@memberb}% % right type
- \else\relax
- \fi
- \or%4
- \or%5
- \or%6
- \or%7
- \if\@tmpb a%
- \global\@jcliptrue%
- \putlatom{135}{-211}{\@memberb}% % left type
- \else\relax
- \fi
-\or%8 (= 3a)
- \ifx\@tmpb\empty
- \global\@icliptrue%
- \putratom{273}{-211}{\@memberb}% % right type
- \else
- \XyMTeXWarning{Forbidden spiro ring for the 3a position}%
- \fi
-\or%9 (= 7a)
- \ifx\@tmpb\empty
- \global\@jcliptrue%
- \putlatom{135}{-211}{\@memberb}% % left type
- \else
- \XyMTeXWarning{Forbidden spiro ring for the 7a position}%
- \fi
-\fi\fi}%
-}% end of the macro \set@vrtx@nonafusehi
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Short-cut commands for fused heterocycles}
-%
-% The macros |\nonaheteroh| and |\nonaheterohi| can be used in the
-% form of a fixed |ATOMLIST|. Hence, the resulting commands for
-% drawing a fused heterocyle with one or more nitrogen atoms
-% have an argument |SUBSLIST| as well as an optional argument |BONDLIST|.
-%
-% \begin{verbatim}
-% **********************************************************
-% * heterocycles having fused six- and five-membered rings *
-% * (horizontal type) *
-% **********************************************************
-%
-% N-heterocycles:
-%
-% \indoleh[BONDLIST]{SUBSLIST}
-% \indolehi[BONDLIST]{SUBSLIST}
-%
-% \isoindoleh[BONDLIST]{SUBSLIST}
-% \isoindolehi[BONDLIST]{SUBSLIST}
-%
-% \indolizineh[BONDLIST]{SUBSLIST}
-% \indolizinehi[BONDLIST]{SUBSLIST}
-% (different from the IUPAC numbering)
-%
-% \purineh[BONDLIST]{SUBSLIST}
-% \purinehi[BONDLIST]{SUBSLIST}
-% (different from the IUPAC numbering)
-%
-% O-heterocycles:
-%
-% \benzofuraneh[BONDLIST]{SUBSLIST}
-% \benzofuranehi[BONDLIST]{SUBSLIST}
-%
-% \isobenzofuranehi[BONDLIST]{SUBSLIST}
-%
-% \benzoxazoleh[BONDLIST]{SUBSLIST}
-% \benzoxazolehi[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one
-% character selected from a to j, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The optiona `A' typesets an aromatic circle.
-% The option
-% `$n+$' ($n=1$ to $9$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of bonds
-%
-% none or r : aromatic six-membered ring
-% [] : fully saturated form
-% a : 1,2-double bond b : 2,3-double bond
-% c : 3,3a-double bond d : 4,3a-double bond
-% e : 4,5-double bond f : 5,6-double bond
-% g : 6,7-double bond h : 7,7a-double bond
-% i : 1,7a-double bond
-% j : 3a,4a-double bond
-% J : 3a,4a-double bond in the other ring
-% A : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 9)
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-%
-% for 8 (3a position) and 9 (7a position)
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \indoleh{1==N}{1==Cl;2==F}
-% \indoleh[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% \begin{macro}{\purineh}
-% \begin{macro}{\purinehi}
-% \begin{macrocode}
-\def\purineh{\@ifnextchar[{\@purineh[@}{\@purineh[ra]}}%
-\def\@purineh[#1]#2{%
-\iforigpt \typeout{command `purineh' %
- is based on `nonaheteroh'.}\fi%
-\nonaheteroh[#1]{1==N;3==N;5==N;7==N}{#2}}%
-\def\purinehi{\@ifnextchar[{\@purinehi[@}{\@purinehi[ra]}}%
-\def\@purinehi[#1]#2{%
-\iforigpt \typeout{command `purinehi' %
- is based on `nonaheterohi'.}\fi%
-\nonaheterohi[#1]{1==N;3==N;5==N;7==N}{#2}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\indoleh}
-% \begin{macro}{\indolehi}
-% \begin{macrocode}
-\def\indoleh{\@ifnextchar[{\@indoleh[@}{\@indoleh[rb]}}%
-\def\@indoleh[#1]#2{%
-\iforigpt \typeout{command `indoleh' %
- is based on `nonaheteroh'.}\fi%
-\nonaheteroh[#1]{1==N}{#2}}%
-\def\indolehi{\@ifnextchar[{\@indolehi[@}{\@indolehi[rb]}}%
-\def\@indolehi[#1]#2{%
-\iforigpt \typeout{command `indolehi' %
- is based on `nonaheterohi'.}\fi%
-\nonaheterohi[#1]{1==N}{#2}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\indolizineh}
-% \begin{macro}{\indolizinehi}
-% \begin{macrocode}
-\def\indolizineh{%
- \@ifnextchar[{\@indolizineh[@}{\@indolizineh[aceg]}}%
-\def\@indolizineh[#1]#2{%
-\iforigpt \typeout{command `indolizineh' %
- is based on `nonaheteroh'.}\fi%
-\nonaheteroh[#1]{7a==N}{#2}}%
-\def\indolizinehi{%
- \@ifnextchar[{\@indolizinehi[@}{\@indolizinehi[aceg]}}%
-\def\@indolizinehi[#1]#2{%
-\iforigpt \typeout{command `indolizinehi' %
- is based on `nonaheterohi'.}\fi%
-\nonaheterohi[#1]{7a==N}{#2}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\isoindoleh}
-% \begin{macro}{\isoindolehi}
-% \begin{macrocode}
-\def\isoindoleh{%
- \@ifnextchar[{\@isoindoleh[@}{\@isoindoleh[cegi]}}%
-\def\@isoindoleh[#1]#2{%
-\iforigpt \typeout{command `isoindoleh' %
- is based on `nonaheteroh'.}\fi%
-\nonaheteroh[#1]{2==N}{#2}}%
-\def\isoindolehi{%
- \@ifnextchar[{\@isoindolehi[@}{\@isoindolehi[cegi]}}%
-\def\@isoindolehi[#1]#2{%
-\iforigpt \typeout{command `isoindolehi' %
- is based on `nonaheterohi'.}\fi%
-\nonaheterohi[#1]{2==N}{#2}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\benzofuraneh}
-% \begin{macro}{\benzofuranehi}
-% \begin{macrocode}
-\def\benzofuraneh{%
- \@ifnextchar[{\@benzofuraneh[@}{\@benzofuraneh[rb]}}%
-\def\@benzofuraneh[#1]#2{%
-\iforigpt \typeout{command `benzofuraneh' %
- is based on `nonaheteroh'.}\fi%
-\nonaheteroh[#1]{1==O}{#2}}%
-\def\benzofuranehi{%
- \@ifnextchar[{\@benzofuranehi[@}{\@benzofuranehi[rb]}}%
-\def\@benzofuranehi[#1]#2{%
-\iforigpt \typeout{command `benzofuranehi' %
- is based on `nonaheterohi'.}\fi%
-\nonaheterohi[#1]{1==O}{#2}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\isobenzofuraneh}
-% \begin{macro}{\isobenzofuranehi}
-% \begin{macrocode}
-\def\isobenzofuraneh{\@ifnextchar[{\@isobenzofuraneh[@}%
- {\@isobenzofuraneh[cegi]}}%
-\def\@isobenzofuraneh[#1]#2{%
-\iforigpt \typeout{command `isobenzofuraneh' %
- is based on `nonaheteroh'.}\fi%
-\nonaheteroh[#1]{2==O}{#2}}%
-\def\isobenzofuranehi{\@ifnextchar[{\@isobenzofuranehi[@}%
- {\@isobenzofuranehi[cegi]}}%
-\def\@isobenzofuranehi[#1]#2{%
-\iforigpt \typeout{command `isobenzofuranehi' %
- is based on `nonaheterohi'.}\fi%
-\nonaheterohi[#1]{2==O}{#2}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\benzoxazoleh}
-% \begin{macro}{\benzoxazolehi}
-% \begin{macrocode}
-\def\benzoxazoleh{%
- \@ifnextchar[{\@benzoxazoleh[@}{\@benzoxazoleh[rb]}}%
-\def\@benzoxazoleh[#1]#2{%
-\iforigpt \typeout{command `benzoxazoleh' %
- is based on `nonaheteroh'.}\fi%
-\nonaheteroh[#1]{1==O;3==N}{#2}}%
-\def\benzoxazolehi{%
- \@ifnextchar[{\@benzoxazolehi[@}{\@benzoxazolehi[rb]}}%
-\def\@benzoxazolehi[#1]#2{%
-\iforigpt \typeout{command `benzoxazolehi' %
- is based on `nonaheterohi'.}\fi%
-\nonaheterohi[#1]{1==O;3==N}{#2}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \section{Building blocks}
-% \subsection{Six-membered ring unit}
-%
-% The old function (v1.01) of |\sixunitv| as a fusing ring unit
-% is succeeded by |\sixfusev| and |\sixfusevi|.
-% The command |\sixunitv| has been changed into a subsidiary
-% command of |\sixheterov| (v2.00).
-%
-% The macro |\sixunith| is a six-membered fragment that can be
-% fused to another
-% ring structure to produce a new ring system. The following
-% numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% **********************
-% * six-membered unit *
-% * (horizontal type) *
-% **********************
-% b
-% 2 3
-% a ----- c
-% * *
-% the original point ===> 1 * * 4
-% (0,0) * * d
-% f -----
-% 6 5
-% e
-% \end{verbatim}
-%
-% The macro |\sixunith| has three arguments |ATOMLIST|, |SUBSLIST|
-% and |OMIT|
-% as well as an optional argument |BONDLIST|.
-%
-% \begin{verbatim}
-% \sixunith[BONDLIST]{ATOMLIST}{SUBSLIST}{OMIT}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one
-% character selected from a to f, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $6$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : fully saturated
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,6-double bond
-% f : 6,1-double bond
-% {n+} : plus at the n-nitrogen atom (n = 1 to 6)
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 6 atoms)
-%
-% for n = 1 to 6
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |OMIT| represents one bond to be omitted.
-% The omitted edge is regarded as a fused position.
-%
-% \begin{verbatim}
-% OMIT: one bond omitted (a, b, c, d, e, or f)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \sixhunitv{1==N}{1==Cl;2==F}{e}
-% \end{verbatim}
-%
-% The definition of |\sixunith| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheteroh|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringh|.
-% \end{enumerate}
-%
-% \begin{macro}{\sixunith}
-% \begin{macro}{\@sixunith}
-% \begin{macrocode}
-\def\sixunith{\@ifnextchar[{\@sixunith[@}{\@sixunith[@]}}
-\def\@sixunith[#1]#2#3#4{\sixheteroh[#1]{#2}{#3}[#4]}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{verbatim}
-% (Old difinition)
-% % \begin{macro}{\sixunith}
-% % \begin{macro}{\@sixunith}
-% % \begin{macrocode}
-% \def\sixunith{\@ifnextchar[{\@sixunith}{\@sixunith[r]}}
-% \def\@sixunith[#1]#2#3#4{%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % % treatment of atom list %
-% % %%%%%%%%%%%%%%%%%%%%%%%%%%
-% \iniatom\iniflag%initialize%
-% \@forsemicol\member:=#2\do{%
-% \expandafter\@m@mb@r\member;\relax%
-% \expandafter\twoch@r\@membera{}%
-% \ifcase\@tmpa%
-% \or \xdef\aaa{\@memberb}%
-% \or \xdef\bbb{\@memberb}%
-% \or \xdef\ccc{\@memberb}%
-% \or \xdef\ddd{\@memberb}%
-% \or \xdef\eee{\@memberb}%
-% \or \xdef\fff{\@memberb}%
-% \fi}%
-% \begin{picture}(800,880)(-240,-400)%
-% \iforigpt \put(-\shifti,-\shiftii){\circle*{50}}%
-% \put(-\noshift,-\noshift){\circle{50}}%
-% \typeout{command `sixunith' origin: %
-% (\the\noshift,\the\noshift) ---> (\the\shifti,\the\shiftii)}\fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%
-% % % outer skeleton %
-% % %%%%%%%%%%%%%%%%%%
-% % changed OMIT into a list 1993/11/21 by Shinsaku Fujita
-% {\resetbdsw%
-% \@tfor\memBer:=#4\do{%
-% \if\memBer a\relax\gdef\@aaa{}\fi%
-% \if\memBer b\relax\gdef\@bbb{}\fi%
-% \if\memBer c\relax\gdef\@ccc{}\fi%
-% \if\memBer d\relax\gdef\@ddd{}\fi%
-% \if\memBer e\relax\gdef\@eee{}\fi%
-% \if\memBer f\relax\gdef\@fff{}\fi%
-% }%
-% \if\@aaa a\relax\hskbonda\fi% bond between 1 and 2
-% \if\@bbb b\relax\hskbondb\fi% bond between 2 and 3
-% \if\@ccc c\relax\hskbondc\fi% bond between 3 and 4
-% \if\@ddd d\relax\hskbondd\fi% bond between 4 and 5
-% \if\@eee e\relax\hskbonde\fi% bond between 5 and 6
-% \if\@fff f\relax\hskbondf\fi% bond between 6 and 1
-% }%
-% %\ifx#4a\relax \else%
-% % \hskbonda% bond between 1 and 2
-% %\fi%
-% %\ifx#4f\relax \else%
-% % \hskbondf% bond between 1 and 6
-% %\fi%
-% %\ifx#4c\relax \else%
-% % \hskbondc% bond between 4 and 3
-% %\fi%
-% %\ifx#4d\relax \else%
-% % \hskbondd% bond between 4 and 5
-% %\fi%
-% %\ifx#4b\relax \else%
-% % \hskbondb% bond between 3 and 2
-% %\fi%
-% %\ifx#4e\relax \else%
-% % \hskbonde% bond between 5 and 6
-% %\fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%
-% % % inner double bond %
-% % %%%%%%%%%%%%%%%%%%%%%
-% \@tfor\member:=#1\do{%
-% \if\member r\relax%
-% \else \if\member l\relax%
-% \else \if\member a\relax%
-% \ifx#4a\relax \else%
-% \hbonda%
-% \fi%
-% \else \if\member b\relax%
-% \ifx#4b\relax \else%
-% \hbondb%
-% \fi%
-% \else \if\member c\relax%
-% \ifx#4c\relax \else%
-% \hbondc%
-% \fi%
-% \else \if\member d\relax%
-% \ifx#4d\relax \else%
-% \hbondd%
-% \fi%
-% \else \if\member e\relax%
-% \ifx#4e\relax \else%
-% \hbonde%
-% \fi%
-% \else \if\member f\relax%
-% \ifx#4f\relax \else%
-% \hbondf%
-% \fi%
-% \else \if\member A%left aromatic circle
-% \put(203,0){\circle{240}}% %circle
-% \else \expandafter\twoch@@r\member{}{}%
-% \if\@@tmpa 4\relax%
-% \putratom{272}{-18}{\@@tmpb}% % right type
-% \else\if\@@tmpa 1\relax%
-% \putratom{68}{-18}{\@@tmpb}% % right type
-% \else\if\@@tmpa 3\relax
-% \putratom{233}{60}{\@@tmpb}% % right type
-% \else\if\@@tmpa 2\relax%
-% \putratom{120}{60}{\@@tmpb}% % right type
-% \else\if\@@tmpa 5\relax%
-% \putratom{233}{-110}{\@@tmpb}% % right type
-% \else\if\@@tmpa 6\relax%
-% \putratom{120}{-110}{\@@tmpb}% % right type
-% \fi\fi\fi\fi\fi\fi%
-% \fi\fi\fi\fi\fi\fi\fi\fi\fi}%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%%%%
-% % % setting hetero atoms %
-% % %%%%%%%%%%%%%%%%%%%%%%%%
-% \ifx\ddd\empty\else%
-% \@cliptrue%
-% \putratom{346}{-36}{\ddd}% % right type
-% \fi%
-% \ifx\aaa\empty\else%
-% \@acliptrue%
-% \putlatom{60}{-36}{\aaa}% % left type
-% \fi%
-% \ifx\bbb\empty\else%
-% \@bcliptrue%
-% \putlatom{135}{141}{\bbb}% % left type
-% \fi%
-% \ifx\ccc\empty\else%
-% \@ccliptrue%
-% \putratom{273}{141}{\ccc}% % right type
-% \fi%
-% \ifx\fff\empty\else%
-% \@fcliptrue%
-% \putlatom{135}{-211}{\fff}% % left type
-% \fi%
-% \ifx\eee\empty\else%
-% \@ecliptrue%
-% \putratom{273}{-211}{\eee}% % right type
-% \fi%
-% \setsixringh{#3}{0}{0}{7}{0}%
-% \end{picture}\iniatom\iniflag}% %end of \sixunith macro
-% % \end{macrocode}
-% % \end{macro}
-% % \end{macro}
-% \end{verbatim}
-%
-% \subsection{Five-membered ring unit}
-% \subsubsection{Horizonatl type}
-%
-% The old function (v1.01) of |\fiveunith| as a fusing ring unit
-% is succeeded by |\fivefuseh|.
-% The command |\fiveunith| has been changed into a subsidiary
-% command of |\fiveheteroh| (v2.00).
-%
-% The macro |\fiveunith| is a five-membered fragment that can be
-% fused to another
-% ring structure to produce a new ring system. The following
-% numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% **********************
-% * five-membered unit *
-% * (horizontal type) *
-% **********************
-%
-% 3 _____ 2
-% | *
-% | * 1 <===== the original point
-% | *
-% 4 ----- 5
-% \end{verbatim}
-%
-% The macro |\fiveunith| has three arguments |ATOMLIST|, |SUBSLIST|
-% and |OMIT|
-% as well as an optional argument |BONDLIST|.
-%
-% \begin{verbatim}
-% \fiveunith[BONDLIST]{ATOMLIST}{SUBSLIST}{OMIT}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one
-% character selected from a to e, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $5$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of inner double bonds
-%
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 5)
-% {0+} : plus (or others) at the center
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 5 atoms)
-%
-% for n = 1 to 5
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 5
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |OMIT| represents one bond to be omitted.
-% The omitted edge is regarded as a fused position.
-%
-% \begin{verbatim}
-% OMIT: one bond omitted (a, b, c, d, e, or f)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \fiveunith{1==N}{1==H;2==F}{a}
-% \end{verbatim}
-%
-% The definition of |\fiveunith| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheteroh|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringh| partially.
-% \end{enumerate}
-%
-% \begin{macro}{\fiveunith}
-% \begin{macro}{\@fiveunith}
-% \begin{macrocode}
-\def\fiveunith{\@ifnextchar[{\@fiveunith[@}{\@fiveunith[r]}}
-\def\@fiveunith[#1]#2#3#4{\fiveheteroh[#1]{#2}{#3}[#4]}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{verbatim}
-% (Old definition)
-% % \begin{macro}{\fiveunith}
-% % \begin{macro}{\@fiveunith}
-% % \begin{macrocode}
-% \def\fiveunith{\@ifnextchar[{\@fiveunith}{\@fiveunith[r]}}
-% \def\@fiveunith[#1]#2#3#4{%
-% \iniatom\iniflag%initialize
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % % treatment of atom list %
-% % %%%%%%%%%%%%%%%%%%%%%%%%%%
-% %\def\aaa{}\def\bbb{}\def\ccc{}\def\ddd{}\def\eee{}\def\fff{}%
-% \@forsemicol\member:=#2\do{%
-% \expandafter\@m@mb@r\member;\relax%
-% \expandafter\twoch@r\@membera{}%
-% \ifcase\@tmpa%
-% \or \xdef\ddd{\@memberb}%
-% \or \xdef\ccc{\@memberb}%
-% \or \xdef\bbb{\@memberb}%
-% \or \xdef\fff{\@memberb}%
-% \or \xdef\eee{\@memberb}%
-% \fi}%
-% \begin{picture}(800,880)(-240,-400)%
-% \iforigpt \put(-\shifti,-\shiftii){\circle*{50}}%
-% \put(-\noshift,-\noshift){\circle{50}}%
-% \typeout{command `fiveunith' origin: %
-% (\the\noshift,\the\noshift) ---> (\the\shifti,\the\shiftii)}\fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%
-% % % outer skeleton %
-% % %%%%%%%%%%%%%%%%%%
-% % changed OMIT to a list 1993/11/21 by Shinsaku Fujita
-% {\resetbdsw%
-% \@tfor\memBer:=#4\do{%
-% \if\memBer a\relax\gdef\@aaa{}\fi%
-% \if\memBer b\relax\gdef\@bbb{}\fi%
-% \if\memBer c\relax\gdef\@ccc{}\fi%
-% \if\memBer d\relax\gdef\@ddd{}\fi%
-% \if\memBer e\relax\gdef\@eee{}\fi%
-% %\if\memBer f\relax\gdef\@fff{}\fi%
-% }%
-% \if\@aaa a\relax\hskbondc\fi% bond between 1 and 2
-% \if\@bbb b\relax\hskbondb\fi% bond between 2 and 3
-% \if\@ccc c\relax\hskbondvert\fi% bond between 3 and 4
-% \if\@ddd d\relax\hskbonde\fi% bond between 4 and 5
-% \if\@eee e\relax\hskbondd\fi% bond between 5 and 6
-% %\if\@fff f\relax\hskbondf\fi% bond between 6 and 1
-% }%
-% % old
-% %\ifx#4a\relax\else%
-% % \hskbondc%bond between 1 and 2
-% %\fi%
-% %\ifx#4e\relax\else%
-% % \hskbondd%bond between 1 and 5
-% %\fi%
-% %\ifx#4b\relax\else%
-% % \hskbondb%bond between 2 to 3
-% %\fi%
-% %\ifx#4d\relax\else%
-% % \hskbonde%bond between 5 and 4
-% %\fi%
-% %\ifx#4c\relax\else%
-% % \hskbondvert%bond between 4 and 3
-% %\fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%
-% % % inner double bond %
-% % %%%%%%%%%%%%%%%%%%%%%
-% \@tfor\member:=#1\do{%
-% \if\member r%
-% \else \if\member a\relax%
-% \ifx#4a\relax\else%
-% \hbondc%
-% \fi%
-% \else \if\member b\relax%
-% \ifx#4b\relax\else%
-% \hbondb%
-% \fi%
-% \else \if\member c\relax%
-% \ifx#4c\relax\else%
-% \hbondvert%
-% \fi%
-% \else \if\member d\relax%
-% \ifx#4d\relax\else%
-% \hbonde%
-% \fi%
-% \else \if\member e\relax%
-% \ifx#4e\relax\else%
-% \hbondd%
-% \fi%
-% \else \if\member A%left aromatic circle
-% \put(233,0){\circle{180}}% %circle
-% \else \expandafter\twoch@@r\member{}{}%
-% \if\@@tmpa 1\relax%
-% \putratom{272}{-18}{\@@tmpb}% % right type
-% \else\if\@@tmpa 2\relax%
-% \putratom{233}{60}{\@@tmpb}% % right type
-% \else\if\@@tmpa 3\relax%
-% \putratom{120}{60}{\@@tmpb}% % right type
-% \else\if\@@tmpa 5\relax%
-% \putratom{233}{-110}{\@@tmpb}% % right type
-% \else\if\@@tmpa 4\relax%
-% \putratom{120}{-110}{\@@tmpb}% % right type
-% \else\if\@@tmpa 0\relax%
-% \putratom{196}{-30}{\@@tmpb}% % right type
-% \fi\fi\fi\fi\fi\fi%
-% \fi\fi\fi\fi\fi\fi\fi}%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%%%
-% % % setting heteroatoms %
-% % %%%%%%%%%%%%%%%%%%%%%%%
-% \ifx\ddd\empty\else%
-% \@cliptrue%
-% \putratom{346}{-36}{\ddd}% % right type
-% \fi%
-% \ifx\bbb\empty\else%
-% \@bcliptrue%
-% \putlatom{135}{141}{\bbb}% % left type
-% \fi%
-% \ifx\ccc\empty\else%
-% \@ccliptrue%
-% \putratom{273}{141}{\ccc}% % right type
-% \fi%
-% \ifx\fff\empty\else%
-% \@fcliptrue%
-% \putlatom{135}{-211}{\fff}% % left type
-% \fi%
-% \ifx\eee\empty\else%
-% \@ecliptrue%
-% \putratom{273}{-211}{\eee}% % right type
-% \fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%%%%
-% % % setting substituents %
-% % %%%%%%%%%%%%%%%%%%%%%%%%
-% \setsixringh{#3}{5}{1}{5}{-1}% % for 1 to 3
-% \setsixringh{#3}{10}{4}{7}{-1}% % for 4 to 5
-% \end{picture}\iniatom\iniflag}% %end of \fiveunith macro
-% % \end{macrocode}
-% % \end{macro}
-% % \end{macro}
-% \end{verbatim}
-%
-% \subsubsection{Inverse horizontal type}
-%
-% The old function (v1.01) of |\fiveunithi| as a fusing ring unit
-% is succeeded by |\fivefusehi|.
-% The command |\fiveunithi| has been changed into a subsidiary
-% command of |\fiveheterohi| (v2.00).
-%
-% The macro |\fiveunithi| typesets a five-membered fragment that can be
-% fused to another
-% ring structure to produce a new ring system. The following
-% numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% ************************************
-% * five-membered unit *
-% * (horizontal type, inverse type) *
-% ************************************
-%
-% 2 ----- 3
-% * |
-% the original point 1 * |
-% * |
-% _____|
-% 5 4
-% \end{verbatim}
-%
-% The macro |\fiveunithi| has three arguments |ATOMLIST|, |SUBSLIST|
-% and |OMIT|
-% as well as an optional argument |BONDLIST|.
-%
-% \begin{verbatim}
-% \fiveunithi[BONDLIST]{ATOMLIST}{SUBSLIST}{OMIT}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one
-% character selected from a to e, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $5$) represents a plus charge on a hetero atom
-% at the $n$-position.
-%
-% \begin{verbatim}
-% BONDLIST: list of inner double bonds
-%
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 5)
-% {0+} : plus (or others) at the center
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 5 atoms)
-%
-% for n = 1 to 5
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 5
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |OMIT| represents one bond to be omitted.
-% The omitted edge is regarded as a fused position.
-%
-% \begin{verbatim}
-% OMIT: one bond omitted (a, b, c, d, e, or f)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \fiveunithi{1==N}{1==H;2==F}{a}
-% \end{verbatim}
-%
-% The definition of |\fiveunithi| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheteroh|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringh| partially.
-% \end{enumerate}
-%
-% \begin{macro}{\fiveunithi}
-% \begin{macro}{\@fiveunithi}
-% \begin{macrocode}
-\def\fiveunithi{\@ifnextchar[{\@fiveunithi[@}{\@fiveunithi[r]}}
-\def\@fiveunithi[#1]#2#3#4{\fiveheterohi[#1]{#2}{#3}[#4]}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{verbatim}
-% (Old definition)
-% % \begin{macro}{\fiveunithi}
-% % \begin{macro}{\@fiveunithi}
-% % \begin{macrocode}
-% \def\fiveunithi{\@ifnextchar[{\@fiveunithi}{\@fiveunithi[r]}}%
-% \def\@fiveunithi[#1]#2#3#4{%
-% \iniatom\iniflag%initialize
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % % treatment of atom list %
-% % %%%%%%%%%%%%%%%%%%%%%%%%%%
-% %\def\aaa{}\def\bbb{}\def\ccc{}\def\ddd{}\def\eee{}\def\fff{}%
-% \@forsemicol\member:=#2\do{%
-% \expandafter\@m@mb@r\member;\relax%
-% \expandafter\twoch@r\@membera{}%
-% \ifcase\@tmpa%
-% \or \xdef\aaa{\@memberb}%
-% \or \xdef\bbb{\@memberb}%
-% \or \xdef\ccc{\@memberb}%
-% \or \xdef\eee{\@memberb}%
-% \or \xdef\fff{\@memberb}%
-% \fi}%
-% \begin{picture}(800,880)(-240,-400)%
-% \iforigpt \put(-\shifti,-\shiftii){\circle*{50}}%
-% \put(-\noshift,-\noshift){\circle{50}}%
-% \typeout{command `fiveunithi' origin: %
-% (\the\noshift,\the\noshift) ---> (\the\shifti,\the\shiftii)}\fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%
-% % % outer skeleton %
-% % %%%%%%%%%%%%%%%%%%
-% % changed OMIT to a list 1993/11/21 by Shinsaku Fujita
-% {\resetbdsw%
-% \@tfor\memBer:=#4\do{%
-% \if\memBer a\relax\gdef\@aaa{}\fi%
-% \if\memBer b\relax\gdef\@bbb{}\fi%
-% \if\memBer c\relax\gdef\@ccc{}\fi%
-% \if\memBer d\relax\gdef\@ddd{}\fi%
-% \if\memBer e\relax\gdef\@eee{}\fi%
-% %\if\memBer f\relax\gdef\@fff{}\fi%
-% }%
-% \if\@aaa a\relax\hskbonda\fi% bond between 1 and 2
-% \if\@bbb b\relax\hskbondb\fi% bond between 2 and 3
-% \if\@ccc c\relax\hskbondverti\fi% bond between 3 and 4
-% \if\@ddd d\relax\hskbonde\fi% bond between 4 and 5
-% \if\@eee e\relax\hskbondf\fi% bond between 5 and 6
-% %\if\@fff f\relax\hskbondf\fi% bond between 6 and 1
-% }%
-% % old
-% %\ifx#4a\relax\else%
-% % \hskbonda%bond between 1 and 2
-% %\fi%
-% %\ifx#4e\relax\else%
-% % \hskbondf%bond between 1 and 5
-% %\fi%
-% %\ifx#4b\relax\else%
-% % \hskbondb%bond between 2 to 3
-% %\fi%
-% %\ifx#4d\relax\else%
-% % \hskbonde%bond between 5 and 4
-% %\fi%
-% %\ifx#4c\relax\else%
-% % \hskbondverti%bond between 4 and 3
-% %\fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%
-% % % inner double bond %
-% % %%%%%%%%%%%%%%%%%%%%%
-% \@tfor\member:=#1\do{%
-% \if\member r%
-% \else \if\member a\relax%
-% \ifx#4a\relax\else%
-% \hbonda%
-% \fi%
-% \else \if\member b\relax%
-% \ifx#4b\relax\else%
-% \hbondb%
-% \fi%
-% \else \if\member c\relax%
-% \ifx#4c\relax\else%
-% \hbondverti%
-% \fi%
-% \else \if\member d\relax%
-% \ifx#4d\relax\else%
-% \hbonde%
-% \fi%
-% \else \if\member e\relax%
-% \ifx#4e\relax\else%
-% \hbondf%
-% \fi%
-% \else \if\member A%left aromatic circle
-% \put(173,0){\circle{180}}% %circle
-% \else \expandafter\twoch@@r\member{}{}% %plus or minus charges
-% \if\@@tmpa 1\relax%
-% \putratom{-38}{282}{\@@tmpb}% % right type
-% \else\if\@@tmpa 2\relax%
-% \putratom{60}{233}{\@@tmpb}% % right type
-% \else\if\@@tmpa 3\relax%
-% \putratom{60}{120}{\@@tmpb}% % right type
-% \else\if\@@tmpa 4\relax%
-% \putratom{-60}{120}{\@@tmpb}% % right type
-% \else\if\@@tmpa 5\relax%
-% \putratom{-60}{233}{\@@tmpb}% % right type
-% \else\if\@@tmpa 0\relax%
-% \putratom{140}{-30}{\@@tmpb}% % right type
-% \fi\fi\fi\fi\fi\fi%
-% \fi\fi\fi\fi\fi\fi\fi}%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%%%
-% % % setting heteroatoms %
-% % %%%%%%%%%%%%%%%%%%%%%%%
-% \ifx\aaa\empty\else%
-% \@acliptrue%
-% \putlatom{60}{-36}{\aaa}% % left type
-% \fi%
-% \ifx\bbb\empty\else%
-% \@bcliptrue%
-% \putlatom{135}{141}{\bbb}% % left type
-% \fi%
-% \ifx\ccc\empty\else%
-% \@ccliptrue%
-% \putratom{273}{141}{\ccc}% % right type
-% \fi%
-% \ifx\fff\empty\else%
-% \@fcliptrue%
-% \putlatom{135}{-211}{\fff}% % left type
-% \fi%
-% \ifx\eee\empty\else%
-% \@ecliptrue%
-% \putratom{273}{-211}{\eee}% % right type
-% \fi%
-% % \end{macrocode}
-% %
-% % \begin{macrocode}
-% % %%%%%%%%%%%%%%%%%%%%%%%%
-% % % setting substituents %
-% % %%%%%%%%%%%%%%%%%%%%%%%%
-% \setsixringh{#3}{0}{0}{4}{0}% % for 1 to 3
-% \setsixringh{#3}{1}{4}{7}{0}% % for 4 to 5
-% \end{picture}\iniatom\iniflag}% %end of \fiveunithi macro
-% % \end{macrocode}
-% % \end{macro}
-% \end{verbatim}
-%
-% \section{Three-membered heterocycles}
-% \subsection{Horizontal type}
-%
-% The macro |\threeheteroh| typesets a three-membered ring. The following
-% numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% ****************************
-% * thereehetero derivatives *
-% * (horizontal type) *
-% ****************************
-
-% aaa fff
-% 3
-% | ` c
-% b | 1 bbb ccc
-% | / a
-% 2/
-% ddd eee
-%
-% -- --
-% | cf. threeehetero |
-% | fff 3--------2bbb |
-% | ` / |
-% | ddd `1/ <===== the original point |
-% | |
-% -- --
-% \end{verbatim}
-%
-% The macro |\threeheteroh| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \threeheteroh(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `c' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to c, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $3$) represents a plus charge on a hetero atom
-% at the $n$-position.
-% The option `$n+$' ($n=4$ to $6$) represents a plus charge outside the ring.
-% The option `$0+$' typesets a plus charge at the center of the ring.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : saturated
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 3,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-hetero atom (n = 1 to 3)
-% : n=4 -- outer plus at 1 position
-% : n=5 -- outer plus at 2 position
-% : n=6 -- outer plus at 3 position
-% {0+} : plus at the center of a cyclopropane ring
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 3 atoms)
-%
-% for n = 1 to 3
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 3
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a to c; see BONDLIST)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \threeheteroh{1==N}{1==Cl;2==F}
-% \threeheteroh[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \threeheteroh{1==N}{1D==O;4SA==MeO;4SB==OMe;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% The definition of |\threeheteroh| uses a picture environment and
-% consists of the same unit processes as shown in |\sixheterov|:
-% \begin{enumerate}
-% \item treatment of atom list,
-% \item placing outer skeletons,
-% \item placing inner double bonds,
-% \item setting hetero atoms, and
-% \item placing substituents by using |\setsixringv| partially.
-% \end{enumerate}
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/5}{Add: spiro and fused rings}
-%
-% \begin{macro}{\threeheteroh}
-% \begin{macro}{\@three@heteroh}
-% \begin{macro}{\@three@@heteroh}
-% \begin{macro}{\@threeheteroh}
-% \begin{macrocode}
-\def\threeheteroh{\@ifnextchar({\@three@heteroh(@}{\@three@heteroh(@)}}
-\def\@three@heteroh(#1){\@ifnextchar[{\@three@@heteroh(#1)[@}%
-{\@three@@heteroh(#1)[@]}}
-\def\@three@@heteroh(#1)[#2]#3#4{\@ifnextchar[%
-{\@threeheteroh(#1)[#2]{#3}{#4}[@}%
-{\@threeheteroh(#1)[#2]{#3}{#4}[@]}}
-\def\@threeheteroh(#1)[#2]#3#4[#5]{%
-% \end{macrocode}
-%
-% The procedure of adusting substitution positions is based on
-% a horizontal six-membered ring, in which the positions
-% 4 (ddd), 6 (fff), 2 (bbb) are used in place of the positions
-% 1, 2, and 3 of the three-membered ring.
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize
-\test@vertix@sixv{#3}{d}{f}{b}{@}{@}{@}%tentative use for six-h
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adustment of subs positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\@reset@ylsw%
-\ylpositionh{#4}{3}{3}{5}{0}%subst 1
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{235}\def\@@yli{-103}\fi
-\else
-\ylpositionh{#4}{-1}{1}{3}{0}%subst 3
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{103}\def\@@yli{-29}\fi
-\else
-\ylpositionh{#4}{4}{5}{7}{0}%subst 2
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{103}\def\@@yli{-171}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(580,700)(-200,-240)%
- \iforigpt \put(-200,-240){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `threeheteroh' origin: %
- (0,0) ---> (200,240)}\fi%
-\fi
-% \end{macrocode}
-%
-% The procedures of setting skeletal and inner bonds are based on
-% a vertical six-membered ring, where the bonds c, e, and a are
-% used in place of the bonds a, b, and c. Hence,
-% (1) the bond a of the latter should be related to |\bbb| and |\ccc| at
-% the one terminal and to |\eee| and |\ddd| at the other terminal;
-% (2) the bond b of the latter should be related to |\eee| and |\ddd| at
-% the one terminal and to |\aaa| and |\fff| at the other terminal; and
-% (3) the bond c of the latter should be related to |\bbb| and |\ccc| at
-% the one terminal and to |\aaa| and |\fff| at the other terminal.
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % retreatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize
-\test@vertix@sixv{#3}{c}{e}{a}{@}{@}{@}%
-\test@vertix@sixv{#3}{b}{d}{f}{@}{@}{@}%
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-{\resetbdsw%
-\@bond@@omit{#5}%
-\put(0,0){\set@skel@bond{#1}{a}{c}}%
- % bond between 1 and 2 \@aaa -> \skbondc etc
-\put(171,-103){\set@skel@bond{#1}{b}{e}}%
- % bond between 2 and 3 \@bbb -> \skbonde etc
-\put(0,-200){\set@skel@bond{#1}{c}{a}}%
- % bond between 3 and 1 \@ccc -> \skbonda etc
-}%
-%
-% \put(0,0){\skbondc}% bond between 1 and 2
-% \put(0,-200){\skbonda}% bond between 1 and 3
-% \put(171,-103){\skbonde}%bond between 2 and 3
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-\else\if\member a\relax\put(0,0){\bondc}%
-\else\if\member b\relax\put(171,-103){\bonde}%
-\else\if\member c\relax\put(0,-200){\bonda}%
-\else\if\member A\relax% aromatic circle
- \put(70,103){\circle{100}}% %circle
-\else
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
- \expandafter\twoCH@@R\member//%
- \set@fusionadd@threeh
-\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-%
-% The proceduce of setting hetero atoms on the vertices of
-% a three-membered ring is based on the macro |\set@hetaromh@sixh|,
-% where the positions 4, 6, and 2 of a horizontal six-membered ring
-% are used in place of the positions 1, 2, and 3 of the three-membered ring.
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag
-%\put(-235,103){\set@hetatom@sixh{#3}{3}{3}{5}{0}%
-\put(-215,103){\set@hetatom@sixh{#3}{3}{3}{5}{0}%
-\if@clip \global\@cliptrue\fi}%subst 1 <--six h 4
-\put(-103,29){\set@hetatom@sixh{#3}{-1}{1}{3}{0}%
-\if@bclip \global\@bcliptrue\fi}%subst 3 <--six h 2
-\put(-103,171){\set@hetatom@sixh{#3}{4}{5}{7}{0}%
-\if@fclip \global\@fcliptrue\fi}%subst 2 <--six h 6
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\put(-235,103){\setsixringh{#4}{3}{3}{5}{0}}%subst 1
-\put(-103,29){\setsixringh{#4}{-1}{1}{3}{0}}%subst 3
-\put(-103,171){\setsixringh{#4}{4}{5}{7}{0}}%subst 2
-\end{picture}%
-\iniatom\iniflag}% %end of \threeheteroh macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\set@fusionadd@threeh| is an inner command contained
-% in the definition of |\threeheteroh| etc., where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusion@threeh|.
-%
-% \begin{macro}{\set@fusionadd@threeh}
-% \changes{v2.00}{1998/12/5}{New command: \cs{set@fusionadd@threeh}}
-% \begin{macrocode}
-\def\set@fusionadd@threeh{%
- \if\@@tmpa 0\relax%
- \putratom{35}{85}{\scriptsize\@@tmpb}% % right type
- \else\if\@@tmpa 1\relax%
- \putratom{80}{85}{\scriptsize\@@tmpb}% % right type
- \else\if\@@tmpa 2\relax%
- \putratom{15}{50}{\scriptsize\@@tmpb}% % right type
- \else\if\@@tmpa 3\relax%
- \putratom{15}{120}{\scriptsize\@@tmpb}% % right type
- \else\if\@@tmpa 4\relax%
- \putratom{180}{130}{\scriptsize\@@tmpb}% % right type
- \else\if\@@tmpa 5\relax%
- \putratom{20}{-60}{\scriptsize\@@tmpb}% % right type
- \else\if\@@tmpa 6\relax%
- \putratom{20}{230}{\scriptsize\@@tmpb}% % right type
- \else
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
- \set@fusion@threeh
- \fi\fi\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% The inner command |\set@fusion@threeh| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@threeh}
-% \changes{v2.00}{1998/12/5}{New command: \cs{set@fusion@threeh}}
-% \begin{macrocode}
-\def\set@fusion@threeh{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if\@@tmpa b\relax%
- \putlratom{0}{0}{\@@tmpb}% % bond fused
- \FuseWarning{0}{-200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b}%
- \else\if\@@tmpa B\relax%
- \putlratom{0}{200}{\@@tmpb}% % bond fused
- \FuseWarning{0}{200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B}%
- \else\if\@@tmpa a\relax%
- \putlratom{171}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a}%
- \else\if\@@tmpa A\relax%
- \putlratom{0}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A}%
- \else\if\@@tmpa c\relax%
- \putlratom{0}{200}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c}%
- \else\if\@@tmpa C\relax%
- \putlratom{171}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C}%
-\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@threeh
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse horizontal type}
-%
-% The macro |\threeheterohi| typesets a three-membered ring. The following
-% numbering is adopted in this macro.
-%
-% \begin{verbatim}
-% *******************************
-% * thereehetero derivatives *
-% * (vertical horizontal type) *
-% *******************************
-%
-% aaa bbb
-% c 3
-% / |
-% eee 1 | b
-% fff a` |
-% 2 <---original point
-% ccc ddd
-% \end{verbatim}
-%
-% The macro |\threeheterohi| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% Two optional arguments |SKBONDLIST| and |OMIT| are added to
-% treat stereochemical information or other bond situations.
-%
-% \begin{verbatim}
-% \threeheterohi(SKBONDLIST)[BONDLIST]{ATOMLIST}{SUBSLIST}[OMIT]
-% \end{verbatim}
-%
-% The |SKBONDLIST| argument contains pairs of two alphabets in
-% parentheses, e.g. (\{bA\}\{fB\}). Each pair contains a lowercase
-% character selected from bond specifiers `a' to `c' and a uppercase
-% character `A' or `B'.
-%
-% The |BONDLIST| argument contains one
-% character selected from a to c, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$ to $3$) represents a plus charge on a hetero atom
-% at the $n$-position.
-% The option `$n+$' ($n=4$ to $6$) represents a plus charge outside the ring.
-% The option `$0+$' typesets a plus charge at the center of the ring.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% none : saturated
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 3,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-hetero atom (n = 1 to 3)
-% : n=4 -- outer plus at 1 position
-% : n=5 -- outer plus at 2 position
-% : n=6 -- outer plus at 3 position
-% {0+} : plus at the center of a cyclopropane ring
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% ATOMLIST: list of heteroatoms (max 3 atoms)
-%
-% for n = 1 to 3
-%
-% n : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 3
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% nSd : alpha single bond at n-atom (dotted line)
-% with an alternative direction to nSA
-% nSu : beta single bond at n-atom (boldface)
-% with an alternative direction to nSB
-% nFA : alpha single bond at n-atom (dotted line)
-% for ring fusion
-% nFB : beta single bond at n-atom (boldface)
-% for ring fusion
-% nGA : alpha single bond at n-atom (dotted line)
-% for the other ring fusion
-% nGB : beta single bond at n-atom (boldface)
-% for the other ring fusion
-% \end{verbatim}
-%
-% The argument |OMIT| represents one or more bonds to be omitted.
-% The omitted edges may be regarded as both fused and non-fused
-% positions.
-%
-% \begin{verbatim}
-% OMIT: one or more bonds omitted (a to c; see BONDLIST)
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \threeheterohi{1==N}{1==Cl;2==F}
-% \threeheterohi[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \threeheterohi{1==N}{1D==O;4SA==MeO;4SB==OMe;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw},
-% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii},
-% \cs{yl@xdiff} and \cs{yl@ydiff}}
-% \changes{v2.00}{1998/12/5}{Add: spiro and fused rings}
-%
-% \begin{macro}{\threeheterohi}
-% \begin{macro}{\@three@heterohi}
-% \begin{macro}{\@three@@heterohi}
-% \begin{macro}{\@threeheterohi}
-% \begin{macrocode}
-\def\threeheterohi{\@ifnextchar({\@three@heterohi(@}{\@three@heterohi(@)}}
-\def\@three@heterohi(#1){\@ifnextchar[{\@three@@heterohi(#1)[@}%
-{\@three@@heterohi(#1)[@]}}
-\def\@three@@heterohi(#1)[#2]#3#4{\@ifnextchar[%
-{\@threeheterohi(#1)[#2]{#3}{#4}[@}%
-{\@threeheterohi(#1)[#2]{#3}{#4}[@]}}
-\def\@threeheterohi(#1)[#2]#3#4[#5]{%
-% \end{macrocode}
-%
-% The procedure of adusting substitution positions is based on
-% a horizontal six-membered ring, in which the positions
-% 1 (aaa), 5 (eee), 3 (ccc) are used in place of the positions
-% 1, 2, and 3 of the three-membered ring.
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-% % treatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize
-\test@vertix@sixv{#3}{a}{e}{c}{@}{@}{@}%tentative use for six-h
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % adustment of subs positions %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\@reset@ylsw%
-\ylpositionh{#4}{0}{0}{2}{0}%subst 1
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{171}\def\@@yli{-103}\fi
-\else
-\ylpositionh{#4}{0}{2}{4}{0}%subst 3
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{303}\def\@@yli{-29}\fi
-\else
-\ylpositionh{#4}{3}{4}{6}{0}%subst 2
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{303}\def\@@yli{-171}\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(580,700)(-400,-240)%
- \iforigpt \put(-400,-240){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `threeheterohi' origin: %
- (0,0) ---> (400,240)}\fi%
-\fi
-% \end{macrocode}
-%
-% The procedures of setting skeletal and inner bonds are based on
-% a vertical six-membered ring, where the bonds d, b, and f are
-% used in place of the bonds a, b, and c.
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% % retreatment of atom list %
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\iniatom\iniflag%initialize
-\test@vertix@sixv{#3}{e}{c}{a}{@}{@}{@}%
-\test@vertix@sixv{#3}{f}{d}{b}{@}{@}{@}%
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
-{\resetbdsw%
-\@bond@@omit{#5}%
-\put(0,0){\set@skel@bond{#1}{a}{d}}%
- % bond between 1 and 2 \@aaa -> \skbondd etc
-\put(-171,-103){\set@skel@bond{#1}{b}{b}}%
- % bond between 2 and 3 \@bbb -> \skbondb etc
-\put(0,-200){\set@skel@bond{#1}{c}{f}}%
- % bond between 3 and 1 \@ccc -> \skbondf etc
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\@tfor\member:=#2\do{%
-\if\member r\relax%
-\else\if\member a\relax\put(0,0){\bondd}%
-\else\if\member b\relax\put(-171,-103){\bondb}%
-\else\if\member c\relax\put(0,-200){\bondf}%
-\else\if\member A\relax% aromatic circle
- \put(70,103){\circle{100}}% %circle
-\else
-% %%%%%%%%%%%%%%%%%%%%%%%%%
-% % inner bond attachment %
-% %%%%%%%%%%%%%%%%%%%%%%%%%
- \expandafter\twoCH@@R\member//%
- \set@fusionadd@threehi
-\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-%
-% The proceduce of setting hetero atoms on the vertices of
-% a three-membered ring is based on the macro |\set@hetaromh@sixh|,
-% where the positions 1, 5, and 3 of a horizontal six-membered ring
-% are used in place of the positions 1, 2, and 3 of the three-membered ring.
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\iniflag
-\put(-171,103){\set@hetatom@sixh{#3}{0}{0}{2}{0}%
-\if@aclip \global\@acliptrue\fi}%subst 1 <--six h 1
-\put(-303,29){\set@hetatom@sixh{#3}{0}{2}{4}{0}%
-\if@cclip \global\@ccliptrue\fi}%subst 3 <--six h 3
-\put(-303,171){\set@hetatom@sixh{#3}{3}{4}{6}{0}%
-\if@eclip \global\@ecliptrue\fi}%subst 2 <--six h 5
-% \end{macrocode}
-%
-% \begin{macrocode}
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\put(-171,103){\setsixringh{#4}{0}{0}{2}{0}}%subst 1
-\put(-303,29){\setsixringh{#4}{0}{2}{4}{0}}%subst 3
-\put(-303,171){\setsixringh{#4}{3}{4}{6}{0}}%subst 2
-\end{picture}%
-\iniatom\iniflag}% %end of \threeheterohi macro
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The macro |\set@fusionadd@threehi| is an inner command contained
-% in the definition of |\threeheterohi| etc., where
-% the macro is used for setting an additive
-% or a fused ring at each bond (designated by |\@@tmpa|). The
-% fused ring is typeset by the inner command |\set@fusion@threehi|.
-%
-% \begin{macro}{\set@fusionadd@threeh}
-% \changes{v2.00}{1998/12/5}{New command: \cs{set@fusionadd@threehi}}
-% \begin{macrocode}
-\def\set@fusionadd@threehi{%
- \if\@@tmpa 0\relax%
- \putlatom{-35}{85}{\scriptsize\@@tmpb}% % left type
- \else\if\@@tmpa 1\relax%
- \putlatom{-80}{85}{\scriptsize\@@tmpb}% % left type
- \else\if\@@tmpa 2\relax%
- \putlatom{-15}{50}{\scriptsize\@@tmpb}% % left type
- \else\if\@@tmpa 3\relax%
- \putlatom{-15}{120}{\scriptsize\@@tmpb}% % left type
- \else\if\@@tmpa 4\relax%
- \putlatom{-180}{130}{\scriptsize\@@tmpb}% % left type
- \else\if\@@tmpa 5\relax%
- \putlatom{-20}{-60}{\scriptsize\@@tmpb}% % left type
- \else\if\@@tmpa 6\relax%
- \putlatom{-20}{230}{\scriptsize\@@tmpb}% % left type
- \else
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
- \set@fusion@threehi
- \fi\fi\fi\fi\fi\fi\fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% The inner command |\set@fusion@threehi| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@threehi}
-% \changes{v2.00}{1998/12/5}{New command: \cs{set@fusion@threehi}}
-% \begin{macrocode}
-\def\set@fusion@threehi{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if\@@tmpa b\relax%
- \putlratom{0}{0}{\@@tmpb}% % bond fused
- \FuseWarning{0}{-200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b}%
- \else\if\@@tmpa B\relax%
- \putlratom{0}{200}{\@@tmpb}% % bond fused
- \FuseWarning{0}{200}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B}%
- \else\if\@@tmpa a\relax%
- \putlratom{-171}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a}%
- \else\if\@@tmpa A\relax%
- \putlratom{0}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A}%
- \else\if\@@tmpa c\relax%
- \putlratom{0}{200}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c}%
- \else\if\@@tmpa C\relax%
- \putlratom{-171}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C}%
-\fi\fi\fi\fi\fi\fi%
-}% end of the macro \set@fusion@threehi
-%</hetaromh>
-% \end{macrocode}
-% \end{macro}
-%
-% \Finale
-%
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/hetaromh.ins b/Master/texmf-dist/source/latex/xymtex/hetaromh.ins
deleted file mode 100644
index c3e9cb59d1b..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/hetaromh.ins
+++ /dev/null
@@ -1,51 +0,0 @@
-\def\batchfile{hetaromh.ins}
-\input docstrip.tex
-\preamble
-
-This is a generated file.
-
-Copyright 1996,1998,2000 by Shinsaku Fujita
-
-This file is part of the XyMTeX system.
-=======================================
-
-Version 1.01 Released on August 16, 1996
-Version 1.02 Released on October 31, 1996 (private version)
-Version 2.00 Released on December 25, 1998
-Version 2.00a Released on November 11, 2000
-
-Copyright (C) 1996, 1998, 2000 by Shinsaku Fujita, all rights reserved.
-This style file is created for drawing chemical structural formulas
-This style file is to be contained in the ``xymtex'' directory which
-is an input directory for TeX.
-
-Copying of this file is authorized only if either
-
- (1) you make absolutely no changes to your copy, including name and
- directory name
- (2) if you do make changes,
- (a) you name it something other than the names included in the
- ``xymtex'' directory and
- (b) you acknowledge the original name.
- This restriction ensures that all standard styles are identical.
-
-=======================================
-
-This file contains several codes modified from latex.tex (LaTeX2.09)
-and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-Copyright 1994 the LaTeX3 project and the individual authors (For further
-copyright information see the file legal.txt of the LaTeX2e standard
-distribution, and any other copyright indicated in this file.)
-
-\endpreamble
-
-\keepsilent
-
-\generateFile{hetaromh.drv}{t}{%
- \from{hetaromh.dtx}{driver}}
-
-\generateFile{hetaromh.sty}{t}{%
- \from{hetaromh.dtx}{hetaromh}}
-
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/locant.drv b/Master/texmf-dist/source/latex/xymtex/locant.drv
deleted file mode 100644
index b64fb464d38..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/locant.drv
+++ /dev/null
@@ -1,78 +0,0 @@
-%%
-%% This is file `locant.drv',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% locant.dtx (with options: `driver')
-%%
-%% This is a generated file.
-%%
-%% Copyright 1996 by Shinsaku Fujita
-%%
-%% This file is part of the XyMTeX system.
-%% =======================================
-%%
-%% Released on August 16, 1996
-%%
-%% Copyright (C) 1996 by Shinsaku Fujita, all rights reserved.
-%% This style file is created for drawing chemical structural formulas
-%% This style file is to be contained in the ``xymtex'' directory which
-%% is an input directory for TeX.
-%%
-%% Copying of this file is authorized only if either
-%%
-%% (1) you make absolutely no changes to your copy, including name and
-%% directory name
-%% (2) if you do make changes,
-%% (a) you name it something other than the names included in the
-%% ``xymtex'' directory and
-%% (b) you acknowledge the original name.
-%% This restriction ensures that all standard styles are identical.
-%%
-%% =======================================
-%%
-%% This file contains several codes modified from latex.tex (LaTeX2.09)
-%% and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-%% Copyright 1994 the LaTeX3 project and the individual authors (For further
-%% copyright information see the file legal.txt of the LaTeX2e standard
-%% distribution, and any other copyright indicated in this file.)
-%%
-%% File: locant.dtx
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{locant.dtx}[1996/08/16 v1.01 XyMTeX{} package file]
-\documentclass{ltxdoc}
-\GetFileInfo{locant.dtx}
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-\title{Setting locant numbers by {\sffamily locant.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Ashigara Research Laboratories,
-Fuji Photo Film Co., Ltd., \\
-Minami-Ashigara, Kanagawa, 250-01 Japan}
-\date{\filedate}
-\begin{document}
- \maketitle
- \DocInput{locant.dtx}
-\end{document}
-\endinput
-%%
-%% End of file `locant.drv'.
diff --git a/Master/texmf-dist/source/latex/xymtex/locant.dtx b/Master/texmf-dist/source/latex/xymtex/locant.dtx
deleted file mode 100644
index 1b9170f7d94..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/locant.dtx
+++ /dev/null
@@ -1,240 +0,0 @@
-% \iffalse meta-comment
-%% File: locant.dtx
-%
-% Copyright 1993,1996 by Shinsaku Fujita
-%
-% This file is part of XyMTeX system.
-% -------------------------------------
-%
-% This file is a successor to:
-%
-% locant.sty
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 1.00}
-% \typeout{ -- Released December 1, 1993 by Shinsaku Fujita}
-% Copyright (C) 1993 by Shinsaku Fujita, all rights reserved.
-%
-% This file is a part of the macro package ``XyMTeX'' which has been
-% designed for typesetting chemical structural formulas.
-%
-% This file is to be contained in the ``xymtex'' directory which is
-% an input directory for TeX. It is a LaTeX optional style file and
-% should be used only within LaTeX, because several macros of the file
-% are based on LaTeX commands.
-%
-% For the review of XyMTeX, see
-% (1) Shinsaku Fujita, ``Typesetting structural formulas with the text
-% formatter TeX/LaTeX'', Computers and Chemistry, in press.
-% The following book deals with an application of TeX/LaTeX to
-% preparation of manuscripts of chemical fields:
-% (2) Shinsaku Fujita, ``LaTeX for Chemists and Biochemists''
-% Tokyo Kagaku Dozin, Tokyo (1993) [in Japanese].
-%
-% Copying of this file is authorized only if either
-% (1) you make absolutely no changes to your copy, including name and
-% directory name; or
-% (2) if you do make changes,
-% (a) you name it something other than the names included in the
-% ``xymtex'' directory and
-% (b) you are requested to leave this notice intact.
-% This restriction ensures that all standard styles are identical.
-%
-% Please report any bugs, comments, suggestions, etc. to:
-% Shinsaku Fujita,
-% Ashigara Research Laboratories, Fuji Photo Film Co., Ltd.,
-% Minami-Ashigara, Kanagawa-ken, 250-01, Japan.
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%\def\j@urnalname{locant}
-%\def\versi@ndate{December 01, 1993}
-%\def\versi@nno{ver1.00}
-%\def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% \fi
-%
-% \CheckSum{88}
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%
-% \setcounter{StandardModuleDepth}{1}
-%
-% \StopEventually{}
-% \MakeShortVerb{\|}
-%
-% \iffalse
-% \changes{v1.01}{1996/06/26}{first edition for LaTeX2e}
-% \fi
-%
-% \iffalse
-%<*driver>
-\NeedsTeXFormat{pLaTeX2e}
-% \fi
-\ProvidesFile{locant.dtx}[1996/08/16 v1.01 XyMTeX{} package file]
-% \iffalse
-\documentclass{ltxdoc}
-\GetFileInfo{locant.dtx}
-%
-% %%XyMTeX Logo: Definition 2%%%
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\title{Setting locant numbers by {\sffamily locant.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Ashigara Research Laboratories,
-Fuji Photo Film Co., Ltd., \\
-Minami-Ashigara, Kanagawa, 250-01 Japan}
-\date{\filedate}
-%
-\begin{document}
- \maketitle
- \DocInput{locant.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \section{Introduction}\label{locant:intro}
-%
-% \subsection{Options for {\sffamily docstrip}}
-%
-% \DeleteShortVerb{\|}
-% \begin{center}
-% \begin{tabular}{|l|l|}
-% \hline
-% \emph{option} & \emph{function}\\ \hline
-% locant & locant.sty \\
-% driver & driver for this dtx file \\
-% \hline
-% \end{tabular}
-% \end{center}
-% \MakeShortVerb{\|}
-%
-% \subsection{Version Information}
-%
-% \begin{macrocode}
-%<*locant>
-\typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 1.01}
-\typeout{ -- Released August 16, 1996 by Shinsaku Fujita}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\j@urnalname{locant}
-\def\versi@ndate{August 16, 1996}
-\def\versi@nno{ver1.01}
-\def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\typeout{XyMTeX Macro File `\j@urnalname' (\versi@nno) <\versi@ndate>%
-\space[\copyrighth@lder]}
-% \end{macrocode}
-%
-% \section{Macros for designating locant numbers}
-% \subsection{Bond indicators for vertical formulas}
-%
-% \begin{macro}{\dbloocant}
-% \begin{macro}{\dblocant}
-% The macro |\dbloocant| is used to designate six edges (inner double bonds)
-% of a six-membered ring. Any character can be asigned to the respective
-% bond.
-% The macro |\dblocant| provides a fixed set of aliphabetical charactors
-% on the six edges.
-% \begin{macrocode}
-\def\bdloocant#1#2#3#4#5#6{%
-\begin{picture}(800,880)(-\shiftii,-\shifti)
-\putratom{90}{360}{#1}%
-\putratom{200}{180}{#2}%
-\putratom{90}{-20}{#3}%
-\putlatom{-90}{360}{#6}%
-\putlatom{-200}{180}{#5}%
-\putlatom{-90}{-20}{#4}%
-\end{picture}}%
-\def\bdlocant{\bdloocant{a}{b}{c}{d}{e}{f}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\sxloocant}
-% \begin{macro}{\sxlocant}
-% The macro |\sxloocant| is used to designate six vertices
-% of a six-membered ring. Any character can be asigned to the respective
-% bond.
-% The macro |\sxlocant| provides a fixed set of arabic numerals
-% on the six edges.
-% \begin{macrocode}
-\def\sxloocant#1#2#3#4#5#6{%
-\begin{picture}(800,880)(-\shiftii,-\shifti)%
-\putratom{-10}{340}{\scriptsize #1}%
-\putlatom{150}{260}{\scriptsize #2}%
-\putlatom{150}{110}{\scriptsize #3}%
-\putratom{-10}{40}{\scriptsize #4}%
-\putratom{-150}{110}{\scriptsize #5}%
-\putratom{-150}{260}{\scriptsize #6}%
-\end{picture}}%
-\def\sxlocant{\sxloocant{1}{2}{3}{4}{5}{6}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Bond indicators for vertical formulas}
-%
-% \begin{macro}{\dbloocanth}
-% \begin{macro}{\dblocanth}
-% The macro |\dbloocanth| is used to designate six edges (inner double bonds)
-% of a horizontal six-membered ring.
-% Any character can be asigned to the respective bond.
-% The macro |\dblocanth| provides a fixed set of aliphabetical charactors
-% on the six edges.
-% \begin{macrocode}
-\def\bdloocnth#1#2#3#4#5#6{%
-\begin{picture}(880,800)(-\shifti,-\shiftii)%
-\putlatom{10}{80}{#1}%
-\putratom{180}{210}{#2}%
-\putratom{380}{80}{#3}%
-\putratom{380}{-120}{#4}%
-\putratom{180}{-260}{#5}%
-\putlatom{10}{-120}{#6}%
-\end{picture}}%
-\def\bdlocnth{\bdloocnth{a}{b}{c}{d}{e}{f}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\sxloocanth}
-% \begin{macro}{\sxlocanth}
-% The macro |\sxloocanth| is used to designate six vertices
-% of a horizontal six-membered ring.
-% Any character can be asigned to the respective bond.
-% The macro |\sxlocanth| provides a fixed set of arabic numerals
-% on the six edges.
-% \begin{macrocode}
-\def\sxloocnth#1#2#3#4#5#6{%
-\begin{picture}(880,800)(-\shifti,-\shiftii)%
-\putratom{40}{-20}{\scriptsize #1}%
-\putratom{110}{100}{\scriptsize #2}%
-\putlatom{290}{100}{\scriptsize #3}%
-\putlatom{380}{-20}{\scriptsize #4}%
-\putratom{110}{-140}{\scriptsize #6}%
-\putlatom{290}{-140}{\scriptsize #5}%
-\end{picture}}%
-\def\sxlocnth{\sxloocnth{1}{2}{3}{4}{5}{6}}
-%</locant>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \Finale
-%
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/locant.ins b/Master/texmf-dist/source/latex/xymtex/locant.ins
deleted file mode 100644
index 789de1ea609..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/locant.ins
+++ /dev/null
@@ -1,48 +0,0 @@
-\def\batchfile{locant.ins}
-\input docstrip.tex
-\preamble
-
-This is a generated file.
-
-Copyright 1996 by Shinsaku Fujita
-
-This file is part of the XyMTeX system.
-=======================================
-
-Released on August 16, 1996
-
-Copyright (C) 1996 by Shinsaku Fujita, all rights reserved.
-This style file is created for drawing chemical structural formulas
-This style file is to be contained in the ``xymtex'' directory which
-is an input directory for TeX.
-
-Copying of this file is authorized only if either
-
- (1) you make absolutely no changes to your copy, including name and
- directory name
- (2) if you do make changes,
- (a) you name it something other than the names included in the
- ``xymtex'' directory and
- (b) you acknowledge the original name.
- This restriction ensures that all standard styles are identical.
-
-=======================================
-
-This file contains several codes modified from latex.tex (LaTeX2.09)
-and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-Copyright 1994 the LaTeX3 project and the individual authors (For further
-copyright information see the file legal.txt of the LaTeX2e standard
-distribution, and any other copyright indicated in this file.)
-
-\endpreamble
-
-\keepsilent
-
-\generateFile{locant.drv}{t}{%
- \from{locant.dtx}{driver}}
-
-\generateFile{locant.sty}{t}{%
- \from{locant.dtx}{locant}}
-
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/lowcycle.drv b/Master/texmf-dist/source/latex/xymtex/lowcycle.drv
deleted file mode 100644
index 6a3c5f5fa1d..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/lowcycle.drv
+++ /dev/null
@@ -1,81 +0,0 @@
-%%
-%% This is file `lowcycle.drv',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% lowcycle.dtx (with options: `driver')
-%%
-%% This is a generated file.
-%%
-%% Copyright 1996,1998 by Shinsaku Fujita
-%%
-%% This file is part of the XyMTeX system.
-%% =======================================
-%%
-%% Version 1.01 Released on August 16, 1996
-%% Version 1.02 Released on October 31, 1996 (private version)
-%% Version 2.00 Released on December 25, 1998
-%%
-%% Copyright (C) 1996, 1998 by Shinsaku Fujita, all rights reserved.
-%% This style file is created for drawing chemical structural formulas
-%% This style file is to be contained in the ``xymtex'' directory which
-%% is an input directory for TeX.
-%%
-%% Copying of this file is authorized only if either
-%%
-%% (1) you make absolutely no changes to your copy, including name and
-%% directory name
-%% (2) if you do make changes,
-%% (a) you name it something other than the names included in the
-%% ``xymtex'' directory and
-%% (b) you acknowledge the original name.
-%% This restriction ensures that all standard styles are identical.
-%%
-%% =======================================
-%%
-%% This file contains several codes modified from latex.tex (LaTeX2.09)
-%% and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-%% Copyright 1994 the LaTeX3 project and the individual authors (For further
-%% copyright information see the file legal.txt of the LaTeX2e standard
-%% distribution, and any other copyright indicated in this file.)
-%%
-%% File: lowcycle.dtx
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{lowcycle.dtx}[1998/12/25 v2.00 XyMTeX{} package file]
-\documentclass{ltxdoc}
-\GetFileInfo{lowcycle.dtx}
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-\title{Lower carbocyclic compounds by {\sffamily lowcycle.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606 Japan
-}
-\date{\filedate}
-\begin{document}
- \maketitle
- \DocInput{lowcycle.dtx}
-\end{document}
-\endinput
-%%
-%% End of file `lowcycle.drv'.
diff --git a/Master/texmf-dist/source/latex/xymtex/lowcycle.dtx b/Master/texmf-dist/source/latex/xymtex/lowcycle.dtx
deleted file mode 100644
index 11d142a18d1..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/lowcycle.dtx
+++ /dev/null
@@ -1,854 +0,0 @@
-% \iffalse meta-comment
-%% File: lowcycle.dtx
-%
-% Copyright 1993,1996,1998 by Shinsaku Fujita
-%
-% This file is part of XyMTeX system.
-% -------------------------------------
-%
-% This file is a successor to:
-%
-% lowcycle.sty
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 1.00}
-% \typeout{ -- Released December 1, 1993 by Shinsaku Fujita}
-% Copyright (C) 1993 by Shinsaku Fujita, all rights reserved.
-%
-% This file is a part of the macro package ``XyMTeX'' which has been
-% designed for typesetting chemical structural formulas.
-%
-% This file is to be contained in the ``xymtex'' directory which is
-% an input directory for TeX. It is a LaTeX optional style file and
-% should be used only within LaTeX, because several macros of the file
-% are based on LaTeX commands.
-%
-% For the review of XyMTeX, see
-% (1) Shinsaku Fujita, ``Typesetting structural formulas with the text
-% formatter TeX/LaTeX'', Computers and Chemistry, in press.
-% The following book deals with an application of TeX/LaTeX to
-% preparation of manuscripts of chemical fields:
-% (2) Shinsaku Fujita, ``LaTeX for Chemists and Biochemists''
-% Tokyo Kagaku Dozin, Tokyo (1993) [in Japanese].
-%
-% Copying of this file is authorized only if either
-% (1) you make absolutely no changes to your copy, including name and
-% directory name; or
-% (2) if you do make changes,
-% (a) you name it something other than the names included in the
-% ``xymtex'' directory and
-% (b) you are requested to leave this notice intact.
-% This restriction ensures that all standard styles are identical.
-%
-% Please report any bugs, comments, suggestions, etc. to:
-% Shinsaku Fujita,
-% Ashigara Research Laboratories, Fuji Photo Film Co., Ltd.,
-% Minami-Ashigara, Kanagawa-ken, 250-01, Japan.
-%
-% New address:
-% Shinsaku Fujita,
-% Department of Chemistry and Materials Technology,
-% Kyoto Institute of Technology, \\
-% Matsugasaki, Sakyoku, Kyoto, 606 Japan
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{lowcycle}
-% \def\versi@ndate{December 01, 1993}
-% \def\versi@nno{ver1.00}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{lowcycle}
-% \def\versi@ndate{August 16, 1996}
-% \def\versi@nno{ver1.01}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{lowcycle}
-% \def\versi@ndate{October 31, 1998}
-% \def\versi@nno{ver1.02}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% \fi
-%
-% \CheckSum{175}
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%
-% \setcounter{StandardModuleDepth}{1}
-%
-% \StopEventually{}
-% \MakeShortVerb{\|}
-%
-% \iffalse
-% \changes{v1.01}{1996/06/26}{first edition for LaTeX2e}
-% \changes{v1.02}{1998/10/31}{revised edition for LaTeX2e}
-% \changes{v2.00}{1998/12/25}{enhanced edition for LaTeX2e}
-% \fi
-%
-% \iffalse
-%<*driver>
-\NeedsTeXFormat{pLaTeX2e}
-% \fi
-\ProvidesFile{lowcycle.dtx}[1998/12/25 v2.00 XyMTeX{} package file]
-% \iffalse
-\documentclass{ltxdoc}
-\GetFileInfo{lowcycle.dtx}
-%
-% %%XyMTeX Logo: Definition 2%%%
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\title{Lower carbocyclic compounds by {\sffamily lowcycle.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606 Japan
-% % (old address)
-% % Ashigara Research Laboratories,
-% % Fuji Photo Film Co., Ltd., \\
-% % Minami-Ashigara, Kanagawa, 250-01 Japan
-}
-\date{\filedate}
-%
-\begin{document}
- \maketitle
- \DocInput{lowcycle.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \section{Introduction}\label{lowcycle:intro}
-%
-% \subsection{Options for {\sffamily docstrip}}
-%
-% \DeleteShortVerb{\|}
-% \begin{center}
-% \begin{tabular}{|l|l|}
-% \hline
-% \emph{option} & \emph{function}\\ \hline
-% lowcycle & lowcycle.sty \\
-% driver & driver for this dtx file \\
-% \hline
-% \end{tabular}
-% \end{center}
-% \MakeShortVerb{\|}
-%
-% \subsection{Version Information}
-%
-% \begin{macrocode}
-%<*lowcycle>
-\typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 2.00}
-\typeout{ -- Released December 25, 1998 by Shinsaku Fujita}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\j@urnalname{lowcycle}
-\def\versi@ndate{December 25, 1998}
-\def\versi@nno{ver2.00}
-\def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\typeout{XyMTeX Macro File `\j@urnalname' (\versi@nno) <\versi@ndate>%
-\space[\copyrighth@lder]}
-% \end{macrocode}
-%
-% \section{List of commands for lowcycle.sty}
-%
-% \begin{verbatim}
-% **********************************
-% * lowcycle.sty: list of commands *
-% **********************************
-%
-% \cyclopentanev \@cyclopentanev
-% \cyclopentanevi \@cyclopentanevi
-% \cyclopentaneh \@cyclopentaneh
-% \cyclopentanehi \@cyclopentanehi
-%
-% \cyclobutane \@cyclobutane
-%
-% \cyclopropane \@cyclopropane
-% \cyclopropanei \@cyclopropanei
-% \cyclopropaneh \@cyclopropaneh
-% \cyclopropanehi \@cyclopropanehi
-%
-% \indanev \@indanev
-% \indanevi \@indanevi
-% \indaneh \@indaneh
-% \indanehi \@indanehi
-% \end{verbatim}
-%
-% \section{Input of basic macros}
-%
-% To assure the compatibility to \LaTeX{}2.09 (the native mode),
-% the commands added by \LaTeXe{} have not been used in the resulting sty
-% files ({\sf lowcycle.sty} for the present case). Hence, the combination
-% of |\input| and |\@ifundefined| is used to crossload sty
-% files ({\sf chemstr.sty} etc. for the present case) in place of the
-% |\RequirePackage| command of \LaTeXe{}.
-%
-% \begin{macrocode}
-% *************************
-% * input of basic macros *
-% *************************
-\@ifundefined{setsixringv}{\input chemstr.sty\relax}{}
-\@ifundefined{threehetero}{\input hetarom.sty\relax}{}
-\@ifundefined{sixheteroh}{\input hetaromh.sty\relax}{}
-\unitlength=0.1pt
-% \end{macrocode}
-%
-% \section{Cyclopentane derivatives}
-% \subsection{Vertical type}
-%
-% The macros |\cyclopentanev| and |\cyclopentanevi| have an
-% argument |SUBSLIST| as well as an optional argument |BONDLIST|.
-% The macro |\cyclopentanev| draws a five-membered ring with a
-% flat top bond, while the macro |\cyclopentanevi| draws an
-% inverse ring with a flat bottom bond.
-% \begin{verbatim}
-% ******************************
-% * cyclopentane derivatives *
-% * (vertical type & inverse) *
-% ******************************
-%
-% \cyclopentanev[BONDLIST]{SUBSLIST}
-% \cyclopentanevi[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected from a to e, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position. The
-% option `$n+$' ($n=1$--$5$) is used for designating a plus charge on
-% the $n$-carbon.
-% The option `$0+$'is used for designating a plus charge at the center
-% of the five-membered ring.
-% \begin{verbatim}
-% BONDLIST: list of inner double bonds
-%
-% none : mother nucleus (fully saturated form)
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,1-double bond
-% {n+} : plus at the n-carbon atom (n = 1 to 5)
-% {0+} : plus at the center
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 5
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \cyclopentanev{1==H;2==F}
-% \cyclopentanev[]{1==H;2==F}
-% \cyclopentanev[H]{1==H;2==F}
-% \end{verbatim}
-%
-% \begin{macro}{\cyclopentanev}
-% \begin{macro}{\cyclopentanevi}
-% \begin{macrocode}
-\def\cyclopentanev{\@ifnextchar[{\@cyclopentanev[@}{\@cyclopentanev[]}}
-\def\@cyclopentanev[#1]#2{%
-\iforigpt \typeout{command `cyclopentanev' %
- is based on `fiveheterov'.}\fi%
-\fiveheterov[#1]{}{#2}}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\cyclopentanevi{\@ifnextchar[{\@cyclopentanevi[@}{\@cyclopentanevi[]}}
-\def\@cyclopentanevi[#1]#2{%
-\iforigpt \typeout{command `cyclopentanevi' %
- is based on `fiveheterovi'.}\fi%
-\fiveheterovi[#1]{}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Horizontal type}
-%
-% The macros |\cyclopentaneh| and |\cyclopentanehi| have an
-% argument |SUBSLIST| as well as an optional argument |BONDLIST|.
-% The macro |\cyclopentaneh| draws a five-membered ring with a
-% vertical left bond, while the macro |\cyclopentanehi| draws an
-% inverse ring with a vertical right bond.
-% \begin{verbatim}
-% ********************************
-% * cyclopentane derivatives *
-% * (horizontal type & inverse) *
-% ********************************
-%
-% \cyclopentaneh[BONDLIST]{SUBSLIST}
-% \cyclopentanehi[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected from a to e, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position. The
-% option `$n+$' ($n=1$--$5$) is used for designating a plus charge on
-% the $n$-carbon.
-% The option `$0+$'is used for designating a plus charge at the center
-% of the five-membered ring.
-% \begin{verbatim}
-%
-% BONDLIST: list of inner double bonds
-%
-% none : mother nucleus (fully saturated form)
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% d : 4,5-double bond
-% e : 5,1-double bond
-% {n+} : plus at the n-carbon atom (n = 1 to 5)
-% {0+} : plus at the center
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 5
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-%
-% e.g.
-%
-% \cyclopentaneh{1==H;2==F}
-% \cyclopentanehi[]{1==H;2==F}
-% \cyclopentanehi[H]{1==H;2==F}
-%
-% \end{verbatim}
-%
-% \begin{macro}{\cyclopentaneh}
-% \begin{macro}{\cyclopentanehi}
-% \begin{macrocode}
-\def\cyclopentaneh{\@ifnextchar[{\@cyclopentaneh[@}{\@cyclopentaneh[]}}
-\def\@cyclopentaneh[#1]#2{%
-\iforigpt \typeout{command `cyclophentaneh' %
- is based on `fiveheteroh'.}\fi%
-\fiveheteroh[#1]{}{#2}}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\cyclopentanehi{%
- \@ifnextchar[{\@cyclopentanehi[@}{\@cyclopentanehi[]}}
-\def\@cyclopentanehi[#1]#2{%
-\iforigpt \typeout{command `cyclopentanehi' %
- is based on `fiveheterohi'.}\fi%
-\fiveheterohi[#1]{}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \section{Indan derivatives}
-% \subsection{Vertical type}
-%
-% The macros |\indanev| and |\indanevi| have an
-% argument |SUBSLIST| as well as an optional argument |BONDLIST|.
-% The macro |\indanev| draws a five-membered ring with a
-% flat top bond, while the macro |\indanevi| draws an
-% inverse ring with a flat bottom bond.
-% \begin{verbatim}
-% ***********************************************************
-% * indane derivatives (fused six- and five-membered rings) *
-% * (vertical type & inverse) *
-% ***********************************************************
-%
-% \indanev[BONDLIST]{SUBSLIST}
-% \indanevi[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected from a to j, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `A' typesets a six-membered ring with an aromatic circle.
-% The option `$n+$' ($n=1$--$7$) is used for designating a plus charge on
-% the $n$-carbon.
-% \begin{verbatim}
-%
-% BONDLIST: list of bonds
-%
-% none or r : aromatic six-membered ring
-% H or [] : fully saturated form
-% a : 1,2-double bond b : 2,3-double bond
-% c : 3,3a-double bond d : 4,3a-double bond
-% e : 4,5-double bond f : 5,6-double bond
-% g : 6,7-double bond h : 7,7a-double bond
-% i : 1,7a-double bond j : 3a,4a-double bond
-% A : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 7)
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents (max 7 substitution positions)
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% for 8 (3a position) and 9 (7a position)
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-%
-% e.g.
-%
-% \indanev{1==Cl;2==F}
-% \indanev[c]{1==Cl;4==F;2==CH$_{3}$}
-% \indanev[eb]{1D==O;4SA==MeO;4SB==OMe;5==Cl;6==Cl}
-%
-% \end{verbatim}
-%
-% \begin{macro}{\indanev}
-% \begin{macro}{\indanevi}
-% \begin{macrocode}
-\def\indanev{\@ifnextchar[{\@indanev[@}{\@indanev[rb]}}
-\def\@indanev[#1]#2{%
-\iforigpt \typeout{command `indanev' %
- is based on `nonaheterov'.}\fi%
-\nonaheterov[#1]{}{#2}}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\indanevi{\@ifnextchar[{\@indanevi[@}{\@indanevi[rb]}}
-\def\@indanevi[#1]#2{%
-\iforigpt \typeout{command `indanevi' %
- is based on `nonaheterovi'.}\fi%
-\nonaheterovi[#1]{}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Horizontal type}
-%
-% The macros |\indaneh| and |\indanehi| have an
-% argument |SUBSLIST| as well as an optional argument |BONDLIST|.
-% The macro |\indaneh| draws a five-membered ring with a
-% vertical left bond, while the macro |\indanehi| draws an
-% inverse ring with a vertical right bond.
-% \begin{verbatim}
-% ***********************************************************
-% * indane derivatives (fused six- and five-membered rings) *
-% * (horizontal type & inverse) *
-% ***********************************************************
-%
-% \indaneh[BONDLIST]{SUBSLIST}
-% \indanehi[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected from a to j, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `A' typesets a six-membered ring with an aromatic circle.
-% The option `$n+$' ($n=1$--$7$) is used for designating a plus charge on
-% the $n$-carbon.
-% \begin{verbatim}
-%
-% BONDLIST: list of bonds
-%
-% none or r : aromatic six-membered ring
-% H or [] : fully saturated form
-% a : 1,2-double bond b : 2,3-double bond
-% c : 3,3a-double bond d : 4,3a-double bond
-% e : 4,5-double bond f : 5,6-double bond
-% g : 6,7-double bond h : 7,7a-double bond
-% i : 1,7a-double bond j : 3a,4a-double bond
-% A : aromatic circle
-% {n+} : plus at the n-nitrogen atom (n = 1 to 7)
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-%
-% for 8 (3a position) and 9 (7a position)
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \indaneh{1==Cl;2==F}
-% \indaneh[c]{1==Cl;4==F;2==CH$_{3}$}
-% \indaneh[eb]{1D==O;4SA==MeO;4SB==OMe;5==Cl;6==Cl}
-% \end{verbatim}
-%
-% \begin{macro}{\indaneh}
-% \begin{macro}{\indanehi}
-% \begin{macrocode}
-\def\indaneh{\@ifnextchar[{\@indaneh[@}{\@indaneh[rb]}}
-\def\@indaneh[#1]#2{%
-\iforigpt \typeout{command `indaneh' %
- is based on `nonaheteroh'.}\fi%
-\nonaheteroh[#1]{}{#2}}
-\def\indanehi{\@ifnextchar[{\@indanehi[@}{\@indanehi[rb]}}
-\def\@indanehi[#1]#2{%
-\iforigpt \typeout{command `indanehi' %
- is based on `nonaheterohi'.}\fi%
-\nonaheterohi[#1]{}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-% \section{Cyclobutane derivatives}
-%
-% The macros |\cyclobutane| has an
-% argument |SUBSLIST| as well as an optional argument |BONDLIST|.
-% This macro is based on the \verb/\fourhetero/ command for drawing
-% four-membered heterocycles.
-% \begin{verbatim}
-% ***************************
-% * cyclobutane derivatives *
-% ***************************
-% The following numbering is adopted in this macro.
-%
-% c
-% 4 _____ 3
-% d | | b
-% | |
-% 1 ----- 2<===== the original point
-% a
-%
-% \cyclobutane[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected from a to e, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `$n+$' ($n=1$--$4$) is used for designating a plus charge on
-% the $n$-carbon.
-% \begin{verbatim}
-%
-% BONDLIST: list of inner double bonds
-%
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 4,3-double bond
-% e : 4,1-double bond
-%
-% {n+} : plus at the n-nitrogen atom (n = 1 to 4)
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents (max 5 substitution positions)
-%
-% for n = 1 to 4
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \cyclobutane{1==H;2==F}
-% \cyclobutane[c]{1==Cl;4==F;2==CH$_{3}$}
-% \cyclobutane[eb]{1D==O;4SA==MeO;4SB==OMe}
-% \end{verbatim}
-%
-% \begin{macro}{\cyclobutane}
-% \begin{macrocode}
-\def\cyclobutane{\@ifnextchar[{\@cyclobutane[@}{\@cyclobutane[]}}
-\def\@cyclobutane[#1]#2{%
-\iforigpt \typeout{command `cyclobutane' %
- is based on `fourhetero'.}\fi%
-\fourhetero[#1]{}{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Cyclopropane derivatives}
-%
-% The macros |\cyclopropane| has an
-% argument |SUBSLIST| as well as an optional argument |BONDLIST|.
-% This macro is based on the \verb/\threehetero/ command for drawing
-% three-membered heterocycles.
-% \begin{verbatim}
-% ****************************
-% * cyclopropane derivatives *
-% * (vertical type) *
-% ****************************
-% The following numbering is adopted in this macro.
-%
-% b
-% 3--------2
-% c ` / a
-% `1/ <===== the original point
-%
-%
-% \cyclopropane[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected from a to c, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `A' is used for designating an aromatic character with a
-% circle.
-% The option `$n+$' ($n=1$--$3$) is used for designating a plus charge on
-% the $n$-carbon, while
-% the case $n=4$--$6$) indicates a plus charge outside the ring.
-% The option `0+' draws a plus symbol at the center of the ring.
-% \begin{verbatim}
-%
-% BONDLIST =
-%
-% none : saturated
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 3,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-hetero atom (n = 1 to 3)
-% : n=4 -- outer plus at 1 position
-% : n=5 -- outer plus at 2 position
-% : n=6 -- outer plus at 3 position
-% {0+} : plus at the center of a cyclopropane ring
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents (max 3 substitution positions)
-%
-% for n = 1 to 3
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-%
-% e.g.
-%
-% \cyclopropane{1==N}{1==Cl;2==F}
-%
-% \end{verbatim}
-%
-% \begin{macro}{\cyclopropane}
-% \begin{macro}{\cyclopropanev}
-% \begin{macrocode}
-\def\cyclopropane{\@ifnextchar[{\@cyclopropane[@}{\@cyclopropane[]}}
-\def\@cyclopropane[#1]#2{%
-\iforigpt \typeout{command `cyclopropane' %
- is based on `threehetero'.}\fi%
-\threehetero[#1]{}{#2}}
-\let\cyclopropanev=\cyclopropane
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The macros |\cyclopropanei| has an
-% argument |SUBSLIST| as well as an optional argument |BONDLIST|.
-% This macro is based on the \verb/\threehetero/ command for drawing
-% three-membered heterocycles.
-% \begin{verbatim}
-% ****************************
-% * cyclopropane derivatives *
-% * (inverse vertical type) *
-% ****************************
-% The following numbering is adopted in this macro.
-%
-% /1` <===== the original point
-% c / ` a
-% 3--------2
-% b
-%
-% \cyclopropanei[BONDLIST]{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one or more
-% characters selected from a to c, each of which indicates the presence of
-% an inner (endcyclic) double bond on the corresponding position.
-% The option `A' is used for designating an aromatic character with a
-% circle.
-% The option `$n+$' ($n=1$--$3$) is used for designating a plus charge on
-% the $n$-carbon, while
-% the case $n=4$--$6$) indicates a plus charge outside the ring.
-% The option `0+' draws a plus symbol at the center of the ring.
-% \begin{verbatim}
-%
-% BONDLIST =
-%
-% none : saturated
-% a : 1,2-double bond
-% b : 2,3-double bond
-% c : 3,1-double bond
-% A : aromatic circle
-% {n+} : plus at the n-hetero atom (n = 1 to 3)
-% : n=4 -- outer plus at 1 position
-% : n=5 -- outer plus at 2 position
-% : n=6 -- outer plus at 3 position
-% {0+} : plus at the center of a cyclopropane ring
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents (max 3 substitution positions)
-%
-% for n = 1 to 3
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-%
-% e.g.
-%
-% \cyclopropanei{1==N}{1==Cl;2==F}
-%
-% \end{verbatim}
-% \changes{v1.02}{1998/10/20}{Newly added command}
-%
-% \begin{macro}{\cyclopropanei}
-% \begin{macro}{\cyclopropenevi}
-% \begin{macrocode}
-\def\cyclopropanei{\@ifnextchar[{\@cyclopropanei[@}{\@cyclopropanei[]}}
-\def\@cyclopropanei[#1]#2{%
-\iforigpt \typeout{command `cyclopropanei' %
- is based on `threeheteroi'.}\fi%
-\threeheteroi[#1]{}{#2}}
-\let\cyclopropanevi=\cyclopropanei
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\cyclopropaneh}
-% \begin{macrocode}
-\def\cyclopropaneh{\@ifnextchar[{\@cyclopropaneh[@}{\@cyclopropaneh[]}}
-\def\@cyclopropaneh[#1]#2{%
-\iforigpt \typeout{command `cyclopropaneh' %
- is based on `threeheteroh'.}\fi%
-\threeheteroh[#1]{}{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\cyclopropanehi}
-% \begin{macrocode}
-\def\cyclopropanehi{\@ifnextchar[{\@cyclopropanehi[@}{\@cyclopropanehi[]}}
-\def\@cyclopropanehi[#1]#2{%
-\iforigpt \typeout{command `cyclopropanehi' %
- is based on `threeheterohi'.}\fi%
-\threeheterohi[#1]{}{#2}}
-%</lowcycle>
-% \end{macrocode}
-% \end{macro}
-%
-% \Finale
-%
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/lowcycle.ins b/Master/texmf-dist/source/latex/xymtex/lowcycle.ins
deleted file mode 100644
index eb4ac5abb4c..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/lowcycle.ins
+++ /dev/null
@@ -1,50 +0,0 @@
-\def\batchfile{lowcycle.ins}
-\input docstrip.tex
-\preamble
-
-This is a generated file.
-
-Copyright 1996,1998 by Shinsaku Fujita
-
-This file is part of the XyMTeX system.
-=======================================
-
-Version 1.01 Released on August 16, 1996
-Version 1.02 Released on October 31, 1996 (private version)
-Version 2.00 Released on December 25, 1998
-
-Copyright (C) 1996, 1998 by Shinsaku Fujita, all rights reserved.
-This style file is created for drawing chemical structural formulas
-This style file is to be contained in the ``xymtex'' directory which
-is an input directory for TeX.
-
-Copying of this file is authorized only if either
-
- (1) you make absolutely no changes to your copy, including name and
- directory name
- (2) if you do make changes,
- (a) you name it something other than the names included in the
- ``xymtex'' directory and
- (b) you acknowledge the original name.
- This restriction ensures that all standard styles are identical.
-
-=======================================
-
-This file contains several codes modified from latex.tex (LaTeX2.09)
-and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-Copyright 1994 the LaTeX3 project and the individual authors (For further
-copyright information see the file legal.txt of the LaTeX2e standard
-distribution, and any other copyright indicated in this file.)
-
-\endpreamble
-
-\keepsilent
-
-\generateFile{lowcycle.drv}{t}{%
- \from{lowcycle.dtx}{driver}}
-
-\generateFile{lowcycle.sty}{t}{%
- \from{lowcycle.dtx}{lowcycle}}
-
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/methylen.drv b/Master/texmf-dist/source/latex/xymtex/methylen.drv
deleted file mode 100644
index 036f42c10d7..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/methylen.drv
+++ /dev/null
@@ -1,80 +0,0 @@
-%%
-%% This is file `methylen.drv',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% methylen.dtx (with options: `driver')
-%%
-%% This is a generated file.
-%%
-%% Copyright 1998 by Shinsaku Fujita
-%%
-%% This file is part of the XyMTeX system.
-%% =======================================
-%%
-%% Version 1.02 Released on October 31, 1996 (private version)
-%% Version 2.00 Released on December 25, 1998
-%%
-%% Copyright (C) 1998 by Shinsaku Fujita, all rights reserved.
-%% This style file is created for drawing chemical structural formulas
-%% This style file is to be contained in the ``xymtex'' directory which
-%% is an input directory for TeX.
-%%
-%% Copying of this file is authorized only if either
-%%
-%% (1) you make absolutely no changes to your copy, including name and
-%% directory name
-%% (2) if you do make changes,
-%% (a) you name it something other than the names included in the
-%% ``xymtex'' directory and
-%% (b) you acknowledge the original name.
-%% This restriction ensures that all standard styles are identical.
-%%
-%% =======================================
-%%
-%% This file contains several codes modified from latex.tex (LaTeX2.09)
-%% and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-%% Copyright 1994 the LaTeX3 project and the individual authors (For further
-%% copyright information see the file legal.txt of the LaTeX2e standard
-%% distribution, and any other copyright indicated in this file.)
-%%
-%% File: methylen.dtx
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{methylen.dtx}[1998/12/25 v2.00 XyMTeX{} package file]
-\documentclass{ltxdoc}
-\GetFileInfo{methylen.dtx}
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-\title{Methylene Chains by {\sffamily methylen.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606 Japan
-}
-\date{\filedate}
-\begin{document}
- \maketitle
- \DocInput{methylen.dtx}
-\end{document}
-\endinput
-%%
-%% End of file `methylen.drv'.
diff --git a/Master/texmf-dist/source/latex/xymtex/methylen.dtx b/Master/texmf-dist/source/latex/xymtex/methylen.dtx
deleted file mode 100644
index 7c10c684766..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/methylen.dtx
+++ /dev/null
@@ -1,5689 +0,0 @@
-% \iffalse meta-comment
-%% File: methylen.dtx
-%
-% Copyright 1998 by Shinsaku Fujita
-%
-% This file is part of XyMTeX system.
-% -------------------------------------
-%
-% This file is a part of the macro package ``XyMTeX'' which has been
-% designed for typesetting chemical structural formulas.
-%
-% This file is to be contained in the ``xymtex'' directory which is
-% an input directory for TeX. It is a LaTeX optional style file and
-% should be used only within LaTeX, because several macros of the file
-% are based on LaTeX commands.
-%
-% For the review of XyMTeX, see
-% (1) Shinsaku Fujita, ``Typesetting structural formulas with the text
-% formatter TeX/LaTeX'', Computers and Chemistry, in press.
-% The following book deals with an application of TeX/LaTeX to
-% preparation of manuscripts of chemical fields:
-% (2) Shinsaku Fujita, ``LaTeX for Chemists and Biochemists''
-% Tokyo Kagaku Dozin, Tokyo (1993) [in Japanese].
-%
-% Copying of this file is authorized only if either
-% (1) you make absolutely no changes to your copy, including name and
-% directory name; or
-% (2) if you do make changes,
-% (a) you name it something other than the names included in the
-% ``xymtex'' directory and
-% (b) you are requested to leave this notice intact.
-% This restriction ensures that all standard styles are identical.
-%
-% Please report any bugs, comments, suggestions, etc. to:
-% Shinsaku Fujita,
-% Department of Chemistry and Materials Technology,
-% Kyoto Institute of Technology, \\
-% Matsugasaki, Sakyoku, Kyoto, 606 Japan
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{methylen}
-% \def\versi@ndate{October 31, 1998}
-% \def\versi@nno{ver1.02}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% \fi
-%
-% \CheckSum{7043}
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%
-% \setcounter{StandardModuleDepth}{1}
-%
-% \StopEventually{}
-% \MakeShortVerb{\|}
-%
-% \iffalse
-% \changes{v1.02}{1998/10/31}{first edition for LaTeX2e}
-% \changes{v2.00}{1998/12/25}{enhanced edition for LaTeX2e}
-% \fi
-%
-% \iffalse
-%<*driver>
-\NeedsTeXFormat{pLaTeX2e}
-% \fi
-\ProvidesFile{methylen.dtx}[1998/12/25 v2.00 XyMTeX{} package file]
-% \iffalse
-\documentclass{ltxdoc}
-\GetFileInfo{methylen.dtx}
-%
-% %%XyMTeX Logo: Definition 2%%%
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\title{Methylene Chains by {\sffamily methylen.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606 Japan
-}
-\date{\filedate}
-%
-\begin{document}
- \maketitle
- \DocInput{methylen.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \section{Introduction}\label{methylen:intro}
-%
-% \subsection{Options for {\sffamily docstrip}}
-%
-% \DeleteShortVerb{\|}
-% \begin{center}
-% \begin{tabular}{|l|l|}
-% \hline
-% \emph{option} & \emph{function}\\ \hline
-% methylen & methylen.sty \\
-% driver & driver for this dtx file \\
-% \hline
-% \end{tabular}
-% \end{center}
-% \MakeShortVerb{\|}
-%
-% \subsection{Version Information}
-%
-% \begin{macrocode}
-%<*methylen>
-\typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 2.00}
-\typeout{ -- Released December 25, 1998 by Shinsaku Fujita}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\j@urnalname{methylen}
-\def\versi@ndate{December 25, 1998}
-\def\versi@nno{ver2.00}
-\def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\typeout{XyMTeX Macro File `\j@urnalname' (\versi@nno) <\versi@ndate>%
-\space[\copyrighth@lder]}
-% \end{macrocode}
-%
-% \section{List of commands for methylen.sty}
-%
-% \begin{verbatim}
-% **********************************
-% * methylen.sty: list of commands *
-% **********************************
-%
-% <Switches for drawing substituents and bonds>
-%
-% \if@adoublebond \if@bdoublebond
-% \if@Adoublebond \if@adoublebond}
-% \reset@double
-% \if@linterchainsw \if@rinterchainsw}
-% \reset@interchainsw
-%
-% <Command for drawing substituents and bonds>
-%
-% \@methsubsta \@methsubstd \@methsubstdL
-% \SKbondA \SKbondB
-% \bondA \bondAA
-% \bondB \bondBB
-%
-% <Basic commands for typesetting aliphatic chains>
-%
-% \@@trimethylene
-% \@@dimethylene
-%
-% <Commands for adjusting substitution sites>
-%
-% \yltrimethyleneposition
-% \yldimethyleneposition
-%
-% <Commands for drawing aliphatic chains>
-%
-% \trimethylene
-% \dimethylene
-% \tetramethylene
-% \pentamethylene
-%
-% \end{verbatim}
-%
-% \section{Input of basic macros}
-%
-% To assure the compatibility to \LaTeX{}2.09 (the native mode),
-% the commands added by \LaTeXe{} have not been used in the resulting sty
-% files ({\sf polymers.sty} for the present case). Hence, the combination
-% of |\input| and |\@ifundefined| is used to crossload sty
-% files ({\sf chemstr.sty} etc. for the present case) in place of the
-% |\RequirePackage| command of \LaTeXe{}.
-%
-% \begin{macrocode}
-% *************************
-% * input of basic macros *
-% *************************
-\@ifundefined{setsixringv}{\input chemstr.sty\relax}{}
-\@ifundefined{Westbond}{\input aliphat.sty\relax}{}
-\@ifundefined{bzdrv}{\input carom.sty\relax}{}
-\@ifundefined{hbonde}{\input hetaromh.sty\relax}{}
-\unitlength=0.1pt
-% \end{macrocode}
-%
-% \section{Setting Substituents}
-%
-% Substitutions on each methylene of a polymethylene chain
-% is typeset by macros |\@methsubsta| etc.
-% The macro |\@methsubsta| is used to place substituents on an
-% upper-side methylene. A new bond modifier ``W'' is added to
-% typeset a terminal substituent.
-%
-% \begin{macro}{\@methsubsta}
-% \begin{macrocode}
-\newif\if@wrongbdWa \@wrongbdWafalse
-\newif\if@wrongbdWd \@wrongbdWdfalse
-\newif\if@wrongbdWaL \@wrongbdWaLfalse
-\newif\if@wrongbdWdL \@wrongbdWdLfalse
-\def\@methsubsta{%
-\if@aclip% %clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \put(0,436){\line(0,1){110}}% % single bond at 1
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=-36\relax
- \yl@ydiff=-27\relax
- \putlatom{-42}{563}{\@memberb}% % left type
- {%
- \thicklines%
- \put(-18,436){\line(-3,5){60}}% % single bond at 1
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=37\relax
- \yl@ydiff=-27\relax
- \putratom{41}{563}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(18,436){\line(3,5){60}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(18,436)(72,526)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-36\relax
- \yl@ydiff=-27\relax
- \putlatom{-42}{563}{\@memberb}% % left type
- \put(-18,436){\line(-3,5){60}}% % single bond at 1
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=37\relax
- \yl@ydiff=-27\relax
- \putratom{41}{563}{\@memberb}% % right type
- \put(18,436){\line(3,5){60}}% % single bond at 1
- \fi\fi\fi\fi\fi%
- \else\if\@tmpb D%double bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \put(-12,436){\line(0,1){110}}% % double bond at 1
- \put(12,436){\line(0,1){110}}% % double bond at 1
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- {%
- \thicklines%
- \put(0,436){\line(0,1){110}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \@ifundefined{dottedline}{%
- \put(0,436){\line(0,1){110}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,436)(0,546)}}%
- \else\if\@tmpb W%beta single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=46\relax
- \if@wrongbdWa
- \XyMTeXWarning{Wrong Bond-Modifier (W)}%
- \fi
- \putratom{150}{276}{\@memberb}% % left or right type
- \put(40,382){\line(5,-3){100}}% % single bond at 1
- \else%
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \put(0,436){\line(0,1){110}}% % single bond at 1
- \fi\fi\fi\fi\fi%
-\else% % no clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \put(0,406){\line(0,1){140}}% % single bond at 1
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=-30\relax
- \yl@ydiff=-37\relax
- \putlatom{-42}{563}{\@memberb}% % left type
- {%
- \thicklines%
- \put(0,406){\line(-3,5){72}}% % single bond at 1
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=31\relax
- \yl@ydiff=-37\relax
- \putratom{41}{563}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(0,406){\line(3,5){72}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,406)(72,526)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-30\relax
- \yl@ydiff=-37\relax
- \putlatom{-42}{563}{\@memberb}% % left type
- \put(0,406){\line(-3,5){72}}% % single bond at 1
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=31\relax
- \yl@ydiff=-37\relax
- \putratom{41}{563}{\@memberb}% % right type
- \put(0,406){\line(3,5){72}}% % single bond at 1
- \fi\fi\fi\fi\fi%
- \else\if\@tmpb D%double bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \put(-12,406){\line(0,1){140}}% % double bond at 1
- \put(12,406){\line(0,1){140}}% % double bond at 1
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- {%
- \thicklines%
- \put(0,406){\line(0,1){140}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \@ifundefined{dottedline}{%
- \put(0,406){\line(0,1){140}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,406)(0,546)}}%
- \else\if\@tmpb W%beta single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=58\relax
- \if@wrongbdWa
- \XyMTeXWarning{Wrong Bond-Modifier (W)}%
- \fi
- \putratom{130}{276}{\@memberb}% % left or right type
- \put(0,406){\line(5,-3){120}}% % single bond at 1
- \else%
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \put(0,406){\line(0,1){140}}% % single bond at 1
- \fi\fi\fi\fi\fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\@methsubstd| is used to place substituents on a
-% down-side methylene. A new bond modifier ``W'' is added to
-% typeset a terminal substituent.
-%
-% \begin{macro}{\@methsubstd}
-% \begin{macrocode}
-\def\@methsubstd{%
-\if@clip %clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \put(0,-30){\line(0,-1){110}}% % single bond at 4
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=-36\relax
- \yl@ydiff=100\relax
- \putlatom{-42}{-230}{\@memberb}% % left type
- {%
- \thicklines%
- \put(-18,-30){\line(-3,-5){60}}% % single bond at 4
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=37\relax
- \yl@ydiff=100\relax
- \putratom{41}{-230}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(18,-30){\line(3,-5){60}}% % single bond at 4
- }{{\thicklines%
- \dottedline{20}(18,-30)(72,-120)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-36\relax
- \yl@ydiff=100\relax
- \putlatom{-42}{-230}{\@memberb}% % left type
- \put(-18,-30){\line(-3,-5){60}}% % single bond at 4
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=37\relax
- \yl@ydiff=100\relax
- \putratom{41}{-230}{\@memberb}% % right type
- \put(18,-30){\line(3,-5){60}}% % single bond at 4
- \fi\fi\fi\fi\fi%
- \else\if\@tmpb D%double bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \put(-12,-30){\line(0,-1){110}}% % double bond at 4
- \put(12,-30){\line(0,-1){110}}% % double bond at 4
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- {%
- \thicklines%
- \put(0,-30){\line(0,-1){110}}% % single bond at 4
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \@ifundefined{dottedline}{%
- \put(0,-30){\line(0,-1){110}}% % single bond at 4
- }{{\thicklines%
- \dottedline{20}(0,-30)(0,-140)}}%
- \else\if\@tmpb W%beta single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=30\relax
- \putlratom{150}{54}{\@memberb}% % left or right type
- \put(40,24){\line(5,3){100}}% % single bond at 4
- \if@wrongbdWd
- \XyMTeXWarning{Wrong Bond-Modifier (W)}%
- \fi
- \else%
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \put(0,-30){\line(0,-1){110}}% % single bond at 4
- \fi\fi\fi\fi\fi%
- \else% no clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \put(0,0){\line(0,-1){140}}% % single bond at 4
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=-30\relax
- \yl@ydiff=110\relax
- \putlatom{-42}{-230}{\@memberb}% % left type
- {%
- \thicklines%
- \put(0,0){\line(-3,-5){72}}% % single bond at 4
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=31\relax
- \yl@ydiff=110\relax
- \putratom{41}{-230}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(0,0){\line(3,-5){72}}% % single bond at 4
- }{{\thicklines%
- \dottedline{20}(0,0)(72,-120)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-30\relax
- \yl@ydiff=110\relax
- \putlatom{-42}{-230}{\@memberb}% % left type
- \put(0,0){\line(-3,-5){72}}% % single bond at 4
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=31\relax
- \yl@ydiff=110\relax
- \putratom{41}{-230}{\@memberb}% % right type
- \put(0,0){\line(3,-5){72}}% % single bond at 4
- \fi\fi\fi\fi\fi%
- \else\if\@tmpb D%double bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \put(-12,0){\line(0,-1){140}}% % double bond at 4
- \put(12,0){\line(0,-1){140}}% % double bond at 4
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- {%
- \thicklines%
- \put(0,0){\line(0,-1){140}}% % single bond at 4
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \@ifundefined{dottedline}{%
- \put(0,0){\line(0,-1){140}}% % single bond at 4
- }{{\thicklines%
- \dottedline{20}(0,0)(0,-140)}}%
- \else\if\@tmpb W%beta single bond
- \yl@xdiff=-10\relax
- \yl@ydiff=30\relax
- \putlratom{150}{54}{\@memberb}% % left or right type
- \put(0,0){\line(5,3){140}}% % single bond at 4
- \if@wrongbdWd
- \XyMTeXWarning{Wrong Bond-Modifier (W)}%
- \fi
- \else%
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \put(0,0){\line(0,-1){140}}% % single bond at 4
- \fi\fi\fi\fi\fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\@methsubstdL| is used to place substituents on a
-% left-teminal down-side methylene. A new bond modifier ``W'' is
-% added to typeset a terminal substituent.
-%
-% \begin{macro}{\@methsubstdL}
-% \begin{macrocode}
-\def\@methsubstdL{%
-\if@clip %clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \put(0,-30){\line(0,-1){110}}% % single bond at 4
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=-36\relax
- \yl@ydiff=100\relax
- \putlatom{-42}{-230}{\@memberb}% % left type
- {%
- \thicklines%
- \put(-18,-30){\line(-3,-5){60}}% % single bond at 4
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=37\relax
- \yl@ydiff=100\relax
- \putratom{41}{-230}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(18,-30){\line(3,-5){60}}% % single bond at 4
- }{{\thicklines%
- \dottedline{20}(18,-30)(72,-120)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-36\relax
- \yl@ydiff=100\relax
- \putlatom{-42}{-230}{\@memberb}% % left type
- \put(-18,-30){\line(-3,-5){60}}% % single bond at 4
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=37\relax
- \yl@ydiff=100\relax
- \putratom{41}{-230}{\@memberb}% % right type
- \put(18,-30){\line(3,-5){60}}% % single bond at 4
- \fi\fi\fi\fi\fi%
- \else\if\@tmpb D%double bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \put(-12,-30){\line(0,-1){110}}% % double bond at 4
- \put(12,-30){\line(0,-1){110}}% % double bond at 4
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- {%
- \thicklines%
- \put(0,-30){\line(0,-1){110}}% % single bond at 4
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \@ifundefined{dottedline}{%
- \put(0,-30){\line(0,-1){110}}% % single bond at 4
- }{{\thicklines%
- \dottedline{20}(0,-30)(0,-140)}}%
- \else\if\@tmpb W%beta single bond
- \yl@xdiff=10\relax
- \yl@ydiff=30\relax
- \putlatom{-150}{54}{\@memberb}% % lefttype
- \put(-40,24){\line(-5,3){100}}% % single bond at 4
- \if@wrongbdWdL
- \XyMTeXWarning{Wrong Bond-Modifier (W)}%
- \fi
- \else%
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \put(0,-30){\line(0,-1){110}}% % single bond at 4
- \fi\fi\fi\fi\fi%
- \else% no clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \put(0,0){\line(0,-1){140}}% % single bond at 4
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=-30\relax
- \yl@ydiff=110\relax
- \putlatom{-42}{-230}{\@memberb}% % left type
- {%
- \thicklines%
- \put(0,0){\line(-3,-5){72}}% % single bond at 4
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=31\relax
- \yl@ydiff=110\relax
- \putratom{41}{-230}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(0,0){\line(3,-5){72}}% % single bond at 4
- }{{\thicklines%
- \dottedline{20}(0,0)(72,-120)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-30\relax
- \yl@ydiff=110\relax
- \putlatom{-42}{-230}{\@memberb}% % left type
- \put(0,0){\line(-3,-5){72}}% % single bond at 4
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=31\relax
- \yl@ydiff=110\relax
- \putratom{41}{-230}{\@memberb}% % right type
- \put(0,0){\line(3,-5){72}}% % single bond at 4
- \fi\fi\fi\fi\fi%
- \else\if\@tmpb D%double bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \put(-12,0){\line(0,-1){140}}% % double bond at 4
- \put(12,0){\line(0,-1){140}}% % double bond at 4
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- {%
- \thicklines%
- \put(0,0){\line(0,-1){140}}% % single bond at 4
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \@ifundefined{dottedline}{%
- \put(0,0){\line(0,-1){140}}% % single bond at 4
- }{{\thicklines%
- \dottedline{20}(0,0)(0,-140)}}%
- \else\if\@tmpb W%beta single bond
- \yl@xdiff=10\relax
- \yl@ydiff=30\relax
- \putlatom{-150}{54}{\@memberb}% % left type
- \put(0,0){\line(-5,3){140}}% % single bond at 4
- \if@wrongbdWdL
- \XyMTeXWarning{Wrong Bond-Modifier (W)}%
- \fi
- \else%
- \yl@xdiff=31\relax
- \yl@ydiff=90\relax
- \putlratom{-31}{-230}{\@memberb}% % left or right type
- \put(0,0){\line(0,-1){140}}% % single bond at 4
- \fi\fi\fi\fi\fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\@methsubstaL| is used to place substituents on a
-% left-teminal upper-side methylene. A new bond modifier ``W'' is
-% added to typeset a terminal substituent.
-%
-% \begin{macro}{\@methsubstaL}
-% \begin{macrocode}
-\def\@methsubstaL{%
-\if@aclip% %clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \put(0,436){\line(0,1){110}}% % single bond at 1
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=-36\relax
- \yl@ydiff=-27\relax
- \putlatom{-42}{563}{\@memberb}% % left type
- {%
- \thicklines%
- \put(-18,436){\line(-3,5){60}}% % single bond at 1
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=37\relax
- \yl@ydiff=-27\relax
- \putratom{41}{563}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(18,436){\line(3,5){60}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(18,436)(72,526)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-36\relax
- \yl@ydiff=-27\relax
- \putlatom{-42}{563}{\@memberb}% % left type
- \put(-18,436){\line(-3,5){60}}% % single bond at 1
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=37\relax
- \yl@ydiff=-27\relax
- \putratom{41}{563}{\@memberb}% % right type
- \put(18,436){\line(3,5){60}}% % single bond at 1
- \fi\fi\fi\fi\fi%
- \else\if\@tmpb D%double bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \put(-12,436){\line(0,1){110}}% % double bond at 1
- \put(12,436){\line(0,1){110}}% % double bond at 1
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- {%
- \thicklines%
- \put(0,436){\line(0,1){110}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \@ifundefined{dottedline}{%
- \put(0,436){\line(0,1){110}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,436)(0,546)}}%
- \else\if\@tmpb W%beta single bond
- \yl@xdiff=10\relax
- \yl@ydiff=46\relax
- \putlatom{-150}{276}{\@memberb}% % left type
- \put(-40,382){\line(-5,-3){100}}% % single bond at 1
- \if@wrongbdWaL
- \XyMTeXWarning{Wrong Bond-Modifier (W)}%
- \fi
- \else%
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \put(0,436){\line(0,1){110}}% % single bond at 1
- \fi\fi\fi\fi\fi%
-\else% % no clipping
- \if\@tmpb S%single bond
- \ifx\@tmpc\empty%
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \put(0,406){\line(0,1){140}}% % single bond at 1
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \else\if\@tmpc B%(B) beta
- \yl@xdiff=-30\relax
- \yl@ydiff=-37\relax
- \putlatom{-42}{563}{\@memberb}% % left type
- {%
- \thicklines%
- \put(0,406){\line(-3,5){72}}% % single bond at 1
- }%
- \else\if\@tmpc A%(A) alpha
- \yl@xdiff=31\relax
- \yl@ydiff=-37\relax
- \putratom{41}{563}{\@memberb}% % right type
- \@ifundefined{dottedline}{%
- \put(0,406){\line(3,5){72}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,406)(72,526)}}%
- \else\if\@tmpc b%(b) beta
- \yl@xdiff=-30\relax
- \yl@ydiff=-37\relax
- \putlatom{-42}{563}{\@memberb}% % left type
- \put(0,406){\line(-3,5){72}}% % single bond at 1
- \else\if\@tmpc a%(a) alpha
- \yl@xdiff=31\relax
- \yl@ydiff=-37\relax
- \putratom{41}{563}{\@memberb}% % right type
- \put(0,406){\line(3,5){72}}% % single bond at 1
- \fi\fi\fi\fi\fi%
- \else\if\@tmpb D%double bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \put(-12,406){\line(0,1){140}}% % double bond at 1
- \put(12,406){\line(0,1){140}}% % double bond at 1
- \else\if\@tmpb B%beta single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- {%
- \thicklines%
- \put(0,406){\line(0,1){140}}% % single bond at 1
- }%
- \else\if\@tmpb A%alpha single bond
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \@ifundefined{dottedline}{%
- \put(0,406){\line(0,1){140}}% % single bond at 1
- }{{\thicklines%
- \dottedline{20}(0,406)(0,546)}}%
- \else\if\@tmpb W%beta single bond
- \yl@xdiff=10\relax
- \yl@ydiff=58\relax
- \putlatom{-130}{276}{\@memberb}% % left type
- \put(0,406){\line(-5,-3){120}}% % single bond at 1
- \if@wrongbdWaL
- \XyMTeXWarning{Wrong Bond-Modifier (W)}%
- \fi
- \else%
- \yl@xdiff=31\relax
- \yl@ydiff=-17\relax
- \putlratom{-31}{563}{\@memberb}% % left or right type
- \put(0,406){\line(0,1){140}}% % single bond at 1
- \fi\fi\fi\fi\fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Setting Bonds}
-% \subsection{Outer Skeletal Bonds}
-%
-% The macros |\SKbondB| and |\SKbondA| are used to typeset
-% outer skeletal bonds of a methylene chain (|\..methylene|)
-%
-% \begin{macro}{\SKbondB}
-% \begin{macrocode}
-\def\SKbondB{%
- \ifx\bbb\empty%
- \ifx\ccc\empty%
- \put(0,406){\line(5,-3){171}}% %bond 1-2
- \else%
- \put(0,406){\line(5,-3){136}}% %bond 1-2
- \fi%
- \else%
- \ifx\ccc\empty%
- \put(35,385){\line(5,-3){136}}% %bond 1-2
- \else%
- \put(35,385){\line(5,-3){100}}% %bond 1-2
- \fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\SKbondA}
-% \begin{macrocode}
-\def\SKbondA{%
- \ifx\bbb\empty%
- \ifx\aaa\empty%
- \put(0,406){\line(-5,-3){171}}% %bond 1-6
- \else%
- \put(0,406){\line(-5,-3){136}}% %bond 1-6
- \fi%
- \else%
- \ifx\aaa\empty%
- \put(-35,385){\line(-5,-3){136}}% %bond 1-6
- \else%
- \put(-35,385){\line(-5,-3){100}}% %bond 1-6
- \fi%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% The macros |\SKbondBi| and |\SKbondAi| are used to typeset
-% outer skeletal bonds of a methylene chain (inverse type |\..methylenei|).
-%
-% \begin{macro}{\SKbondBi}
-% \begin{macrocode}
-\def\SKbondBi{%
- \begin{picture}(0,0)(0,0)
- \ifx\bbb\empty%
- \ifx\ccc\empty%
- \put(0,0){\line(5,3){171}}% %bond 4-3
- \else%
- \put(0,0){\line(5,3){136}}% %bond 4-3
- \fi%
- \else%
- \ifx\ccc\empty%
- \put(35,21){\line(5,3){138}}% %bond 4-3
- \else%
- \put(35,21){\line(5,3){100}}% %bond 4-3
- \fi%
- \fi\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\SKbondAi}
-% \begin{macrocode}
-\def\SKbondAi{%
- \begin{picture}(0,0)(0,0)
- \ifx\bbb\empty%
- \ifx\aaa\empty%
- \put(0,0){\line(-5,3){171}}% %bond 4-5
- \else%
- \put(0,0){\line(-5,3){136}}% %bond 4-5
- \fi%
- \else%
- \ifx\aaa\empty%
- \put(-35,21){\line(-5,3){138}}% %bond 4-5
- \else%
- \put(-35,21){\line(-5,3){100}}% %bond 4-5
- \fi%
- \fi\end{picture}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inner Double Bonds}
-%
-% The macros |\bondB| is used to place a line of
-% a double bond in the (5,-3) direction at the lower side
-% of an outer skeletal bond.
-%
-% \begin{macro}{\bondB}
-% \begin{macrocode}
-\def\bondB{%
- \ifx\bbb\empty%
- \ifx\ccc\empty%
- \put(6,364){\line(5,-3){126}}% %double bond 1-2
- \else%
- \put(6,364){\line(5,-3){100}}% %double bond 1-2
- \fi%
- \else%
- \ifx\ccc\empty%
- \put(35,340){\line(5,-3){100}}% %double bond 1-2
- \else%
- \put(35,352){\line(5,-3){100}}% %double bond 1-2
- \fi% % line <1OO not available
- \fi%
- }%
-% \end{macrocode}
-% \end{macro}
-%
-% The macros |\bondBB| is used to place a line of
-% a double bond in the (5,-3) direction at the upper side
-% of an outer skeletal bond.
-%
-% \begin{macro}{\bondBB}
-% \begin{macrocode}
-\def\bondBB{%
- \ifx\bbb\empty%
- \ifx\ccc\empty%
- \put(42,420){\line(5,-3){126}}% %double bond 1-2
- \else%
- \put(42,420){\line(5,-3){100}}% %double bond 1-2
- \fi%
- \else%
- \ifx\ccc\empty%
- \put(52,412){\line(5,-3){110}}% %double bond 1-2
- \else%
- \put(52,412){\line(5,-3){100}}% %double bond 1-2
- \fi% % line <1OO not available
- \fi%
- }%
-% \end{macrocode}
-% \end{macro}
-%
-% The macros |\bondA| is used to place a line of
-% a double bond in the (-5,-3) direction at the lower
-% side of an outer skeletal bond.
-%
-% \begin{macro}{\bondA}
-% \begin{macrocode}
-\def\bondA{%
- \ifx\bbb\empty%
- \ifx\aaa\empty%
- \put(-6,364){\line(-5,-3){126}}% %double bond 1-6
- \else%
- \put(-6,364){\line(-5,-3){100}}% %double bond 1-6
- \fi%
- \else%
- \ifx\aaa\empty%
- \put(-35,340){\line(-5,-3){100}}% %double bond 1-6
- \else%
- \put(-35,352){\line(-5,-3){100}}% %double bond 1-6
- \fi% % line <1OO not available
- \fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% The macros |\bondAA| is used to place a line of
-% a double bond in the (-5,-3) direction at the upper side
-% of an outer skeletal bond.
-%
-% \begin{macro}{\bondAA}
-% \begin{macrocode}
-\def\bondAA{%
- \ifx\bbb\empty%
- \ifx\aaa\empty%
- \put(-42,420){\line(-5,-3){126}}% %double bond 1-6
- \else%
- \put(-42,420){\line(-5,-3){100}}% %double bond 1-6
- \fi%
- \else%
- \ifx\aaa\empty%
- \put(-52,412){\line(-5,-3){100}}% %double bond 1-6
- \else%
- \put(-52,412){\line(-5,-3){100}}% %double bond 1-6
- \fi% % line <1OO not available
- \fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% The bond-setting commands with sufix ``i'' are used in the definitions
-% of commands such as |\...methylenei|.
-%
-% The macros |\bondBi| is used to place a line of
-% a double bond in the (5,3) direction at the upper side
-% of an outer skeletal bond.
-%
-% \begin{macro}{\bondBi}
-% \begin{macrocode}
- \def\bondBi{%
- \ifx\bbb\empty%
- \ifx\ccc\empty%
- \put(6,42){\line(5,3){126}} %double bond 4-3
- \else%
- \put(6,42){\line(5,3){100}} %double bond 4-3
- \fi%
- \else%
- \ifx\ccc\empty%
- \put(35,66){\line(5,3){100}}% %double bond 4-3
- \else%
- \put(35,60){\line(5,3){100}}% %double bond 4-3
- \fi% % line <1OO not available
- \fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% The macros |\bondBBi| is used to place a line of
-% a double bond in the (5,3) direction at the lower
-% side of an outer skeletal bond.
-%
-% \begin{macro}{\bondBBi}
-% \begin{macrocode}
- \def\bondBBi{%
- \ifx\bbb\empty%
- \ifx\ccc\empty%
-% \put(6,42){\line(5,3){126}} %double bond 4-3
- \put(42,-14){\line(5,3){126}}% %double bond 1-6
- \else%
-% \put(6,42){\line(5,3){100}} %double bond 4-3
-% \put(42,-14){\line(5,3){100}}% %double bond 1-6
- \put(30,-14){\line(5,3){100}}% %double bond 1-6
- \fi%
- \else%
- \ifx\ccc\empty%
-% \put(35,66){\line(5,3){100}}% %double bond 4-3
-% \put(52,6){\line(5,3){100}}% %double bond 1-6
- \put(52,0){\line(5,3){100}}% %double bond 1-6
- \else%
-% \put(35,60){\line(5,3){100}}% %double bond 4-3
- \put(52,0){\line(5,3){100}}% %double bond 4-5
- \fi% % line <1OO not available
- \fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% The macros |\bondAi| is used to place a line of
-% a double bond in the (-5,3) direction at the upper
-% side of an outer skeletal bond.
-
-% \begin{macro}{\bondAi}
-% \begin{macrocode}
- \def\bondAi{%
- \ifx\bbb\empty%
- \ifx\aaa\empty%
- \put(-6,42){\line(-5,3){126}}% %double bond 4-5
- \else%
- \put(-6,42){\line(-5,3){100}}% %double bond 4-5
- \fi%
- \else%
- \ifx\aaa\empty%
- \put(-35,66){\line(-5,3){100}}% %double bond 4-5
- \else%
- \put(-35,60){\line(-5,3){100}}% %double bond 4-5
- \fi% % line <1OO not available
- \fi%
- }%
-% \end{macrocode}
-% \end{macro}
-%
-% The macros |\bondAAi| is used to place a line of
-% a double bond in the (-5,3) direction at the lower
-% side of an outer skeletal bond.
-%
-% \begin{macro}{\bondAAi}
-% \begin{macrocode}
- \def\bondAAi{%
- \ifx\bbb\empty%
- \ifx\aaa\empty%
-% \put(-6,42){\line(-5,3){126}}% %double bond 4-5
- \put(-42,-14){\line(-5,3){126}}% %double bond 1-6
- \else%
-% \put(-6,42){\line(-5,3){100}}% %double bond 4-5
- \put(-42,-14){\line(-5,3){100}}% %double bond 1-6
- \fi%
- \else%
- \ifx\aaa\empty%
-% \put(-35,66){\line(-5,3){100}}% %double bond 4-5
- \put(-52,6){\line(-5,3){100}}% %double bond 1-6
- \else%
-% \put(-35,60){\line(-5,3){100}}% %double bond 4-5
- \put(-52,0){\line(-5,3){100}}% %double bond 4-5
- \fi% % line <1OO not available
- \fi%
- }%
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Switches}
-%
-% \begin{macro}{\if@adoublebond}
-% \begin{macro}{\if@bdoublebond}
-% \begin{macro}{\if@Adoublebond}
-% \begin{macro}{\if@adoublebond}
-% \begin{macro}{\reset@double}
-% \begin{macrocode}
-\newif\if@adoublebond \@adoublebondfalse
-\newif\if@bdoublebond \@bdoublebondfalse
-\newif\if@Adoublebond \@Adoublebondfalse
-\newif\if@Bdoublebond \@Bdoublebondfalse
-\def\reset@double{%
-\@adoublebondfalse\@bdoublebondfalse
-\@Adoublebondfalse\@Bdoublebondfalse}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\if@linterchainsw}
-% \begin{macro}{\if@rinterchainsw}
-% \begin{macro}{\reset@interchainsw}
-% \begin{macrocode}
-\newif\if@linterchainsw \@linterchainswfalse
-\newif\if@rinterchainsw \@rinterchainswfalse
-\def\reset@interchainsw{\@linterchainswfalse\@rinterchainswfalse}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \section{Trimethylene}
-% \subsection{Normal direction}
-%
-% A trimethylene (or propane) and its hetera analogs can be typeset
-% by the command |\trimethylene|, which is mainly based on
-% two inner commands: |\yltrimethyleneposition| for adjusting a
-% substitution site and |\@@trimethylene| for
-% placing hetero atoms, double bonds, and substituents.
-%
-% \begin{macro}{\@@trimethylene}
-% \begin{verbatim}
-% \@@trimethylene{ATOMLIST}{BONDLIST}{TERMswitch}{Adjust}
-%
-% <TERMswitch>
-% 0: all positions
-% 1: positions bbb and ccc
-% 2: positions aaa and bbb
-%
-% bbb
-% 2
-% a / ` b
-% 1 3
-% aaa ccc
-%
-% <Adjust>
-% a positive or negative integer to adjust locant numbers
-% \end{verbatim}
-%
-% \begin{macrocode}
-\def\@@trimethylene#1#2#3#4{%
-\leavevmode
-\iniatom\iniflag%initialize
-\test@vrtx@trimethy{#1}{#4}%
-%\test@vertix@sixv{#1}{a}{b}{c}{@}{@}{@}%
-\begin{picture}(450,480)(0,0)
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
- \put(171,-303){\SKbondB}% bond between 1 and 2
- \put(171,-303){\SKbondA}% bond between 1 and 6
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\if@adoublebond\relax\put(171,-303){\bondA}\fi
-\if@bdoublebond\relax\put(171,-303){\bondB}\fi
-\if@Adoublebond\relax\put(171,-303){\bondAA}\fi
-\if@Bdoublebond\relax\put(171,-303){\bondBB}\fi
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\test@termcnt=#3\relax
-%\set@hetatom@methyl{#1}{0}{0}{4}{0}%
-\set@hetatom@methyl{#1}{#4}{0}{4}{0}%
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\@tmpaa=\@tmpa \advance\@tmpaa by#4\relax
-\ifx\@memberb\@yl\else
-\ifcase\@tmpaa%0 omit
-\or
- \ifcase#3
- {\if@aclip \@cliptrue \else \@clipfalse\fi
- \put(0,0){\@methsubstdL}}%
- \or\relax
- \or
- {\if@aclip \@cliptrue \else \@clipfalse\fi
- \put(0,0){\@methsubstdL}}%
- \fi
-\or
-{\if@bclip \@acliptrue \else \@aclipfalse\fi
- \put(171,-303){\@methsubsta}}
-\or
- \ifcase#3
- {\if@cclip \@cliptrue\else \@clipfalse\fi
- \put(342,0){\@methsubstd}}%
- \or
- {\if@cclip \@cliptrue\else \@clipfalse\fi
- \put(342,0){\@methsubstd}}%
- \or\relax
- \fi
-\fi%end of ifcase
-\fi\fi
-}%
-\end{picture}}% end of \@@trimethylene
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\test@vrtx@trimethy}
-% \changes{v2.00}{1998/12/21}{New command: \cs{test@vrtx@trimethy}}
-% \begin{macrocode}
-\def\test@vrtx@trimethy#1#2{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\@tmpaa=\@tmpa \advance\@tmpaa by#2\relax
-\ifcase\@tmpaa%
- \or \if\@tmpb s\relax \xdef\aaa{}\else\if\@tmpb h\relax
- \xdef\aaa{@}\else\xdef\aaa{@}\fi\fi
- \or \if\@tmpb s\relax \xdef\bbb{}\else\if\@tmpb h\relax
- \xdef\bbb{@}\else\xdef\bbb{@}\fi\fi
- \or \if\@tmpb s\relax \xdef\ccc{}\else\if\@tmpb h\relax
- \xdef\ccc{@}\else\xdef\ccc{@}\fi\fi
-\fi\fi}}
-% \end{macrocode}
-% \end{macro}
-%
-% The |\yltrimethyleneposition| is used to adjust
-% substitution sites for the command |\@@trimethylene|.
-%
-% \begin{macro}{\yltrimethyleneposition}
-% \begin{verbatim}
-% \yltrimethylene{ATOMLIST}{BONDLIST}{TERMswitch}{Adjust}
-%
-% <TERMswitch>
-% 0: all positions
-% 1: positions bbb and ccc
-% 2: positions aaa and bbb
-%
-% bbb
-% 2
-% a / ` b
-% 1 3
-% aaa ccc
-%
-% <Adjust>
-% a positive or negative integer to adjust locant numbers
-% \end{verbatim}
-%
-% \begin{macrocode}%
-\def\yltrimethyleneposition#1#2#3#4{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\@tmpaa=\@tmpa \advance\@tmpaa by#4\relax
-\ifcase\@tmpaa%
- \or \def\aaa{@}%\def\aaa{\@memberb}%
- \or \def\bbb{@}%\def\bbb{\@memberb}%
- \or \def\ccc{@}%\def\ccc{\@memberb}%
-\fi\fi}%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#2\do{\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\@tmpaa=\@tmpa \advance\@tmpaa by#4\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpaa%0 omit
-\or
- \ifcase#3
- \ifx\aaa\empty
- \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 1
- \else
- \if@linterchainsw%interchain position
- \gdef\@ylii{0}\gdef\@yli{40}\global\@ylswtrue% subst. on 1
- \else% terminal position
- \gdef\@ylii{40}\gdef\@yli{-24}\global\@ylswtrue% subst. on 1
- \fi
- \fi
- \or\relax
- \or
- \ifx\aaa\empty
- \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 1
- \else
- \if@linterchainsw%interchain position
- \gdef\@ylii{0}\gdef\@yli{40}\global\@ylswtrue% subst. on 1
- \else% terminal position
- \gdef\@ylii{40}\gdef\@yli{-24}\global\@ylswtrue% subst. on 1
- \fi
- \fi
- \fi
-\or
- \ifx\bbb\empty
- \gdef\@ylii{-171}\gdef\@yli{-103}\global\@ylswtrue% subst. on 2
- \else
- \gdef\@ylii{-171}\gdef\@yli{-133}\global\@ylswtrue% subst. on 2
- \fi
-\or
- \ifcase#3
- \ifx\ccc\empty
- \gdef\@ylii{-342}\gdef\@yli{0}\global\@ylswtrue% subst. on 3
- \else
- \if@rinterchainsw%interchain position
- \gdef\@ylii{-342}\gdef\@yli{40}\global\@ylswtrue% subst. on 3
- \else
- \gdef\@ylii{-382}\gdef\@yli{-24}\global\@ylswtrue% subst. on 3
- \fi
- \fi
- \or
- \ifx\ccc\empty
- \gdef\@ylii{-342}\gdef\@yli{0}\global\@ylswtrue% subst. on 3
- \else
- \if@rinterchainsw%interchain position
- \gdef\@ylii{-342}\gdef\@yli{40}\global\@ylswtrue% subst. on 3
- \else
- \gdef\@ylii{-382}\gdef\@yli{-24}\global\@ylswtrue% subst. on 3
- \fi
- \fi
- \or\relax
- \fi
-\fi%end of ifcase
-\fi}}% end of \yltrimethyleneposition
-% \end{macrocode}
-% \end{macro}
-%
-% The counter |\test@termcnt|, which is equal to
-% the argument \#3 of command |\@@trimethylene|,
-% is used for testing a terminal point.
-%
-% \begin{macro}{\test@termcnt}
-% \changes{v2.00}{1998/12/21}{New command: \cs{test@termcnt}}
-% \begin{macrocode}
-\newcount\test@termcnt
-% \end{macrocode}
-% \end{macro}
-%
-% The |\set@hetatom@methyl| is used to set a hetero atom
-% at each vertex in the command |\@@trimethylene|.
-%
-% \begin{macro}{\set@hetatom@methyl}
-% \changes{v2.00}{1998/12/20}{New command: \cs{set@hetatom@methyl}}
-% \begin{macrocode}
-\def\set@hetatom@methyl#1#2#3#4#5{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-%\expandafter\twoch@r\@membera{}%
-\expandafter\twoCH@R\@membera//%
-\ifnum#5 < 0\relax%
-\@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
-\else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax \fi
-\ifnum\@tmpaa >#3\relax%
-\ifnum\@tmpaa <#4\relax%
-\ifcase\@tmpaa%
-\or%position 1 <--- position 6 of set@hetatom@sixv
- \ifnum\test@termcnt=1\else%not terminal point (left)
- \if\@tmpb h\relax%
- \@acliptrue%
- \putlatom{0}{30}{\@memberb}% % right type
- \else\if\@tmpb s\relax%
- \@aclipfalse%
-% \putlatom{-4}{0}{\@memberb}% % right type
- \putlatom{0}{0}{\@memberb}% % right type
- \else\if\@tmpb a\relax%omit fused position
- \else
- \@acliptrue%
- \putlatom{36}{-23}{\@memberb}% % left type
- \fi\fi\fi
- \fi
-\or%position 2 <--- position 1 of set@hetatom@sixv
- \if\@tmpb h\relax%
- \@bcliptrue%
- \putratom{171}{53}{\@memberb}% % right type
- \else\if\@tmpb s\relax%
- \@bclipfalse%
- \putratom{171}{103}{\@memberb}% % right type
- \else\if\@tmpb a\relax%omit fused position
- \else
- \@bcliptrue%
-% \putratom{140}{53}{\@memberb}% % right type
- \putratom{140}{65}{\@memberb}% % right type
- \fi\fi\fi
-\or%position 3 <--- position 2 of set@hetatom@sixv
- \ifnum\test@termcnt=2\else%not terminal point (right)
- \if\@tmpb h\relax
- \@ccliptrue%
-% \putratom{320}{30}{\@memberb}% % right type
- \putratom{330}{30}{\@memberb}% % right type
- \else\if\@tmpb s\relax
- \@cclipfalse%
- \putratom{346}{0}{\@memberb}% % right type
- \else\if\@tmpb a\relax%omit fused position
- \else
- \@ccliptrue%
- \putratom{306}{-23}{\@memberb}% % right type
- \fi\fi\fi
- \fi
-\fi% end of ifcase
-\fi\fi\fi}}% end of the macro \set@hetatom@methyl
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\trimethylene| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-%
-% \begin{macro}{\trimethylene}
-% \begin{macro}{\@trimethylene}
-%
-% \begin{verbatim}
-%
-% bbb
-% 2
-% a / ` b (or uppercase letters)
-% / `
-% 1 3
-% aaa ccc
-% \end{verbatim}
-%
-%
-% \begin{verbatim}
-% \trimethylene[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one character a, A, b, or B
-% each of which indicates the presence of an inner (endcyclic) double
-% bond on the corresponding position. A lowercase letter is used
-% to typeset a double bond at a lower-side of an outer skeletal bond,
-% while an uppercase letter typesets a double bond at a upper-side of
-% an outer skeletal bond.
-% (Note that the option `A' represents an aromatic circle in
-% commands |\sixheterov| etc.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% [] or none : no double bond
-% a : 1,2-double bond
-% A : 1,2-double bond in an opposite side
-% b : 2,3-double bond
-% B : 1,2-double bond in an opposite side
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% ATOMLIST: list of heteroatoms (max 3 atoms)
-%
-% for n = 1 to 3
-%
-% n==? : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 3
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-% nW : terminal single bond (n=1 or 3)
-%
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \trimethylene{1==N}{1==Cl;2==F}
-% \trimethylene[b]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% The definition of |\trimethylene| uses a picture environment and
-% consists of the following unit processes:
-% \begin{enumerate}
-% \item adjusting substitution site by
-% |\yltrimethyleneposition|
-% \item treating atom list,
-% placing outer skeletons, inner double bonds,
-% setting hetero atoms, and
-% placing substituents by |\@@trimethylene|.
-% \end{enumerate}
-%
-% \begin{macrocode}
-\def\trimethylene{%
-\@ifnextchar[{\@trimethylene[@}{\@trimethylene[]}}
-\def\@trimethylene[#1]#2#3{%
-\iniflag\iniatom%
-\@reset@ylsw%
-\reset@interchainsw%
-\yltrimethyleneposition{#2}{#3}{0}{0}%
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(450,480)(-50,-180)
- \iforigpt \put(-50,-180){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `trimethylene' origin: %
- (0,0) ---> (50,180)}\fi%
-\fi
-\reset@double%
-\@tfor\member:=#1\do{%
-\if\member a\relax
-\@adoublebondtrue
-\else\if\member b\relax
-\@bdoublebondtrue
-\else\if\member A\relax
-\@Adoublebondtrue
-\else\if\member B\relax
-\@Bdoublebondtrue
-\else
- \expandafter\twoCH@@R\member//%
- \set@fusion@trimeth
-\fi\fi\fi\fi}%
-\@wrongbdWatrue
-\@wrongbdWdfalse
- \put(0,0){\@@trimethylene{#2}{#3}{0}{0}}%
-\end{picture}}% end of \trimethylene \@trimethylene
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The inner command |\set@fusion@trimeth| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@trimeth}
-% \changes{v2.00}{1998/12/21}{New command: \cs{set@fusion@trimeth}}
-% \begin{macrocode}
-\def\set@fusion@trimeth{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if\@@tmpa a\relax%
- \putlratom{0}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a}%
- \else\if\@@tmpa A\relax%
- \putlratom{171}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A}%
- \else\if\@@tmpa b\relax%
- \putlratom{171}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b}%
- \else\if\@@tmpa B\relax%
- \putlratom{342}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B}%
- \fi\fi\fi\fi
-}% end of the macro \set@fusion@trimeth
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse direction}
-%
-% A trimethylene (or propane) and its hetera analogs can be typeset
-% by the command |\trimethylenei|, which is mainly based on
-% two inner commands: |\yltrimethyleneiposition| for adjusting a
-% substitution site and |\@@trimethylenei| for
-% placing hetero atoms, double bonds, and substituents.
-%
-% \begin{macro}{\@@trimethylenei}
-% \begin{verbatim}
-% \@@trimethylenei{ATOMLIST}{BONDLIST}{TERMswitch}{Adjust}
-%
-% <TERMswitch>
-% 0: all positions
-% 1: positions bbb and ccc
-% 2: positions aaa and bbb
-%
-% aaa ccc
-% 1 3
-% a ` / b
-% ` /
-% 2
-% bbb
-%
-% <Adjust>
-% a positive or negative integer to adjust locant numbers
-% \end{verbatim}
-%
-% \begin{macrocode}
-\def\@@trimethylenei#1#2#3#4{%
-\leavevmode
-\iniatom\iniflag%initialize
-\test@vrtx@trimethy{#1}{#4}%
-%\test@vertix@sixv{#1}{a}{b}{c}{@}{@}{@}%
-\begin{picture}(450,480)(0,0)
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
- \put(171,0){\SKbondAi}% bond between 1 and 2
- \put(171,0){\SKbondBi}% bond between 2 and 3
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\if@adoublebond\relax\put(171,0){\bondAi}\fi
-\if@bdoublebond\relax\put(171,0){\bondBi}\fi
-\if@Adoublebond\relax\put(171,0){\bondAAi}\fi
-\if@Bdoublebond\relax\put(171,0){\bondBBi}\fi
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\test@termcnt=#3\relax
-%\set@hetatom@methyli{#1}{0}{0}{4}{0}%
-\set@hetatom@methyli{#1}{#4}{0}{4}{0}%
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\@tmpaa=\@tmpa \advance\@tmpaa by#4\relax
-\ifx\@memberb\@yl\else
-\ifcase\@tmpaa%0 omit
-\or
- \ifcase#3
- \put(0,-303){\@methsubstaL}%
- \or\relax
- \or
- \put(0,-303){\@methsubstaL}%
- \fi
-\or
-{\if@bclip \@cliptrue \else \@clipfalse\fi
- \put(171,0){\@methsubstd}}%
-\or
- \ifcase#3
- {\if@cclip \@acliptrue\else \@aclipfalse\fi
- \put(342,-303){\@methsubsta}}%
- \or
- {\if@cclip \@acliptrue\else \@aclipfalse\fi
- \put(342,-303){\@methsubsta}}%
- \or\relax
- \fi
-\fi%end of ifcase
-\fi\fi
-}%
-\end{picture}}% end of \@@trimethylenei
-% \end{macrocode}
-% \end{macro}
-%
-% The |\yltrimethyleneiposition| is used to adjust
-% substitution sites.
-%
-% \begin{macro}{\yltrimethyleneiposition}
-% \begin{verbatim}
-% \yltrimethylenei{ATOMLIST}{BONDLIST}{TERMswitch}{Adjust}
-%
-% <TERMswitch>
-% 0: all positions
-% 1: positions bbb and ccc
-% 2: positions aaa and bbb
-%
-% aaa ccc
-% 1 3
-% a ` / b
-% ` /
-% 2
-% bbb
-%
-% <Adjust>
-% a positive or negative integer to adjust locant numbers
-% \end{verbatim}
-%
-% \begin{macrocode}%
-\def\yltrimethyleneiposition#1#2#3#4{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-%\expandafter\twoch@r\@membera{}%
-\expandafter\twoCH@R\@membera//%
-\@tmpaa=\@tmpa \advance\@tmpaa by#4\relax
-\ifcase\@tmpaa%
- \or \def\aaa{@}%\def\aaa{\@memberb}%
- \or \def\bbb{@}%\def\bbb{\@memberb}%
- \or \def\ccc{@}%\def\ccc{\@memberb}%
-\fi%
-\fi}%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#2\do{\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\@tmpaa=\@tmpa \advance\@tmpaa by#4\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpaa%0 omit
-\or%%%%%%position 1
- \ifcase#3
- \ifx\aaa\empty
-%% \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 1
- \gdef\@ylii{0}\gdef\@yli{-103}\global\@ylswtrue% subst. on 1
- \else
- \if@linterchainsw%interchain position
-% \gdef\@ylii{0}\gdef\@yli{40}\global\@ylswtrue% subst. on 1
- \gdef\@ylii{0}\gdef\@yli{-133}\global\@ylswtrue% subst. on 1
- \else% terminal position
-%% \gdef\@ylii{40}\gdef\@yli{-24}\global\@ylswtrue% subst. on 1
- \gdef\@ylii{40}\gdef\@yli{-79}\global\@ylswtrue% subst. on 1
- \fi
- \fi
- \or\relax
- \or
- \ifx\aaa\empty
-%% \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 1
- \gdef\@ylii{0}\gdef\@yli{-103}\global\@ylswtrue% subst. on 1
- \else
- \if@linterchainsw%interchain position
- \gdef\@ylii{0}\gdef\@yli{-133}\global\@ylswtrue% subst. on 1
-% \gdef\@ylii{0}\gdef\@yli{40}\global\@ylswtrue% subst. on 1
- \else% terminal position
-%% \gdef\@ylii{40}\gdef\@yli{-24}\global\@ylswtrue% subst. on 1
- \gdef\@ylii{40}\gdef\@yli{-79}\global\@ylswtrue% subst. on 1
- \fi
- \fi
- \fi
-\or%%%%%%%%position 2
- \ifx\bbb\empty
-%% \gdef\@ylii{-171}\gdef\@yli{-103}\global\@ylswtrue% subst. on 2
- \gdef\@ylii{-171}\gdef\@yli{0}\global\@ylswtrue% subst. on 2
- \else
-%% \gdef\@ylii{-171}\gdef\@yli{-133}\global\@ylswtrue% subst. on 2
- \gdef\@ylii{-171}\gdef\@yli{50}\global\@ylswtrue% subst. on 2
- \fi
-\or%%%%%%%%position 3
- \ifcase#3
- \ifx\ccc\empty
-%% \gdef\@ylii{-342}\gdef\@yli{0}\global\@ylswtrue% subst. on 3
- \gdef\@ylii{-342}\gdef\@yli{-103}\global\@ylswtrue% subst. on 3
- \else
- \if@rinterchainsw%interchain position
-%% \gdef\@ylii{-342}\gdef\@yli{40}\global\@ylswtrue% subst. on 3
- \gdef\@ylii{-342}\gdef\@yli{-133}\global\@ylswtrue% subst. on 3
- \else
-%% \gdef\@ylii{-382}\gdef\@yli{-24}\global\@ylswtrue% subst. on 3
- \gdef\@ylii{-382}\gdef\@yli{-79}\global\@ylswtrue% subst. on 3
- \fi
- \fi
- \or
- \ifx\ccc\empty
-% \gdef\@ylii{-342}\gdef\@yli{0}\global\@ylswtrue% subst. on 3
- \gdef\@ylii{-342}\gdef\@yli{-103}\global\@ylswtrue% subst. on 3
- \else
- \if@rinterchainsw%interchain position
-% \gdef\@ylii{-342}\gdef\@yli{40}\global\@ylswtrue% subst. on 3
- \gdef\@ylii{-342}\gdef\@yli{-133}\global\@ylswtrue% subst. on 3
- \else
-% \gdef\@ylii{-382}\gdef\@yli{-24}\global\@ylswtrue% subst. on 3
- \gdef\@ylii{-382}\gdef\@yli{-79}\global\@ylswtrue% subst. on 3
- \fi
- \fi
- \or\relax
- \fi
-\fi%end of ifcase
-\fi}}% end of \yltrimethyleneiposition
-% \end{macrocode}
-% \end{macro}
-%
-% The |\set@hetatom@methyli| is used to set a hetero atom
-% at each vertex in the command |\@@trimethylenei|.
-%
-% \begin{macro}{\set@hetatom@methyli}
-% \changes{v2.00}{1998/12/20}{New command: \cs{set@hetatom@methyli}}
-% \begin{macrocode}
-\def\set@hetatom@methyli#1#2#3#4#5{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\ifnum#5 < 0\relax%
-\@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
-\else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax \fi
-\ifnum\@tmpaa >#3\relax%
-\ifnum\@tmpaa <#4\relax%
-\ifcase\@tmpaa%
-\or%position 1 <-- \set@hetatom@sixv position 5
- \ifnum\test@termcnt=1\else%not terminal point (left)
- \if\@tmpb h\relax
- \@acliptrue%
- \putlatom{0}{70}{\@memberb}% % right type
- \else\if\@tmpb s\relax
- \@aclipfalse%
- \putlatom{0}{103}{\@memberb}% % right type
- \else\if\@tmpb a\relax%omit fused position
- \else
- \@acliptrue%
- \putlatom{36}{65}{\@memberb}% % left type
- \fi\fi\fi
- \fi
-\or%position 2 <-- \set@hetatom@sixv position 4
- \if\@tmpb h\relax
- \@bcliptrue%
- \putratom{171}{50}{\@memberb}% % right type
- \else\if\@tmpb s\relax
- \@bclipfalse%
- \putratom{171}{0}{\@memberb}% % right type
- \else\if\@tmpb a\relax%omit fused position
- \else
- \@bcliptrue%
-% \putratom{140}{-10}{\@memberb}% % right type
- \putratom{140}{-23}{\@memberb}% % right type
- \fi\fi\fi
-\or%position 3 <-- \set@hetatom@sixv position 3
- \ifnum\test@termcnt=2\else%not terminal point (right)
- \if\@tmpb h\relax
- \@ccliptrue%
- \putratom{342}{70}{\@memberb}% % right type
- \else\if\@tmpb s\relax
- \@cclipfalse%
- \putratom{342}{103}{\@memberb}% % right type
- \else\if\@tmpb a\relax%omit fused position
- \else
- \@ccliptrue%
- \putratom{306}{65}{\@memberb}% % right type
- \fi\fi\fi
- \fi
-\fi% end of ifcase
-\fi\fi\fi}}% end of the macro \set@hetatom@methyli
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\trimethylenei| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-%
-% \begin{macro}{\trimethylenei}
-% \begin{macro}{\@trimethylenei}
-%
-% \begin{verbatim}
-% aaa ccc
-% 1 3
-% a ` / b (or uppercase letters)
-% ` /
-% 2
-% bbb
-% \end{verbatim}
-%
-%
-% \begin{verbatim}
-% \trimethylenei[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one character a, A, b, or B
-% each of which indicates the presence of an inner (endcyclic) double
-% bond on the corresponding position. A lowercase letter is used
-% to typeset a double bond at a upper-side of an outer skeletal bond,
-% while a uppercase letter typesets a double bond at a lower-side of
-% an outer skeletal bond.
-% (Note that the option `A' represents an aromatic circle in
-% commands |\sixheterov| etc.
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% [] or none : no double bond
-% a : 1,2-double bond
-% A : 1,2-double bond in an opposite side
-% b : 2,3-double bond
-% B : 1,2-double bond in an opposite side
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% ATOMLIST: list of heteroatoms (max 3 atoms)
-%
-% for n = 1 to 3
-%
-% n==? : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 3
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-% nW : terminal single bond (n=1 or 3)
-%
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \trimethylenei{1==N}{1==Cl;2==F}
-% \trimethylenei[b]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% The definition of |\trimethylene| uses a picture environment and
-% consists of the following unit processes:
-% \begin{enumerate}
-% \item adjusting substitution site by
-% |\yltrimethyleneiposition|
-% \item treating atom list,
-% placing outer skeletons, inner double bonds,
-% setting hetero atoms, and
-% placing substituents by |\@@trimethylenei|.
-% \end{enumerate}
-%
-% \begin{macrocode}
-\def\trimethylenei{%
-\@ifnextchar[{\@trimethylenei[@}{\@trimethylenei[]}}
-\def\@trimethylenei[#1]#2#3{%
-\iniflag\iniatom%
-\@reset@ylsw%
-\reset@interchainsw%
-\yltrimethyleneiposition{#2}{#3}{0}{0}%
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(450,480)(-50,-180)
- \iforigpt \put(-50,-180){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `trimethylene' origin: %
- (0,0) ---> (50,180)}\fi%
-\fi
-\reset@double%
-%\@adoublebondfalse
-%\@bdoublebondfalse
-%\@Adoublebondfalse
-%\@Bdoublebondfalse
-\@tfor\member:=#1\do{%
-\if\member a\relax
-\@adoublebondtrue
-\else\if\member b\relax
-\@bdoublebondtrue
-\else\if\member A\relax
-\@Adoublebondtrue
-\else\if\member B\relax
-\@Bdoublebondtrue
-\else
- \expandafter\twoCH@@R\member//%
- \set@fusion@trimethi
-\fi\fi\fi\fi}%
-\@wrongbdWafalse
-\@wrongbdWdtrue
- \put(0,0){\@@trimethylenei{#2}{#3}{0}{0}}%
-\end{picture}}% end of \trimethylenei
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The inner command |\set@fusion@trimethi| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@trimethi}
-% \changes{v2.00}{1998/12/21}{New command: \cs{set@fusion@trimethi}}
-% \begin{macrocode}
-\def\set@fusion@trimethi{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if\@@tmpa a\relax%
- \putlratom{0}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a}%
- \else\if\@@tmpa A\relax%
- \putlratom{171}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A}%
- \else\if\@@tmpa b\relax%
- \putlratom{171}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b}%
- \else\if\@@tmpa B\relax%
- \putlratom{342}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B}%
- \fi\fi\fi\fi
-}% end of the macro \set@fusion@trimethi
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Dimethylene}
-% \subsection{Normal direction}
-%
-% A dimethylene (or ethane) and its hetera analogs can be typeset
-% by the command |\dimethylene|, which is mainly based on
-% two inner commands: |\yldimethyleneposition| for adjusting a
-% substitution site and |\@@dimethylene| for
-% placing hetero atoms, double bonds, and substituents.
-%
-% \begin{macro}{\@@dimethylene}
-% \begin{verbatim}
-% \@@dimethylene{ATOMLIST}{BONDLIST}{TERMswitch}{Adjust}
-%
-% <TERMswitch>
-% 0: all positions
-% 1: position bbb
-% 2: position aaa
-%
-% bbb
-% 2
-% a /
-% 1
-% aaa
-%
-% <Adjust>
-% a positive or negative integer to adjust locant numbers
-% \end{verbatim}
-%
-% \begin{macrocode}
-\def\@@dimethylene#1#2#3#4{%
-\leavevmode
-\iniatom\iniflag%initialize
-\test@vrtx@dimethy{#1}{#4}%
-%\test@vertix@sixv{#1}{a}{b}{@}{@}{@}{@}%
-\begin{picture}(250,480)(0,0)
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
- \put(171,-303){\SKbondA}% bond between 1 and 2
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\if@adoublebond
- \put(171,-303){\bondA}%upper side double bond
-\else\if@Adoublebond
- \put(171,-303){\bondAA}%lower side double bond
-\fi\fi%
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\test@termcnt=#3\relax
-%\set@hetatom@methyl{#1}{0}{0}{3}{0}%
-\set@hetatom@methyl{#1}{#4}{0}{3}{0}%
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\@tmpaa=\@tmpa \advance\@tmpaa by#4\relax
-\ifx\@memberb\@yl\else
-\ifcase\@tmpaa%0 omit
-\or
- \ifcase#3
- {\if@aclip \@cliptrue \else \@clipfalse\fi
- \put(0,0){\@methsubstdL}}%
- \or\relax
- \or
- {\if@aclip \@cliptrue \else \@clipfalse\fi
- \put(0,0){\@methsubstdL}}%
- \fi
-\or
- \ifcase#3
- {\if@bclip \@acliptrue \else \@aclipfalse\fi
- \put(171,-303){\@methsubsta}}
- \or
- {\if@bclip \@acliptrue \else \@aclipfalse\fi
- \put(171,-303){\@methsubsta}}
- \or\relax
- \fi
-\fi%end of ifcase
-\fi\fi%
-}%
-\end{picture}}% end of \@@dimethylene
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\test@vrtx@dimethy}
-% \changes{v2.00}{1998/12/21}{New command: \cs{test@vrtx@dimethy}}
-% \begin{macrocode}
-\def\test@vrtx@dimethy#1#2{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\@tmpaa=\@tmpa \advance\@tmpaa by#2\relax
-\ifcase\@tmpaa%
- \or \if\@tmpb s\relax \xdef\aaa{}\else\if\@tmpb h\relax
- \xdef\aaa{@}\else\xdef\aaa{@}\fi\fi
- \or \if\@tmpb s\relax \xdef\bbb{}\else\if\@tmpb h\relax
- \xdef\bbb{@}\else\xdef\bbb{@}\fi\fi
-\fi\fi}}
-% \end{macrocode}
-% \end{macro}
-%
-% The |\yldimethyleneposition| is used to adjust
-% substitution sites.
-%
-% \begin{macro}{\yldimethyleneposition}
-% \begin{verbatim}
-% \yldimethylene{ATOMLIST}{BONDLIST}{TERMswitch}{Adjust}
-%
-% <TERMswitch>
-% 0: all positions
-% 1: position bbb
-% 2: position aaa
-%
-% bbb
-% 2
-% a /
-% 1
-% aaa
-%
-% <Adjust>
-% a positive or negative integer to adjust locant numbers
-% \end{verbatim}
-%
-% \begin{macrocode}%
-\def\yldimethyleneposition#1#2#3#4{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\@tmpaa=\@tmpa \advance\@tmpaa by#4\relax
-\ifcase\@tmpaa%
- \or \def\aaa{\@memberb}%
- \or \def\bbb{\@memberb}%
-\fi\fi}%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\@tmpaa=\@tmpa \advance\@tmpaa by#4\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpaa%0 omit
-\or
- \ifcase#3
- \ifx\aaa\empty
-% \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 1
- \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 1
- \else
- \if@linterchainsw%interchain position
- \gdef\@ylii{0}\gdef\@yli{40}\global\@ylswtrue% subst. on 1
- \else%terminal position
- \gdef\@ylii{40}\gdef\@yli{-24}\global\@ylswtrue% subst. on 1
- \fi
- \fi
- \or\relax
- \or
- \ifx\aaa\empty
- \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 1
- \else
- \if@linterchainsw%interchain position
- \gdef\@ylii{0}\gdef\@yli{40}\global\@ylswtrue% subst. on 1
- \else%terminal position
- \gdef\@ylii{40}\gdef\@yli{-24}\global\@ylswtrue% subst. on 1
- \fi
- \fi
- \fi
-\or
- \ifcase#3
- \ifx\bbb\empty
- \gdef\@ylii{-171}\gdef\@yli{-103}\global\@ylswtrue% subst. on 2
- \else
- \if@rinterchainsw%interchain position
- \gdef\@ylii{-171}\gdef\@yli{-133}\global\@ylswtrue% subst. on 2
- \else%terminal position
- \gdef\@ylii{-211}\gdef\@yli{-93}\global\@ylswtrue% subst. on 2
- \fi
- \fi
- \or
- \ifx\bbb\empty
- \gdef\@ylii{-171}\gdef\@yli{-103}\global\@ylswtrue% subst. on 2
- \else
- \if@rinterchainsw%interchain position
- \gdef\@ylii{-171}\gdef\@yli{-133}\global\@ylswtrue% subst. on 2
- \else%terminal position
- \gdef\@ylii{-211}\gdef\@yli{-93}\global\@ylswtrue% subst. on 2
- \fi
- \fi
- \or \relax
- \fi
-\fi%end of ifcase
-\fi\fi}}% end of \yldimethyleneposition
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\dimethylene| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-%
-% \begin{macro}{\dimethylene}
-% \begin{macro}{\@dimethylene}
-% \begin{verbatim}
-%
-% bbb
-% 2
-% a / (or uppercase letters)
-% /
-% 1
-% aaa
-% \end{verbatim}
-%
-%
-% \begin{verbatim}
-% \dimethylene[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one character a or A,
-% each of which indicates the presence of an inner (endcyclic) double
-% bond on the corresponding position. A lowercase letter is used
-% to typeset a double bond at a lower-side of an outer skeletal bond,
-% while an uppercase letter typesets a double bond at a upper-side of
-% an outer skeletal bond.
-% (Note that the option `A' represents an aromatic circle in
-% commands |\sixheterov| etc. )
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% [] or none : no double bond
-% a : 1,2-double bond
-% A : 1,2-double bond in an opposite side
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% ATOMLIST: list of heteroatoms (max 2 atoms)
-%
-% for n = 1 and 2
-%
-% n==? : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 and 2
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-% nW : terminal single bond (n=1 or 2)
-%
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \dimethylene{1==N}{1==Cl;2==F}
-% \dimethylene[a]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% The definition of |\dimethylene| uses a picture environment and
-% consists of the following unit processes:
-% \begin{enumerate}
-% \item adjusting substitution site by
-% |\yldimethyleneposition|
-% \item treating atom list,
-% placing outer skeletons, inner double bonds,
-% setting hetero atoms, and
-% placing substituents by |\@@dimethylene|.
-% \end{enumerate}
-%
-% \begin{macrocode}
-\def\dimethylene{%
-\@ifnextchar[{\@dimethylene[@}{\@dimethylene[]}}
-\def\@dimethylene[#1]#2#3{%
-\iniflag\iniatom%
-\@reset@ylsw%
-\reset@interchainsw%
-\yldimethyleneposition{#2}{#3}{0}{0}%
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(250,480)(-50,-180)
- \iforigpt \put(-50,-180){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `dimethylene' origin: %
- (0,0) ---> (50,180)}\fi%
-\fi
-\reset@double%
-\@tfor\member:=#1\do{%
-\if\member a\relax
-\@adoublebondtrue
-\else\if\member A\relax
-\@Adoublebondtrue
-\else
- \expandafter\twoCH@@R\member//%
- \set@fusion@dimeth
-\fi\fi}%
-\@wrongbdWafalse
-\@wrongbdWdfalse
- \put(0,0){\@@dimethylene{#2}{#3}{0}{0}}%
-\end{picture}}% end of \dimethylene
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The inner command |\set@fusion@dimeth| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@dimeth}
-% \changes{v2.00}{1998/12/21}{New command: \cs{set@fusion@dimeth}}
-% \begin{macrocode}
-\def\set@fusion@dimeth{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if\@@tmpa a\relax%
- \putlratom{0}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a}%
- \else\if\@@tmpa A\relax%
- \putlratom{171}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A}%
- \fi\fi
-}% end of the macro \set@fusion@dimeth
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse direction}
-%
-% A dimethylene (or ethane) and its hetera analogs (of inverse direction)
-% can be typeset by the command |\dimethylenei|, which is mainly based on
-% two inner commands: |\yldimethyleneiposition| for adjusting a
-% substitution site and |\@@dimethylenei| for
-% placing hetero atoms, double bonds, and substituents.
-%
-% \begin{macro}{\@@dimethylenei}
-% \begin{verbatim}
-% \@@dimethylenei{ATOMLIST}{BONDLIST}{TERMswitch}{Adjust}
-%
-% <TERMswitch>
-% 0: all positions
-% 1: position bbb
-% 2: positions aaa
-%
-% aaa
-% 1
-% a `
-% `
-% 2
-% bbb
-%
-% <Adjust>
-% a positive or negative integer to adjust locant numbers
-% \end{verbatim}
-%
-% \begin{macrocode}
-\def\@@dimethylenei#1#2#3#4{%
-\leavevmode
-\iniatom\iniflag%initialize
-\test@vrtx@dimethy{#1}{#4}%
-%\test@vertix@sixv{#1}{a}{b}{@}{@}{@}{@}%
-\begin{picture}(250,480)(0,0)
-% %%%%%%%%%%%%%%%%%%
-% % outer skeleton %
-% %%%%%%%%%%%%%%%%%%
- \put(171,0){\SKbondAi}% bond between 1 and 2
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner double bond %
-% %%%%%%%%%%%%%%%%%%%%%
-\if@adoublebond
- \put(171,0){\bondAi}%upper side double bond
-\else\if@Adoublebond
- \put(171,0){\bondAAi}%lower side double bond
-\fi\fi%
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting hetero atoms %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\test@termcnt=#3\relax
-%\set@hetatom@methyli{#1}{0}{0}{3}{0}%
-\set@hetatom@methyli{#1}{#4}{0}{3}{0}%
-% %%%%%%%%%%%%%%%%%%%%%%%%
-% % setting substituents %
-% %%%%%%%%%%%%%%%%%%%%%%%%
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\@tmpaa=\@tmpa \advance\@tmpaa by#4\relax
-\ifx\@memberb\@yl\else
-\ifcase\@tmpaa%0 omit
-\or
- \ifcase#3
- \put(0,-303){\@methsubstaL}%
- \or\relax
- \or
- \put(0,-303){\@methsubstaL}%
- \fi
-\or
- \ifcase#3
- {\if@bclip \@cliptrue \else \@clipfalse\fi
- \put(171,0){\@methsubstd}}
- \or
- {\if@bclip \@cliptrue \else \@clipfalse\fi
- \put(171,0){\@methsubstd}}
- \or\relax
- \fi
-\fi%end of ifcase
-\fi\fi%
-}%
-\end{picture}}% end of \@@dimethylenei
-% \end{macrocode}
-% \end{macro}
-%
-% The |\yldimethyleneiposition| is used to adjust
-% substitution sites.
-%
-% \begin{macro}{\yldimethyleneiposition}
-% \begin{verbatim}
-% \yldimethylenei{ATOMLIST}{BONDLIST}{TERMswitch}{Adjust}
-%
-% <TERMswitch>
-% 0: all positions
-% 1: position bbb
-% 2: position aaa
-%
-% aaa
-% 1
-% a `
-% `
-% 2
-% bbb
-%
-% <Adjust>
-% a positive or negative integer to adjust locant numbers
-% \end{verbatim}
-%
-% \begin{macrocode}%
-\def\yldimethyleneiposition#1#2#3#4{%
-\@forsemicol\member:=#1\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\@tmpaa=\@tmpa \advance\@tmpaa by#4\relax
-\ifcase\@tmpaa%
- \or \def\aaa{\@memberb}%
- \or \def\bbb{\@memberb}%
-\fi\fi}%
-\@@ylswfalse%%%\@reset@ylsw
-\@forsemicol\member:=#2\do{\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\@tmpaa=\@tmpa \advance\@tmpaa by#4\relax
-\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
-\if@@ylsw
-\ifcase\@tmpaa%0 omit
-\or%%%%%%%%position 1
- \ifcase#3
- \ifx\aaa\empty
-% \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 1
- \gdef\@ylii{0}\gdef\@yli{-103}\global\@ylswtrue% subst. on 1
- \else
- \if@linterchainsw%interchain position
-% \gdef\@ylii{0}\gdef\@yli{40}\global\@ylswtrue% subst. on 1
- \gdef\@ylii{0}\gdef\@yli{-133}\global\@ylswtrue% subst. on 1
- \else%terminal position
-% \gdef\@ylii{40}\gdef\@yli{-24}\global\@ylswtrue% subst. on 1
- \gdef\@ylii{40}\gdef\@yli{-79}\global\@ylswtrue% subst. on 1
- \fi
- \fi
- \or\relax
- \or
- \ifx\aaa\empty
-% \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 1
- \gdef\@ylii{0}\gdef\@yli{-103}\global\@ylswtrue% subst. on 1
- \else
- \if@linterchainsw%interchain position
-% \gdef\@ylii{0}\gdef\@yli{40}\global\@ylswtrue% subst. on 1
- \gdef\@ylii{0}\gdef\@yli{-133}\global\@ylswtrue% subst. on 1
- \else%terminal position
-% \gdef\@ylii{40}\gdef\@yli{-24}\global\@ylswtrue% subst. on 1
- \gdef\@ylii{40}\gdef\@yli{-79}\global\@ylswtrue% subst. on 1
- \fi
- \fi
- \fi
-\or%%%%%%%%position 2
- \ifcase#3
- \ifx\bbb\empty
-% \gdef\@ylii{-171}\gdef\@yli{-103}\global\@ylswtrue% subst. on 2
- \gdef\@ylii{-171}\gdef\@yli{0}\global\@ylswtrue% subst. on 2
- \else
- \if@rinterchainsw%interchain position
-% \gdef\@ylii{-171}\gdef\@yli{-133}\global\@ylswtrue% subst. on 2
- \gdef\@ylii{-171}\gdef\@yli{33}\global\@ylswtrue% subst. on 2
- \else%terminal position
- % \gdef\@ylii{-211}\gdef\@yli{-93}\global\@ylswtrue% subst. on 2
- \gdef\@ylii{-211}\gdef\@yli{-10}\global\@ylswtrue% subst. on 2
- \fi
- \fi
- \or
- \ifx\bbb\empty
-% \gdef\@ylii{-171}\gdef\@yli{-103}\global\@ylswtrue% subst. on 2
- \gdef\@ylii{-171}\gdef\@yli{0}\global\@ylswtrue% subst. on 2
- \else
- \if@rinterchainsw%interchain position
-% \gdef\@ylii{-171}\gdef\@yli{-133}\global\@ylswtrue% subst. on 2
- \gdef\@ylii{-171}\gdef\@yli{33}\global\@ylswtrue% subst. on 2
- \else%terminal position
-% \gdef\@ylii{-211}\gdef\@yli{-93}\global\@ylswtrue% subst. on 2
- \gdef\@ylii{-211}\gdef\@yli{-10}\global\@ylswtrue% subst. on 2
- \fi
- \fi
- \or \relax
- \fi
-\fi%end of ifcase
-\fi}}% end of \yldimethyleneiposition
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\dimethylenei| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-%
-% \begin{macro}{\dimethylenei}
-% \begin{macro}{\@dimethylenei}
-% \begin{verbatim}
-%
-% aaa
-% 1
-% a ` (or uppercase letter)
-% `
-% 2
-% bbb
-% \end{verbatim}
-%
-% \begin{verbatim}
-% \dimethylenei[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one character a or A,
-% each of which indicates the presence of an inner (endcyclic) double
-% bond on the corresponding position. A lowercase letter is used
-% to typeset a double bond at a upper-side of an outer skeletal bond,
-% while an uppercase letter typesets a double bond at a lower-side of
-% an outer skeletal bond.
-% (Note that the option `A' represents an aromatic circle in
-% commands |\sixheterov| etc. )
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% [] or none : no double bond
-% a : 1,2-double bond
-% A : 1,2-double bond in an opposite side
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% ATOMLIST: list of heteroatoms (max 2 atoms)
-%
-% for n = 1 and 2
-%
-% n==? : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 and 2
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-% nW : terminal single bond (n=1 or 2)
-%
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \dimethylenei{1==N}{1==Cl;2==F}
-% \dimethylenei[a]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% The definition of |\dimethylenei| uses a picture environment and
-% consists of the following unit processes:
-% \begin{enumerate}
-% \item adjusting substitution site by
-% |\yldimethyleneposition|
-% \item treating atom list,
-% placing outer skeletons, inner double bonds,
-% setting hetero atoms, and
-% placing substituents by |\@@dimethylene|.
-% \end{enumerate}
-%
-% \begin{macrocode}
-\def\dimethylenei{%
-\@ifnextchar[{\@dimethylenei[@}{\@dimethylenei[]}}
-\def\@dimethylenei[#1]#2#3{%
-\iniflag\iniatom%
-\@reset@ylsw%
-\reset@interchainsw%
-\yldimethyleneiposition{#2}{#3}{0}{0}%
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(250,480)(-50,-180)
- \iforigpt \put(-50,-180){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `dimethylene' origin: %
- (0,0) ---> (50,180)}\fi%
-\fi
-\reset@double%
-\@tfor\member:=#1\do{%
-\if\member a\relax
-\@adoublebondtrue
-\else\if\member A\relax
-\@Adoublebondtrue
-\else
- \expandafter\twoCH@@R\member//%
- \set@fusion@dimethi
-\fi\fi}%
-\@wrongbdWafalse
-\@wrongbdWdfalse
- \put(0,0){\@@dimethylenei{#2}{#3}{0}{0}}%
-\end{picture}}% end of \dimethylenei
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The inner command |\set@fusion@dimethi| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@dimethi}
-% \changes{v2.00}{1998/12/21}{New command: \cs{set@fusion@dimethi}}
-% \begin{macrocode}
-\def\set@fusion@dimethi{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if\@@tmpa a\relax%
- \putlratom{0}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a}%
- \else\if\@@tmpa A\relax%
- \putlratom{171}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A}%
-\fi\fi
-}% end of the macro \set@fusion@dimethi
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Tetramethylenes}
-% \subsection{Normal direction}
-%
-% The macro |\tetramethylene| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-%
-% \begin{macro}{\tetramethylene}
-% \begin{macro}{\@tetramethylene}
-%
-% \begin{verbatim}
-%
-% bbb ddd
-% 2 4
-% a / ` b / c (or uppercase letters)
-% / ` /
-% 1 3
-% aaa ccc
-% \end{verbatim}
-%
-% \begin{verbatim}
-% \tetramethylene[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one character selected from
-% a to c (or A to C),
-% each of which indicates the presence of an inner (endcyclic) double
-% bond on the corresponding position. A lowercase letter is used
-% to typeset a double bond at a lower-side of an outer skeletal bond,
-% while an uppercase letter typesets a double bond at a upper-side of
-% an outer skeletal bond.
-% (Note that the option `A' represents an aromatic circle in
-% commands |\sixheterov| etc.)
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% [] or none : no double bond
-% a : 1,2-double bond
-% A : 1,2-double bond in an opposite side
-% b : 2,3-double bond
-% B : 2,3-double bond in an opposite side
-% c : 3,4-double bond
-% C : 3,4-double bond in an opposite side
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% ATOMLIST: list of heteroatoms (max 4 atoms)
-%
-% for n = 1 to 4
-%
-% n==? : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 4
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-% nW : terminal single bond (n=1 or 4)
-%
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \tetramethylene{1==N}{1==Cl;2==F}
-% \tetramethylene[b]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% The definition of |\tetramethylene| uses a picture environment and
-% is based on |\@@trimethylene| and |\@@dimethylene|, each of which
-% is consist of the following unit processes:
-% \begin{enumerate}
-% \item adjusting substitution site by
-% |\yltrimethyleneposition| or
-% |\yldimethyleneposition|
-% \item treating atom list,
-% placing outer skeletons, inner double bonds,
-% setting hetero atoms, and
-% placing substituents by |\@@trimethylene|or |\@@dimethylene|.
-% \end{enumerate}
-%
-% \begin{macrocode}
-\def\tetramethylene{%
-\@ifnextchar[{\@tetramethylene[@}{\@tetramethylene[]}}
-\def\@tetramethylene[#1]#2#3{%
-\iniflag\iniatom%
-\@reset@ylsw%
-{\@linterchainswfalse%
-\@rinterchainswtrue%
-\yltrimethyleneposition{#2}{#3}{0}{0}}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{\@rinterchainswfalse%
-\@linterchainswtrue%
-\yldimethyleneposition{#2}{#3}{1}{-2}}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-342}\def\@@yli{0}\fi\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(900,480)(-200,-180)
- \iforigpt \put(-200,-180){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `tetramethylene' origin: %
- (0,0) ---> (200,180)}\fi%
-\fi
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member a\relax
-\@adoublebondtrue
-\else\if\member b\relax
-\@bdoublebondtrue
-\else\if\member A\relax
-\@Adoublebondtrue
-\else\if\member B\relax
-\@Bdoublebondtrue
-\else\if\member c\relax%dummy
-\else\if\member C\relax%dummy
-\else
- \expandafter\twoCH@@R\member//%
- \set@fusion@tetrameth
-\fi\fi
-\fi\fi\fi\fi}%
-\@wrongbdWatrue
-\@wrongbdWdtrue
-\put(0,0){\@@trimethylene{#2}{#3}{0}{0}}}%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member c\relax
-\@adoublebondtrue
-\else\if\member C\relax
-\@Adoublebondtrue
-\fi\fi}%
-\@wrongbdWafalse
-\@wrongbdWdtrue
-\put(342,0){\@@dimethylene{#2}{#3}{1}{-2}}}%
-\end{picture}}% end of \tetramethylene
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The inner command |\set@fusion@tetrameth| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@tetrameth}
-% \changes{v2.00}{1998/12/21}{New command: \cs{set@fusion@tetrameth}}
-% \begin{macrocode}
-\def\set@fusion@tetrameth{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if\@@tmpa a\relax%
- \putlratom{0}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a}%
- \else\if\@@tmpa A\relax%
- \putlratom{171}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A}%
- \else\if\@@tmpa b\relax%
- \putlratom{171}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b}%
- \else\if\@@tmpa B\relax%
- \putlratom{342}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B}%
- \else\if\@@tmpa c\relax%
- \putlratom{342}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c}%
- \else\if\@@tmpa C\relax%
- \putlratom{513}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C}%
- \fi\fi
- \fi\fi\fi\fi
-}% end of the macro \set@fusion@tetrameth
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse direction}
-%
-% The macro |\tetramethylenei| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-%
-% \begin{macro}{\tetramethylenei}
-% \begin{macro}{\@tetramethylenei}
-%
-% \begin{verbatim}
-%
-% aaa ccc
-% 1 3
-% a ` b / ` c (or uppercase letters)
-% ` / `
-% 2 4
-% bbb ddd
-% \end{verbatim}
-%
-% \begin{verbatim}
-% \tetramethylenei[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one character selected from
-% a to c (or A to C),
-% each of which indicates the presence of an inner (endcyclic) double
-% bond on the corresponding position. A lowercase letter is used
-% to typeset a double bond at a lower-side of an outer skeletal bond,
-% while an uppercase letter typesets a double bond at a upper-side of
-% an outer skeletal bond.
-% (Note that the option `A' represents an aromatic circle in
-% commands |\sixheterov| etc.)
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% [] or none : no double bond
-% a : 1,2-double bond
-% A : 1,2-double bond in an opposite side
-% b : 2,3-double bond
-% B : 2,3-double bond in an opposite side
-% c : 3,4-double bond
-% C : 3,4-double bond in an opposite side
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% ATOMLIST: list of heteroatoms (max 4 atoms)
-%
-% for n = 1 to 4
-%
-% n==? : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 4
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-% nW : terminal single bond (n=1 or 4)
-%
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \tetramethylenei{1==N}{1==Cl;2==F}
-% \tetramethylenei[b]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% The definition of |\tetramethylenei| uses a picture environment and
-% is based on |\@@trimethylenei| and |\@@dimethylenei|, each of which
-% is consist of the following unit processes:
-% \begin{enumerate}
-% \item adjusting substitution site by
-% |\yltrimethylenieposition| or
-% |\yldimethyleneiposition|
-% \item treating atom list,
-% placing outer skeletons, inner double bonds,
-% setting hetero atoms, and
-% placing substituents by |\@@trimethylenei| or |\@@dimethylenei|.
-% \end{enumerate}
-%
-% \begin{macrocode}
-\def\tetramethylenei{%
-\@ifnextchar[{\@tetramethylenei[@}{\@tetramethylenei[]}}
-\def\@tetramethylenei[#1]#2#3{%
-\iniflag\iniatom%
-\@reset@ylsw%
-{\@linterchainswfalse%
-\@rinterchainswtrue%
-\yltrimethyleneiposition{#2}{#3}{0}{0}}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{\@rinterchainswfalse%
-\@linterchainswtrue%
-\yldimethyleneiposition{#2}{#3}{1}{-2}}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-342}\def\@@yli{0}\fi\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(900,480)(-200,-180)
- \iforigpt \put(-200,-180){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `tetramethylene' origin: %
- (0,0) ---> (200,180)}\fi%
-\fi
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member a\relax
-\@adoublebondtrue
-\else\if\member b\relax
-\@bdoublebondtrue
-\else\if\member A\relax
-\@Adoublebondtrue
-\else\if\member B\relax
-\@Bdoublebondtrue
-\else\if\member c\relax%dummy
-\else\if\member C\relax%dummy
-\else
- \expandafter\twoCH@@R\member//%
- \set@fusion@tetramethi
-\fi\fi
-\fi\fi\fi\fi}%
-\@wrongbdWatrue
-\@wrongbdWdtrue
-\put(0,0){\@@trimethylenei{#2}{#3}{0}{0}}}
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member c\relax
-\@adoublebondtrue
-\else\if\member C\relax
-\@Adoublebondtrue
-\fi\fi}%
-\@wrongbdWatrue
-\@wrongbdWdfalse
-\put(342,0){\@@dimethylenei{#2}{#3}{1}{-2}}}
-\end{picture}}%end of \tetramethylenei
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The inner command |\set@fusion@tetramethi| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@tetramethi}
-% \changes{v2.00}{1998/12/21}{New command: \cs{set@fusion@tetramethi}}
-% \begin{macrocode}
-\def\set@fusion@tetramethi{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if\@@tmpa a\relax%
- \putlratom{0}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a}%
- \else\if\@@tmpa A\relax%
- \putlratom{171}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A}%
- \else\if\@@tmpa b\relax%
- \putlratom{171}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b}%
- \else\if\@@tmpa B\relax%
- \putlratom{342}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B}%
- \else\if\@@tmpa c\relax%
- \putlratom{342}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c}%
- \else\if\@@tmpa C\relax%
- \putlratom{513}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C}%
- \fi\fi
- \fi\fi\fi\fi
-}% end of the macro \set@fusion@tetramethi
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Cisoid types}
-%
-% The macros |\tetramethylenecup| and |\tetramethylenecap| are
-% used to draw tetramethylenes of cisoid types.
-%
-% \begin{verbatim}
-% Cup:
-% aaa ddd
-% 1 4
-% ` /
-% a ` / c (or uppercase letters)
-% 2------3
-% bbb b ccc
-%
-% Cap:
-% bbb b ccc
-% 2------3
-% a / ` c (or uppercase letters)
-% / `
-% 1 4
-% aaa ddd
-% \end{verbatim}
-%
-% The macros have two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% \begin{verbatim}
-% \tetramethylenecup[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \tetramethylenecap[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one character selected from
-% a to c (or A to C),
-% each of which indicates the presence of an inner (endcyclic) double
-% bond on the corresponding position. A lowercase letter is used
-% to typeset a double bond at a lower-side of an outer skeletal bond,
-% while an uppercase letter typesets a double bond at a upper-side of
-% an outer skeletal bond.
-% (Note that the option `A' represents an aromatic circle in
-% commands |\sixheterov| etc.)
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% [] or none : no double bond
-% a : 1,2-double bond
-% A : 1,2-double bond in an opposite side
-% b : 2,3-double bond
-% B : 2,3-double bond in an opposite side
-% c : 3,4-double bond
-% C : 3,4-double bond in an opposite side
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% ATOMLIST: list of heteroatoms (max 4 atoms)
-%
-% for n = 1 to 4
-%
-% n==? : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 4
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-% nW : terminal single bond (n=1 or 4)
-%
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \tetramethylenecup{1==N}{1==Cl;2==F}
-% \tetramethylenecap[b]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% \begin{macro}{\tetramethylenecup}
-% \begin{macro}{\@tetramethylenecup}
-% \begin{macrocode}
-\def\tetramethylenecup{%
-\@ifnextchar[{\@tetramethylenecup[@}{\@tetramethylenecup[]}}
-\def\@tetramethylenecup[#1]#2#3{%
-\iniflag\iniatom%
-\@reset@ylsw%
-{\@linterchainswfalse%
-\@rinterchainswtrue%
-\yldimethyleneiposition{#2}{#3}{0}{0}}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{\@rinterchainswfalse%
-\@linterchainswtrue%
-\yldimethyleneposition{#2}{#3}{0}{-2}}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-371}\def\@@yli{0}\fi\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff
-\else
-\begin{picture}(900,480)(-200,-180)
- \iforigpt \put(-200,-180){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `tetramethylenecup' origin: %
- (0,0) ---> (200,180)}\fi%
-\fi%
-%bond a and atoms 1 and 2
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member a\relax
-\@adoublebondtrue
-\else\if\member A\relax
-\@Adoublebondtrue
-\else\if\member b\relax%dummy
-\else\if\member B\relax%dummy
-\else\if\member c\relax%dummy
-\else\if\member C\relax%dummy
-\else
- \expandafter\twoCH@@R\member//%
- \set@fusion@tetracup% for all bonds
-\fi\fi\fi\fi
-\fi\fi}%
-\@wrongbdWafalse
-\@wrongbdWdtrue
-\put(0,0){\@@dimethylenei{#2}{#3}{0}{0}}}%
-%bond b
-{\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\ifcase\@tmpa%
- \or \relax%
- \or \if\@tmpb s\relax\else\if\@tmpb h\relax
- \xdef\fff{@}\xdef\bbb{@}\else
- \xdef\fff{@}\xdef\bbb{@}\fi\fi
- \or \if\@tmpb s\relax\else\if\@tmpb h\relax
- \xdef\eee{@}\xdef\ccc{@}\else
- \xdef\eee{@}\xdef\ccc{@}\fi\fi
-\fi\fi}%
-\put(68,171){\hskbonde}%
-\reset@double%
-\@tfor\member:=#1\do{%
- \if\member b\relax
- \@bdoublebondtrue
- \put(68,171){\hbonde}%
- \else\if\member B\relax
- \@bdoublebondtrue
- \put(68,-171){\hbondb}%
- \fi\fi}}%
-%bond c and atoms 3 and 4
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member c\relax
-\@adoublebondtrue
-\else\if\member C\relax
-\@Adoublebondtrue
-\else\if\member d\relax
-\@bdoublebondtrue
-\else\if\member D\relax
-\@Bdoublebondtrue
-\fi\fi\fi\fi}%
- \@wrongbdWafalse
- \@wrongbdWdLtrue
-\put(371,0){\@@dimethylene{#2}{#3}{0}{-2}}}%
-\end{picture}}% end of \tetramethylenecup
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The inner command |\set@fusion@tetracup| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@tetracup}
-% \changes{v2.00}{1998/12/21}{New command: \cs{set@fusion@tetracup}}
-% \begin{macrocode}
-\def\set@fusion@tetracup{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if\@@tmpa a\relax%
- \putlratom{0}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a}%
- \else\if\@@tmpa A\relax%
- \putlratom{171}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A}%
- \else\if\@@tmpa b\relax%
- \putlratom{171}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b}%
- \else\if\@@tmpa B\relax%
- \putlratom{371}{0}{\@@tmpb}% % bond fused
- \FuseWarning{200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B}%
- \else\if\@@tmpa c\relax%
- \putlratom{371}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c}%
- \else\if\@@tmpa C\relax%
- \putlratom{542}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C}%
- \fi\fi
- \fi\fi\fi\fi
-}% end of the macro \set@fusion@tetracup
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\tetramethylenecap}
-% \begin{macro}{\@tetramethylenecap}
-% \begin{macrocode}
-\def\tetramethylenecap{%
-\@ifnextchar[{\@tetramethylenecap[@}{\@tetramethylenecap[]}}
-\def\@tetramethylenecap[#1]#2#3{%
-\iniflag\iniatom%
-\@reset@ylsw%
-{\@linterchainswfalse%
-\@rinterchainswtrue%
-\yldimethyleneposition{#2}{#3}{0}{0}}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{\@rinterchainswfalse%
-\@linterchainswtrue%
-\yldimethyleneiposition{#2}{#3}{0}{-2}}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-371}\def\@@yli{0}\fi\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(900,480)(-200,-180)
- \iforigpt \put(-200,-180){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `tetramethylenecap' origin: %
- (0,0) ---> (50,180)}\fi%
-\fi%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member a\relax
-\@adoublebondtrue
-\else\if\member A\relax
-\@Adoublebondtrue
-\else\if\member b\relax%dummy
-\else\if\member B\relax%dummy
-\else\if\member c\relax%dummy
-\else\if\member C\relax%dummy
-\else
- \expandafter\twoCH@@R\member//%
- \set@fusion@tetracap% for all bonds
-\fi\fi\fi\fi
-\fi\fi}%
-\@wrongbdWatrue
-\put(0,0){\@@dimethylene{#2}{#3}{0}{0}}}%
-{\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\twoch@r\@membera{}%
-\ifcase\@tmpa%
- \or \relax%
- \or \if\@tmpb s\relax\else\if\@tmpb h\relax
- \xdef\fff{@}\xdef\bbb{@}\else
- \xdef\fff{@}\xdef\bbb{@}\fi\fi
- \or \if\@tmpb s\relax\else\if\@tmpb h\relax
- \xdef\eee{@}\xdef\ccc{@}\else
- \xdef\eee{@}\xdef\ccc{@}\fi\fi
-\fi\fi}%
-\put(68,-68){\hskbondb}%
-\reset@double%
-\@tfor\member:=#1\do{%
- \if\member b\relax
- \@bdoublebondtrue
- \put(68,-68){\hbondb}%
- \else\if\member B\relax
- \@bdoublebondtrue
- \put(68,274){\hbonde}%
- \fi\fi}}%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member c\relax
-\@adoublebondtrue
-\else\if\member C\relax
-\@Adoublebondtrue
-\else\if\member d\relax
-\@bdoublebondtrue
-\else\if\member D\relax
-\@Bdoublebondtrue
-\fi\fi\fi\fi}%
- \@wrongbdWaLtrue
-\put(371,0){\@@dimethylenei{#2}{#3}{0}{-2}}}%
-\end{picture}}% end of \tetramethylenecap
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The inner command |\set@fusion@tetracap| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@tetracap}
-% \changes{v2.00}{1998/12/21}{New command: \cs{set@fusion@tetracap}}
-% \begin{macrocode}
-\def\set@fusion@tetracap{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if\@@tmpa a\relax%
- \putlratom{0}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a}%
- \else\if\@@tmpa A\relax%
- \putlratom{171}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A}%
- \else\if\@@tmpa b\relax%
- \putlratom{171}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b}%
- \else\if\@@tmpa B\relax%
- \putlratom{371}{103}{\@@tmpb}% % bond fused
- \FuseWarning{200}{0}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B}%
- \else\if\@@tmpa c\relax%
- \putlratom{371}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c}%
- \else\if\@@tmpa C\relax%
- \putlratom{542}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C}%
- \fi\fi
- \fi\fi\fi\fi
-}% end of the macro \set@fusion@tetracap
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Pentamethylene}
-% \subsection{Normal direction}
-%
-% The macro |\pentamethylene| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-%
-% \begin{macro}{\pentamethylene}
-% \begin{macro}{\@pentamethylene}
-%
-% \begin{verbatim}
-%
-% bbb ddd
-% 2 4
-% a / ` b / c` d (or uppercase letters)
-% / ` / `
-% 1 3 5
-% aaa ccc
-% \end{verbatim}
-%
-%
-% \begin{verbatim}
-% \pentamethylene[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one character selected from
-% a to d (or A to D),
-% each of which indicates the presence of an inner (endcyclic) double
-% bond on the corresponding position. A lowercase letter is used
-% to typeset a double bond at a lower-side of an outer skeletal bond,
-% while an uppercase letter typesets a double bond at a upper-side of
-% an outer skeletal bond.
-% (Note that the option `A' represents an aromatic circle in
-% commands |\sixheterov| etc.)
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% [] or none : no double bond
-% a : 1,2-double bond
-% A : 1,2-double bond in an opposite side
-% b : 2,3-double bond
-% B : 2,3-double bond in an opposite side
-% c : 3,4-double bond
-% C : 3,4-double bond in an opposite side
-% d : 4,5-double bond
-% D : 4,5-double bond in an opposite side
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% ATOMLIST: list of heteroatoms (max 5 atoms)
-%
-% for n = 1 to 5
-%
-% n==? : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 5
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-% nW : terminal single bond (n=1 or 5)
-%
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \pentamethylene{1==N}{1==Cl;2==F}
-% \pentamethylene[b]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% The definition of |\pentamethylene| uses a picture environment and
-% is based on two |\@@trimethylene| commands, each of which
-% is consist of the following unit processes:
-% \begin{enumerate}
-% \item adjusting substitution site by
-% |\yltrimethyleneposition|
-% \item treating atom list,
-% placing outer skeletons, inner double bonds,
-% setting hetero atoms, and
-% placing substituents by |\@@trimethylene|.
-% \end{enumerate}
-%
-% \begin{macrocode}
-\def\pentamethylene{%
-\@ifnextchar[{\@pentamethylene[@}{\@pentamethylene[]}}
-\def\@pentamethylene[#1]#2#3{%
-\iniflag\iniatom%
-\@reset@ylsw%
-{\@linterchainswfalse%
-\@rinterchainswtrue%
-\yltrimethyleneposition{#2}{#3}{0}{0}}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{\@rinterchainswfalse%
-\@linterchainswtrue%
-\yltrimethyleneposition{#2}{#3}{1}{-2}}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-342}\def\@@yli{0}\fi\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(1100,480)(-200,-180)
- \iforigpt \put(-200,-180){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `pentamethylene' origin: %
- (0,0) ---> (200,180)}\fi%
-\fi%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member a\relax
-\@adoublebondtrue
-\else\if\member b\relax
-\@bdoublebondtrue
-\else\if\member A\relax
-\@Adoublebondtrue
-\else\if\member B\relax
-\@Bdoublebondtrue
-\else\if\member c\relax%dummy
-\else\if\member C\relax%dummy
-\else\if\member d\relax%dummy
-\else\if\member D\relax%dummy
-\else
- \expandafter\twoCH@@R\member//%
- \set@fusion@pentameth% for all bonds
-\fi\fi\fi\fi
-\fi\fi\fi\fi}%
-\@wrongbdWatrue
-\@wrongbdWdtrue
-\put(0,0){\@@trimethylene{#2}{#3}{0}{0}}}%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member c\relax
-\@adoublebondtrue
-\else\if\member d\relax
-\@bdoublebondtrue
-\else\if\member C\relax
-\@Adoublebondtrue
-\else\if\member D\relax
-\@Bdoublebondtrue
-\fi\fi\fi\fi}%
-\@wrongbdWatrue
-\@wrongbdWdfalse
-\put(342,0){\@@trimethylene{#2}{#3}{1}{-2}}}%
-\end{picture}}% end of \pentamethylene
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The inner command |\set@fusion@pentameth| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@pentameth}
-% \changes{v2.00}{1998/12/21}{New command: \cs{set@fusion@pentameth}}
-% \begin{macrocode}
-\def\set@fusion@pentameth{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if\@@tmpa a\relax%
- \putlratom{0}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a}%
- \else\if\@@tmpa A\relax%
- \putlratom{171}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A}%
- \else\if\@@tmpa b\relax%
- \putlratom{171}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b}%
- \else\if\@@tmpa B\relax%
- \putlratom{342}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B}%
- \else\if\@@tmpa c\relax%
- \putlratom{342}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c}%
- \else\if\@@tmpa C\relax%
- \putlratom{513}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C}%
- \else\if\@@tmpa d\relax%
- \putlratom{513}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d}%
- \else\if\@@tmpa D\relax%
- \putlratom{684}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D}%
- \fi\fi\fi\fi
- \fi\fi\fi\fi
-}% end of the macro \set@fusion@pentameth
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inverse direction}
-%
-% The macro |\pentamethylenei| has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-%
-% \begin{macro}{\pentamethylenei}
-% \begin{macro}{\@pentamethylenei}
-%
-% \begin{verbatim}
-%
-% (aaa)
-% aaa ccc eee (ccc)
-% 1 3 5
-% a ` b / ` c / d
-% ` / ` /
-% 2 4
-% bbb ddd (bbb)
-% \end{verbatim}
-%
-% \begin{verbatim}
-% \pentamethylenei[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one character selected from
-% a to d (or A to D),
-% each of which indicates the presence of an inner (endcyclic) double
-% bond on the corresponding position. A lowercase letter is used
-% to typeset a double bond at the upper-side of an outer skeletal bond,
-% while an uppercase letter typesets a double bond at the lower-side of
-% an outer skeletal bond.
-% (Note that the option `A' represents an aromatic circle in
-% commands |\sixheterov| etc.)
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% [] or none : no double bond
-% a : 1,2-double bond
-% A : 1,2-double bond in an opposite side
-% b : 2,3-double bond
-% B : 2,3-double bond in an opposite side
-% c : 3,4-double bond
-% C : 3,4-double bond in an opposite side
-% d : 4,5-double bond
-% D : 4,5-double bond in an opposite side
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% ATOMLIST: list of heteroatoms (max 5 atoms)
-%
-% for n = 1 to 5
-%
-% n==? : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 5
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-% nW : terminal single bond (n=1 or 5)
-%
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \pentamethylenei{1==N}{1==Cl;2==F}
-% \pentamethylenei[b]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% The definition of |\pentamethylenei| uses a picture environment and
-% is based on two |\@@trimethylenei| commands, each of which
-% is consist of the following unit processes:
-% \begin{enumerate}
-% \item adjusting substitution site by
-% |\yltrimethyleneiposition|
-% \item treating atom list,
-% placing outer skeletons, inner double bonds,
-% setting hetero atoms, and
-% placing substituents by |\@@trimethylenei|.
-% \end{enumerate}
-%
-% \begin{macrocode}
-\def\pentamethylenei{%
-\@ifnextchar[{\@pentamethylenei[@}{\@pentamethylenei[]}}
-\def\@pentamethylenei[#1]#2#3{%
-\iniflag\iniatom%
-\@reset@ylsw%
-{\@linterchainswfalse%
-\@rinterchainswtrue%
-\yltrimethyleneiposition{#2}{#3}{0}{0}}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{\@rinterchainswfalse%
-\@linterchainswtrue%
-\yltrimethyleneiposition{#2}{#3}{1}{-2}}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-342}\def\@@yli{0}\fi\fi
-\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(1100,480)(-200,-180)
- \iforigpt \put(-200,-180){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `pentamethylene' origin: %
- (0,0) ---> (200,180)}\fi%
-\fi%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member a\relax
-\@adoublebondtrue
-\else\if\member b\relax
-\@bdoublebondtrue
-\else\if\member A\relax
-\@Adoublebondtrue
-\else\if\member B\relax
-\@Bdoublebondtrue
-\else\if\member c\relax%dummy
-\else\if\member C\relax%dummy
-\else\if\member d\relax%dummy
-\else\if\member D\relax%dummy
-\else
- \expandafter\twoCH@@R\member//%
- \set@fusion@pentamethi% for all bonds
-\fi\fi\fi\fi
-\fi\fi\fi\fi}%
-\@wrongbdWatrue
-\@wrongbdWdtrue
-\put(0,0){\@@trimethylenei{#2}{#3}{0}{0}}}%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member c\relax
-\@adoublebondtrue
-\else\if\member d\relax
-\@bdoublebondtrue
-\else\if\member C\relax
-\@Adoublebondtrue
-\else\if\member D\relax
-\@Bdoublebondtrue
-\fi\fi\fi\fi}%
-\@wrongbdWafalse
-\@wrongbdWdtrue
-\put(342,0){\@@trimethylenei{#2}{#3}{1}{-2}}}
-\end{picture}}% end of \pentamethylenei
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The inner command |\set@fusion@pentamethi| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@pentamethi}
-% \changes{v2.00}{1998/12/21}{New command: \cs{set@fusion@pentamethi}}
-% \begin{macrocode}
-\def\set@fusion@pentamethi{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if\@@tmpa a\relax%
- \putlratom{0}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a}%
- \else\if\@@tmpa A\relax%
- \putlratom{171}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A}%
- \else\if\@@tmpa b\relax%
- \putlratom{171}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b}%
- \else\if\@@tmpa B\relax%
- \putlratom{342}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B}%
- \else\if\@@tmpa c\relax%
- \putlratom{342}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c}%
- \else\if\@@tmpa C\relax%
- \putlratom{513}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C}%
- \else\if\@@tmpa d\relax%
- \putlratom{513}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d}%
- \else\if\@@tmpa D\relax%
- \putlratom{684}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D}%
- \fi\fi\fi\fi
- \fi\fi\fi\fi
-}% end of the macro \set@fusion@pentamethi
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Switches for Selecting Normal and Inverse Directions}
-%
-% The switch |\@normorinvsw| is used to select normal or
-% inverse direction in the definition of commands for drawing
-% hexametylenes and higher homologs. The value of this switch is
-% false for normal direction and true for inverse direction.
-%
-% \begin{macro}{\if@normorinvsw}
-% \begin{macrocode}
-\newif\if@normorinvsw \@normorinvswfalse
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\set@normaldirection| assigns active commands to
-% temporary commands in the definition of a command for drawing
-% hexametylenes or higher homologs of normal direction.
-% \begin{macro}{\set@normaldirection}
-% \begin{macrocode}
-\def\set@normaldirection{%
-\@normorinvswfalse
-\let\@yltrinormorinv=\yltrimethyleneposition
-\let\@yldinormorinv=\yldimethyleneposition
-\let\@@trinormorinv=\@@trimethylene
-\let\@@dinormorinv=\@@dimethylene}
-% \end{macrocode}
-% \end{macro}
-%
-% The macro |\set@inversedirection| assigns active commands to
-% temporary commands in the definition of a command for drawing
-% hexametylenes or higher homologs of inverse direction.
-% \begin{macro}{\set@inversedirection}
-% \begin{macrocode}
-\def\set@inversedirection{%
-\@normorinvswtrue
-\let\@yltrinormorinv=\yltrimethyleneiposition
-\let\@yldinormorinv=\yldimethyleneiposition
-\let\@@trinormorinv=\@@trimethylenei
-\let\@@dinormorinv=\@@dimethylenei}
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Hexamethylenes of normal and inverse direction}
-%
-% Hexamethylene and hetera derivatives are typeset with the commands
-% |\hexamethylene| and |\hexamethylenei|. The former macro
-% is to draw hexamethylenes of normal direction, while the latter
-% is to draw ones of inverse directions.
-%
-% \begin{verbatim}
-% Normal direction:
-%
-% (bbb) ((bbb))
-% bbb ddd fff
-% 2 4 6
-% a / ` b / c` d / e
-% / ` / ` /
-% 1 3 5
-% aaa ccc eee
-% (aaa) (ccc)
-% ((aaa))
-%
-% Inverse direction:
-%
-% (aaa)
-% aaa ccc eee (ccc) ((aaa))
-% 1 3 5
-% a ` b / ` c / d ` e
-% ` / ` / `
-% 2 4 6
-% bbb ddd (bbb) fff((bbb))
-% \end{verbatim}
-%
-% The macros have two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-%
-% \begin{verbatim}
-% \hexamethylene[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \hexamethylenei[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one character selected from
-% a to e (or A to E),
-% each of which indicates the presence of an inner (endcyclic) double
-% bond on the corresponding position. A lowercase letter is used
-% to typeset a double bond at the upper-side of an outer skeletal bond,
-% while an uppercase letter typesets a double bond at the lower-side of
-% an outer skeletal bond.
-% (Note that the option `A' represents an aromatic circle in
-% commands |\sixheterov| etc.)
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% [] or none : no double bond
-% a : 1,2-double bond
-% A : 1,2-double bond in an opposite side
-% b : 2,3-double bond
-% B : 2,3-double bond in an opposite side
-% c : 3,4-double bond
-% C : 3,4-double bond in an opposite side
-% d : 4,5-double bond
-% D : 4,5-double bond in an opposite side
-% e : 5,6-double bond
-% E : 5,6-double bond in an opposite side
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% ATOMLIST: list of heteroatoms (max 6 atoms)
-%
-% for n = 1 to 6
-%
-% n==? : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 6
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-% nW : terminal single bond (n=1 or 6)
-%
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \hexamethylene{1==N}{1==Cl;2==F}
-% \hexamethylenei[b]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% The macros |\hexamethylene| and |\hexamethylenei| are
-% based on a common inner macro |\@hexamethylene|,
-% the definition of which uses a picture environment.
-%
-% \begin{macro}{\hexamethylene}
-% \begin{macrocode}
-\def\hexamethylene{%
-\@ifnextchar[{\set@normaldirection\@hexamethylene[@}{%
-\set@normaldirection\@hexamethylene[]}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\hexamethylenei}
-% \begin{macrocode}
-\def\hexamethylenei{%
-\@ifnextchar[{\set@inversedirection\@hexamethylene[@}{%
-\set@inversedirection\@hexamethylene[]}}
-% \end{macrocode}
-% \end{macro}
-%
-% Inner temporary commands such as |\@@trinormorinv| and
-% |\@@dinormorinv| in the common |\@hexamethylene| macro
-% are replaced by active commands such as |\@@trimethylene| and
-% |\@@dimethylene|. They carry out the following unit processes.
-% \begin{enumerate}
-% \item Adjusting substitution site:
-% |\yltrimethyleneposition|
-% or |\yldimethyleneposition| for normal direction;
-% |\yltrimethyleneiposition|
-% or |\yldimethyleneiposition| for inverse direction.
-% \item Treating atom list,
-% placing outer skeletons, inner double bonds,
-% setting hetero atoms, and
-% placing substituents:
-% |\@@trimethylene|
-% or |\@@dimethylene| for normal direction;
-% |\@@trimethylenei|
-% or |\@@dimethylenei| for normal direction.
-% \end{enumerate}
-%
-% \begin{macro}{\@hexamethylene}
-% \begin{macrocode}
-\def\@hexamethylene[#1]#2#3{%
-\iniflag\iniatom%
-\@reset@ylsw%
-{\@linterchainswfalse%
-\@rinterchainswtrue%
-\@yltrinormorinv{#2}{#3}{0}{0}}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{\@rinterchainswtrue%
-\@linterchainswtrue%
-\@yltrinormorinv{#2}{#3}{1}{-2}}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-342}\def\@@yli{0}\fi
-\else
-{\@rinterchainswfalse%
-\@linterchainswtrue%
-\@yldinormorinv{#2}{#3}{1}{-4}}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-684}\def\@@yli{0}\fi\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(1100,480)(-200,-180)
- \iforigpt \put(-200,-180){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `hexamethylene' origin: %
- (0,0) ---> (200,180)}\fi%
-\fi%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member a\relax
-\@adoublebondtrue
-\else\if\member b\relax
-\@bdoublebondtrue
-\else\if\member A\relax
-\@Adoublebondtrue
-\else\if\member B\relax
-\@Bdoublebondtrue
-\else\if\member c\relax%dummy
-\else\if\member C\relax%dummy
-\else\if\member d\relax%dummy
-\else\if\member D\relax%dummy
-\else\if\member e\relax%dummy
-\else\if\member E\relax%dummy
-\else
- \expandafter\twoCH@@R\member//%
- \set@fusion@hexameth% for all bonds
-\fi\fi\fi\fi\fi\fi
-\fi\fi\fi\fi}%
-\@wrongbdWatrue
-\@wrongbdWdtrue
-\put(0,0){\@@trinormorinv{#2}{#3}{0}{0}}}%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member c\relax
-\@adoublebondtrue
-\else\if\member d\relax
-\@bdoublebondtrue
-\else\if\member C\relax
-\@Adoublebondtrue
-\else\if\member D\relax
-\@Bdoublebondtrue
-\fi\fi\fi\fi}%
-\@wrongbdWatrue
-\@wrongbdWdtrue
-\put(342,0){\@@trinormorinv{#2}{#3}{1}{-2}}}%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member e\relax
-\@adoublebondtrue
-\else\if\member E\relax
-\@Adoublebondtrue
-\fi\fi}%
-\if@normorinvsw% inverse
- \@wrongbdWatrue
- \@wrongbdWdfalse
-\else% normal
- \@wrongbdWafalse
- \@wrongbdWdtrue
-\fi
-\put(684,0){\@@dinormorinv{#2}{#3}{1}{-4}}}%
-\end{picture}}% end of \@hexamethylene
-% \end{macrocode}
-% \end{macro}
-%
-% The inner command |\set@fusion@hexameth| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@hexameth}
-% \changes{v2.00}{1998/12/21}{New command: \cs{set@fusion@hexameth}}
-% \begin{macrocode}
-\def\set@fusion@hexameth{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if@normorinvsw
- \if\@@tmpa e\relax%
- \putlratom{684}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e}%
- \else\if\@@tmpa E\relax%
- \putlratom{855}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E}%
- \else
- \set@fusion@pentamethi
- \fi\fi
-\else
- \if\@@tmpa e\relax%
- \putlratom{684}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e}%
- \else\if\@@tmpa E\relax%
- \putlratom{855}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E}%
- \else
- \set@fusion@pentameth
- \fi\fi
-\fi
-}% end of the macro \set@fusion@hexameth
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Heptamethylenes of normal and inverse direction}
-%
-% Heptamethylene and hetera derivatives are typeset with the commands
-% |\heptamethylene| and |\heptamethylenei|. The former macro
-% is to draw heptamethylenes of normal direction, while the latter
-% is to draw ones of inverse directions.
-%
-% \begin{verbatim}
-% Normal direction:
-%
-% (bbb) ((bbb))
-% bbb ddd fff
-% 2 4 6
-% a / ` b / c` d / e ` f
-% / ` / ` / `
-% 1 3 5 7
-% aaa ccc eee gggg
-% (aaa) (ccc) ((ccc))
-% ((aaa))
-%
-% Inverse direction:
-%
-% (aaa) ((aaa)) ((ccc))
-% aaa ccc eee (ccc) ggg
-% 1 3 5 7
-% a ` b / ` c / d ` e /f
-% ` / ` / ` /
-% 2 4 6
-% bbb ddd (bbb) fff((bbb))
-% (aaa)
-% \end{verbatim}
-%
-% The macros have two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% \begin{verbatim}
-% \heptamethylene[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \heptamethylenei[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one character selected from
-% a to f (or A to F),
-% each of which indicates the presence of an inner (endcyclic) double
-% bond on the corresponding position. A lowercase letter is used
-% to typeset a double bond at the upper-side of an outer skeletal bond,
-% while an uppercase letter typesets a double bond at the lower-side of
-% an outer skeletal bond.
-% (Note that the option `A' represents an aromatic circle in
-% commands |\sixheterov| etc.)
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% [] or none : no double bond
-% a : 1,2-double bond
-% A : 1,2-double bond in an opposite side
-% b : 2,3-double bond
-% B : 2,3-double bond in an opposite side
-% c : 3,4-double bond
-% C : 3,4-double bond in an opposite side
-% d : 4,5-double bond
-% D : 4,5-double bond in an opposite side
-% e : 5,6-double bond
-% E : 5,6-double bond in an opposite side
-% f : 6,7-double bond
-% F : 6,7-double bond in an opposite side
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% ATOMLIST: list of heteroatoms (max 7 atoms)
-%
-% for n = 1 to 7
-%
-% n==? : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 7
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-% nW : terminal single bond (n=1 or 7)
-%
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \heptamethylene{1==N}{1==Cl;2==F}
-% \heptamethylenei[b]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% The macros |\heptamethylene| and |\heptamethylenei| are
-% based on a common inner macro |\@heptamethylene|,
-% the definition of which uses a picture environment.
-%
-% \begin{macro}{\heptamethylene}
-% \begin{macrocode}
-\def\heptamethylene{%
-\@ifnextchar[{\set@normaldirection\@heptamethylene[@}{%
-\set@normaldirection\@heptamethylene[]}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\heptamethylenei}
-% \begin{macrocode}
-\def\heptamethylenei{%
-\@ifnextchar[{\set@inversedirection\@heptamethylene[@}{%
-\set@inversedirection\@heptamethylene[]}}
-% \end{macrocode}
-% \end{macro}
-%
-% Inner temporary commands such as |\@@trinormorinv| and
-% |\@@dinormorinv| in the common |\@heptamethylene| macro
-% are replaced by active commands such as |\@@trimethylene| and
-% |\@@dimethylene|. They carry out the following unit processes.
-% \begin{enumerate}
-% \item Adjusting substitution site:
-% |\yltrimethyleneposition|
-% or |\yldimethyleneposition| for normal direction;
-% |\yltrimethyleneiposition|
-% or |\yldimethyleneiposition| for inverse direction.
-% \item Treating atom list,
-% placing outer skeletons, inner double bonds,
-% setting hetero atoms, and
-% placing substituents:
-% |\@@trimethylene|
-% or |\@@dimethylene| for normal direction;
-% |\@@trimethylenei|
-% or |\@@dimethylenei| for normal direction.
-% \end{enumerate}
-%
-% \begin{macro}{\@heptamethylene}
-% \begin{macrocode}
-\def\@heptamethylene[#1]#2#3{%
-\iniflag\iniatom%
-\@reset@ylsw%
-{\@linterchainswfalse%
-\@rinterchainswtrue%
-\@yltrinormorinv{#2}{#3}{0}{0}}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{\@rinterchainswtrue%
-\@linterchainswtrue%
-\@yltrinormorinv{#2}{#3}{1}{-2}}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-342}\def\@@yli{0}\fi
-\else
-{\@rinterchainswfalse%
-\@linterchainswtrue%
-\@yltrinormorinv{#2}{#3}{1}{-4}}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-684}\def\@@yli{0}\fi\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(1450,480)(-200,-180)
- \iforigpt \put(-200,-180){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `heptamethylene' origin: %
- (0,0) ---> (200,180)}\fi%
-\fi%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member a\relax
-\@adoublebondtrue
-\else\if\member b\relax
-\@bdoublebondtrue
-\else\if\member A\relax
-\@Adoublebondtrue
-\else\if\member B\relax
-\@Bdoublebondtrue
-\else\if\member c\relax%dummy
-\else\if\member C\relax%dummy
-\else\if\member d\relax%dummy
-\else\if\member D\relax%dummy
-\else\if\member e\relax%dummy
-\else\if\member E\relax%dummy
-\else\if\member f\relax%dummy
-\else\if\member F\relax%dummy
-\else
- \expandafter\twoCH@@R\member//%
- \set@fusion@heptameth% for all bonds
-\fi\fi\fi\fi\fi\fi\fi\fi
-\fi\fi\fi\fi}%
-\@wrongbdWatrue
-\@wrongbdWdtrue
-\put(0,0){\@@trinormorinv{#2}{#3}{0}{0}}}%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member c\relax
-\@adoublebondtrue
-\else\if\member d\relax
-\@bdoublebondtrue
-\else\if\member C\relax
-\@Adoublebondtrue
-\else\if\member D\relax
-\@Bdoublebondtrue
-\fi\fi\fi\fi}%
-\@wrongbdWatrue
-\@wrongbdWdtrue
-\put(342,0){\@@trinormorinv{#2}{#3}{1}{-2}}}%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member e\relax
-\@adoublebondtrue
-\else\if\member E\relax
-\@Adoublebondtrue
-\else\if\member f\relax
-\@bdoublebondtrue
-\else\if\member F\relax
-\@Bdoublebondtrue
-\fi\fi\fi\fi}%
-\if@normorinvsw% inverse
-\@wrongbdWafalse
-\@wrongbdWdtrue
-\else%normal
-\@wrongbdWatrue
-\@wrongbdWdfalse
-\fi
-\put(684,0){\@@trinormorinv{#2}{#3}{1}{-4}}}%
-\end{picture}}% end of \@heptamethylene
-% \end{macrocode}
-% \end{macro}
-%
-% The inner command |\set@fusion@heptameth| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@heptameth}
-% \changes{v2.00}{1998/12/21}{New command: \cs{set@fusion@heptameth}}
-% \begin{macrocode}
-\def\set@fusion@heptameth{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if@normorinvsw
- \if\@@tmpa e\relax%
- \putlratom{684}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e}%
- \else\if\@@tmpa E\relax%
- \putlratom{855}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E}%
- \else\if\@@tmpa f\relax%
- \putlratom{855}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{f}%
- \else\if\@@tmpa F\relax%
- \putlratom{1027}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{F}%
- \else
- \set@fusion@pentamethi
- \fi\fi\fi\fi
-\else
- \if\@@tmpa e\relax%
- \putlratom{684}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e}%
- \else\if\@@tmpa E\relax%
- \putlratom{855}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E}%
- \else\if\@@tmpa f\relax%
- \putlratom{855}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{f}%
- \else\if\@@tmpa F\relax%
- \putlratom{1027}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{F}%
- \else
- \set@fusion@pentameth
- \fi\fi\fi\fi
-\fi
-}% end of the macro \set@fusion@heptameth
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Octamethylenes of normal and inverse directions}
-%
-% Octamethylene and hetera derivatives are typeset with the commands
-% |\octamethylene| and |\octamethylenei|. The former macro
-% is to draw octamethylenes of normal direction, while the latter
-% is to draw ones of inverse directions.
-%
-% \begin{verbatim}
-% Normal direction:
-%
-% (bbb) ((bbb)) (((bbb)))
-% bbb ddd fff hhh
-% 2 4 6 8
-% a / ` b / c` d / e ` f /g
-% / ` / ` / ` /
-% 1 3 5 7
-% aaa ccc eee gggg
-% (aaa) (ccc) ((ccc))
-% ((aaa)) (((aaa)))
-%
-% Inverse direction:
-% (((aaa)))
-% (aaa) ((aaa)) ((ccc))
-% aaa ccc eee (ccc) ggg
-% 1 3 5 7
-% a ` b / ` c / d ` e /f ` g
-% ` / ` / ` / `
-% 2 4 6 8
-% bbb ddd fff hhh
-% (bbb) ((bbb)) (((bbb)))
-% \end{verbatim}
-%
-% The macros has two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% \begin{verbatim}
-% \octamethylene[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \octamethylenei[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one character selected from
-% a to g (or A to G),
-% each of which indicates the presence of an inner (endcyclic) double
-% bond on the corresponding position. A lowercase letter is used
-% to typeset a double bond at the upper-side of an outer skeletal bond,
-% while an uppercase letter typesets a double bond at the lower-side of
-% an outer skeletal bond.
-% (Note that the option `A' represents an aromatic circle in
-% commands |\sixheterov| etc.)
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% [] or none : no double bond
-% a : 1,2-double bond
-% A : 1,2-double bond in an opposite side
-% b : 2,3-double bond
-% B : 2,3-double bond in an opposite side
-% c : 3,4-double bond
-% C : 3,4-double bond in an opposite side
-% d : 4,5-double bond
-% D : 4,5-double bond in an opposite side
-% e : 5,6-double bond
-% E : 5,6-double bond in an opposite side
-% f : 6,7-double bond
-% F : 6,7-double bond in an opposite side
-% g : 7,8-double bond
-% G : 7,8-double bond in an opposite side
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% ATOMLIST: list of heteroatoms (max 8 atoms)
-%
-% for n = 1 to 8
-%
-% n==? : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 8
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-% nW : terminal single bond (n=1 or 8)
-%
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \octamethylene{1==N}{1==Cl;2==F}
-% \octamethylenei[b]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% The macros |\octamethylene| and |\octamethylenei| are
-% based on a common inner macro |\@octamethylene|,
-% the definition of which uses a picture environment.
-%
-% \begin{macro}{\octamethylene}
-% \begin{macrocode}
-\def\octamethylene{%
-\@ifnextchar[{\set@normaldirection\@octamethylene[@}{%
-\set@normaldirection\@octamethylene[]}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\octamethylenei}
-% \begin{macrocode}
-\def\octamethylenei{%
-\@ifnextchar[{\set@inversedirection\@octamethylene[@}{%
-\set@inversedirection\@octamethylene[]}}
-% \end{macrocode}
-% \end{macro}
-%
-% Inner temporary commands such as |\@@trinormorinv| and
-% |\@@dinormorinv| in the common |\@octamethylene| macro
-% are replaced by active commands such as |\@@trimethylene| and
-% |\@@dimethylene|. They carry out the following unit processes.
-% \begin{enumerate}
-% \item Adjusting substitution site:
-% |\yltrimethyleneposition|
-% or |\yldimethyleneposition| for normal direction;
-% |\yltrimethyleneiposition|
-% or |\yldimethyleneiposition| for inverse direction.
-% \item Treating atom list,
-% placing outer skeletons, inner double bonds,
-% setting hetero atoms, and
-% placing substituents:
-% |\@@trimethylene|
-% or |\@@dimethylene| for normal direction;
-% |\@@trimethylenei|
-% or |\@@dimethylenei| for normal direction.
-% \end{enumerate}
-%
-% \begin{macro}{\@octamethylene}
-% \begin{macrocode}
-\def\@octamethylene[#1]#2#3{%
-\iniflag\iniatom%
-\@reset@ylsw%
-{\@linterchainswfalse%
-\@rinterchainswtrue%
-\@yltrinormorinv{#2}{#3}{0}{0}}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{\@rinterchainswtrue%
-\@linterchainswtrue%
-\@yltrinormorinv{#2}{#3}{1}{-2}}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-342}\def\@@yli{0}\fi
-\else
-{\@rinterchainswtrue%
-\@linterchainswtrue%
-\@yltrinormorinv{#2}{#3}{1}{-4}}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-684}\def\@@yli{0}\fi
-\else
-{\@rinterchainswfalse%
-\@linterchainswtrue%
-\@yldinormorinv{#2}{#3}{1}{-6}}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-1026}\def\@@yli{0}\fi\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(1620,480)(-200,-180)
- \iforigpt \put(-200,-180){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `octamethylene' origin: %
- (0,0) ---> (200,180)}\fi%
-\fi%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member a\relax
-\@adoublebondtrue
-\else\if\member b\relax
-\@bdoublebondtrue
-\else\if\member A\relax
-\@Adoublebondtrue
-\else\if\member B\relax
-\@Bdoublebondtrue
-\else\if\member c\relax%dummy
-\else\if\member C\relax%dummy
-\else\if\member d\relax%dummy
-\else\if\member D\relax%dummy
-\else\if\member e\relax%dummy
-\else\if\member E\relax%dummy
-\else\if\member f\relax%dummy
-\else\if\member F\relax%dummy
-\else\if\member g\relax%dummy
-\else\if\member G\relax%dummy
-\else
- \expandafter\twoCH@@R\member//%
- \set@fusion@octameth% for all bonds
-\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
-\fi\fi\fi\fi}%
-\@wrongbdWatrue
-\@wrongbdWdtrue
-\put(0,0){\@@trinormorinv{#2}{#3}{0}{0}}}%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member c\relax
-\@adoublebondtrue
-\else\if\member d\relax
-\@bdoublebondtrue
-\else\if\member C\relax
-\@Adoublebondtrue
-\else\if\member D\relax
-\@Bdoublebondtrue
-\fi\fi\fi\fi}%
-\@wrongbdWatrue
-\@wrongbdWdtrue
-\put(342,0){\@@trinormorinv{#2}{#3}{1}{-2}}}%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member e\relax
-\@adoublebondtrue
-\else\if\member E\relax
-\@Adoublebondtrue
-\else\if\member f\relax
-\@bdoublebondtrue
-\else\if\member F\relax
-\@Bdoublebondtrue
-\fi\fi\fi\fi}%
-\@wrongbdWatrue
-\@wrongbdWdtrue
-\put(684,0){\@@trinormorinv{#2}{#3}{1}{-4}}}%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member g\relax
-\@adoublebondtrue
-\else\if\member G\relax
-\@Adoublebondtrue
-\fi\fi}%
-\if@normorinvsw% inverse
-\@wrongbdWatrue
-\@wrongbdWdfalse
-\else% normal
-\@wrongbdWafalse
-\@wrongbdWdtrue
-\fi
-\put(1026,0){\@@dinormorinv{#2}{#3}{1}{-6}}}%
-\end{picture}}% end of \@octamethylene
-% \end{macrocode}
-% \end{macro}
-%
-% The inner command |\set@fusion@octameth| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@octameth}
-% \changes{v2.00}{1998/12/21}{New command: \cs{set@fusion@octameth}}
-% \begin{macrocode}
-\def\set@fusion@octameth{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if@normorinvsw
- \if\@@tmpa e\relax%
- \putlratom{684}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e}%
- \else\if\@@tmpa E\relax%
- \putlratom{855}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E}%
- \else\if\@@tmpa f\relax%
- \putlratom{855}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{f}%
- \else\if\@@tmpa F\relax%
- \putlratom{1027}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{F}%
- \else\if\@@tmpa g\relax%
- \putlratom{1027}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{g}%
- \else\if\@@tmpa G\relax%
- \putlratom{1198}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{G}%
- \else
- \set@fusion@pentamethi
- \fi\fi\fi\fi\fi\fi
-\else
- \if\@@tmpa e\relax%
- \putlratom{684}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e}%
- \else\if\@@tmpa E\relax%
- \putlratom{855}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E}%
- \else\if\@@tmpa f\relax%
- \putlratom{855}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{f}%
- \else\if\@@tmpa F\relax%
- \putlratom{1027}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{F}%
- \else\if\@@tmpa g\relax%
- \putlratom{1027}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{g}%
- \else\if\@@tmpa G\relax%
- \putlratom{1198}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{G}%
- \else
- \set@fusion@pentameth
- \fi\fi\fi\fi\fi\fi
-\fi
-}% end of the macro \set@fusion@octameth
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Nonamethylenes of normal and inverse direction}
-%
-% Nonamethylene and hetera derivatives are typeset with the commands
-% |\nonamethylene| and |\nonamethylenei|. The former macro
-% is to draw nonamethylenes of normal direction, while the latter
-% is to draw ones of inverse directions.
-%
-% \begin{verbatim}
-% Normal direction:
-%
-% (bbb) ((bbb)) (((bbb)))
-% bbb ddd fff hhh
-% 2 4 6 8
-% a / ` b / c` d / e ` f /g` h
-% / ` / ` / ` / `
-% 1 3 5 7 9
-% aaa ccc eee gggg (((ccc)))
-% (aaa) (ccc) ((ccc))
-% ((aaa)) (((aaa)))
-%
-% Inverse direction:
-% (((aaa)))
-% (aaa) ((aaa)) ((ccc))
-% aaa ccc eee (ccc) ggg (((ccc)))
-% 1 3 5 7 9
-% a ` b / ` c / d ` e /f ` g / h
-% ` / ` / ` / ` /
-% 2 4 6 8
-% bbb ddd fff hhh
-% (bbb) ((bbb)) (((bbb)))
-% (aaa) ((aaa)) ((ccc))
-% \end{verbatim}
-%
-% The macros have two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-%
-% \begin{verbatim}
-% \nonamethylene[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \nonamethylenei[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one character selected from
-% a to h (or A to H),
-% each of which indicates the presence of an inner (endcyclic) double
-% bond on the corresponding position. A lowercase letter is used
-% to typeset a double bond at the upper-side of an outer skeletal bond,
-% while an uppercase letter typesets a double bond at the lower-side of
-% an outer skeletal bond.
-% (Note that the option `A' represents an aromatic circle in
-% commands |\sixheterov| etc.)
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% [] or none : no double bond
-% a : 1,2-double bond
-% A : 1,2-double bond in an opposite side
-% b : 2,3-double bond
-% B : 2,3-double bond in an opposite side
-% c : 3,4-double bond
-% C : 3,4-double bond in an opposite side
-% d : 4,5-double bond
-% D : 4,5-double bond in an opposite side
-% e : 5,6-double bond
-% E : 5,6-double bond in an opposite side
-% f : 6,7-double bond
-% F : 6,7-double bond in an opposite side
-% g : 7,8-double bond
-% G : 7,8-double bond in an opposite side
-% h : 8,9-double bond
-% H : 8,9-double bond in an opposite side
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% ATOMLIST: list of heteroatoms (max 9 atoms)
-%
-% for n = 1 to 9
-%
-% n==? : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 9
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-% nW : terminal single bond (n=1 or 9)
-%
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \nonamethylene{1==N}{1==Cl;2==F}
-% \nonamethylenei[b]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% The macros |\nonamethylene| and |\nonamethylenei| are
-% based on a common inner macro |\@nonamethylene|,
-% the definition of which uses a picture environment.
-%
-% \begin{macro}{\nonamethylene}
-% \begin{macrocode}
-\def\nonamethylene{%
-\@ifnextchar[{\set@normaldirection\@nonamethylene[@}{%
-\set@normaldirection\@nonamethylene[]}}
-% \end{macrocode}
-% \end{macro}
-
-% \begin{macro}{\nonamethylenei}
-% \begin{macrocode}
-\def\nonamethylenei{%
-\@ifnextchar[{\set@inversedirection\@nonamethylene[@}{%
-\set@inversedirection\@nonamethylene[]}}
-% \end{macrocode}
-% \end{macro}
-%
-% Inner temporary commands such as |\@@trinormorinv| and
-% |\@@dinormorinv| in the common |\@nonamethylene| macro
-% are replaced by active commands such as |\@@trimethylene| and
-% |\@@dimethylene|. They carry out the following unit processes.
-% \begin{enumerate}
-% \item Adjusting substitution site:
-% |\yltrimethyleneposition|
-% or |\yldimethyleneposition| for normal direction;
-% |\yltrimethyleneiposition|
-% or |\yldimethyleneiposition| for inverse direction.
-% \item Treating atom list,
-% placing outer skeletons, inner double bonds,
-% setting hetero atoms, and
-% placing substituents:
-% |\@@trimethylene|
-% or |\@@dimethylene| for normal direction;
-% |\@@trimethylenei|
-% or |\@@dimethylenei| for normal direction.
-% \end{enumerate}
-%
-% \begin{macro}{\@nonamethylene}
-% \begin{macrocode}
-\def\@nonamethylene[#1]#2#3{%
-\iniflag\iniatom%
-\@reset@ylsw%
-{\@linterchainswfalse%
-\@rinterchainswtrue%
-\@yltrinormorinv{#2}{#3}{0}{0}}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{\@rinterchainswtrue%
-\@linterchainswtrue%
-\@yltrinormorinv{#2}{#3}{1}{-2}}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-342}\def\@@yli{0}\fi
-\else
-{\@rinterchainswtrue%
-\@linterchainswtrue%
-\@yltrinormorinv{#2}{#3}{1}{-4}}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-684}\def\@@yli{0}\fi
-\else
-{\@rinterchainswfalse%
-\@linterchainswtrue%
-\@yltrinormorinv{#2}{#3}{1}{-6}}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-1026}\def\@@yli{0}\fi\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(1790,480)(-200,-180)
- \iforigpt \put(-200,-180){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `nonamethylene' origin: %
- (0,0) ---> (200,180)}\fi%
-\fi%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member a\relax
-\@adoublebondtrue
-\else\if\member b\relax
-\@bdoublebondtrue
-\else\if\member A\relax
-\@Adoublebondtrue
-\else\if\member B\relax
-\@Bdoublebondtrue
-\else\if\member c\relax%dummy
-\else\if\member C\relax%dummy
-\else\if\member d\relax%dummy
-\else\if\member D\relax%dummy
-\else\if\member e\relax%dummy
-\else\if\member E\relax%dummy
-\else\if\member f\relax%dummy
-\else\if\member F\relax%dummy
-\else\if\member g\relax%dummy
-\else\if\member G\relax%dummy
-\else\if\member h\relax%dummy
-\else\if\member H\relax%dummy
-\else
- \expandafter\twoCH@@R\member//%
- \set@fusion@nonameth% for all bonds
-\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
-\fi\fi\fi\fi}%
-\@wrongbdWatrue
-\@wrongbdWdtrue
-\put(0,0){\@@trinormorinv{#2}{#3}{0}{0}}}%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member c\relax
-\@adoublebondtrue
-\else\if\member d\relax
-\@bdoublebondtrue
-\else\if\member C\relax
-\@Adoublebondtrue
-\else\if\member D\relax
-\@Bdoublebondtrue
-\fi\fi\fi\fi}%
-\@wrongbdWatrue
-\@wrongbdWdtrue
-\put(342,0){\@@trinormorinv{#2}{#3}{1}{-2}}}%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member e\relax
-\@adoublebondtrue
-\else\if\member E\relax
-\@Adoublebondtrue
-\else\if\member f\relax
-\@bdoublebondtrue
-\else\if\member F\relax
-\@Bdoublebondtrue
-\fi\fi\fi\fi}%
-\@wrongbdWatrue
-\@wrongbdWdtrue
-\put(684,0){\@@trinormorinv{#2}{#3}{1}{-4}}}%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member g\relax
-\@adoublebondtrue
-\else\if\member G\relax
-\@Adoublebondtrue
-\else\if\member h\relax
-\@bdoublebondtrue
-\else\if\member H\relax
-\@Bdoublebondtrue
-\fi\fi\fi\fi}%
-\if@normorinvsw% inverse
-\@wrongbdWafalse
-\@wrongbdWdtrue
-\else% normal
-\@wrongbdWatrue
-\@wrongbdWdfalse
-\fi
-\put(1026,0){\@@trinormorinv{#2}{#3}{1}{-6}}}%
-\end{picture}}% end of \@nonamethylene
-% \end{macrocode}
-% \end{macro}
-%
-% The inner command |\set@fusion@nonameth| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@nonameth}
-% \changes{v2.00}{1998/12/21}{New command: \cs{set@fusion@nonameth}}
-% \begin{macrocode}
-\def\set@fusion@nonameth{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if@normorinvsw
- \if\@@tmpa h\relax%
- \putlratom{1198}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{h}%
- \else\if\@@tmpa H\relax%
- \putlratom{1369}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{H}%
- \else
- \set@fusion@octameth
- \fi\fi
-\else
- \if\@@tmpa h\relax%
- \putlratom{1198}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{h}%
- \else\if\@@tmpa H\relax%
- \putlratom{1369}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{H}%
- \else
- \set@fusion@octameth
- \fi\fi
-\fi
-}% end of the macro \set@fusion@nonameth
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Decamethylenes of normal and inverse directions}
-%
-% Decamethylene and hetera derivatives are typeset with the commands
-% |\decamethylene| and |\decamethylenei|. The former macro
-% is to draw decamethylenes of normal direction, while the latter
-% is to draw ones of inverse directions.
-%
-% \begin{verbatim}
-% Normal direction:
-%
-% (bbb) ((bbb)) (((bbb)))
-% bbb ddd fff hhh <bbb>
-% 2 4 6 8 10
-% a / ` b / c` d / e ` f /g ` h / i
-% / ` / ` / ` / ` /
-% 1 3 5 7 9
-% aaa ccc eee gggg (((ccc)))
-% (aaa) (ccc) ((ccc)) <aaa>
-% ((aaa)) (((aaa)))
-%
-% Inverse direction:
-% (((aaa)))
-% (aaa) ((aaa)) ((ccc)) <aaa>
-% aaa ccc eee (ccc) ggg (((ccc)))
-% 1 3 5 7 9
-% a ` b / ` c / d ` e /f ` g / h ` i
-% ` / ` / ` / ` / `
-% 2 4 6 8 10
-% bbb ddd fff hhh <bbb>
-% (bbb) ((bbb)) (((bbb)))
-% \end{verbatim}
-%
-% The macros have two arguments |ATOMLIST| and |SUBSLIST|
-% as well as an optional argument |BONDLIST|.
-% \begin{verbatim}
-% \decamethylene[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \decamethylenei[BONDLIST]{ATOMLIST}{SUBSLIST}
-% \end{verbatim}
-%
-% The |BONDLIST| argument contains one character selected from
-% a to i (or A to I),
-% each of which indicates the presence of an inner (endcyclic) double
-% bond on the corresponding position. A lowercase letter is used
-% to typeset a double bond at the upper-side of an outer skeletal bond,
-% while an uppercase letter typesets a double bond at the lower-side of
-% an outer skeletal bond.
-% (Note that the option `A' represents an aromatic circle in
-% commands |\sixheterov| etc.)
-%
-% \begin{verbatim}
-% BONDLIST =
-%
-% [] or none : no double bond
-% a : 1,2-double bond
-% A : 1,2-double bond in an opposite side
-% b : 2,3-double bond
-% B : 2,3-double bond in an opposite side
-% c : 3,4-double bond
-% C : 3,4-double bond in an opposite side
-% d : 4,5-double bond
-% D : 4,5-double bond in an opposite side
-% e : 5,6-double bond
-% E : 5,6-double bond in an opposite side
-% f : 6,7-double bond
-% F : 6,7-double bond in an opposite side
-% g : 7,8-double bond
-% G : 7,8-double bond in an opposite side
-% h : 8,9-double bond
-% H : 8,9-double bond in an opposite side
-% i : 9,10-double bond
-% I : 9,10-double bond in an opposite side
-% \end{verbatim}
-%
-% The |ATOMLIST| argument contains one or more heteroatom descriptors
-% which are separated from each other by a semicolon. Each heteroatom
-% descriptor consists of a locant number and a heteroatom,
-% where these are separated with a double equality symbol.
-%
-% \begin{verbatim}
-%
-% ATOMLIST: list of heteroatoms (max 10 atoms)
-%
-% for n = 1 to 10
-%
-% n==? : Hetero atom, e.g. N, O, etc. at n-position,
-% e.g. 1==N for N at 1-position
-% \end{verbatim}
-%
-% The |SUBSLIST| argument contains one or more substitution descriptors
-% which are separated from each other by a semicolon. Each substitution
-% descriptor has a locant number with a bond modifier and a substituent,
-% where these are separated with a double equality symbol.
-% \begin{verbatim}
-%
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 10
-%
-% nD : exocyclic double bond at n-atom
-% n or nS : exocyclic single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% nSA : alpha single bond at n-atom (boldface)
-% nSB : beta single bond at n-atom (dotted line)
-% nSa : alpha (not specified) single bond at n-atom
-% nSb : beta (not specified) single bond at n-atom
-% nW : terminal single bond (n=1 or 10)
-%
-% \end{verbatim}
-%
-% Several examples are shown as follows.
-% \begin{verbatim}
-% e.g.
-%
-% \decamethylene{1==N}{1==Cl;2==F}
-% \decamethylenei[b]{1==N}{1==Cl;4==F;2==CH$_{3}$}
-% \end{verbatim}
-%
-% The macros |\decamethylene| and |\decamethylenei| are
-% based on a common inner macro |\@decamethylene|,
-% the definition of which uses a picture environment.
-% \begin{macro}{\decamethylene}
-% \begin{macrocode}
-\def\decamethylene{%
-\@ifnextchar[{\set@normaldirection\@decamethylene[@}{%
-\set@normaldirection\@decamethylene[]}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\decamethylenei}
-% \begin{macrocode}
-\def\decamethylenei{%
-\@ifnextchar[{\set@inversedirection\@decamethylene[@}{%
-\set@inversedirection\@decamethylene[]}}
-% \end{macrocode}
-% \end{macro}
-%
-% Inner temporary commands such as |\@@trinormorinv| and
-% |\@@dinormorinv| in the common |\@decamethylene| macro
-% are replaced by active commands such as |\@@trimethylene| and
-% |\@@dimethylene|. They carry out the following unit processes.
-% \begin{enumerate}
-% \item Adjusting substitution site:
-% |\yltrimethyleneposition|
-% or |\yldimethyleneposition| for normal direction;
-% |\yltrimethyleneiposition|
-% or |\yldimethyleneiposition| for inverse direction.
-% \item Treating atom list,
-% placing outer skeletons, inner double bonds,
-% setting hetero atoms, and
-% placing substituents:
-% |\@@trimethylene|
-% or |\@@dimethylene| for normal direction;
-% |\@@trimethylenei|
-% or |\@@dimethylenei| for normal direction.
-% \end{enumerate}
-%
-% \begin{macro}{\@decamethylene}
-% \begin{macrocode}
-\def\@decamethylene[#1]#2#3{%
-\iniflag\iniatom%
-\@reset@ylsw%
-{\@linterchainswfalse%
-\@rinterchainswtrue%
-\@yltrinormorinv{#2}{#3}{0}{0}}%
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{0}\def\@@yli{0}\fi
-\else
-{\@rinterchainswtrue%
-\@linterchainswtrue%
-\@yltrinormorinv{#2}{#3}{1}{-2}}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-342}\def\@@yli{0}\fi
-\else
-{\@rinterchainswtrue%
-\@linterchainswtrue%
-\@yltrinormorinv{#2}{#3}{1}{-4}}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-684}\def\@@yli{0}\fi
-\else
-{\@rinterchainswtrue%
-\@linterchainswtrue%
-\@yltrinormorinv{#2}{#3}{1}{-6}}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-1026}\def\@@yli{0}\fi
-\else
-{\@rinterchainswfalse%
-\@linterchainswtrue%
-\@yldinormorinv{#2}{#3}{1}{-8}}%
-\fi
-\if@ylsw \ifx\@@ylii\empty
-\def\@@ylii{-1368}\def\@@yli{0}\fi\fi
-\if@ylsw
- \yl@shiftii=\@ylii
- \yl@shifti=\@yli
- \advance\yl@shiftii\@@ylii
- \advance\yl@shifti\@@yli
- \advance\yl@shiftii\yl@xdiff
- \advance\yl@shifti\yl@ydiff
- \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
- \reset@yl@xydiff%1999/1/6 by S. Fujita
-\else
-\begin{picture}(1960,480)(-200,-180)
- \iforigpt \put(-200,-180){\circle*{50}}%
- \put(0,0){\circle{50}}%
- \typeout{command `decamethylene' origin: %
- (0,0) ---> (200,180)}\fi%
-\fi%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member a\relax
-\@adoublebondtrue
-\else\if\member b\relax
-\@bdoublebondtrue
-\else\if\member A\relax
-\@Adoublebondtrue
-\else\if\member B\relax
-\@Bdoublebondtrue
-\else\if\member c\relax%dummy
-\else\if\member C\relax%dummy
-\else\if\member d\relax%dummy
-\else\if\member D\relax%dummy
-\else\if\member e\relax%dummy
-\else\if\member E\relax%dummy
-\else\if\member f\relax%dummy
-\else\if\member F\relax%dummy
-\else\if\member g\relax%dummy
-\else\if\member G\relax%dummy
-\else\if\member h\relax%dummy
-\else\if\member H\relax%dummy
-\else\if\member i\relax%dummy
-\else\if\member I\relax%dummy
-\else
- \expandafter\twoCH@@R\member//%
- \set@fusion@decameth% for all bonds
-\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
-\fi\fi\fi\fi}%
-\@wrongbdWatrue
-\@wrongbdWdtrue
-\put(0,0){\@@trinormorinv{#2}{#3}{0}{0}}}%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member c\relax
-\@adoublebondtrue
-\else\if\member d\relax
-\@bdoublebondtrue
-\else\if\member C\relax
-\@Adoublebondtrue
-\else\if\member D\relax
-\@Bdoublebondtrue
-\fi\fi\fi\fi}%
-\@wrongbdWatrue
-\@wrongbdWdtrue
-\put(342,0){\@@trinormorinv{#2}{#3}{1}{-2}}}%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member e\relax
-\@adoublebondtrue
-\else\if\member E\relax
-\@Adoublebondtrue
-\else\if\member f\relax
-\@bdoublebondtrue
-\else\if\member F\relax
-\@Bdoublebondtrue
-\fi\fi\fi\fi}%
-\@wrongbdWatrue
-\@wrongbdWdtrue
-\put(684,0){\@@trinormorinv{#2}{#3}{1}{-4}}}%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member g\relax
-\@adoublebondtrue
-\else\if\member G\relax
-\@Adoublebondtrue
-\else\if\member h\relax
-\@bdoublebondtrue
-\else\if\member H\relax
-\@Bdoublebondtrue
-\fi\fi\fi\fi}%
-\@wrongbdWatrue
-\@wrongbdWdtrue
-\put(1026,0){\@@trinormorinv{#2}{#3}{1}{-6}}}%
-{\reset@double%
-\@tfor\member:=#1\do{%
-\if\member i\relax
-\@adoublebondtrue
-\else\if\member I\relax
-\@Adoublebondtrue
-\fi\fi}%
-\if@normorinvsw% inverse
-\@wrongbdWatrue
-\@wrongbdWdfalse
-\else% normal
-\@wrongbdWafalse
-\@wrongbdWdtrue
-\fi
-\put(1368,0){\@@dinormorinv{#2}{#3}{1}{-8}}}%
-\end{picture}}% end \@decamethylene
-% \end{macrocode}
-% \end{macro}
-%
-% The inner command |\set@fusion@decameth| is used for typesetting
-% a fused ring at each bond represented by |\@@tmpa|. Warnings
-% concerning mismatched ring-fusions are based on the command
-% |\FuseWarning|.
-%
-% \begin{macro}{\set@fusion@decameth}
-% \changes{v2.00}{1998/12/21}{New command: \cs{set@fusion@decameth}}
-% \begin{macrocode}
-\def\set@fusion@decameth{%
-% %%%%%%%%%%%%%%%%%%%%%
-% % inner bond fusion %
-% %%%%%%%%%%%%%%%%%%%%%
-\if@normorinvsw
- \if\@@tmpa h\relax%
- \putlratom{1198}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{h}%
- \else\if\@@tmpa H\relax%
- \putlratom{1369}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{H}%
- \else\if\@@tmpa i\relax%
- \putlratom{1369}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{i}%
- \else\if\@@tmpa I\relax%
- \putlratom{1540}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{I}%
- \else
- \set@fusion@octameth
- \fi\fi\fi\fi
-\else
- \if\@@tmpa h\relax%
- \putlratom{1198}{103}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{h}%
- \else\if\@@tmpa H\relax%
- \putlratom{1369}{0}{\@@tmpb}% % bond fused
- \FuseWarning{171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{H}%
- \else\if\@@tmpa i\relax%
- \putlratom{1369}{0}{\@@tmpb}% % bond fused
- \FuseWarning{-171}{-103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{i}%
- \else\if\@@tmpa I\relax%
- \putlratom{1540}{103}{\@@tmpb}% % bond fused
- \FuseWarning{171}{103}%
- {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{I}%
- \else
- \set@fusion@octameth
- \fi\fi\fi\fi
-\fi%
-}% end of the macro \set@fusion@decameth
-%</methylen>
-% \end{macrocode}
-% \end{macro}
-%
-% \Finale
-%
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/methylen.ins b/Master/texmf-dist/source/latex/xymtex/methylen.ins
deleted file mode 100644
index 660232fd285..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/methylen.ins
+++ /dev/null
@@ -1,49 +0,0 @@
-\def\batchfile{methylen.ins}
-\input docstrip.tex
-\preamble
-
-This is a generated file.
-
-Copyright 1998 by Shinsaku Fujita
-
-This file is part of the XyMTeX system.
-=======================================
-
-Version 1.02 Released on October 31, 1996 (private version)
-Version 2.00 Released on December 25, 1998
-
-Copyright (C) 1998 by Shinsaku Fujita, all rights reserved.
-This style file is created for drawing chemical structural formulas
-This style file is to be contained in the ``xymtex'' directory which
-is an input directory for TeX.
-
-Copying of this file is authorized only if either
-
- (1) you make absolutely no changes to your copy, including name and
- directory name
- (2) if you do make changes,
- (a) you name it something other than the names included in the
- ``xymtex'' directory and
- (b) you acknowledge the original name.
- This restriction ensures that all standard styles are identical.
-
-=======================================
-
-This file contains several codes modified from latex.tex (LaTeX2.09)
-and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-Copyright 1994 the LaTeX3 project and the individual authors (For further
-copyright information see the file legal.txt of the LaTeX2e standard
-distribution, and any other copyright indicated in this file.)
-
-\endpreamble
-
-\keepsilent
-
-\generateFile{methylen.drv}{t}{%
- \from{methylen.dtx}{driver}}
-
-\generateFile{methylen.sty}{t}{%
- \from{methylen.dtx}{methylen}}
-
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/polymers.drv b/Master/texmf-dist/source/latex/xymtex/polymers.drv
deleted file mode 100644
index 90b85d949e9..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/polymers.drv
+++ /dev/null
@@ -1,81 +0,0 @@
-%%
-%% This is file `polymers.drv',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% polymers.dtx (with options: `driver')
-%%
-%% This is a generated file.
-%%
-%% Copyright 1996,1998 by Shinsaku Fujita
-%%
-%% This file is part of the XyMTeX system.
-%% =======================================
-%%
-%% Version 1.01 Released on August 16, 1996
-%% Version 1.02 Released on October 31, 1996 (private version)
-%% Version 2.00 Released on December 25, 1998
-%%
-%% Copyright (C) 1998 by Shinsaku Fujita, all rights reserved.
-%% This style file is created for drawing chemical structural formulas
-%% This style file is to be contained in the ``xymtex'' directory which
-%% is an input directory for TeX.
-%%
-%% Copying of this file is authorized only if either
-%%
-%% (1) you make absolutely no changes to your copy, including name and
-%% directory name
-%% (2) if you do make changes,
-%% (a) you name it something other than the names included in the
-%% ``xymtex'' directory and
-%% (b) you acknowledge the original name.
-%% This restriction ensures that all standard styles are identical.
-%%
-%% =======================================
-%%
-%% This file contains several codes modified from latex.tex (LaTeX2.09)
-%% and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-%% Copyright 1994 the LaTeX3 project and the individual authors (For further
-%% copyright information see the file legal.txt of the LaTeX2e standard
-%% distribution, and any other copyright indicated in this file.)
-%%
-%% File: polymers.dtx
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{polymers.dtx}[1998/12/25 v2.00 XyMTeX{} package file]
-\documentclass{ltxdoc}
-\GetFileInfo{polymers.dtx}
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-\title{Polymers by {\sffamily polymers.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606 Japan
-}
-\date{\filedate}
-\begin{document}
- \maketitle
- \DocInput{polymers.dtx}
-\end{document}
-\endinput
-%%
-%% End of file `polymers.drv'.
diff --git a/Master/texmf-dist/source/latex/xymtex/polymers.dtx b/Master/texmf-dist/source/latex/xymtex/polymers.dtx
deleted file mode 100644
index 843f326e9a7..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/polymers.dtx
+++ /dev/null
@@ -1,717 +0,0 @@
-% \iffalse meta-comment
-%% File: polymers.dtx
-%
-% Copyright 1996, 1998 by Shinsaku Fujita
-%
-% This file is part of XyMTeX system.
-% -------------------------------------
-%
-% This file is a part of the macro package ``XyMTeX'' which has been
-% designed for typesetting chemical structural formulas.
-%
-% This file is to be contained in the ``xymtex'' directory which is
-% an input directory for TeX. It is a LaTeX optional style file and
-% should be used only within LaTeX, because several macros of the file
-% are based on LaTeX commands.
-%
-% For the review of XyMTeX, see
-% (1) Shinsaku Fujita, ``Typesetting structural formulas with the text
-% formatter TeX/LaTeX'', Computers and Chemistry, in press.
-% The following book deals with an application of TeX/LaTeX to
-% preparation of manuscripts of chemical fields:
-% (2) Shinsaku Fujita, ``LaTeX for Chemists and Biochemists''
-% Tokyo Kagaku Dozin, Tokyo (1993) [in Japanese].
-%
-% Copying of this file is authorized only if either
-% (1) you make absolutely no changes to your copy, including name and
-% directory name; or
-% (2) if you do make changes,
-% (a) you name it something other than the names included in the
-% ``xymtex'' directory and
-% (b) you are requested to leave this notice intact.
-% This restriction ensures that all standard styles are identical.
-%
-% Please report any bugs, comments, suggestions, etc. to:
-% Shinsaku Fujita,
-% Ashigara Research Laboratories, Fuji Photo Film Co., Ltd.,
-% Minami-Ashigara, Kanagawa-ken, 250-01, Japan.
-%
-% New address:
-% Shinsaku Fujita,
-% Department of Chemistry and Materials Technology,
-% Kyoto Institute of Technology, \\
-% Matsugasaki, Sakyoku, Kyoto, 606 Japan
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{polymers}
-% \def\versi@ndate{August 16, 1996}
-% \def\versi@nno{ver1.00}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \def\j@urnalname{polymers}
-% \def\versi@ndate{October 31, 1998}
-% \def\versi@nno{ver1.02}
-% \def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% \fi
-%
-% \CheckSum{503}
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%
-% \setcounter{StandardModuleDepth}{1}
-%
-% \StopEventually{}
-% \MakeShortVerb{\|}
-%
-% \iffalse
-% \changes{v1.00}{1996/07/07}{first edition for LaTeX2e}
-% \changes{v1.02}{1998/10/31}{revised edition for LaTeX2e}
-% \changes{v2.00}{1998/12/25}{enhanced edition for LaTeX2e}
-% \fi
-%
-% \iffalse
-%<*driver>
-\NeedsTeXFormat{pLaTeX2e}
-% \fi
-\ProvidesFile{polymers.dtx}[1998/12/25 v2.00 XyMTeX{} package file]
-% \iffalse
-\documentclass{ltxdoc}
-\GetFileInfo{polymers.dtx}
-%
-% %%XyMTeX Logo: Definition 2%%%
-\def\UPSILON{\char'7}
-\def\XyM{X\kern-.30em\smash{%
-\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
-\def\XyMTeX{\XyM\kern-.1em\TeX}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\title{Polymers by {\sffamily polymers.sty}
-(\fileversion) of \XyMTeX{}}
-\author{Shinsaku Fujita \\
-Department of Chemistry and Materials Technology, \\
-Kyoto Institute of Technology, \\
-Matsugasaki, Sakyoku, Kyoto, 606 Japan
-% % (old address)
-% % Ashigara Research Laboratories,
-% % Fuji Photo Film Co., Ltd., \\
-% % Minami-Ashigara, Kanagawa, 250-01 Japan
-}
-\date{\filedate}
-%
-\begin{document}
- \maketitle
- \DocInput{polymers.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \section{Introduction}\label{polymers:intro}
-%
-% \subsection{Options for {\sffamily docstrip}}
-%
-% \DeleteShortVerb{\|}
-% \begin{center}
-% \begin{tabular}{|l|l|}
-% \hline
-% \emph{option} & \emph{function}\\ \hline
-% polymers & polymers.sty \\
-% driver & driver for this dtx file \\
-% \hline
-% \end{tabular}
-% \end{center}
-% \MakeShortVerb{\|}
-%
-% \subsection{Version Information}
-%
-% \begin{macrocode}
-%<*polymers>
-\typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 2.00}
-\typeout{ -- Released December 25, 1998 by Shinsaku Fujita}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\j@urnalname{polymers}
-\def\versi@ndate{December 25, 1998}
-\def\versi@nno{ver2.00}
-\def\copyrighth@lder{SF} % Shinsaku Fujita
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\typeout{XyMTeX Macro File `\j@urnalname' (\versi@nno) <\versi@ndate>%
-\space[\copyrighth@lder]}
-% \end{macrocode}
-%
-% \section{List of commands for polymers.sty}
-%
-% \begin{verbatim}
-% **********************************
-% * polymers.sty: list of commands *
-% **********************************
-%
-% <Delimeters for polymer units>
-%
-% \leftPMdelim \rightPMdelim
-% \leftpmdelim \rightpmdelim
-%
-% \leftPolymer \leftpolymer
-% \rightPolymer \rightpolymer
-%
-% \leftsqrPolymer \leftSqrpolymer
-% \lsqrdelimiter \leftsqrpolymer
-%
-% \rightsqrPolymer \rightSqrpolymer
-% \rsqrdelimiter \rightsqrpolymer
-%
-% \@sqrpolymer
-% \sqrpolymer \Sqrpolymer
-% \mpolymer
-%
-% <Bonds for polymers>
-%
-% \WestPbond \EastPbond
-% \sbond
-%
-% <Polymers>
-%
-% \polyethylene \@polyethylene
-% \polystyrene \@polystyrene
-%
-% \end{verbatim}
-%
-% \section{Input of basic macros}
-%
-% To assure the compatibility to \LaTeX{}2.09 (the native mode),
-% the commands added by \LaTeXe{} have not been used in the resulting sty
-% files ({\sf polymers.sty} for the present case). Hence, the combination
-% of |\input| and |\@ifundefined| is used to crossload sty
-% files ({\sf chemstr.sty} etc. for the present case) in place of the
-% |\RequirePackage| command of \LaTeXe{}.
-%
-% \begin{macrocode}
-% *************************
-% * input of basic macros *
-% *************************
-\@ifundefined{setsixringv}{\input chemstr.sty\relax}{}
-\@ifundefined{Westbond}{\input aliphat.sty\relax}{}
-\@ifundefined{bzdrv}{\input carom.sty\relax}{}
-\unitlength=0.1pt
-% \end{macrocode}
-%
-% \begin{macrocode}
-% ****************************************************
-% * For separating an augument list to each argument *
-% ****************************************************
-%
-\def\@forsemicol#1:=#2\do#3{%
-%% \edef\@fortmp{#2}\ifx\@fortmp\@empty%
- \expandafter\def\expandafter\@fortmp\expandafter{#2}%
- \ifx\@fortmp\@empty%
- \else%
- \expandafter\@forl@@p#2;\@nil;\@nil\@@#1{#3}\fi}
-% \end{macrocode}
-%
-% \section{Delimeters for polymer units}
-%
-% \subsection{Right and left delimeters}
-%
-% A polymer structure has a unit surrounded by
-% parentheses or other delimeters. For drawing a
-% parenthesis as the part of a substituent,
-% the following commands are prepared.
-%
-% \subsubsection{Parentheses}
-%
-% \begin{macro}{\leftPMdelim}
-% \begin{macro}{\leftpmdelim}
-% \begin{macrocode}
-% ********************************
-% * Delimeters for polymer units *
-% ********************************
-\def\leftPMdelim#1{$\mathstrut #1$}
-\def\leftpmdelim{\leftPMdelim{\biggm(}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\rightPMdelim}
-% \begin{macro}{\rightpmdelim}
-% \begin{macrocode}
-\def\rightPMdelim#1#2{%
- $\mathstrut #1_{\mkern-5mu #2}$}
-\def\rightpmdelim#1{\rightPMdelim{\biggm)}{#1}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The command |\leftpolymer| typesets the left parenthesis of
-% a polymer unit.
-% The command |\leftPolymer| is the inner commend of |\leftpolymer|,
-% where a delimeter can be selected as an argument.
-%
-% \begin{macro}{\leftPolymer}
-% \begin{macro}{\leftpolymer}
-% \begin{macrocode}
-\def\leftPolymer#1#2{%
-\begin{picture}(0,0)(0,0)
-\putlatom{0}{0}{#2}
-\putlatom{120}{0}{$#1$}
-\end{picture}}
-\def\leftpolymer#1{\leftPolymer{\biggm(}{#1}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The command |\rightpolymer| typesets the left parenthesis of
-% a polymer unit along with a repeating number as a subscript.
-% The command |\rightPolymer| is the inner commend of |\rightpolymer|,
-% where a delimeter can be selected as an argument.
-%
-% \begin{macro}{\Rightpolymer}
-% \begin{macro}{\rightpolymer}
-% \begin{macrocode}
-\def\rightPolymer#1#2#3{%
-\begin{picture}(0,0)(0,0)
-\putratom{0}{0}{#2}
-\putratom{-150}{0}{%
-% $\mathstrut#1_{\mkern-3mu \mbox{\scriptsize\rm #3}}$}
- $\mathstrut#1_{\mkern-2mu #3}$}
-\end{picture}}
-\def\rightpolymer#1#2{\rightPolymer{\biggm)}{#1}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsubsection{Brackets}
-%
-% The command |\leftSqrpolymer| typesets the left bracket of
-% a polymer unit.
-% The command |\leftsqrPolymer| is the inner commend of |\leftSqrpolymer|,
-% where a delimeter can be selected as an argument.
-% The bracket selected by the command |\leftSqrpolymer| is
-% a \TeX{} big mathematical symbol,
-% the line of which is
-% boldfaced.
-%
-% \begin{macro}{\leftsqrPolymer}
-% \begin{macro}{\leftSqrpolymer}
-% \begin{macrocode}
-\def\leftsqrPolymer#1#2{%
-\begin{picture}(0,0)(0,0)
-\putlatom{0}{0}{#2}
-\putlatom{120}{0}{$#1$}
-\end{picture}}
-\def\leftSqrpolymer#1{\leftsqrPolymer{\Biggm[}{#1}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The command |\rightSqrpolymer| typesets the right bracket of
-% a polymer unit.
-% The command |\rightsqrPolymer| is the inner commend of |\rightSqrpolymer|,
-% where a delimeter can be selected as an argument.
-% The bracket selected by the command |\rightSqrpolymer| is
-% a \TeX{} big mathematical symbol,
-% the line of which is boldfaced.
-%
-% \begin{macro}{\rightsqrPolymer}
-% \begin{macro}{\rightSqrpolymer}
-% \begin{macrocode}
-\def\rightsqrPolymer#1#2#3{%
-\begin{picture}(0,0)(0,0)
-\putratom{0}{0}{#2}
-\putratom{-150}{0}{%
-% $\mathstrut #1_{\mbox{\scriptsize\rm #3}}$}
- $\mathstrut #1_{#3}$}
-\end{picture}}
-\def\rightSqrpolymer#1#2{\rightsqrPolymer{\Biggm]}{#1}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% For drawing polymer brackets of thin line width,
-% we prepare the command |\lsqrdelimiter|. The height of
-% the bracket can be designated by the argument of this
-% command. The command
-% is used to define the command |\leftsqrpolymer|.
-% This command typesets a left bracket of thin line width.
-%
-% \begin{macro}{\lsqrdelimiter}
-% \begin{macro}{\leftsqrpolymer}
-% \begin{macrocode}
-\def\lsqrdelimiter#1{%
-\hbox{\vrule \@width\fboxrule
-$\vcenter to#1{%
-\hrule \@height\fboxrule \@width\fboxsep
-\vfill
-\hrule \@height\fboxrule \@width\fboxsep}$}}
-\def\leftsqrpolymer#1{%
- \leftsqrPolymer{\lsqrdelimiter{300\unitlength}}{#1}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% The command |\rsqrdelimiter| is
-% used to define the command |\rightsqrpolymer|, which
-% typesets a right bracket of thin line width.
-%
-% \begin{macro}{\rsqrdelimiter}
-% \begin{macro}{\rightsqrpolymer}
-% \begin{macrocode}
-\def\rsqrdelimiter#1{%
-\hbox{$\vcenter to#1{%
-\hrule \@height\fboxrule \@width\fboxsep \vfill
-\hrule \@height\fboxrule \@width\fboxsep}$\kern-\fboxrule
-\vrule \@width\fboxrule\kern2pt}}
-\def\rightsqrpolymer#1#2{%
-\rightsqrPolymer{\rsqrdelimiter{300\unitlength}}{#1}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Pairs of delimeters}
-%
-% The command |\sqrpolymer| typesets a pair of thin-line brackets that
-% surrounds a polymer unit after measuring the height of
-% the unit. On the other hand,
-% the command |\Sqrpolymer| typesets a pair of thick-line brackets.
-% Both of the commands are based on the inner macro |\@sqrpolymer|,
-% in which a line width is designated by means of an argument.
-%
-% \begin{macro}{\@sqrpolymer}
-% \begin{macro}{\sqrpolymer}
-% \begin{macro}{\Sqrpolymer}
-% \begin{macrocode}
-\long\def\@sqrpolymer#1#2#3{%
-\begingroup \fboxrule=#1
- \leavevmode\setbox\@tempboxa\hbox{#2}\@tempdima\fboxrule
- \advance\@tempdima \fboxsep \advance\@tempdima \dp\@tempboxa
- \@tempdimb=\wd\@tempboxa
- \advance\@tempdimb by \fboxsep
- \advance\@tempdimb by \fboxsep
- \advance\@tempdimb by \fboxrule
- \advance\@tempdimb by \fboxrule
- \hbox{\lower \@tempdima\hbox
- {\vbox{
- \hbox to\@tempdimb{%
- \vrule \@height \fboxrule \@width\fboxsep\hfill
- \vrule \@height \fboxrule \@width\fboxsep}
- \nointerlineskip
- \hbox{\vrule \@width \fboxrule \hskip\fboxsep
- \vbox{\vskip\fboxsep \copy\@tempboxa\vskip\fboxsep}\hskip
- \fboxsep\vrule \@width \fboxrule}
- \nointerlineskip
- \hbox to\@tempdimb{%
- \vrule \@height \fboxrule \@width\fboxsep\hfill
- \vrule \@height \fboxrule \@width\fboxsep}}}}%
-\kern2pt\lower\@tempdima\hbox{\scriptsize$#3$}\endgroup}
-\long\def\sqrpolymer#1#2{\@sqrpolymer{0.4pt}{#1}{#2}}
-\long\def\Sqrpolymer#1#2{\@sqrpolymer{1pt}{#1}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The command |\mpolymer| typesets a pair of parentheses that
-% surrounds a polymer unit after measuring the height of
-% the unit.
-%
-% \begin{macro}{\mpolymer}
-% \begin{macrocode}
-\long\def\mpolymer#1#2{%
- \leavevmode\setbox\@tempboxa\hbox{#1}\@tempdima\fboxrule
- \advance\@tempdima \fboxsep \advance\@tempdima \dp\@tempboxa
- \hbox{\lower \@tempdima\hbox{\vbox{\hbox{\hskip\fboxsep%
- $\left(\vcenter{\vskip\fboxsep \copy\@tempboxa\vskip\fboxsep}%
- \right)_{#2}$}}}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Commands for drawing polymers}
-%
-% \subsection{Bonds for polymers}
-%
-% The original commands
-% |\Westbond| and |\Eastbond| are changed into
-% |\WestPbond| and |\EastPbond|, where each bond is lengthened
-% for making a space for drawing delimiters.
-%
-% \begin{macro}{\WestPbond}
-% \begin{macro}{\EastPbond}
-% \begin{macro}{\sbond}
-% \begin{macrocode}
-% **********************
-% * Bonds for polymers *
-% **********************
-\def\WestPbond{%
-\begin{picture}(100,100)(0,0)
-\put(-100,0){\Westbond}
-\put(-60,0){\line(-1,0){90}}
-\end{picture}}
-\def\EastPbond{%
-\begin{picture}(100,100)(0,0)
-\put(100,0){\Eastbond}
-\put(60,0){\line(1,0){90}}
-\end{picture}}
-\def\sbond{%
-\begin{picture}(160,0)(0,0)
-\put(0,33){\line(1,0){160}}
-\end{picture}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Polyethylene unit}
-%
-% The command |\polyethylene| is used to draw polyethylene derivatives,
-% in which each substituent is designated by the |SUBSLIST|.
-% The following numbering is used in this macro.
-%
-% \begin{verbatim}
-% ********************
-% * polyethylene unit*
-% ********************
-%
-% The following numbering is adopted in this macro.
-%
-% | 1 6 |
-% | |
-% | | | |
-% 2 ---- (1) -- (2) ---- 5
-% | | (0) | |
-% | |
-% | 3 4 |0
-% \end{verbatim}
-%
-% The command |\polyethylene| has arguments,
-% |CALIST| and |SUBSLIST|, as well as an optional argument |AUXLIST|.
-% \begin{verbatim}
-% \polyethylene[AUXLIST]{CALIST}{SUBSLIST}
-% \end{verbatim}
-%
-% The optional argument |AUXLIST| is used for
-% typesetting auxiliary symbols on central atoms.
-% \begin{verbatim}
-% AUXLIST =
-%
-% {n+} : + charge (or another one chararacter) on the center
-% \end{verbatim}
-%
-% The argument |CALIST| is used for indicating center atoms.
-% \begin{verbatim}
-% CALIST: central atom list
-%
-% for 1 : cetral atom (e.g. 1==C)
-% 2 : cetral atom (e.g. 2==C)
-% 0 : cetral bond (e.g. 0D==)
-% \end{verbatim}
-%
-% The argument |SUBSLIST| is used for indicating substituents.
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 4
-%
-% nT : triple bond at n-atom
-% nD : double bond at n-atom
-% n or nS : single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% \begin{macro}{\if@centbondsw}
-% \begin{macro}{\if@centatswi}
-% \begin{macro}{\if@centatswii}
-% \begin{macrocode}
-\newif\if@centbondsw \@centbondswfalse
-\newif\if@centatswi \@centatswifalse
-\newif\if@centatswii \@centatswiifalse
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\polyethylene}
-% \begin{macro}{\@polyethylene}
-% \begin{macrocode}
-\def\polyethylene{\@ifnextchar[{\@polyethylene}{\@polyethylene[]}}
-\def\@polyethylene[#1]#2#3{%
- \begin{picture}(1100,600)(-400,-300)%
- \iforigpt \put(-400,-300){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `polyethylene' origin: %
- (\the\noshift,\the\noshift) ---> (400,300)}\fi%
-% \end{macrocode}
-%
-% \begin{macrocode}
-% ************
-% * aux list *
-% ************
-\def\@@@temp{#1}
-\ifx\@@@temp\empty\else
-\@tfor\member:=#1\do{%
- \expandafter\twoch@@r\member{}{}%
- \ifcase\@@tmpa
- \or \relax \putratom{47}{50}{\scriptsize\@@tmpb}%
- \or \relax \putratom{347}{50}{\scriptsize\@@tmpb}%
-\fi}\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-% *****************
-% * central atoms *
-% *****************
-\@forsemicol\member:=#2\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
- \expandafter\threech@r\@membera{}{}%
- \ifcase\@tmpa \global\@centbondswtrue \put(20,0){\Eastbond}%
- \or \global\@centatswitrue \putlratom{-40}{-33}{\@memberb}%
- \or \global\@centatswiitrue \putlratom{260}{-33}{\@memberb}%
-\fi\fi}%
-\if@centatswi \else \putlratom{-40}{-33}{C}\fi
-\if@centatswii \else \putlratom{260}{-33}{C}\fi
-\if@centbondsw \else \put(70,0){\line(1,0){160}}\fi
-\global\@centbondswfalse
-\global\@centatswifalse
-\global\@centatswiifalse
-% \end{macrocode}
-%
-% \begin{macrocode}
-% ****************
-% * Substituents *
-% ****************
-\gdef\numrepeated{x}
-\@forsemicol\member:=#3\do{%
-\ifx\member\empty\else
-\expandafter\@m@mb@r\member;\relax%
-\expandafter\threech@r\@membera{}{}%
-\ifcase\@tmpa \gdef\numrepeated{\@memberb}%
-\or\put(0,0){\Northbond}%
-\or\put(0,0){\WestPbond}%
-\or\put(0,0){\Southbond}%
-\or\put(300,0){\Southbond}%
-\or\put(300,0){\EastPbond}%
-\or\put(300,0){\Northbond}%
-\fi\fi}%end of ifcase
-% \end{macrocode}
-%
-% \begin{macrocode}
-% **************
-% * Delimeters *
-% **************
-\put(-200,-33){\leftpmdelim}
-\put(400,-33){\rightpmdelim{\numrepeated}}
-\end{picture}}%end of macro polyethylene
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Polyestyrene unit}
-%
-% The command |\polyestrene| is used to draw polystyrene derivatives,
-% in which substituents on both the polymer chain and the phenyl group
-% are designated by the |SUBSLIST| and |PHSUBSLIST|, respectively.
-% The following numbering is adopted in this macro.
-% \begin{verbatim}
-% ********************
-% * polystyrene unit *
-% ********************
-%
-% | 1 6 |
-% | |
-% | | | |
-% 2 ---- (1) -- (2) ---- 5
-% | | (0) | |
-% | | |
-% | 3 | |0
-% / `
-% 6 | | 2
-% | |
-% 5 ` / 3
-% `
-% 4
-% \end{verbatim}
-%
-% The command |\polyethylene| has arguments,
-% |CALIST|, |SUBSLIST| and |PHSUBSLIST|,
-% as well as an optional argument |AUXLIST|.
-% \begin{verbatim}
-% \polystyrene[AUXLIST]{CALIST}{SUBSLIST}{PHSUBSLIST}
-% \end{verbatim}
-%
-% The optional argument |AUXLIST| is used for
-% typesetting auxiliary symbols on central atoms.
-% \begin{verbatim}
-% AUXLIST =
-%
-% {n+} : + charge (or another one chararacter) on the center
-% \end{verbatim}
-%
-% The argument |CALIST| is used for indicating center atoms.
-% \begin{verbatim}
-% CALIST: central atom list
-%
-% for 1 : cetral atom (e.g. 1==C)
-% 2 : cetral atom (e.g. 2==C)
-% 0 : cetral bond (e.g. 0D==)
-% \end{verbatim}
-%
-% The argument |SUBSLIST| is used for indicating substituents on
-% the polymer chain.
-% \begin{verbatim}
-% SUBSLIST: list of substituents
-%
-% for n = 1 to 4
-%
-% nT : triple bond at n-atom
-% nD : double bond at n-atom
-% n or nS : single bond at n-atom
-% nA : alpha single bond at n-atom
-% nB : beta single bond at n-atom
-% \end{verbatim}
-%
-% The argument |PHSUBSLIST| is used for indicating substituents on
-% the phenyl group.
-% \begin{verbatim}
-% PHSUBSLIST: list of phenyl substituents
-%
-% for n = 2 to 6
-%
-% n or nS : single bond at n-atom
-% \end{verbatim}
-%
-% \begin{macro}{\polyethylene}
-% \begin{macro}{\@polyethylene}
-% \begin{macrocode}
-\def\polystyrene{\@ifnextchar[{\@polystyrene}{\@polystyrene[]}}
-\def\@polystyrene[#1]#2#3#4{%
-\begin{picture}(1100,1200)(0,-640)%
- \iforigpt \put(0,-640){\circle*{50}}%
- \put(-\noshift,-\noshift){\circle{50}}%
- \typeout{command `polystyrene' origin: %
- (\the\noshift,\the\noshift) ---> (0,640)}\fi%
-\begingroup \origptfalse
-\put(0,0){\polyethylene[#1]{#2}{#3}}%
-\put(700,0){\line(0,1){240}}%
-\put(300,-646){\bzdrv{#4}}%
-\endgroup
-\end{picture}}%end of macro polystyrene
-%</polymers>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \Finale
-%
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/polymers.ins b/Master/texmf-dist/source/latex/xymtex/polymers.ins
deleted file mode 100644
index 66e71995c27..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/polymers.ins
+++ /dev/null
@@ -1,50 +0,0 @@
-\def\batchfile{polymers.ins}
-\input docstrip.tex
-\preamble
-
-This is a generated file.
-
-Copyright 1996,1998 by Shinsaku Fujita
-
-This file is part of the XyMTeX system.
-=======================================
-
-Version 1.01 Released on August 16, 1996
-Version 1.02 Released on October 31, 1996 (private version)
-Version 2.00 Released on December 25, 1998
-
-Copyright (C) 1998 by Shinsaku Fujita, all rights reserved.
-This style file is created for drawing chemical structural formulas
-This style file is to be contained in the ``xymtex'' directory which
-is an input directory for TeX.
-
-Copying of this file is authorized only if either
-
- (1) you make absolutely no changes to your copy, including name and
- directory name
- (2) if you do make changes,
- (a) you name it something other than the names included in the
- ``xymtex'' directory and
- (b) you acknowledge the original name.
- This restriction ensures that all standard styles are identical.
-
-=======================================
-
-This file contains several codes modified from latex.tex (LaTeX2.09)
-and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
-Copyright 1994 the LaTeX3 project and the individual authors (For further
-copyright information see the file legal.txt of the LaTeX2e standard
-distribution, and any other copyright indicated in this file.)
-
-\endpreamble
-
-\keepsilent
-
-\generateFile{polymers.drv}{t}{%
- \from{polymers.dtx}{driver}}
-
-\generateFile{polymers.sty}{t}{%
- \from{polymers.dtx}{polymers}}
-
-\endinput
- \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/xymtex2.jpn b/Master/texmf-dist/source/latex/xymtex/xymtex2.jpn
deleted file mode 100644
index 341acf60360..00000000000
--- a/Master/texmf-dist/source/latex/xymtex/xymtex2.jpn
+++ /dev/null
@@ -1,86 +0,0 @@
-xymtex2.jpn
-XyMTeXのオンラインドキュメント (日本語版)
-Copyright (C) 1993, 1996, 1998 by Shinsak Fujita. All rights reserved.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-(旧)xymtex1.jpnを改名
-XyMTeXのオンラインドキュメント (日本語版)
-Copyright (C) 1993, 1996 by Shinsak Fujita. All rights reserved.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-`XyMTeX' は化学構造式を描くためのマクロパッケージです。
-
-(1) 設定
-
- このマクロパッケージは、LHAで圧縮されています。この解凍は、次のように
- 行います。
-  まず、圧縮されたxymtex2.lzhが、ディレクトリーb:にあるとします。解凍先を
- ディレクトリーa:\texとします。ディレクトリーa:\texに入ったのち、コマンド
- ラインに次のように入力します。
-
- a:\tex>lha x b:\xymtex2
-
- この結果、解凍が行われて、ディリクトリー\xymtexが自動的に発生します。
- 発生したディレクトリーは、階層を略さずに書けば、a:\tex\xymtexとなります。
- このディレクトリーの中に、XyMTeXの各種スタイルファイルやドキュメント類
- が次のように展開されています。
-
- a---\tex---\xymtex --- hetaromh.sty, hetarom.sty, ccycle.sty,
- | | | chemstr.sty, carom.sty, lowcycl.sty, aliphat.sty,
- | hcycle.sty, locant.sty, polymers.sty, chemist.sty
- | methylen.sty, fusering.sty
- |
- | (dtx files)
- |
- |--\drvdvi---drv files, dvi files
- |
- |--\doc200--- xymtx200.tex, xymtx200.dvi,
- | xymyl.tex, xymadd.tex
- | (other files for the document preparation)
- |
- |---xymtex1.doc (英語版オンラインドキュメント)
- |
- |---xymtex1.jpn (このドキュメント)
- |
- |---readme1.doc (覚え書き)
- |
- |---readme1.jpn (覚え書き)
-
-  同時にアップロードしたxymtx200.dviは、本システムに含まれるコマンドの
- 使用例と仕様を示したものです。プリンタードライバーやプレビューアーにかけて
- ご覧下さい。約100ページです。
-  また、ディレクトリー\doc200に含まれるxymtx200.texは、xymtx200.dviを発生する
- ためのtexファイルです。両者を比較すると、構造式を書くときのヒントが得
- られるでしょう。
-
-(2) サーチパスの設定。
-
-  XyMTeXを使うには、次のようにサーチパスを設定します。この設定は、
- 上記の解凍操作によって発生したことを前提にしています。他のディレクトリー
- 階層にした場合は、それに応じてサーチパスを設定して下さい.多分
- ディレクトリー\tex\texmf\web2cに\texmf.cnfが含まれているので,
- これにパスを追加してください.
- For example, you add
-
- platex2e_inputs = .;$TEXMF/tex/platex2e//;$TEXMF/tex/latex2e//;
- $TEXMF/tex//;a:/tex/inputs//;
- a:/tex/chem//;a:/tex/xymtex//;a:/tex/opsty//
- ~~~~~~~~~~~~~~~ <---- 追加
-(3) 原稿への記入事項
-
-  XyMTeXの命令を使うには、その命令の含まれているスタイルファイルを
- オプション指定する必要があります。たとえば、hetarom.styとhetaromh.styを
- 使うときには、
-
- \documentclass{article}
- \usepackage{epic,hetarom,hetaromh}
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- と、原稿の先頭に記入します。いちいち指定するのが面倒ならば,
-
- \documentclass{article}
- \usepackage{xymtex}
-
- と指定すると,XyMTeX関係のstyファイルがすべて読み込まれます.
-
-(4) LaTeXeまたはpLaTeX2eの起動
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(END)
- \ No newline at end of file