diff options
author | Karl Berry <karl@freefriends.org> | 2007-01-02 22:42:25 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2007-01-02 22:42:25 +0000 |
commit | 0a17be9af1c1cd8e5452befa92ff920a401c47fb (patch) | |
tree | b6ffc2205d70f5572d0c3e4e7965f69b7e3ea87b /Master/texmf-dist/source/latex/xymtex | |
parent | 119aceca4b577e5c6428d2683c92b1eb3e2f1c61 (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')
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 |