diff options
-rw-r--r-- | Master/texmf-dist/source/latex/xymtex/ccycle.ins | 50 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/xymtex/chemist.dtx | 2359 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/xymtex/chemstr.dtx | 8567 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/xymtex/hetarom.ins | 51 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/xymtex/polymers.drv | 81 |
5 files changed, 11108 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/xymtex/ccycle.ins b/Master/texmf-dist/source/latex/xymtex/ccycle.ins new file mode 100644 index 00000000000..1603014bdae --- /dev/null +++ b/Master/texmf-dist/source/latex/xymtex/ccycle.ins @@ -0,0 +1,50 @@ +\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.dtx b/Master/texmf-dist/source/latex/xymtex/chemist.dtx new file mode 100644 index 00000000000..9d37ff1334c --- /dev/null +++ b/Master/texmf-dist/source/latex/xymtex/chemist.dtx @@ -0,0 +1,2359 @@ +% \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/chemstr.dtx b/Master/texmf-dist/source/latex/xymtex/chemstr.dtx new file mode 100644 index 00000000000..0bab3fdb3ea --- /dev/null +++ b/Master/texmf-dist/source/latex/xymtex/chemstr.dtx @@ -0,0 +1,8567 @@ +% \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/hetarom.ins b/Master/texmf-dist/source/latex/xymtex/hetarom.ins new file mode 100644 index 00000000000..75c408ae768 --- /dev/null +++ b/Master/texmf-dist/source/latex/xymtex/hetarom.ins @@ -0,0 +1,51 @@ +\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/polymers.drv b/Master/texmf-dist/source/latex/xymtex/polymers.drv new file mode 100644 index 00000000000..90b85d949e9 --- /dev/null +++ b/Master/texmf-dist/source/latex/xymtex/polymers.drv @@ -0,0 +1,81 @@ +%% +%% 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'. |