%xymyl.tex %Copyright (C) 1998, Shinsaku Fujita, All rights reserved. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %This file is a part of xymtx200.tex that is the manual of the macro %package `XyMTeX' (version 2.00) for drawing chemical structural formulas. %This file is not permitted to be translated into Japanese and any other %languages. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Introduction} \section{History} \subsection{Version 1.00 (1993)} The first version of the \XyMTeX{} system (version 1.00, 1993) with a detailed on-line manual has been depositted to NIFTY-Serve archives (FPRINT library No.\ 7) by the author\cite{fujita2a} and to the CTAN by volunteers\cite{fujita2b}. The articles on the construction and usage of \XyMTeX{} have appeared in Ref. \cite{fujita1,fujita1a}. Although the packages (style files) of the \XyMTeX{} system have originally aimed at using under the \LaTeX{}2.09 system, they also work effectively under the \LaTeXe{} system \cite{lamport2,goossens} without any changes. Thus, what you have to do is to rewrite a top statement for \LaTeX{}2.09 such as \begin{verbatim} \documentstyle[epic,carom,hetarom]{article} \end{verbatim} into the counterpart for \LaTeXe{}, {\em e.g.}, \begin{verbatim} \documentclass{article} \usepackage{epic,carom,hetarom} \end{verbatim} \subsection{Version 1.01 (1996)} The Version 1.01 of the \XyMTeX{} system has been released in 1996, when the system with a detailed on-line manual was depositted to NIFTY-Serve archives (FPRINT library No.\ 7) by the author \cite{fujita2c}. The system is now available from Fujita's homepage \cite{fujita2d} via internet or from a CD-ROM that is attached to the referece manual published in 1997 \cite{XyMTeXbook}.\footnote{% The basic items described in the \XyMTeX book are common and applied also in Version 2.00. Please refer to the \XyMTeX book, when they are used without explanations in this manual.} The purpose of version 1.01 is the updating of \XyMTeX{} to meet the \LaTeXe{} way of preparing packages (option style files). The following items have been revised or added for encouraging the \XyMTeX{} users to write articles of chemical fields. \begin{enumerate} \item Each of the old sty files of \XyMTeX{} has been rewritten into a dtx file, from which we have prepared a new sty file by using the {\sf docstrip} utility of \LaTeXe. If you want to obtain the document of each source file, you may apply \LaTeXe{} to the corresponding drv file, which has also been prepared from the dtx file by using the {\sf docstrip} utility. \item Macros for drawing chair-form cyclohexanes and for drawing adamantanes of an alternative type have been added. \item Macros for drawing polymers have been added. \item The package {\sf chemist.sty}, which was originally prepared for \cite{fujita2}, has been rewritten into a dtx file and added to \XyMTeX{} as a new component. This package enables us to use various functions such as \begin{enumerate} \item the numbering and cross-reference of chemical compounds and derivatives, \item various arrows of fixed and flexible length for chemical equations, \item `chem' version and chemical environments for describing chemical equations, and \item various box-preparing macros for chemical or general use. \end{enumerate} \end{enumerate} \subsection{Version 1.02 (1998, not released)} The Version 1.02 of \XyMTeX{} has been devoted to the development of the nested-substitution method, which simplifies the coding of \XyMTeX{} commands. In \XyMTeX{} version 1.01, each subsitituent is assumed to be rather small so that it can be specified by means of a substitution list ``SUBSLIST''. For example, 1-fluorobenzene, \begin{center} \bzdrh{4==F} \end{center} is drawn by the following code: \begin{verbatim} \bzdrh{4==F} \end{verbatim} To draw a substituent with a complicated structure, a designation of the same line produces an insufficient result. Thus, if we simply write the code \begin{verbatim} \bzdrh{4==\bzdrh{}} \end{verbatim} to draw a biphenyl structure, we have a separate structure as follows: \vskip1.5\baselineskip \begin{center} \bzdrh{4==\bzdrh{}} \end{center} Within the scope of \XyMTeX version 1.01, such a substituent with a complicated structure can be treated by three distinct methods (see Chapters 14 and 15 of \XyMTeX book). \begin{enumerate} \item(Method I) When we write a code \verb/\bzdrh{4==}\bzdrh{}/ to draw a biphenyl structure, we obtain an insufficient result such as \begin{center} \bzdrh{4==}\bzdrh{} \end{center} since each command has an area to draw its target sturucture. To remedy this situation, we can write \begin{verbatim} \bzdrh{4==}\kern-33pt\bzdrh{} \end{verbatim} Then, we obtain the following structure: \begin{center} \bzdrh{4==}\kern-33pt\bzdrh{} \end{center} However, a more complicated adjustment is necessary to apply this method to a case in which the components of a structual formula are not linearly aligned. \item (Method II) We can carry out the same task by using the \LaTeX{} picture einvironment. The code \begin{verbatim} \begin{picture}(1400,700)(0,0) \put(0,0){\bzdrh{4==}} \put(546,0){\bzdrh{}} \end{picture} \end{verbatim} produces the following structure: \begin{center} \begin{picture}(1400,700)(0,0) \put(0,0){\bzdrh{4==}} \put(546,0){\bzdrh{}} \end{picture} \end{center} This method realizes such a complicated adustment as mentioned above, since the \verb/\put/ is capable of putting components at arbitrary positions. \item (Method III) In a further method of drawing the biphenyl structure, one phenyl group is regarded as a substituent of the other phenyl. These two parts can be combined by writing a code, \begin{verbatim} \bzdrh{4==\kern-25pt\lower37pt\hbox to0pt{\bzdrh{}}} \end{verbatim} in which the commands \verb/\kern/ (for horizontal adjustment) and \verb/\lower/ (for vertical adjustment) are used to adjust the substitution site. Thereby, we have \begin{center} \bzdrh{4==\kern-25pt\lower37pt\hbox to0pt{\bzdrh{}}} \end{center} This method has a disadvantage of calculating adjustment values manually for every formula to be drawn. \end{enumerate} These three methods are useful for drawing complicated structure. However, they have an essential disadvantage: their codes give no, or at most partial, connectivity data between parts to be combined, though such parts appear to be combined as a picture. For example, the code \begin{verbatim} \bzdrh{4==\kern-25pt\lower37pt\hbox to0pt{\bzdrh{3==Cl}}} \end{verbatim} producing \begin{center} \bzdrh{4==\kern-25pt\lower37pt\hbox to0pt{\bzdrh{3==Cl}}} \end{center} has no connectivity data at the meta position to the chlorine atom of the scecond benzene ring. As clarified by the discussion in the preceding paragraphs, the \XyMTeX{} system should have a function to place substituents at appropriate sites without complex designation, where connectivity data are maintained during the process of drawing. The target of \XyMTeX{} Version 1.02 is to treat nested substitution with the automatic adjustment of subsitution sites (named as the nested-substitution method). Concretely speaking, for example, such a code as \begin{verbatim} \bzdrh{1==F;4==\bzdrh{1==(yl);3==Cl}} \end{verbatim} directly produces \begin{center} \bzdrh{1==F;4==\bzdrh{1==(yl);3==Cl}} \end{center} where the code shows that the second benzene ring is linked to the para position of the first benzene ring at the meta position to the chlorine atom. Thus the target accomplished by the ``yl''-function, as shown in this code. \section{Version 2.00 (1998)} The ``yl''-function developed in \XyMTeX{} Version 1.02 is regarded as a modification of SUSBLISTs. As an extention of this mothodology, BONDLISTs can be modified to treat ring fusion, since each ring fusion is considered to be a kind of substitution on a bond. In addition, ATOMLIST can also be used to treat spiro rings, since each spiro ring is a kind of atom replacement at an appropriate vertex. To expand the scope of the \XyMTeX{} system, we introduce several new functions as follows. \begin{enumerate} \item Several bond modifiers are added to draw alternative up- and down-bonds as well as to treat ring fusion. \item The ``yl''-function for SUBSLISTs is further improved. The commands \verb/\ryl/ and \verb/\lyl/ are prepared to typeset intervening moieties. \item Ring fusion is treated by adding a fusing unit to the BONDLIST of each command. \item Several fusing units (three- to six-membered units) are developed (fusering.sty). \item A new function for typesetting a spiro ring is introduced in each command for general use. A spiro ring is treated by ring-replacement technique, where the corresponding code is written in the ATOMLIST of each command. \item Commands for typeseting zigzag polymethylenes are developed (methylen.sty). \item Commands for drawing six-six fused carbocycles and heterocycles are added. \item An optional argument SKBONDLIST is added to each command of general use for drawing boldfaced and dotted skeletal bonds. \item An optional argument OMIT is added to each command of general use for drawing related skeletons by bond deletion. \end{enumerate} The \XyMTeX{} system (version 2.00) consists of package files listed in Table \ref{tt:200a1}. The package file `\textsf{chemstr.sty}' is the basic file that is automatically read within any other package file of \XyMTeX{}. It contains macros for internal use, {\em e.g.}, common commands for bond-setting and atom-setting. The other package files contain macros for users. These files are designed to work not only as packages for \LaTeXe but also as option style files for \LaTeX{}2.09 (native mode). \begin{table}[hpbt] \caption{Package Files of \protect\XyMTeX{}} \label{tt:200a1} \begin{center} \begin{tabular}{lp{10cm}} \hline package name & \multicolumn{1}{c}{included functions} \\ \hline \textsf{aliphat.sty} & macros for drawing aliphatic compounds \\ \textsf{carom.sty} & macros for drawing vertical and horizontal types of carbocyclic compounds \\ \textsf{lowcycle.sty} & macros for drawing five-or-less-membered carbocyles. \\ \textsf{ccycle.sty} & macros for drawing bicyclic compounds etc. \\ \textsf{hetarom.sty} & macros for drawing vertical types of heterocyclic compounds \\ \textsf{hetaromh.sty} & macros for drawing horizontal types of heterocyclic compounds \\ \textsf{hcycle.sty} & macros for drawing pyranose and furanose derivatives \\ \textsf{chemstr.sty} & basic commands for atom- and bond-typesetting \\ \textsf{locant.sty} & commands for printing locant numeres \\ \textsf{polymers.sty} & commands for drawing polymers \\ \textsf{fusering.sty} & commands for drawing units for ring fusion \\ \textsf{methylen.sty} & commands for drawing zigzag polymethylene chains \\ \textsf{xymtex.sty} & a package for calling all package files \\ \textsf{chemist.sty} & commands for using `chem' version and chemical environments \\ \hline \end{tabular} \end{center} \end{table} The use of \textsf{xymtex.sty} calling all package files may sometimes cause the ``\TeX{} capacity exceeded'' error. In this case, you should call necessary packages distinctly by using the \verb/\usepackage/ command. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Bond Modifiers Added} \section{Alternative Bond Modifiers for Up and Down Bonds} In addition to the original bond modifiers (see the \XyMTeX book), the present version of \XyMTeX{} provides us with several bond modifiers that can be used in the argument SUBSLIST of each \XyMTeX{} command. These modifiers are listed in Table \ref{tt:200a} along with the original bond modifiers. \begin{table} \caption{Locant numbering and bond modifiers for SUBSLIST} \label{tt:200a} \begin{center} \begin{tabular}{lp{12cm}} \hline Bond Modifiers & \multicolumn{1}{c}{Printed structures} \\ \hline \multicolumn{2}{l}{\bfseries Original Bond Modifiers} \\ $n$ or $n$S & exocyclic single bond at $n$-atom \\ $n$D & exocyclic double bond at $n$-atom \\ $n$A & alpha single bond at $n$-atom \\ $n$B & beta single bond at $n$-atom \\ $n$Sa & alpha (not specified) single bond at $n$-atom \\ $n$Sb & beta (not specified) single bond at $n$-atom \\ $n$SA & alpha single bond at $n$-atom (dotted line) \\ $n$SB & beta single bond at $n$-atom (boldface) \\ \hline \multicolumn{2}{l}{\bfseries Bond Modifiers Added} \\ $n$Sd & alpha single bond at $n$-atom (dotted line) with an alternative direction to $n$SA \\ $n$Su & beta single bond at $n$-atom (boldface) with an alternative direction to $n$SB \\ $n$FA & alpha single bond at $n$-atom (dotted line) for ring fusion \\ $n$FB & beta single bond at $n$-atom (boldface) for ring fusion \\ $n$GA & alpha single bond at $n$-atom (dotted line) for the other ring fusion \\ $n$GB & beta single bond at $n$-atom (boldface) for the other ring fusion \\ \hline \end{tabular} \end{center} \end{table} The added bond modifiers, `Sd' (d for down) and `Su' (u for up), designate $\alpha$- and $\beta$-bonds in such an exchanged manner as the original bond modifiers, `SA' and `SB' designate. Figure \ref{ff:200a} shows the comparison between the added bond modifiers and the original ones by using a cyclohexane skeleton (\verb/\cyclohexanev/). \begin{figure}[h] \begin{center} \cyclohexanev{1Sd==1Sd;1Su==1Su;% 2Sd==2Sd;2Su==2Su;3Sd==3Sd;3Su==3Su;% 4Sd==4Sd;4Su==4Su;5Sd==5Sd;5Su==5Su;% 6Sd==6Sd;6Su==6Su} \qquad\qquad \cyclohexanev{1SA==1SA;1SB==1SB;% 2SA==2SA;2SB==2SB;3SA==3SA;3SB==3SB;% 4SA==4SA;4SB==4SB;5SA==5SA;5SB==5SB;% 6SA==6SA;6SB==6SB} \caption{Bond Modifiers for $\alpha$- and $\beta$-Bonds} \label{ff:200a} \end{center} \end{figure} \section{Bond Modifiers for Ring Fusion} In the present verstion (2.00), we have added a new function for ring fusion. Since the function requires bond modifiers for desiginating substitution at such fused positions, we have added the modifiers, `FA', `FB', `GA', and `GB'. These modifiers are illustrated in Figure \ref{ff:200b} \begin{figure} \begin{center} \cyclohexanev{1FA==1FA;1GB==1GB;3FA==3FA;3GB==3GB;5FA==5FA;5GB==5GB} \qquad\qquad \cyclohexanev{1FB==1FB;1GA==1GA;3FB==3FB;3GA==3GS;5FB==5FB;5GA==5GA} \cyclohexanev{2FA==2FA;2GB==2GB;4FA==4FA;4GB==4GB;6FA==6FA;6GB==6GB} \qquad\qquad \cyclohexanev{2FB==2FB;2GA==2GA;4FB==4FB;4GA==4GA;6FB==6FB;6GA==6GA} \caption{Bond Modifiers for Ring Fusion} \label{ff:200b} \end{center} \end{figure} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Nested-Substituent Method} \section{Introduction} Chapter 14 (Combining Structures) and Chapter 15 (Large Substituents) of the \XyMTeX book have described several techniques to draw complicated formulas. Among them, the nested-substituent method is most promising. For example, the code \begin{verbatim} \bzdrh{1==Cl;4==\kern-25pt\lower37pt\hbox to0pt{\bzdrh{3==F}}} \end{verbatim} gives a combined structure, \begin{center} \bzdrh{1==Cl;4==\kern-25pt\lower37pt\hbox to0pt{\bzdrh{3==F}}} \end{center} Although the code shows the connectivity between the two phenyl groups, the following disadvantages remain: \begin{enumerate} \item The code contains no data indicating that the connection site is the meta-position concerning the fluorine atom. \item The commands \verb/\kern/ (for horizontal adjustment) and \verb/\lower/ (for vertical adjustment) are necessary to adjust the subsitutution site. \end{enumerate} As clarified by the above examples, the main target of \XyMTeX{} Version 2.00 is to extend the nested-substituent method so that it provides a function of indicating full connectivity data as well as a function of automatical adjustment without using such commands as \verb/\kern/ and \verb/\lower/. \section{``yl''-Functions} In \XyMTeX{} Version 2.00, the ``yl''-function is added so as to improve the nested-subsituent method. Thereby, any structure drawn by a \XyMTeX{} command (except a few special commands) can be converted into the corresponding substituent by adding the code \verb/(yl)/ with a locant number. The resulting code for the substituent can be added to the SUBSLIST of any other command for drawing a mother skeleton, where the final code contains the full connectivity data of the combined structure. For example, the code \begin{verbatim} \bzdrh{1==Cl;4==\bzdrh{1==(yl);3==F}} \end{verbatim} typesets the following structure, \begin{center} \bzdrh{1==Cl;4==\bzdrh{1==(yl);3==F}} \end{center} Thus, fluorobenzene produced by the command \verb/\bzdrh{3==F}/ is converted into a subsituent, i.e. 3-fluorophenyl, by adding the code \verb/(yl)/, as shown in the code, \verb/\bzdrh{1==(yl);3==F}/. Then, the resulting code is added to the SUBSLIST of another command \verb/\bzdrh/. The connectivity at the meta-position is represented by the statement \verb/1==(yl)/ of the innner code \verb/\bzdrh{1==(yl);3==F}/. Note that the inner code \verb/\bzdrh{1==(yl);3==F}/ produces a substituent with no height and no width and that the reference point of the substituent is shifted to the point no.~1 by the (yl)-statement in order to link to the mother structure (the phenyl group produced by the code \verb/\bzdrh{1==Cl;4=={...}}/). The shift of a reference point becomes clear when we examine a formula, \begin{center} \vspace*{2cm} \bzdrh{1==Cl;3==\bzdrh{6==(yl);3==F}} \end{center} generated by the code, \begin{verbatim} \bzdrh{1==Cl;3==\bzdrh{6==(yl);3==F}} \end{verbatim} The original structure of the substituent with no ``yl'' function is found to be \begin{center} \begin{picture}(700,800)(0,0) \put(0,0){\bzdrh{3==F}} \put(0,0){\circle*{50}} \end{picture} \end{center} as generated by the code \begin{verbatim} \begin{picture}(700,800)(0,0) \put(0,0){\bzdrh{3==F}} \put(0,0){\circle*{50}} \end{picture} \end{verbatim} where the solid circle is the reference point. The picture shown above indicates that the reference point is different from any vertices of the benzene ring. On the other hand, the code with a ``yl''-function, \begin{verbatim} \begin{picture}(700,800)(0,-200) \put(0,0){\bzdrh{6==(yl);3==F}} \put(0,0){\circle*{50}} \end{picture} \end{verbatim} typesets the following structure, \begin{center} \begin{picture}(700,800)(0,-200) \put(0,0){\bzdrh{6==(yl);3==F}} \put(0,0){\circle*{50}} \end{picture} \end{center} The picture shown above indicates that the reference point is shifted to the position no.~6 of the benzene ring. The code \verb/\bzdrh{1==(yl);3==F}/ producing the substituent can be used in the argument of any structure-drawing command of \XyMTeX{}. The following example is the one in which it is placed in the argument of a command \verb/\bzdrv/. Thus, the code \begin{verbatim} \bzdrv{1==Cl;3==\bzdrh{1==(yl);3==F}} \end{verbatim} typesets the following structure, \begin{center} \bzdrv{1==Cl;3==\bzdrh{1==(yl);3==F}} \end{center} The structural formula of 1-chloro-4-morphorinobenzene can be drawn in two different ways. The codes, \begin{verbatim} \bzdrh{1==Cl;4==\sixheteroh[]{1==N;4==O}{1==(yl)}} \hskip 6cm \sixheteroh[]{1==N;4==O}{1==\bzdrh{1==Cl;4==(yl)}} \end{verbatim} produce the following formulas: \begin{center} \bzdrh{1==Cl;4==\sixheteroh[]{1==N;4==O}{1==(yl)}} \hskip 6cm \sixheteroh[]{1==N;4==O}{1==\bzdrh{1==Cl;4==(yl)}} \end{center} In the former code, the morphorino group is regareded as a substituent, as the name ``1-chloro-4-morphori\-nobenzene'' indicates. On the other hand, the chlorophenyl group is considered to be a substituent in the latter code so as to correspond to the name ``N-(4-chlorophenyl)morphorine''. The ``yl''-function is quite versatile, as indicated by the code, \begin{verbatim} \decaheterov[]{4a==N}{4D==O;7B==HO;{{10}A}==H;% 5==\bzdrv{3==OMe;4==OMe;6==Br;1==(yl)}} \end{verbatim} producing the following structure: \begin{center} \decaheterov[]{4a==N}{4D==O;7B==HO;{{10}A}==H;% 5==\bzdrv{3==OMe;4==OMe;6==Br;1==(yl)}} \end{center} \par\vskip2cm \noindent where the substituted phenyl group is regarded as a substituent. An opposite view can be realized by the code \begin{verbatim} \bzdrv{3==OMe;4==OMe;6==Br;% 1==\decaheterov[]{4a==N}{4D==O;7B==HO;{{10}A}==H;5==(yl)}} \end{verbatim} which typesets the same structure: \vskip2cm \begin{center} \bzdrv{3==OMe;4==OMe;6==Br;% 1==\decaheterov[]{4a==N}{4D==O;7B==HO;{{10}A}==H;5==(yl)}} \end{center} where the moiety drawn by the command \verb/\decaheterov/ is regarded as a substituent. Two or more substituents generated by the ``yl''-function can be introduced into an ATOMLIST. For example, \begin{verbatim} \bzdrh{1==\bzdrh{4==(yl)};4==\bzdrh{1==(yl);3==F}} \end{verbatim} typesets the following structure, \begin{center} \bzdrh{1==\bzdrh{4==(yl)};4==\bzdrh{1==(yl);3==F}} \end{center} The structural formula of hexaphenylbenzene can be drawn by this technique. Thus the code, \begin{verbatim} \bzdrv{1==\bzdrv{4==(yl)};% 2==\bzdrv{5==(yl)};3==\bzdrv{6==(yl)};% 4==\bzdrv{1==(yl)};5==\bzdrv{2==(yl)};% 6==\bzdrv{3==(yl)}} \end{verbatim} generates the following formula: \begin{center} \vspace*{1cm} \bzdrv{1==\bzdrv{4==(yl)};% 2==\bzdrv{5==(yl)};3==\bzdrv{6==(yl)};% 4==\bzdrv{1==(yl)};5==\bzdrv{2==(yl)};% 6==\bzdrv{3==(yl)}} \vspace*{1cm} \end{center} \section{Nested ``yl''-functions} Two or more ``yl''-functions can be nested. For example, a structure \begin{center} \tetrahedral{0==C;1D==O;4==\bzdrh{1==(yl)}} \end{center} depicted by the code, \begin{verbatim} \tetrahedral{0==C;1D==O;4==\bzdrh{1==(yl)}} \end{verbatim} can be converted into a substituent by adding ``yl''-function, as shown in the following code: \begin{verbatim} \tetrahedral{2==(yl);0==C;1D==O;4==\bzdrh{1==(yl)}} \end{verbatim} Then this substituent is nested in the SUBSLIST of the command \verb/\cyclohexaneh/ to give a code, \begin{verbatim} \cyclohexaneh[]{4==% \tetrahedral{2==(yl);0==C;1D==O;4==\bzdrh{1==(yl)}}} \end{verbatim} Thereby we have the structural formula of benzoylcyclohexane: \begin{center} \cyclohexaneh[]{4==% \tetrahedral{2==(yl);0==C;1D==O;4==\bzdrh{1==(yl)}}} \end{center} The resulting structure can be further converted into a substituent by adding ``yl''-function. The following example shows that the substituent is linked to the 4-position of a naphthol ring: \begin{center} \naphdrh{1==HO;4==% \cyclohexaneh[]{1==(yl);4==% \tetrahedral{2==(yl);0==C;1D==O;4==\bzdrh{1==(yl)}}}} \end{center} which is typeset by the triply nested code: \begin{verbatim} \naphdrh{1==HO;4==% \cyclohexaneh[]{1==(yl);4==% \tetrahedral{2==(yl);0==C;1D==O;4==\bzdrh{1==(yl)}}}} \end{verbatim} The same structural formula can be drawn by regarding the 1-naphthol-4-yl group and the benzoyl group as substituents, as shown in the following code: \begin{verbatim} \cyclohexaneh[]{% 1==\naphdrh{1==HO;4==(yl)};% 4==\tetrahedral{2==(yl);0==C;1D==O;4==\bzdrh{1==(yl)}}} \end{verbatim} Accordingly, we have \begin{center} \cyclohexaneh[]{% 1==\naphdrh{1==HO;4==(yl)};% 4==\tetrahedral{2==(yl);0==C;1D==O;4==\bzdrh{1==(yl)}}} \end{center} \bigskip The structure of benzoylcyclohexane can also be drawn by considering the \verb/\tetrahedral/ moiety as a mother skeleton, as shown in the code: \begin{verbatim} \tetrahedral{0==C;1D==O;4==\bzdrh{1==(yl)};2==\cyclohexaneh[]{4==(yl)}} \end{verbatim} Thereby, we have the formula, \begin{center} \tetrahedral{0==C;1D==O;4==\bzdrh{1==(yl)};2==\cyclohexaneh[]{4==(yl)}} \end{center} which shows that two or more substituents produced by the ``yl''-function can be written in a SUBSLIST. This treatment corresponds to the alternative name of benzoylcyclohexane, i.e., cyclohexyl phenyl ketone, since the codes \verb/\cyclohexaneh{4==(yl)}/ and \verb/\bzdrh{1==(yl)}/ represent a cyclohexyl and a phenyl group, respectively. Although the resulting structure cannot be used as a substituent concerning the cyclohexane ring, the SUBSLIST of the command \verb/\cyclohexaneh/ is capable of accomodating the substituent \verb/\naphdrh{1==HO;4==(yl)}/ to give \begin{verbatim} \tetrahedral{0==C;1D==O;4==\bzdrh{1==(yl)};% 2==\cyclohexaneh[]{4==(yl);1==\naphdrh{1==HO;4==(yl)}}} \end{verbatim} which typesets the same structural formula: \begin{center} \tetrahedral{0==C;1D==O;4==\bzdrh{1==(yl)};% 2==\cyclohexaneh[]{4==(yl);1==\naphdrh{1==HO;4==(yl)}}} \vspace*{1cm} \end{center} The formula, \begin{center} \vspace*{2cm} \bzdrv{% 1==\bzdrv{4==(yl);2==\bzdrv{5==(yl)}};% 2==\bzdrv{5==(yl);3==\bzdrv{6==(yl)}};% 3==\bzdrv{6==(yl);4==\bzdrv{1==(yl)}};% 4==\bzdrv{1==(yl);5==\bzdrv{2==(yl)}};% 5==\bzdrv{2==(yl);6==\bzdrv{3==(yl)}};% 6==\bzdrv{3==(yl);1==\bzdrv{4==(yl)}}} \vspace*{2cm} \end{center} illustrates the more complicated structure of a code with nested ``yl''-functions: \begin{verbatim} \bzdrv{% 1==\bzdrv{4==(yl);2==\bzdrv{5==(yl)}};% 2==\bzdrv{5==(yl);3==\bzdrv{6==(yl)}};% 3==\bzdrv{6==(yl);4==\bzdrv{1==(yl)}};% 4==\bzdrv{1==(yl);5==\bzdrv{2==(yl)}};% 5==\bzdrv{2==(yl);6==\bzdrv{3==(yl)}};% 6==\bzdrv{3==(yl);1==\bzdrv{4==(yl)}}} \end{verbatim} To simplify the coding, we define a macro drawing a biphenyl unit as follows: \begin{verbatim} \def\biph#1#2#3{\bzdrv{#1==(yl);#2==\bzdrv{#3==(yl)}}} \end{verbatim} Then, this macro is used in the SUBSLIST of \verb/\bzdrv/ to give the code, \begin{verbatim} \bzdrv{% 1==\biph{4}{2}{5};% 2==\biph{5}{3}{6};% 3==\biph{6}{4}{1};% 4==\biph{1}{5}{2};% 5==\biph{2}{6}{3};% 6==\biph{3}{1}{4}} \end{verbatim} Thereby, we have \begin{center} \vspace*{2cm} \def\biph#1#2#3{\bzdrv{#1==(yl);#2==\bzdrv{#3==(yl)}}} \bzdrv{% 1==\biph{4}{2}{5};% 2==\biph{5}{3}{6};% 3==\biph{6}{4}{1};% 4==\biph{1}{5}{2};% 5==\biph{2}{6}{3};% 6==\biph{3}{1}{4}} \vspace*{2cm} \end{center} A more complex nested code, \begin{verbatim} \vspace*{8cm} \bzdrv{% 1==\bzdrv{4==(yl);2==\bzdrv{5==(yl);3==\bzdrv{6==(yl);% 3==\bzdrv{6==(yl);4==\bzdrv{1==(yl);4==\bzdrv{1==(yl);% 4==\bzdrv{1==(yl);5==\bzdrv{2==(yl);5==\bzdrv{2==(yl);% 5==\bzdrv{2==(yl)}}}}}}}}}};% 2==\bzdrv{5==(yl);3==\bzdrv{6==(yl);4==\bzdrv{1==(yl);% 4==\bzdrv{1==(yl);5==\bzdrv{2==(yl);5==\bzdrv{2==(yl);% 5==\bzdrv{2==(yl);6==\bzdrv{3==(yl);6==\bzdrv{3==(yl);% 6==\bzdrv{3==(yl)}}}}}}}}}};% 3==\bzdrv{6==(yl);4==\bzdrv{1==(yl);5==\bzdrv{2==(yl);% 5==\bzdrv{2==(yl);6==\bzdrv{3==(yl);6==\bzdrv{3==(yl);% 6==\bzdrv{3==(yl);1==\bzdrv{4==(yl);1==\bzdrv{4==(yl);% 1==\bzdrv{4==(yl)}}}}}}}}}};% 4==\bzdrv{1==(yl);5==\bzdrv{2==(yl);6==\bzdrv{3==(yl);% 6==\bzdrv{3==(yl);1==\bzdrv{4==(yl);1==\bzdrv{4==(yl);% 1==\bzdrv{4==(yl);2==\bzdrv{5==(yl);2==\bzdrv{5==(yl);% 2==\bzdrv{5==(yl)}}}}}}}}}};% 5==\bzdrv{2==(yl);6==\bzdrv{3==(yl);1==\bzdrv{4==(yl);% 1==\bzdrv{4==(yl);2==\bzdrv{5==(yl);2==\bzdrv{5==(yl);% 2==\bzdrv{5==(yl);3==\bzdrv{6==(yl);3==\bzdrv{6==(yl);% 3==\bzdrv{6==(yl)}}}}}}}}}};% 6==\bzdrv{3==(yl);1==\bzdrv{4==(yl);2==\bzdrv{5==(yl);% 2==\bzdrv{5==(yl);3==\bzdrv{6==(yl);3==\bzdrv{6==(yl);% 3==\bzdrv{6==(yl);4==\bzdrv{1==(yl);4==\bzdrv{1==(yl);% 4==\bzdrv{1==(yl)}}}}}}}}}}} \end{verbatim} produces the following formula: \clearpage%to avoid ! TeX capacity exceeded \begin{center} \vspace*{8cm} \bzdrv{% 1==\bzdrv{4==(yl);2==\bzdrv{5==(yl);3==\bzdrv{6==(yl);% 3==\bzdrv{6==(yl);4==\bzdrv{1==(yl);4==\bzdrv{1==(yl);% 4==\bzdrv{1==(yl);5==\bzdrv{2==(yl);5==\bzdrv{2==(yl);% 5==\bzdrv{2==(yl)}% }}}% }}}% }}};% 2==\bzdrv{5==(yl);3==\bzdrv{6==(yl);4==\bzdrv{1==(yl);% 4==\bzdrv{1==(yl);5==\bzdrv{2==(yl);5==\bzdrv{2==(yl);% 5==\bzdrv{2==(yl);6==\bzdrv{3==(yl);6==\bzdrv{3==(yl);% 6==\bzdrv{3==(yl)}% }}}% }}}% }}};% 3==\bzdrv{6==(yl);4==\bzdrv{1==(yl);5==\bzdrv{2==(yl);% 5==\bzdrv{2==(yl);6==\bzdrv{3==(yl);6==\bzdrv{3==(yl);% 6==\bzdrv{3==(yl);1==\bzdrv{4==(yl);1==\bzdrv{4==(yl);% 1==\bzdrv{4==(yl)}% }}}% }}}% }}};% 4==\bzdrv{1==(yl);5==\bzdrv{2==(yl);6==\bzdrv{3==(yl);% 6==\bzdrv{3==(yl);1==\bzdrv{4==(yl);1==\bzdrv{4==(yl);% 1==\bzdrv{4==(yl);2==\bzdrv{5==(yl);2==\bzdrv{5==(yl);% 2==\bzdrv{5==(yl)}% }}}% }}}% }}};% 5==\bzdrv{2==(yl);6==\bzdrv{3==(yl);1==\bzdrv{4==(yl);% 1==\bzdrv{4==(yl);2==\bzdrv{5==(yl);2==\bzdrv{5==(yl);% 2==\bzdrv{5==(yl);3==\bzdrv{6==(yl);3==\bzdrv{6==(yl);% 3==\bzdrv{6==(yl)}% }}}% }}}% }}};% 6==\bzdrv{3==(yl);1==\bzdrv{4==(yl);2==\bzdrv{5==(yl);% 2==\bzdrv{5==(yl);3==\bzdrv{6==(yl);3==\bzdrv{6==(yl);% 3==\bzdrv{6==(yl);4==\bzdrv{1==(yl);4==\bzdrv{1==(yl);% 4==\bzdrv{1==(yl)}% }}}% }}}% }}}} \end{center} \clearpage The code to draw this structural formula is too complicated to cause the ``\TeX{} capacity exceeded'' error. To avoid the error, we use \verb/\clearpage/ commands before and after the output of the formula. In addition, we call only necessary packages to treat this cocument without the use of \textsf{xymtex.sty} calling all package files. \section{Remarks} \subsection{Drawing Domains} Substituents produced by the ``yl''-function have no dimensions. For example, benzoylcyclohexane \begin{center} \fbox{% \cyclohexaneh[]{4==% \tetrahedral{2==(yl);0==C;1D==O;4==\bzdrh{1==(yl)}}}% } \end{center} produced by the code \begin{verbatim} \cyclohexaneh[]{4==% \tetrahedral{2==(yl);0==C;1D==O;4==\bzdrh{1==(yl)}}} \end{verbatim} has a drawing domain around the cyclohexane mother skeleton, as encircled by a frame. Since the bezoyl moiety occupies no area, it may be superimposed on other contexts so as to require some space adjustments. For example, the above code duplicated without any space adjustment, \begin{verbatim} \cyclohexaneh[]{4==% \tetrahedral{2==(yl);0==C;1D==O;4==\bzdrh{1==(yl)}}} \cyclohexaneh[]{4==% \tetrahedral{2==(yl);0==C;1D==O;4==\bzdrh{1==(yl)}}}% \end{verbatim} gives an insufficient result: \begin{center} \cyclohexaneh[]{4==% \tetrahedral{2==(yl);0==C;1D==O;4==\bzdrh{1==(yl)}}} \cyclohexaneh[]{4==% \tetrahedral{2==(yl);0==C;1D==O;4==\bzdrh{1==(yl)}}}% \end{center} This superposition can be avoided by a horizontal spacing. Thus the code \begin{verbatim} \cyclohexaneh[]{4==% \tetrahedral{2==(yl);0==C;1D==O;4==\bzdrh{1==(yl)}}} \hskip2cm \cyclohexaneh[]{4==% \tetrahedral{2==(yl);0==C;1D==O;4==\bzdrh{1==(yl)}}}% \end{verbatim} typesets improved formulas: \begin{center} \cyclohexaneh[]{4==% \tetrahedral{2==(yl);0==C;1D==O;4==\bzdrh{1==(yl)}}} \hskip2cm \cyclohexaneh[]{4==% \tetrahedral{2==(yl);0==C;1D==O;4==\bzdrh{1==(yl)}}}% \end{center} If a more thorough adjustment is required, a formula should be placed in a \LaTeX{} picture environment as follows. \begin{verbatim} \begin{picture}(1600,900)(0,0) \cyclohexaneh[]{4==% \tetrahedral{2==(yl);0==C;1D==O;4==\bzdrh{1==(yl)}}} \end{picture} \end{verbatim} This code produces \begin{center} \fbox{% \begin{picture}(1600,900)(0,0) \cyclohexaneh[]{4==% \tetrahedral{2==(yl);0==C;1D==O;4==\bzdrh{1==(yl)}}} \end{picture} } \end{center} where a frame is added by means of a \verb/\fbox/ command. A drawing domain around a formula depends upon a mother skeleton selected. For example, the formula of benzoylcyclohexane at the top of this section has a drawing domain shown by the frame, since a \verb/\cyclohexaneh/ is selected as a mother skeleton. On the other hand, the alternative formula of benzoylcyclohexane depicted by the code, \begin{verbatim} \tetrahedral{0==C;1D==O;4==\bzdrh{1==(yl)};2==\cyclohexaneh[]{4==(yl)}} \end{verbatim} has a drawing domain due to the \verb/\tetrahedral/ skeleton. Thus, the code gives the following output: \begin{center} \fbox{% \tetrahedral{0==C;1D==O;4==\bzdrh{1==(yl)};2==\cyclohexaneh[]{4==(yl)}} } \end{center} where the frame indicates such a drawing domain, when an \verb/\fbox/ command is used around the \verb/\tetrahedral/ command. The domain shown by the frame (due to \verb/\fbox/) is equal to any domain based on the simple use of the \verb/\tetrahedral/ command (without using the ``yl''-function). For example, compare the above frame with the one appearing in the formula, \begin{center} \fbox{\tetrahedral{0==C;1D==O;4==Cl;2==Cl}} \end{center} depicted by the code, \begin{verbatim} \fbox{\tetrahedral{0==C;1D==O;4==Cl;2==Cl}} \end{verbatim} \subsection{Reference Points} Each \XyMTeX{} command for drawing a mother skeleton has its reference point and its inner reference point. These points can be printed out by switching \verb/\origpt/ on. For example, the code \begin{verbatim} { \origpttrue \cyclohexanev{} } \end{verbatim} generates the diagram: \begin{center} { \origpttrue \cyclohexanev{} } \end{center} where the solid circle indicates the reference point (0,0) and the open circle indicates the inner reference point (400,240). The values of cooridates are output on a display and in a log file: \begin{verbatim} command `sixheterov' origin: (0,0) ---> (400,240) \end{verbatim} since \verb/\cyclohexanev/ is based on \verb/\sixheterov/. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Linking Units} The commands \verb/\ryl/ and \verb/\lyl/ described in this chapter are added to the {\sf chemstr} package (file name: chemstr.sty). The \verb/\divalenth/ command is added to the {\sf aliphat} package (file name: aliphat.sty). \section{$\backslash$ryl command}. The ``yl''-function provides us with a tool to generate a substituent that is linked {\itshape directly} to a substitution site of a mother skeleton. There are, however, many cases in which a substituent is linked to a substitution site by an intervening unit (e.g., O, SO$_{2}$ and NH). The command \verb/\ryl/ is used to generate a right-hand substituent with a linking unit. For example, the code \begin{verbatim} \ryl(5==NH--SO$_{2}$){4==\bzdrh{1==(yl)}} \end{verbatim} produces a benzenesulfonamido substituent, \bigskip \begin{center} \ryl(5==NH--SO$_{2}$){4==\bzdrh{1==(yl)}} \vspace*{1cm} \end{center} The resulting unit is added to the SUBSLIST of a command for drawing a skeletal command. For example, the code \begin{verbatim} \bzdrh{3==\ryl(5==NH--SO$_{2}$){4==\bzdrh{1==(yl)}}} \end{verbatim} generates the following formula: \begin{center} \vspace*{1cm} \bzdrh{3==\ryl(5==NH--SO$_{2}$){4==\bzdrh{1==(yl)}}} \end{center} The \verb/\ryl/ command takes two arguments. \begin{verbatim} \ryl(LINK){GROUP} \end{verbatim} The first argument LINK in the parentheses indicates an intervening unit with an integer showing the slope of a left incidental bond. For example, the number 5 of the code \verb/5==NH--SO$_{2}$/ shown above represents that the left terminal is to be linked through $(-5,-3)$ bond, though the linking bond is not typeset by the \verb/\ryl/ command only. The slopes of the linking bonds are designated by integers between 0 and 8: \begin{center} \begin{tabular}{cc|cc|cc} 0 & $(0,1)$ & 1 & $(-3,5)$ & 2 & $(-1,1)$ \\ 3 & $(-5,3)$ & 4 & $(-1,0)$ & 5 & $(-5,-3)$ \\ 6 & $(-1,-1)$ & 7 & $(-3,-5)$ & 8 & $(0,-1)$ \\ \end{tabular} \end{center} The second argument GROUP of \verb/\ryl/ is a substituent produced by a ``yl''-function, where a number before a delimiter (==) indicates the slope of a right incidental bond. For example, the number 4 of the code \verb/4==\bzdrh{1==(yl)}/ shown above represents that the right terminal is to be linked through $(1,0)$ bond to the benzene ring generated by the \verb/\bzdrh/ command. The slopes of the linking bonds are designated by integers between 0 and 8: \begin{center} \begin{tabular}{cc|cc|cc} 0 & $(0,1)$ & 1 & $(3,5)$ & 2 & $(1,1)$ \\ 3 & $(5,3)$ & 4 & $(1,0)$ & 5 & $(5,-3)$ \\ 6 & $(1,-1)$ & 7 & $(3,-5)$ & 8 & $(0,-1)$ \\ \end{tabular} \end{center} To illustrate linking bonds with various slopes, the code \begin{verbatim} \cyclohexanev[]{% 1==\ryl(8==NH--SO$_{2}$){1==\bzdrh{6==(yl)}}; 2==\ryl(5==NH--SO$_{2}$){4==\bzdrh{1==(yl)}}; 3==\ryl(3==NH--SO$_{2}$){4==\bzdrh{1==(yl)}};% 4==\ryl(0==NH--SO$_{2}$){7==\bzdrh{2==(yl)}}} \end{verbatim} is written to give \vspace*{2cm} \begin{center} \cyclohexanev[]{% 1==\ryl(8==NH--SO$_{2}$){1==\bzdrh{6==(yl)}}; 2==\ryl(5==NH--SO$_{2}$){4==\bzdrh{1==(yl)}}; 3==\ryl(3==NH--SO$_{2}$){4==\bzdrh{1==(yl)}};% 4==\ryl(0==NH--SO$_{2}$){7==\bzdrh{2==(yl)}}} \end{center} \vspace*{2cm} Other examples are drawn by the code \begin{verbatim} \cyclohexaneh[]{% 3==\ryl(7==NH--SO$_{2}$){4==\bzdrh{1==(yl)}}; 5==\ryl(1==NH--SO$_{2}$){4==\bzdrh{1==(yl)}};% 4==\ryl(4==NH--SO$_{2}$--NH){4==\bzdrh{1==(yl)}}} \end{verbatim} giving \vspace*{1cm} \begin{center} \cyclohexaneh[]{% 3==\ryl(7==NH--SO$_{2}$){4==\bzdrh{1==(yl)}}; 5==\ryl(1==NH--SO$_{2}$){4==\bzdrh{1==(yl)}};% 4==\ryl(4==NH--SO$_{2}$--NH){4==\bzdrh{1==(yl)}}} \end{center} \vspace*{1cm} The first argument in the parentheses of the command \verb/\ryl/ contains a string of letters after an intermediate delimiter ==, where a left linking site is shifted according to the length of the letter string. The above formula shows such an example as having NH--SO$_{2}$--NH. The following examples compare the ``yl''-function with the \verb/\ryl/ command. \begin{verbatim} \cyclohexaneh{4==\bzdrh{1==(yl)}} \hskip2cm \cyclohexaneh{4==\ryl(4==O){4==\bzdrh{1==(yl)}}} \end{verbatim} \begin{center} \cyclohexaneh{4==\bzdrh{1==(yl)}} \hskip2cm \cyclohexaneh{4==\ryl(4==O){4==\bzdrh{1==(yl)}}} \end{center} The compound {\bfseries 21} on page 299 of the \XyMTeX book %``\XyMTeX{}---Typesetting Chemical %Structural Formulas'' (Addison-Wesley Publishers Japan, 1997) can be alternatively drawn by using the \verb/\ryl/ command, as shown in the code: \begin{verbatim} \fiveheterov[d]{1==N;5==N}{4==NC;1==\bzdrv{1==(yl)};2D==O;% 3D==\ryl(5==N-NH){4==\bzdrh{1==(yl);2==\lmoiety{MeO};5==SO$_{2}$Cl}}} \end{verbatim} which typeset the following formula: \begin{center} \vspace*{1cm} \fiveheterov[d]{1==N;5==N}{4==NC;1==\bzdrv{1==(yl)};2D==O;% 3D==\ryl(5==N-NH){4==\bzdrh{1==(yl);2==\lmoiety{MeO};5==SO$_{2}$Cl}}} \vspace*{2cm} \end{center} The first argument of the \verb/\ryl/ is optional; i.e., it can be omitted. Such an omitted case is useful to draw a methylene as a vertex. For example, a methylene is represented as a character string ``CH$_{2}$'', as shown in the formula, \begin{center} \sixheterov[d]{2==S}{5==\null;% 3==\ryl(3==CH$_{2}$){3==\sixheterov[d]{2==S}{5==(yl)}}} \end{center} This formula is generated by the code, \begin{verbatim} \sixheterov[d]{2==S}{5==\null;% 3==\ryl(3==CH$_{2}$){3==\sixheterov[d]{2==S}{5==(yl)}}} \end{verbatim} where the \verb/\ryl/ command takes an optional argument in parentheses to draw CH$_{2}$ exciplicitly. Such a methylene can alternatively be represented as a simple vertex, as shown in the formula, \begin{center} \sixheterov[d]{2==S}{5==\null;% 3==\ryl{3==\sixheterov[d]{2==S}{5==(yl)}}} \end{center} This formula is generated by the code, \begin{verbatim} \sixheterov[d]{2==S}{5==\null;% 3==\ryl{3==\sixheterov[d]{2==S}{5==(yl)}}} \end{verbatim} where the \verb/\ryl/ command takes no optional argument. The second argument of the \verb/\ryl/ command can accomodate substituents other than a substituent generated by the ``yl'' function. For example, the inner code \verb/\ryl{0A==Me;...}/ in the code, \begin{verbatim} \sixheterov({bB}{eA}){3==O;5==O}{1A==Me;4Sa==\null;4Sb==\null;% 6==\pentamethylenei[a]{}{4B==OH;5B==Me;5==(yl)};% 2==\ryl{0A==Me;5==\sixheterov({eA}){3==O;5==O}{6==(yl);1B==Me;% 4Sa==\null;4Sb==\null}}} \end{verbatim} represents a methyl group on a vertex due to the command \verb/\ryl/. Thereby, we have \begin{center} \vspace*{1cm} \sixheterov({bB}{eA}){3==O;5==O}{1A==Me;4Sa==\null;4Sb==\null;% 6==\pentamethylenei[a]{}{4B==OH;5B==Me;5==(yl)};% 2==\ryl{0A==Me;5==\sixheterov({eA}){3==O;5==O}{6==(yl);1B==Me;% 4Sa==\null;4Sb==\null}}} \vspace*{1cm} \end{center} \section{$\backslash$lyl command} The command \verb/\lyl/ is the left-hand counterpart of the command \verb/\ryl/. \begin{verbatim} \lyl(LINK){GROUP} \end{verbatim} The slopes of the linking bonds concerning the right terminal are designated by integers between 0 and 8: \begin{center} \begin{tabular}{cc|cc|cc} 0 & $(0,1)$ & 1 & $(3,5)$ & 2 & $(1,1)$ \\ 3 & $(5,3)$ & 4 & $(1,0)$ & 5 & $(5,-3)$ \\ 6 & $(1,-1)$ & 7 & $(3,-5)$ & 8 & $(0,-1)$ \\ \end{tabular} \end{center} The slopes of the linking bonds concerning the left terminal are designated by integers between 0 and 8: \begin{center} \begin{tabular}{cc|cc|cc} 0 & $(0,1)$ & 1 & $(-3,5)$ & 2 & $(-1,1)$ \\ 3 & $(-5,3)$ & 4 & $(-1,0)$ & 5 & $(-5,-3)$ \\ 6 & $(-1,-1)$ & 7 & $(-3,-5)$ & 8 & $(0,-1)$ \\ \end{tabular} \end{center} To illustrate linking bonds with various slopes, the code \begin{verbatim} \cyclohexanev[]{% 1==\lyl(8==SO$_{2}$--HN){1==\bzdrh{5==(yl)}};% 6==\lyl(5==SO$_{2}$--NH){4==\bzdrh{4==(yl)}};% 5==\lyl(3==SO$_{2}$--NH){4==\bzdrh{4==(yl)}};% 4==\lyl(0==SO$_{2}$--HN){7==\bzdrh{3==(yl)}}} \end{verbatim} is written to give \vspace*{2cm} \begin{center} \cyclohexanev[]{% 1==\lyl(8==SO$_{2}$--HN){1==\bzdrh{5==(yl)}};% 6==\lyl(5==SO$_{2}$--NH){4==\bzdrh{4==(yl)}};% 5==\lyl(3==SO$_{2}$--NH){4==\bzdrh{4==(yl)}};% 4==\lyl(0==SO$_{2}$--HN){7==\bzdrh{3==(yl)}}} \end{center} \vspace*{2cm} Other examples are drawn by the code \begin{verbatim} \cyclohexaneh[]{% 2==\lyl(7==SO$_{2}$--NH){4==\bzdrh{4==(yl)}}; 6==\lyl(1==SO$_{2}$--NH){4==\bzdrh{4==(yl)}};% 1==\lyl(4==NH--SO$_{2}$--HN){4==\bzdrh{4==(yl)}}} \end{verbatim} giving \vspace*{1cm} \begin{center} \cyclohexaneh[]{% 2==\lyl(7==SO$_{2}$--NH){4==\bzdrh{4==(yl)}}; 6==\lyl(1==SO$_{2}$--NH){4==\bzdrh{4==(yl)}};% 1==\lyl(4==NH--SO$_{2}$--NH){4==\bzdrh{4==(yl)}}} \end{center} \vspace*{1cm} The first argument in the parentheses of the command \verb/\lyl/ contains a string of letters after an intermediate delimiter ==, where a left linking site is shifted according to the length of the letter string. The above formula shows such an example as having NH--SO$_{2}$--NH. The structural formula of adonitoxin, which has once been depicted in a different way in Chapter 15 of the \XyMTeX book %``\XyMTeX{}---Typesetting Chemical %Structural Formulas'' (Addison-Wesley Publishers Japan, 1997) can be obtained by the code, \begin{verbatim} \steroid{{{10}}==\lmoiety{OHC};{{14}}==OH;% {{13}}==\lmoiety{H$_{3}$C};{{16}}==OH;% {{17}}==\fiveheterov[e]{3==O}{4D==O;1==(yl)};% 3==\lyl(3==O){8==% \pyranose{1Sb==(yl);1Sa==H;2Sb==H;2Sa==OH;3Sb==H;3Sa==OH;4Sb==HO;% 4Sa==H;5Sb==H;5Sa==CH$_{3}$}}} \end{verbatim} \begin{quotation} \vspace*{1cm} \hspace*{4cm} \steroid{{{10}}==\lmoiety{OHC};{{14}}==OH;% {{13}}==\lmoiety{H$_{3}$C};{{16}}==OH;% {{17}}==\fiveheterov[e]{3==O}{4D==O;1==(yl)};% 3==\lyl(3==O){8==% \pyranose{1Sb==(yl);1Sa==H;2Sb==H;2Sa==OH;3Sb==H;3Sa==OH;4Sb==HO;% 4Sa==H;5Sb==H;5Sa==CH$_{3}$}}} \end{quotation} \vskip1cm \section{Nested $\backslash$ryl and $\backslash$lyl commands} Two or more \verb/\ryl/ and \verb/\lyl/ commands can be nested. Let us illustrate nesting processes by drawing a cyan dye releaser, which has once been depicted in different ways (see Chapters 14 and 15 of the \XyMTeX book). %in ``\XyMTeX{}---Typesetting Chemical %Structural Formulas'' (Addison-Wesley Publishers Japan, 1997)). \vspace*{1cm} \bzdrv{1==OH;5==CH$_{3}$;4==OC$_{16}$H$_{33}$;% 2==\ryl(4==NH--SO$_{2}$){4==\bzdrh{1==(yl);2==OCH$_{2}$CH$_{2}$OCH$_{3}$;% 5==\ryl(2==NH--SO$_{2}$){4==\bzdrh{1==(yl);% 5==\ryl(2==SO$_{2}$--NH){4==\naphdrh{1==(yl);5==OH;% 8==\lyl(4==N=N){4==\bzdrh{4==(yl);1==NO$_{2}$;5==SO$_{2}$CH$_{3}$}}}}}}}}} \vskip3cm First, the code \begin{verbatim} \ryl(4==NH--SO$_{2}$){4==\bzdrh{1==(yl);2==OCH$_{2}$CH$_{2}$OCH$_{3}$;% 5==\null}} \end{verbatim} generates a substituent: \begin{quotation} \vspace*{1cm} \ryl(4==NH--SO$_{2}$){4==\bzdrh{1==(yl);2==OCH$_{2}$CH$_{2}$OCH$_{3}$;% 5==\null}} \vspace*{1cm} \end{quotation} in which the command \verb/\null/ is used to show a further substitution site. The resulting substituent is nested in the SUBSLIT of another \verb/\bzdrv/ command as shown in the code: \begin{verbatim} \bzdrv{1==OH;5==CH$_{3}$;4==OC$_{16}$H$_{33}$;% 2==\ryl(4==NH--SO$_{2}$){4==\bzdrh{1==(yl);2==OCH$_{2}$CH$_{2}$OCH$_{3}$;% 5==\null}}} \end{verbatim} Thereby we have \begin{quotation} \vskip1cm \bzdrv{1==OH;5==CH$_{3}$;4==OC$_{16}$H$_{33}$;% 2==\ryl(4==NH--SO$_{2}$){4==\bzdrh{1==(yl);2==OCH$_{2}$CH$_{2}$OCH$_{3}$;% 5==\null}}} \end{quotation} \vskip1cm \noindent The inner code \verb/5==\null/ is replaced by a further code of substitution: \begin{verbatim} 5==\ryl(2==NH--SO$_{2}$){4==\bzdrh{1==(yl);5==\null}}% \end{verbatim} to give a code, \begin{verbatim} \bzdrv{1==OH;5==CH$_{3}$;4==OC$_{16}$H$_{33}$;% 2==\ryl(4==NH--SO$_{2}$){4==\bzdrh{1==(yl);2==OCH$_{2}$CH$_{2}$OCH$_{3}$;% 5==\ryl(2==NH--SO$_{2}$){4==\bzdrh{1==(yl);5==\null}}% }}} \end{verbatim} This code generates the following structure (Formula A): \begin{quotation} \vskip1cm \bzdrv{1==OH;5==CH$_{3}$;4==OC$_{16}$H$_{33}$;% 2==\ryl(4==NH--SO$_{2}$){4==\bzdrh{1==(yl);2==OCH$_{2}$CH$_{2}$OCH$_{3}$;% 5==\ryl(2==NH--SO$_{2}$){4==\bzdrh{1==(yl);% 5==\null}}}}} \end{quotation} \vskip1cm Another substituent is typeset by the code, \begin{verbatim} \ryl(2==SO$_{2}$--NH){4==\naphdrh{1==(yl);5==OH;% 8==\lyl(4==N=N){4==\bzdrh{4==(yl);1==NO$_{2}$;5==SO$_{2}$CH$_{3}$}}}} \end{verbatim} Then, we have a substituent (Formula B): \begin{quotation} \vskip1cm \hspace*{4cm}\ryl(2==SO$_{2}$--NH){4==\naphdrh{1==(yl);5==OH;% 8==\lyl(4==N=N){4==\bzdrh{4==(yl);1==NO$_{2}$;5==SO$_{2}$CH$_{3}$}}}} \end{quotation} \vspace{3cm} Finally, the inner code \verb/5==\null/ for Formula A is replaced by the code for Formula B in order to combine Formula A with Formula B. Then we obtain a code represented by \begin{verbatim} \bzdrv{1==OH;5==CH$_{3}$;4==OC$_{16}$H$_{33}$;% 2==\ryl(4==NH--SO$_{2}$){4==\bzdrh{1==(yl);2==OCH$_{2}$CH$_{2}$OCH$_{3}$;% 5==\ryl(2==NH--SO$_{2}$){4==\bzdrh{1==(yl);% 5==\ryl(2==SO$_{2}$--NH){4==\naphdrh{1==(yl);5==OH;% 8==\lyl(4==N=N){4==\bzdrh{4==(yl);1==NO$_{2}$;5==SO$_{2}$CH$_{3}$}}}}}}}}} \end{verbatim} Thereby, we have a target formula: \vspace*{1cm} \bzdrv{1==OH;5==CH$_{3}$;4==OC$_{16}$H$_{33}$;% 2==\ryl(4==NH--SO$_{2}$){4==\bzdrh{1==(yl);2==OCH$_{2}$CH$_{2}$OCH$_{3}$;% 5==\ryl(2==NH--SO$_{2}$){4==\bzdrh{1==(yl);% 5==\ryl(2==SO$_{2}$--NH){4==\naphdrh{1==(yl);5==OH;% 8==\lyl(4==N=N){4==\bzdrh{4==(yl);1==NO$_{2}$;5==SO$_{2}$CH$_{3}$}}}}}}}}} \vskip3cm The structural formula of adonitoxin, which has benn drawn by considering the steroid nucleus to be a mother skeleton in the preceding subsection, can be alternatively drawn by nesting a ``yl''-function and a \verb/\ryl/ command. In this case, the pyranose ring is regarded as a mother skeleton. Thus, the code \begin{verbatim} \pyranose{1Sa==H;2Sb==H;2Sa==OH;3Sb==H;3Sa==OH;4Sb==HO;% 4Sa==H;5Sb==H;5Sa==CH$_{3}$;% 1Sb==\ryl(8==O){3==% \steroid{3==(yl);{{10}}==\lmoiety{OHC};{{14}}==OH;% {{13}}==\lmoiety{H$_{3}$C};{{16}}==OH;% {{17}}==\fiveheterov[e]{3==O}{4D==O;1==(yl)}}}} \end{verbatim} typesets the following formula: \begin{quotation} \vspace*{4cm} \pyranose{1Sa==H;2Sb==H;2Sa==OH;3Sb==H;3Sa==OH;4Sb==HO;% 4Sa==H;5Sb==H;5Sa==CH$_{3}$;% 1Sb==\ryl(8==O){3==% \steroid{3==(yl);{{10}}==\lmoiety{OHC};{{14}}==OH;% {{13}}==\lmoiety{H$_{3}$C};{{16}}==OH;% {{17}}==\fiveheterov[e]{3==O}{4D==O;1==(yl)}}}} \end{quotation} \section{$\backslash$divalenth command} The command \verb/\divalenth/ generates a divalent skeleton with variable length. \begin{verbatim} \divalenth{GROUP}{SUBSLIST} \end{verbatim} The divalent skeleton is given by a string of alphabets in the GROUP argument. The locant number in the GROUP argument is fixed to be zero. For example, the code \begin{verbatim} \divalenth{0==NHCONH}{1==CH$_{3}$;2==CH$_{3}$} \end{verbatim} generates a linear formula: \begin{center} \divalenth{0==NHCONH}{1==CH$_{3}$;2==CH$_{3}$} \end{center} 4,4$^{\prime}$-Methylenedibenzoic acid can be drawn in the same line. The code \begin{verbatim} \divalenth{0==CH$_{2}$}{1==\bzdrh{4==(yl);1==HOOC};2==\bzdrh{1==(yl);4==COOH}} \end{verbatim} generates \begin{center} \divalenth{0==CH$_{2}$}{1==\bzdrh{4==(yl);1==HOOC};2==\bzdrh{1==(yl);4==COOH}} \end{center} In place of the CH$_{2}$ unit described in the preceding example, we introduce the O--CH$_{2}$--O unit so as to give 4,4$^{\prime}$-methylenedioxydibenzoic acid. The structurel formula can be drawn to be \begin{center} \divalenth{0==O--CH$_{2}$--O}% {1==\bzdrh{4==(yl);1==HOOC};2==\bzdrh{1==(yl);4==COOH}} \end{center} by means of the code: \begin{verbatim} \divalenth{0==O--CH$_{2}$--O}% {1==\bzdrh{4==(yl);1==HOOC};2==\bzdrh{1==(yl);4==COOH}} \end{verbatim} Note that the starting point of the moiety generated by the code \verb/2==\bzdrh{1==(yl);4==COOH}/ is automatically shifted so as to accomodate the O--CH$_{2}$--O unit. An additional example of the use of the \verb/\divalenth/ command is the drawing of 1,6$^{\prime}$-ureylenedi-2-naphthalenesulfonic acid \begin{quotation} \vspace*{2cm}\hspace*{4cm} \divalenth{0==NH--CO--NH}% {1==\naphdrh{4==(yl);3==SO$_{3}$H};2==\naphdrv{6==(yl);2==SO$_{3}$H}} \vspace*{2cm} \end{quotation} by means of the code \begin{verbatim} \divalenth{0==NH--CO--NH}% {1==\naphdrh{4==(yl);3==SO$_{3}$H};2==\naphdrv{6==(yl);2==SO$_{3}$H}} \end{verbatim} $p$-[2-($m$-Carboxyphenoxy)ethyl]benzoic acid is drawn by the code \begin{verbatim} \divalenth{0==O--CH$_{2}$--CH$_{2}$}% {1==\bzdrh{4==(yl);6==COOH};2==\bzdrh{1==(yl);4==COOH}} \end{verbatim} which generates a formula: \begin{center} \divalenth{0==O--CH$_{2}$--CH$_{2}$}% {1==\bzdrh{4==(yl);6==COOH};2==\bzdrh{1==(yl);4==COOH}} \vspace*{1cm} \end{center} The same structure can be depicted by applying the ``yl''-function to the \verb/\divalenth/ command. The code \begin{verbatim} \bzdrh{6==COOH;4==% \divalenth{0==O--CH$_{2}$--CH$_{2}$}{1==(yl);2==\bzdrh{1==(yl);4==COOH}}} \end{verbatim} generates the same formula: \begin{center} \bzdrh{6==COOH;4==% \divalenth{0==O--CH$_{2}$--CH$_{2}$}{1==(yl);2==\bzdrh{1==(yl);4==COOH}}} \vspace*{1cm} \end{center} This type of usage gives an equivalent function of the command \verb/\ryl/ or \verb/\lyl/. Compare this with an example using the \verb/\ryl/ command: \begin{verbatim} \bzdrh{6==COOH;4==% \ryl(4==O--CH$_{2}$--CH$_{2}$){4==\bzdrh{1==(yl);4==COOH}}} \end{verbatim} This code gives the same formula: \begin{center} \bzdrh{6==COOH;4==% \ryl(4==O--CH$_{2}$--CH$_{2}$){4==\bzdrh{1==(yl);4==COOH}}} \end{center} \section{Remarks} The use of \verb/\divalenth/ with a ``yl''-function has no means of adjusting the left-hand point of linking. For example, the code, \begin{verbatim} \bzdrv{2==COOH;4==% \divalenth{0==O--CH$_{2}$--CH$_{2}$}{1==(yl);2==\bzdrh{1==(yl);4==COOH}}} \end{verbatim} give an insufficient formula: \begin{center} \bzdrv{2==COOH;4==% \divalenth{0==O--CH$_{2}$--CH$_{2}$}{1==(yl);2==\bzdrh{1==(yl);4==COOH}}} \vspace*{1cm} \end{center} where the left-hand point of linking should be shifted to a more appropiate direction. On the other hand, the \verb/\ryl/ (or \verb/\lyl/) command can correctly specify the left-hand point of linking. Thus the code, \begin{verbatim} \bzdrv{2==COOH;4==% \ryl(0==O--CH$_{2}$--CH$_{2}$){4==\bzdrh{1==(yl);4==COOH}}} \end{verbatim} typesets a formula: \begin{center} \bzdrv{2==COOH;4==% \ryl(0==O--CH$_{2}$--CH$_{2}$){4==\bzdrh{1==(yl);4==COOH}}} \vspace*{1cm} \end{center} where the code \verb/0==O--CH$_{2}$--CH$_{2}$/ specifies the left-hand terminal of the unit O--CH$_{2}$--CH$_{2}$ is linked at the upper point of the oxygen atom. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Ring Fusion} \section{Ring Fusion on Carbocyclic Compounds} \subsection{Designation of Fused Bonds} A unit to be fused is written in the BONDLIST of a command with a bond specifier (a lowercase or uppercase alphabet). For example, the code \begin{verbatim} \hanthracenev[{A\sixfusev{}{}{d}}]{} \end{verbatim} gives a perhydroanthracene with a fused six-membered ring at the bond `a' of the perhydroanthracene nucleus: \begin{quotation} \vskip1cm \hanthracenev[{A\sixfusev{}{}{d}}]{} \end{quotation} The letter `A' of the code \verb/{A\sixfusev{}{}{d}}/ is a bond specifier that represents the older terminal of the bond `a' of the perhydroanthracene nucleus (For the designation of the bonds of perhydroanthracene, see Chapter 5 of the \XyMTeX book.% %``\XyMTeX{}---Typesetting Chemical %Structural Formulas'' (Addison-Wesley Publishers Japan, 1997).% \footnote{% The word `older' or `younger' is concerned with the order of numbering of vertices. For a six-membered ring, the numbering 1---2---3---4---5---6---1 shows that the terminal 1 of the bond `a' (1---2) is youger, while the terminal 2 of the bond `a' is older. It should be noted that the terminal 6 of the bond `f' (6---1) is youger, while the terminal 1 of the bond `f' is older.} Note that the younger terminal of the bond `a' is designated by the letter `a'. On the other hand, the code \verb/\sixfusev{}{}{d}/ of \verb/{A\sixfusev{}{}{d}}/ in the BONDLIST represents the fused six-membered ring with the bond `d' omitted. The letter `d' indicates that the fusing point of the unit is the youger terminal of the omitted bond `d'. If the the fusing point of the unit is the other (older) terminal, the corresponding uppercase letter `D' should be used. Accordingly, the same formula can be drawn by the code exchanging uppercase and lowercase letters, \begin{verbatim} \hanthracenev[{a\sixfusev{}{}{D}}]{} \end{verbatim} Thereby, we have \begin{quotation} \vskip1cm \hanthracenev[{a\sixfusev{}{}{D}}]{} \end{quotation} Two or more rings can be fused. For example, the code \begin{verbatim} \hanthracenev[{A\sixfusev{}{}{d}}{C\sixfusev{}{}{f}}]{} \end{verbatim} generates a formula with two fused rings at the bonds `a' and `c' of a perhydroanthracene nucleus. \begin{quotation} \vskip1cm \hanthracenev[{A\sixfusev{}{}{d}}{C\sixfusev{}{}{f}}]{} \vskip1cm \end{quotation} The BONDLIST can accomodates usual bond specifiers without a fusing unit in order to designate inner double bonds. For example, the code \begin{verbatim} \hanthracenev[aco{A\sixfusev[a]{}{}{d}}]{} \end{verbatim} gives a hydroanthracene that have inner double bonds as well as a fused six-membered ring: \begin{quotation} \vskip1cm \hanthracenev[aco{A\sixfusev[a]{}{}{d}}]{} \end{quotation} Note that the command \verb/\sixfusev/ can take an optional argument to designate inner double bonds, as shown by the code \verb/\sixfusev[a]{}{}{d}/. In order to specify substituents in addition, we can use the SUBSLIST of the command \verb/\hanthracenev/ as well as the one of the command \verb/\sixfusev/. For example, the code \begin{verbatim} \hanthracenev[aco{A\sixfusev[a]{}{1==F;2==Cl}{d}}]{5==OH;6==HO} \end{verbatim} gives a hydroanthracene having additional substituents: \begin{quotation} \vspace*{1cm} \hanthracenev[aco{A\sixfusev[a]{}{1==F;2==Cl}{d}}]{5==OH;6==HO} \end{quotation} The compound {\bfseries 13} on page 294 (Chapter IV-4) of the \XyMTeX book %``\XyMTeX{}---Typesetting Chemical %Structural Formulas'' (Addison-Wesley Publishers Japan, 1997) can alternatively be drawn by applying the present technique. Thus, the code \begin{verbatim} \hanthracenev[achjop{b\sixfusev{}{2==R}{E}}]{% 1==OCH$_{3}$;4==OH;{10}D==O;% 9==\lyl(8==C\rlap{O}){4==CH$_{3}$O}} \end{verbatim} gives the following formula: \begin{quotation} \hanthracenev[achjop{b\sixfusev{}{2==R}{E}}]{% 1==OCH$_{3}$;4==OH;{10}D==O;% 9==\lyl(8==C\rlap{O}){4==CH$_{3}$O}} \end{quotation} \section{Ring Fusion on Heterocyclic Compounds} The methodology of ring fusion for heterocyclic compounds is the same as described for carbocyclic compounds. Thus, a unit to be fused is written in the BONDLIST of a command with a bond specifier (a lowercase or uppercase alphabet). For example, the code \begin{verbatim} \nonaheterov[begj{b\sixfusev[ac]{}{}{e}}]{1==N}{1==H} \end{verbatim} gives the structural formula of carbazole: \begin{quotation} \nonaheterov[begj{b\sixfusev[ac]{}{}{e}}]{1==N}{1==H} \end{quotation} which is depicted by attaching a six-membered ring (\verb/\sixfusev[ac]{}{}{e}}/) to the bond `b' of an indole nucleus. Let us consider the substitution of a carbon atom with a nitrogen atom at one of the fused positions in the above compound, as shown by the following formula: \begin{quotation} \nonaheterov[begj{b\sixfusev[ac]{6==\null}{}{e}}]{1==N;3==N}{1==H} \end{quotation} This formula is obtained by writing the code: \begin{verbatim} \nonaheterov[begj{b\sixfusev[ac]{6==\null}{}{e}}]{1==N;3==N}{1==H} \end{verbatim} where the code \verb/6==\null/ in the ATOMLIST of \verb/\sixfusev/ (for the fused six-membered ring) and the code \verb/3==N/ in the ATOMLIST of \verb/\nonaheterov/ produces the nitrogen atom at the fused position. The specification of the nitrogen atom is also available by exchanging \verb/\null/ and \verb/N/. Thus the code \begin{verbatim} \nonaheterov[begj{b\sixfusev[ac]{6==N}{}{e}}]{1==N;3==\null}{1==H} \end{verbatim} gives the same structural formula: \begin{quotation} \nonaheterov[begj{b\sixfusev[ac]{6==N}{}{e}}]{1==N;3==\null}{1==H} \end{quotation} The ring fusion at the bond `a' of perhydroindole is represented by the code \begin{verbatim} \nonaheterov[{a\sixfusev{6==\null}{}{f}}]{1==N}{} \end{verbatim} which gives a heterocycle: \begin{quotation} \nonaheterov[{a\sixfusev{6==\null}{}{f}}]{1==N}{} \end{quotation} Benz[{\itshape h}]isoquinoline, \begin{quotation} \vspace*{1cm} \decaheterovt[acfhk{h\sixfusev[df]{}{}{B}}]{2==N}{} \end{quotation} can be typset by the code, \begin{verbatim} \decaheterovt[acfhk{h\sixfusev[df]{}{}{B}}]{2==N}{} \end{verbatim} in which the bond specifier `h' corresponds to the {\itshape h} of the IUPAC name. Note that the IUPAC name regards the structure as an isoquinoline (drawn by \verb/\decaheterovt/) fused by a benzo moiety. The same structure can be drawn by the alternative code: \begin{verbatim} \decaheterov[acfhk{a\sixfusev[bf]{1==N}{}{D}}]{}{} \end{verbatim} which regards the structure as a naphthalene (drawn by \verb/\decaheterov/) with a fused heterocycle. Thereby, we have \begin{quotation} \vspace*{1cm} \decaheterov[acfhk{a\sixfusev[bf]{1==N}{}{D}}]{}{} \end{quotation} \section{Neted Ring Fusion} The \verb/\sixfusev/ command is capable of accomodating another \verb/\sixfusev/ command in a nested fashion. By this technique, the carbazole structure can take a further fused ring so as to produce the structural formula of 7{\itshape H}-pyrazino[2,3-{\itshape c}]carbaozole. Thus, the code, \begin{verbatim} \nonaheterov[begj{b\sixfusev[% ac{a\sixfusev[bf]{6==N;3==N}{}{D}}]{}{}{e}}]{1==N}{1==H} \end{verbatim} gives the structural formula of the fused heterocycle: \begin{quotation} \vspace*{1cm} \nonaheterov[begj{b\sixfusev[% ac{a\sixfusev[bf]{6==N;3==N}{}{D}}]{}{}{e}}]{1==N}{1==H} \end{quotation} which is depicted by attaching a six-membered ring (\verb/\sixfusev[ac]{}{}{e}}/) to the bond `b' of an indole nucleus. The structural formula of pyrido[1$^{\prime}$,2$^{\prime}$:1,2]imidazo[4,5-{\itshape b}]quinoxaline, \begin{center} \nonaheterov[adh% {b\sixfusev[ac]{6==\null}{}{e}}% {f\sixfusev[ace]{}{}{b}}]{1==N;3==N;4==N;7==N}{} \end{center} is generated by the code, \begin{verbatim} \nonaheterov[adh% {b\sixfusev[ac]{6==\null}{}{e}}% {f\sixfusev[ace]{}{}{b}}]{1==N;3==N;4==N;7==N}{} \end{verbatim} Since this code is intended to contain no nested ring fusion, the order of structure construction is different from that of the IUPAC name. The IUPAC name, pyrido[1$^{\prime}$,2$^{\prime}$:1,2]imidazo[4,5-{\itshape b}]quinoxaline, corresponds to a quinaxaline with a fused five-membered ring (an imidazo moiety) which is in turn fused by a six-membered ring (a pyrido moiety). The order of constructing the IUPAC name is realized in the code with nested ring fusion, \begin{verbatim} \decaheterov[acegi% {b\fivefusev[a{b\sixfusev[ac]{6==\null}{}{e}}]{1==N;3==N}{}{d}}] {1==N;4==N}{} \end{verbatim} which produces the same structure, \begin{center} \decaheterov[acegi% {b\fivefusev[a{b\sixfusev[ac]{6==\null}{}{e}}]{1==N;3==N}{}{d}}] {1==N;4==N}{} \end{center} Note that the indicators `1$^{\prime}$,2$^{\prime}$' and `1,2'of the locant [1$^{\prime}$,2$^{\prime}$:1,2] in the IUPAC name correspond respectively to the bond specifiers , `E' and `b', appeared in the code, \verb/{b\sixfusev[ac]{6==\null}{}{E}}/. On the other hand, the indicators, `4,5' and `{\itshape b}' of of the locant [4,5-{\itshape b}] are respectively associated with the specifiers, `d' and `b', appeared in the code, \verb/{b\fivefusev[...]{1==N;3==N}{}{d}}/. An alkaloid with a coryanthe skeleton (R. T. Brown and C. L. Chapple, {\itshape Chem. Commun.}, 1973, 887) can be typeset by the code with nested fusion, \begin{verbatim} \nonaheterov[begj{b\sixfusev[% {c\sixfusev{1==\null}{3SB==H;3SA==Et;% 4GA==H;% 4B==\dimethylenei[a]{}{1==(yl);2W==OMe;1W==MeOCO}}{F}}]% {3==N}{4GB==H;2B==COOMe}{e}}]{1==N}{1==H} \end{verbatim} where a six-five ring drawn by the command \verb/\nonaheterov/ is regarded as a mother skeleton. Thus, we have \begin{quotation} \nonaheterov[begj{b\sixfusev[% {c\sixfusev{1==\null}{3SB==H;3SA==Et;% 4GA==H;% 4B==\dimethylenei[a]{}{1==(yl);2W==OMe;1W==MeOCO}}{F}}]% {3==N}{4GB==H;2B==COOMe}{e}}]{1==N}{1==H} \vspace*{2cm} \end{quotation} For the command \verb/\dimethylenei/, see the chapter at issue. When a six-six ring drawn by the command \verb/\decaheterovb/ is regarded as a mother skeleton, as shown in the code with another nested ring fusion, \begin{verbatim} \decaheterovb[f{f\fivefusev[d{d\sixfusev[df]{}{}{b}}]% {1==N}{1==H}{b}}]{8a==N}{9B==H;2SA==Et;2SB==H;8B==COOMe;% 3GA==H;% 3B==\dimethylenei[a]{}{1==(yl);2W==OMe;1W==MeOCO}} \end{verbatim} we find another way of drawing the same structural formula, \begin{center} \decaheterovb[f{f\fivefusev[d{d\sixfusev[df]{}{}{b}}]% {1==N}{1==H}{b}}]{8a==N}{9B==H;2SA==Et;2SB==H;8B==COOMe;% 3GA==H;% 3B==\dimethylenei[a]{}{1==(yl);2W==OMe;1W==MeOCO}} \vspace*{1cm} \end{center} The following example shows a code with complicated nested structure: \begin{verbatim} \cyclohexanev[% {a\sixfusev[{b\sixfusev[{c\sixfusev[{c\sixfusev[% {d\sixfusev[{d\sixfusev[{d\sixfusev[% {e\sixfusev[{e\sixfusev[{e\sixfusev[{e\sixfusev[% {f\sixfusev[{f\sixfusev[]{}{}{C}}]{}{}{C}}% ]{}{}{B}}]{}{}{B}}]{}{}{B}}]{}{}{B}}% ]{}{}{A}}]{}{}{A}}]{}{}{A}}]{}{}{F}}% ]{}{}{F}}]{}{}{E}}]{}{}{D}}% {c\sixfusev[{d\sixfusev[{e\sixfusev[{e\sixfusev[% {f\sixfusev[{f\sixfusev[{f\sixfusev[% {a\sixfusev[{a\sixfusev[{a\sixfusev[{a\sixfusev[% {b\sixfusev[{b\sixfusev[]{}{}{E}}]{}{}{E}}% ]{}{}{D}}]{}{}{D}}]{}{}{D}}]{}{}{D}}% ]{}{}{C}}]{}{}{C}}]{}{}{C}}]{}{}{B}}% ]{}{}{B}}]{}{}{A}}]{}{}{F}}% {e\sixfusev[{f\sixfusev[{a\sixfusev[{a\sixfusev[% {b\sixfusev[{b\sixfusev[{b\sixfusev[% {c\sixfusev[{c\sixfusev[{c\sixfusev[{c\sixfusev[% {d\sixfusev[{d\sixfusev[]{}{}{A}}]{}{}{A}}% ]{}{}{F}}]{}{}{F}}]{}{}{F}}]{}{}{F}}% ]{}{}{E}}]{}{}{E}}]{}{}{E}}]{}{}{D}}% ]{}{}{D}}]{}{}{C}}]{}{}{B}}% ]{} \end{verbatim} This code generates a multiply fused formula: \clearpage \begin{center} \vspace*{8cm} \cyclohexanev[% {a\sixfusev[{b\sixfusev[{c\sixfusev[{c\sixfusev[% {d\sixfusev[{d\sixfusev[{d\sixfusev[% {e\sixfusev[{e\sixfusev[{e\sixfusev[{e\sixfusev[% {f\sixfusev[{f\sixfusev[]{}{}{C}}]{}{}{C}}% ]{}{}{B}}]{}{}{B}}]{}{}{B}}]{}{}{B}}% ]{}{}{A}}]{}{}{A}}]{}{}{A}}% ]{}{}{F}}% ]{}{}{F}}]{}{}{E}}]{}{}{D}}% {c\sixfusev[{d\sixfusev[{e\sixfusev[{e\sixfusev[% {f\sixfusev[{f\sixfusev[{f\sixfusev[% {a\sixfusev[{a\sixfusev[{a\sixfusev[{a\sixfusev[% {b\sixfusev[{b\sixfusev[]{}{}{E}}]{}{}{E}}% ]{}{}{D}}]{}{}{D}}]{}{}{D}}]{}{}{D}}% ]{}{}{C}}]{}{}{C}}]{}{}{C}}% ]{}{}{B}}% ]{}{}{B}}]{}{}{A}}]{}{}{F}}% {e\sixfusev[{f\sixfusev[{a\sixfusev[{a\sixfusev[% {b\sixfusev[{b\sixfusev[{b\sixfusev[% {c\sixfusev[{c\sixfusev[{c\sixfusev[{c\sixfusev[% {d\sixfusev[{d\sixfusev[]{}{}{A}}]{}{}{A}}% ]{}{}{F}}]{}{}{F}}]{}{}{F}}]{}{}{F}}% ]{}{}{E}}]{}{}{E}}]{}{}{E}}% ]{}{}{D}}% ]{}{}{D}}]{}{}{C}}]{}{}{B}}% ]{} \end{center} \clearpage \section{Remarks} \subsection{OPT Arguments} It should be noted that the OPT arguments of such commands as \verb/\bzdrv/, \verb/\naphdrv/, and \verb/\anthracenev/ cannot be used for the ring-fusion technique. In place of the OPT argument, the BONDLIST argument of the corresponding general command, e.g. \verb/\cyclohexanev/ or \verb/\sixheterov/ correspoding to \verb/\bzdrv/, should be used for the purpose of ring fusion. . For example, a bezene ring of the formula, \begin{center} \vspace*{1cm} \cyclohexanev[ace{a\sixfusev{}{}{D}}]{} \end{center} should be drawn by using the \verb/\cyclohexanev/ command, as shown in the code: \begin{verbatim} \cyclohexanev[ace{a\sixfusev{}{}{D}}]{} \end{verbatim} \subsection{\protect\XyMTeX{} Warning} An incorrect result due to a wrong specification of a fused bond is notified by a \XyMTeX{} warning. For example, the code, \begin{verbatim} \hanthracenev[{a\sixfusev{}{}{d}}]{} \end{verbatim} gives a formula of wrong fusion: \begin{center} \vspace*{2cm} \hanthracenev[{a\sixfusev{}{}{d}}]{} \end{center} According to this wrong situation, a \XyMTeX{} warning appears in a display or in a log file, e.g., \begin{verbatim} XyMTeX Warning: Mismatched fusion at bond `a, i, or other' on input line 1904 \end{verbatim} There are two ways to correct the wrong fusion and, as a result, to avoid such a \XyMTeX{} warning. First, the code \begin{verbatim} \hanthracenev[{A\sixfusev{}{}{d}}]{} \end{verbatim} in which the acceptor bond specifier `a' is changed into `A', gives a correct result, as found in the top example of this chapter. Alternatively, the donor bond specifier `d' can be changed into `D'. Thus, the code, \begin{verbatim} \hanthracenev[{a\sixfusev{}{}{D}}]{} \end{verbatim} also typesets the second formula with correct fusion. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Fusing Units} The commands described in this chapter are stored in the {\sf fusering} package (file name: fusering.sty). \section{Six-membered Fusing Units} \subsection{Vertical Units of Normal and Inverse Types} In \XyMTeX{} version 1.01, we can use \verb/\sixunitv/ and \verb/\fiveunitv/ as building blocks, where one or more bonds can be omitted. In the present version, we prepare such commands as \verb/\sixfusev/ an \verb/\sixfusevi/, producing building blocks with only one deleted bond. These commands can be used in the BONDLIST of another command so as to give a fused structural formula, as described in the preceding chapter. The commands \verb/\sixfusev/ and \verb/\sixfusevi/ have formats represented by \begin{verbatim} \sixfusev[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE} \sixfusevi[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE} \end{verbatim} where the argument FUSE is an alphabetical character (a--f) or the uppercase counterpart (A--F), each of which is a bond specifier representing one bond to be omitted. A lowercase character (a--f) represents the younger terminal of the omitted bond. The corresponding uppercase character (A--F) designates the other terminal of the bond to be omitted. The other arguments have the same formats as described in the general conventions (see \XyMTeX book). The locant numbers and the bond specifiers of the command \verb/\sixfusev/ correspond to those of the command \verb/\sixheterov/ (see \XyMTeX book). The command \verb/\sixfusevi/ is the inverse counterpart of \verb/\sixfusev/ and corresponds to the command \verb/\sixheterovi/. Moreover, the BONDLIST is capbable of accormodating the ring-fusion function described in the preseding chapter, the ATOMLIST can accomodate the spiro-ring function described afterward, and the SUBSLIST serves a method producing subsituents (``yl''-function) describe previously. For example, the last argument `F' of the \verb/\sixfusev/ appearing in the code, \begin{verbatim} \sixfusev[]{1==\null}% {3==C$_2$H$_5$;4==CH$_2$COOC$_2$H$_5$}{F} \end{verbatim} results in the deletion of the bond `f' between atom no.~6 (youger teminal) and atom no.~1 (older terminal) from a hexagon, typesetting the following building block: \begin{center} \sixfusev[]{1==\null}{3==C$_2$H$_5$;4==CH$_2$COOC$_2$H$_5$}{F} \vspace*{3cm} \end{center} where the reference point for superposition is the older terminal (i.e. atom no.~1) of the bond `f'. The code \verb/1==\null/ gives a vacancy at the position of atom no.~1. When the building block is used in the BONDLIST of the \verb/\decaheterov/, as shown in the code, \begin{verbatim} \decaheterov[fhk% {c\sixfusev[]{1==\null}% {3==C$_2$H$_5$;4==CH$_2$COOC$_2$H$_5$}{F}}]{3==N}{6==CH$_3$O;7==CH$_3$O} \end{verbatim} we have the following structure, \begin{center} \decaheterov[fhk% {c\sixfusev[]{1==\null}% {3==C$_2$H$_5$;4==CH$_2$COOC$_2$H$_5$}{F}}]{3==N}{6==CH$_3$O;7==CH$_3$O} \vspace*{2cm} \end{center} The last argument `F' of the \verb/\sixfusev/ can be changed into `f', as found in the code, \begin{verbatim} \decaheterovi[fhk% {a\sixfusev[]{1==\null}% {3==C$_2$H$_5$;4==CH$_2$COOC$_2$H$_5$}{f}}]{2==N}{6==CH$_3$O;7==CH$_3$O} \end{verbatim} where we use \verb/\decaheterovi/ in place of \verb/\decaheterov/ for drawing the bicyclic mother skeleton. Thereby, we have the following structure, \begin{center} \decaheterovi[fhk% {a\sixfusev[]{1==\null}% {3==C$_2$H$_5$;4==CH$_2$COOC$_2$H$_5$}{f}}]{2==N}{6==CH$_3$O;7==CH$_3$O} \vspace*{2cm} \end{center} The vertically opposite formula can be drawn by the combination of \verb/\sixfusevi/ and \verb/\decaheterovi/ with no other changes of designation (in comparison with the first code of this section), i.e. \begin{verbatim} \decaheterovi[fhk% {c\sixfusevi[]{1==\null}% {3==C$_2$H$_5$;4==CH$_2$COOC$_2$H$_5$}{F}}]{3==N}{6==CH$_3$O;7==CH$_3$O} \end{verbatim} Thereby we have \begin{center} \vspace*{2cm} \decaheterovi[fhk% {c\sixfusevi[]{1==\null}% {3==C$_2$H$_5$;4==CH$_2$COOC$_2$H$_5$}{F}}]{3==N}{6==CH$_3$O;7==CH$_3$O} \end{center} \subsection{Horizontal Units of Normal and Inverse Types} For drawing horizontal fusing units, we can use the commands \verb/\sixfuseh/ and \verb/\sixfusehi/, which are represented by \begin{verbatim} \sixfuseh[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE} \sixfusehi[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE} \end{verbatim} The horizontal formula of normal type related to the tricyclic formulas described in the preceding subsection can be drawn by the combination of \verb/\sixfuseh/ and \verb/\decaheteroh/ with few changes of designation (CH$_{3}$O to OCH$_{3}$), i.e. \begin{verbatim} \decaheteroh[fhk% {c\sixfuseh[]{1==\null}% {3==C$_2$H$_5$;4==CH$_2$COOC$_2$H$_5$}{F}}]{3==N}{6==OCH$_3$;7==OCH$_3$} \end{verbatim} which typsets the following structure, \begin{center} \vspace*{1cm} \decaheteroh[fhk% {c\sixfuseh[]{1==\null}% {3==C$_2$H$_5$;4==CH$_2$COOC$_2$H$_5$}{F}}]{3==N}{6==OCH$_3$;7==OCH$_3$} \end{center} The horizontally opposite formula can be drawn by the combination of \verb/\sixfusehi/ and \verb/\decaheterohi/ with slight changes concerning the handedness of subsitutents, i.e. \begin{verbatim} \decaheterohi[fhk% {c\sixfusehi[]{1==\null}% {3==C$_2$H$_5$;4==C$_2$H$_5$OCOCH$_2$}{F}}]{3==N}{6==OCH$_3$;7==OCH$_3$} \end{verbatim} Thereby we have \begin{center} \vspace*{1cm} \decaheterohi[fhk% {c\sixfusehi[]{1==\null}% {3==C$_2$H$_5$;4==C$_2$H$_5$OCOCH$_2$}{F}}]{3==N}{6==OCH$_3$;7==OCH$_3$} \end{center} \section{Five-membered Fusing Units} \subsection{Vertical Units of Normal and Inverse Types} To obtain a vertical five-membered building block, we can use \verb/\fivefusev/ and \verb/\fivefusevi/: \begin{verbatim} \fivefusev[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE} \fivefusevi[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE} \end{verbatim} where the argument FUSE is an alphabetical character (a--e) or the uppercase counterpart (A--E), each of which is a bond specifier representing one bond to be omitted. The other specifications have the same formats as found in the preceding section. The following example (left) gives the use of the \verb/\fivefusevi/ command by itself, where its SUBSLIST contains some substituents: \begin{verbatim} \fivefusevi{4==O}{2D==;3D==O}{E} \hskip 3cm \fivefusevi{4==O}{1GA==H;5GB==H;2D==;3D==O}{E} \end{verbatim} \begin{center} %\vspace*{1cm} \fivefusevi{4==O}{2D==;3D==O}{E} \hskip 3cm \fivefusevi{4==O}{1GA==H;5GB==H;2D==;3D==O}{E} \vspace*{2cm} \end{center} To show hydrogen substitution at the fused positions, we add the designation of \verb/1GA==H;5GB==H/ to the SUBSLIST of the \verb/\fivefusevi/ command (right above). Then, the latter code is written in the BONDLIST of a command \verb/\decalinev/, as found in the code: \begin{verbatim} \decalinev[h{c\fivefusevi{4==O}{1GA==H;5GB==H;2D==;3D==O}{E}}]% {6D==O;5A==;0FB==;0GA==H} \end{verbatim} Thereby, we obtain \begin{center} \decalinev[h{c\fivefusevi{4==O}{1GA==H;5GB==H;2D==;3D==O}{E}}]% {6D==O;5A==;0FB==;0GA==H} \vspace*{1cm} \end{center} Fusing units such as \verb/\fivefusev/ can be multiply nested in itself and in other types of fusing units. The following example shows such a trebly-nested case. \begin{verbatim} \decaheterovi[AB% {b\fivefusev[{a\sixfusev[ce% {c\sixfusev{3==O}{4D==O;5SB==HO;5SA==Et}{F}}]{1==\null}{2D==O}{f}}]% {2==N}{}{D}}]{1==N}{} \end{verbatim} \begin{quotation} \decaheterovi[AB% {b\fivefusev[{a\sixfusev[ce% {c\sixfusev{3==O}{4D==O;5SB==HO;5SA==Et}{F}}]{1==\null}{2D==O}{f}}]% {2==N}{}{D}}]{1==N}{} \vspace*{2cm} \end{quotation} When all of the commands in the above code are changed into the inverse counterparts (\verb/\decaheterovi/ to \verb/\decaheterov/; \verb/\fivefusev/ and \verb/\fivefusevi/; and \verb/\sixfusev/ to \verb/\sixfusevi/), the code is transformed into another code, \begin{verbatim} \decaheterov[AB% {b\fivefusevi[{a\sixfusevi[ce% {c\sixfusevi{3==O}{4D==O;5SB==HO;5SA==Et}{F}}]{1==\null}{2D==O}{f}}]% {2==N}{}{D}}]{1==N}{} \end{verbatim} Thereby, we can obtain the formula of vertically inverse type. \begin{quotation} \vspace*{2cm} \decaheterov[AB% {b\fivefusevi[{a\sixfusevi[ce% {c\sixfusevi{3==O}{4D==O;5SB==HO;5SA==Et}{F}}]{1==\null}{2D==O}{f}}]% {2==N}{}{D}}]{1==N}{} \end{quotation} \subsection{Horizontal Units of Normal and Inverse Types} Horizontal five-membered building block are obtained by using \verb/\fivefuseh/ and \verb/\fivefusehi/: \begin{verbatim} \fivefuseh[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE} \fivefusehi[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE} \end{verbatim} where the argument FUSE is an alphabetical character (a--e) or the uppercase counterpart (A--E), each of which is a bond specifier representing one bond to be omitted. The other specifications have the same formats as found in the preceding section. The example given for \verb/\fivefusevi/ is changed into the one using the horizontal counterpart \verb/\fivefusehi/: \begin{verbatim} \decalineh[h{c\fivefusehi{4==O}{1GA==H;5GB==H;2D==;3D==O}{E}}]{5A==;6D==O} \end{verbatim} \begin{center} \vspace*{1cm} \decalineh[h{c\fivefusehi{4==O}{1GA==H;5GB==H;2D==;3D==O}{E}}]{5A==;6D==O} \end{center} Note that no changes of other designation are necessary except that \verb/\decalineh/ and \verb/\fivefusehi/ are used in place of the vertical counterpart described above. The multiply nested example described above for drawing a structure of vertical type can be changed into the corresponding one of horizontal type, if all of the commmands are changed into horizontal types (\verb/\decaheterovi/ to \verb/\decaheterohi/; \verb/\fivefusev/ to \verb/\fivefuseh/; and \verb/\sixfusev/ to \verb/\sixfuseh/). \begin{verbatim} \decaheterohi[AB% {b\fivefuseh[{a\sixfuseh[ce% {c\sixfuseh{3==O}{4D==O;5SB==OH;5SA==Et}{F}}]{1==\null}{2D==O}{f}}]% {2==N}{}{D}}]{1==N}{} \end{verbatim} \begin{quotation} \vspace*{2cm}\hspace*{4cm} \decaheterohi[AB% {b\fivefuseh[{a\sixfuseh[ce% {c\sixfuseh{3==O}{4D==O;5SB==OH;5SA==Et}{F}}]{1==\null}{2D==O}{f}}]% {2==N}{}{D}}]{1==N}{} \end{quotation} When all the commands in the above code are changed into the inverse counterparts (\verb/\decaheterohi/ to \verb/\decaheteroh/; \verb/\fivefuseh/ and \verb/\fivefusehi/; and \verb/\sixfuseh/ to \verb/\sixfusehi/), the code is transformed into another code, \begin{verbatim} \decaheteroh[AB% {b\fivefusehi[{a\sixfusehi[ce% {c\sixfusehi{3==O}{4D==O;5SB==HO;5SA==Et}{F}}]{1==\null}{2D==O}{f}}]% {2==N}{}{D}}]{1==N}{} \end{verbatim} Thereby, we can obtain the formula of horizontally inverse type. \begin{quotation} \vspace*{2cm}\hspace*{4cm} \decaheteroh[AB% {b\fivefusehi[{a\sixfusehi[ce% {c\sixfusehi{3==O}{4D==O;5SB==HO;5SA==Et}{F}}]{1==\null}{2D==O}{f}}]% {2==N}{}{D}}]{1==N}{} \end{quotation} \section{Four-membered Fusing Units} To obtain a four-membered building block, we can use \verb/\fourfuse/: \begin{verbatim} \fourfuse[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE} \end{verbatim} where the argument FUSE is an alphabetical character (a--d) or the uppercase counterpart (A--D), each of which is a bond specifier representing one bond to be omitted. The assignment of characters (a to d) and locants (1 to 4) for the command \verb/\fourhetero/ is applied in the same way to this case. The other specifications have the same formats as those of the command \verb/\fourhetero/. For example, the code, \begin{verbatim} \sixheterov[{e\fourfuse{}{}{b}}]{}{} \sixheterov[{b\fourfuse{}{}{d}}]{}{} \sixheteroh[{b\fourfuse{}{}{a}}]{}{} \sixheteroh[{e\fourfuse{}{}{c}}]{}{} \end{verbatim} produces the following structural formulas. \begin{center} \sixheterov[{e\fourfuse{}{}{b}}]{}{} \sixheterov[{b\fourfuse{}{}{d}}]{}{} \sixheteroh[{b\fourfuse{}{}{a}}]{}{} \sixheteroh[{e\fourfuse{}{}{c}}]{}{} \end{center} A hetero atom at a fused position is designated in the ATOMLIST of \verb/\fourfuse/, which is associated the code \verb/\null/ in the ATOMLIST of a command for drawing a mother skeleton. For example, the code \begin{verbatim} \sixheterov[{e\fourfuse{3==N}{}{b}}]{6==\null}{} \sixheterov[{b\fourfuse{4==N}{}{d}}]{2==\null}{} \sixheteroh[{b\fourfuse{2==N}{}{a}}]{3==\null}{} \sixheteroh[{e\fourfuse{3==N}{}{c}}]{5==\null}{} \end{verbatim} produces the following structural formulas. \begin{center} \sixheterov[{e\fourfuse{3==N}{}{b}}]{6==\null}{} \sixheterov[{b\fourfuse{4==N}{}{d}}]{2==\null}{} \sixheteroh[{b\fourfuse{2==N}{}{a}}]{3==\null}{} \sixheteroh[{e\fourfuse{3==N}{}{c}}]{5==\null}{} \end{center} Penicillin G can be drawn by using the \verb/\fourfuse/ command in the code, \begin{verbatim} \fiveheterovi[{d\fourfuse{2==\null}{1D==O;4Su==PhCH$_{2}$CONH;4Sd==H}{b}}]% {1==S;4==N}{2Sa==CH$_{3}$;2Sb==CH$_{3}$;3SA==COOH;3SB==H;5GA==H} \end{verbatim} which typeset the following formula: \begin{center} \fiveheterovi[{d\fourfuse{2==\null}{1D==O;4Su==PhCH$_{2}$CONH;4Sd==H}{b}}]% {1==S;4==N}{2Sa==CH$_{3}$;2Sb==CH$_{3}$;3SA==COOH;3SB==H;5GA==H} \end{center} \section{Three-membered Fusing Units} \subsection{Vertical Units of Normal and Inverse Types} To obtain three-membered building blocks of vertical type, we can use \verb/\threefusev/ and \verb/\threefusevi/: \begin{verbatim} \threefusev[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE} \threefusevi[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE} \end{verbatim} where the argument FUSE is an alphabetical character (a--c) or the uppercase counterpart (A--C), each of which is a bond specifier representing one bond to be omitted. The assignment of characters (a to c) and locants (1 to 3) for the command \verb/\threeheterov/ or \verb/\threeheterovi/ is applied in the same way to this case. The other specifications have the same formats as those of the command \verb/\threeheterov/ or \verb/\threeheterovi/. For example, the code using \verb/\threefusev/, \begin{verbatim} \sixheteroh[{a\threefusev{}{}{a}}]{}{} \sixheteroh[{e\threefusev{}{}{b}}]{}{} \sixheteroh[{c\threefusev{}{}{c}}]{}{} \end{verbatim} produces the following structural formulas. \begin{center} \sixheteroh[{a\threefusev{}{}{a}}]{}{} \sixheteroh[{e\threefusev{}{}{b}}]{}{} \sixheteroh[{c\threefusev{}{}{c}}]{}{} \end{center} The use of the inverse type is shown in the code, \begin{verbatim} \sixheteroh[{F\threefusevi{}{}{a}}]{}{} \sixheteroh[{B\threefusevi{}{}{b}}]{}{} \sixheteroh[{D\threefusevi{}{}{c}}]{}{} \end{verbatim} which produces the following structural formulas. \begin{center} \sixheteroh[{F\threefusevi{}{}{a}}]{}{} \sixheteroh[{B\threefusevi{}{}{b}}]{}{} \sixheteroh[{D\threefusevi{}{}{c}}]{}{} \end{center} Hetero-atoms at fused positions can be typeset by designating ATOMLISTs. For example, the code, \begin{verbatim} \sixheteroh[{a\threefusev{1==N}{}{a}}]{1==\null}{} \sixheteroh[{e\threefusev{2==N}{}{b}}]{5==\null}{} \sixheteroh[{c\threefusev{3==N}{}{c}}]{3==\null}{} \end{verbatim} produces the following structural formulas. \begin{center} \sixheteroh[{a\threefusev{1==N}{}{a}}]{1==\null}{} \sixheteroh[{e\threefusev{2==N}{}{b}}]{5==\null}{} \sixheteroh[{c\threefusev{3==N}{}{c}}]{3==\null}{} \end{center} \subsection{Horizontal Units of Normal and Inverse Types} Three-membered building blocks of horizontal type can be obtained by using \verb/\threefuseh/ and \verb/\threefusehi/: \begin{verbatim} \threefuseh[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE} \threefusehi[BONDLIST]{ATOMLIST}{SUBSLIST}{FUSE} \end{verbatim} where the argument FUSE is an alphabetical character (a--c) or the uppercase counterpart (A--C), each of which is a bond specifier representing one bond to be omitted. The assignment of characters (a to c) and locants (1 to 3) for the command \verb/\threeheteroh/ or \verb/\threeheterohi/ is applied in the same way to this case. The other specifications have the same formats as those of the command \verb/\threeheteroh/ or \verb/\threeheterohi/. For example, the code using \verb/\threefuseh/, \begin{verbatim} \sixheterov[{F\threefuseh{}{}{a}}]{}{} \sixheterov[{B\threefuseh{}{}{b}}]{}{} \sixheterov[{D\threefuseh{}{}{c}}]{}{} \end{verbatim} produces the following structural formulas. \begin{center} \sixheterov[{F\threefuseh{}{}{a}}]{}{} \sixheterov[{B\threefuseh{}{}{b}}]{}{} \sixheterov[{D\threefuseh{}{}{c}}]{}{} \end{center} The use of the inverse type is shown in the code, \begin{verbatim} \sixheterov[{a\threefusehi{}{}{a}}]{}{} \sixheterov[{e\threefusehi{}{}{b}}]{}{} \sixheterov[{c\threefusehi{}{}{c}}]{}{} \end{verbatim} which produces the following structural formulas. \begin{center} \sixheterov[{a\threefusehi{}{}{a}}]{}{} \sixheterov[{e\threefusehi{}{}{b}}]{}{} \sixheterov[{c\threefusehi{}{}{c}}]{}{} \end{center} Hetero-atoms at fused positions can be typeset by designating ATOMLISTs. For example, the code, \begin{verbatim} \sixheterov[{F\threefuseh{1==N}{}{a}}]{1==\null}{} \sixheterov[{B\threefuseh{2==N}{}{b}}]{3==\null}{} \sixheterov[{D\threefuseh{3==N}{}{c}}]{5==\null}{} \end{verbatim} produces the following structural formulas. \begin{center} \sixheterov[{F\threefuseh{1==N}{}{a}}]{1==\null}{} \sixheterov[{B\threefuseh{2==N}{}{b}}]{3==\null}{} \sixheterov[{D\threefuseh{3==N}{}{c}}]{5==\null}{} \end{center} An aziridine derivative, \begin{center} \sixheterov[{B\threefuseh{1==N}{1==COOC$_{2}$H$_{5}$}{b}}]{}{} \end{center} can be drawn by the code, \begin{verbatim} \sixheterov[{B\threefuseh{1==N}{1==COOC$_{2}$H$_{5}$}{b}}]{}{} \end{verbatim} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Spiro Rings} \section{General Conventions for Spiro-Ring Attachment} There are several ways for naming spiro compounds in the light of the IUPAC nomenclature. Rule A-41.4 allows us to use such a name as spiro[cyclopentane-1,1$^{\prime}$-indene] for representing the following structure: \begin{center} \vspace*{1cm} \nonaheterovi[begj]{1s==\fiveheterov{}{1==(yl)}}{} \end{center} The same structure is named indene-1-spiro-1$^{\prime}$-cyclohexane in terms of Rule A-42.1. Spiro[5.5]undecane, the name due to Rule A-41.1 and A-41.2, is alternatively referred to as cyclohexanespirocyclohexane in terms of Rule A-42.1: \begin{center} \vspace*{1cm} \sixheterov[]{1s==\sixheterov[]{}{4==(yl)}}{} \end{center} where the `cyclohexanespiro' shows the replacement of a carbon atom in a cyclohexne by another cyclohexane ring. These rules essentially have the same methodology as the IUPAC replacement nomenclature, e.g., oxacyclohexane (more formally, oxane or tetrahydropyran) for the formula \begin{center} \sixheterov[]{1==O}{} \end{center} generated by the code, \begin{verbatim} \sixheterov[]{1==O}{} \end{verbatim} where the prefix `oxa' shows the replacement of a carbon atom with an oxygen atom. Obviously, the prefix `cyclohexanespiro' of the name `cyclohexanespirocyclohexane' is akin to the prefix `oxa' of the name `oxacyclohexane' or `oxane' from the viewpoint of the construction of names. Since the unit due to the latter prefix is designated by the \verb/1==O/ involved in the ATOMLIST, the former prefix can be treated in the same way. Hence, spiro compounds are drawn as follows: \begin{enumerate} \item \XyMTeX{} regards a spiro ring as a unit for the IUPAC replacement nomenclature, which is generated from an appropriate structure by ``yl''-function. \item the code of the unit due to the ``yl''-function is added to the ATOMLIST of a mother skeleton. \end{enumerate} Spiro[5.5]undecane is regarded as `cyclohexana'-cyclohexane (more formally, `cyclohexanespiro'-cyclo\-hexane), as found in the code, \begin{verbatim} \sixheterov[]{1s==\sixheterov[]{}{4==(yl)}}{} \end{verbatim} where the code \verb/\sixheterov[]{}{4==(yl)}/ produced by the ``yl''-function corresponds to the suffix `cyclohexana' and is written in the ATOMLIST of the outer \verb/sixheterov/ command. Thereby, we can obtain \begin{center} \vspace*{1cm} \sixheterov[]{1s==\sixheterov[]{}{4==(yl)}}{} \end{center} Note that the atom modifier `s' in the code \verb/1s==\sixheterov[]{}{4==(yl)}/ represents no hetero-atom at the spiro position. When a hetero-atom is present at the spiro position, an atom modifier `h' is used in place of `s'. For example, the code \begin{verbatim} \sixheterov[]{1h==\sixheterov[]{4==N}{4==(yl)}}{} \end{verbatim} typeset the following formula: \begin{center} \vspace*{1cm} \sixheterov[]{1h==\sixheterov[]{4==N}{4==(yl)}}{} \end{center} It should be noted that the absence of such atom modifiers represents a usual replacement by a hetero atom, as found in the formula of oxane shown above or in the one of thiacyclohexane (tetrahydrothiane): \begin{center} \sixheterov[]{1==S}{} \end{center} generated by the code, \begin{verbatim} \sixheterov[]{1==S}{} \end{verbatim} \section{Several Examples} Spiro[cyclopentane-1,1$^{\prime}$-indene] described above can be drawn in two ways: \begin{center} \vspace*{1cm} \nonaheterovi[begj]{1s==\fiveheterov{}{1==(yl)}}{} \fiveheterov{1s==\nonaheterovi[begj]{}{1==(yl)}}{} \vspace*{1cm} \end{center} where we use two different codes: \begin{verbatim} \nonaheterovi[begj]{1s==\fiveheterov{}{1==(yl)}}{} \fiveheterov{1s==\nonaheterovi[begj]{}{1==(yl)}}{} \end{verbatim} which correspond to `cyclohexane-1-spiro-1$^{\prime}$-indene' and `indene-1-spiro-1$^{\prime}$-cyclohexane' (formal), respectively. A spiro dienone \begin{center} \vspace*{1cm} \sixheterov[be]{% 1s==\fiveheterov{4==N}{1==(yl);3SB==H;3SA==COOCH$_{2}$Ph;% 4==PhCH$_{2}$OCO;5D==O}}{4D==O} \end{center} can be drawn by writing a code, \begin{verbatim} \sixheterov[be]{% 1s==\fiveheterov{4==N}{1==(yl);3SB==H;3SA==COOCH$_{2}$Ph;% 4==PhCH$_{2}$OCO;5D==O}}{4D==O} \end{verbatim} 1-Azaspiro[5.5]undecene which is the skeleton present in histrionicotoxin (Tetrahedron Lett., 1981, {\bf 22}, 2247) \begin{center} \sixheterov[]{1==N;6s==\cyclohexanev[a]{3==(yl)}}{1==CH$_{2}$Ph} \end{center} can be drawn by the code, \begin{verbatim} \sixheterov[]{1==N;6s==\cyclohexanev[a]{3==(yl)}}{1==CH$_{2}$Ph} \end{verbatim} The following example shows a case to which both ring fusion and spiro attachment are applied. The code, \begin{verbatim} \decaheterov[fhk% {g\fivefusev{1==O;4==O}{}{b}}% ]{1s==\cyclohexanev[be]{1D==O;4==(yl)}}{} \end{verbatim} gives the following formula: \begin{center} \vspace*{2cm} \decaheterov[fhk% {g\fivefusev{1==O;4==O}{}{b}}% ]{1s==\cyclohexanev[be]{1D==O;4==(yl)}}{} \end{center} A 1,3-dioxolane derivative \begin{center} \fiveheterov{2==O;5==O;% 1s==\trimethylenei{}{3==(yl);1W==PhSO$_{2}$;3W==R}}{}% \end{center} can be drawn by the code, \begin{verbatim} \fiveheterov{2==O;5==O;1s==\trimethylenei{}{3==(yl);1W==PhSO$_{2}$;3W==R}}{}% \end{verbatim} The same compound is also drawn by usual techniques as follows: \begin{verbatim} \fiveheterov{2==O;5==O}{1Sb==\dimethylenei{}{2==(yl);1W==PhSO$_{2}$};1Sa==R} \end{verbatim} \begin{center} \fiveheterov{2==O;5==O}{1Sb==\dimethylenei{}{2==(yl);1W==PhSO$_{2}$};1Sa==R} \end{center} \begin{verbatim} \fiveheterov{2==O;5==O}{1G==\dimethylenei{}{2==(yl);1W==PhSO$_{2}$};1F==R} \end{verbatim} \begin{center} \fiveheterov{2==O;5==O}{1G==\dimethylenei{}{2==(yl);1W==PhSO$_{2}$};1F==R} \end{center} 1,2,3,4-Tetrahydroquinoline-4-spiro-4$^{\prime}$-piperidine, \begin{quotation} \vspace*{2cm} \decaheterovi[fhk]{1==N;4s==\sixheterov[]{1==N}{4==(yl);1==H}}{1==H} \end{quotation} can be drawn by writing a code, \begin{verbatim} \decaheterovi[fhk]{1==N;4s==\sixheterov[]{1==N}{4==(yl);1==H}}{1==H} \end{verbatim} 3,3$^{\prime}$-Spirobi[3{\it H}-indole], \begin{quotation} \vspace*{1cm} \nonaheterovi[begj]{3==N;% 1s==\fiveheterov[bd{b\sixfusev[ac]{}{}{e}}]{4==N}{1==(yl)}}{} \end{quotation} is typeset by the code, \begin{verbatim} \nonaheterovi[begj]{3==N;% 1s==\fiveheterov[bd{b\sixfusev[ac]{}{}{e}}]{4==N}{1==(yl)}}{} \end{verbatim} The code, \begin{verbatim} \sixheterov[]{1s==\fiveheterov{2==O;5==O}{1==(yl)}}{% 5==\threeheteroh{1==O}{3Sb==Me$_{3}$Si;3==(yl)}} \end{verbatim} typesets the following structure: \begin{center} \vspace*{1cm} \sixheterov[]{1s==\fiveheterov{2==O;5==O}{1==(yl)}}{% 5==\threeheteroh{1==O}{3Sb==Me$_{3}$Si;3==(yl)}} \end{center} A spiro intermediate during spiro annelation (T.\ S.\ T.\ Wang, {\em Tetrahedron Lett.}, 1975, 1637), \begin{quotation} \vspace*{1cm} \nonaheterov[aA]{1==N;% 3s==\decaheterovb[B]{8==N}{5==(yl);8==\dimethylenei{}{1D==O;1==(yl)}}}{} \end{quotation} can be drawn by the code, \begin{verbatim} \nonaheterov[aA]{1==N;% 3s==\decaheterovb[B]{8==N}{5==(yl);8==\dimethylenei{}{1D==O;1==(yl)}}}{} \end{verbatim} A lactone intermediate containing a protected ketone (A. Grieco and M. Nishizawa, {\em Chem. Commun.}, 1976, 582), \begin{center} \decaheterov[h{c\fivefusevi{4==O}{1GA==H;5GB==H;2B==;3D==O}{E}}]{% 6s==\fiveheterovi{1==O;3==O}{2==(yl)}}{5A==;{10}B==;9A==H} \vspace*{1cm} \end{center} is drawn by the code, \begin{verbatim} \decaheterov[h{c\fivefusevi{4==O}{1GA==H;5GB==H;2B==;3D==O}{E}}]{% 6s==\fiveheterovi{1==O;3==O}{2==(yl)}}{5A==;{10}B==;9A==H} \end{verbatim} \section{Multi-Spiro Derivatives} Multi-sipro derivatives are drawn by nesting spiro function. For example, cyclohexanespirocyclopentane-3$^{\prime}$-% spirocyclohexane (Rule A-42.4), \begin{center} \sixheteroh[]{4s==\fiveheterov{% 2s==\sixheteroh[]{}{1==(yl)}}{5==(yl)}}{} \end{center} is typeset by the code, \begin{verbatim} \sixheteroh[]{4s==\fiveheterov{% 2s==\sixheteroh[]{}{1==(yl)}}{5==(yl)}}{} \end{verbatim} When \verb/\fiveheterov/ is a mother skeleton, such a nested command is unnecessary: \begin{verbatim} \fiveheterov{2s==\sixheteroh[]{}{1==(yl)};% 5s==\sixheteroh[]{}{4==(yl)}}{} \end{verbatim} \begin{center} \fiveheterov{2s==\sixheteroh[]{}{1==(yl)};% 5s==\sixheteroh[]{}{4==(yl)}}{} \end{center} The name (Rule A-42.4), fluorene-9-spiro-1$^{\prime}$-cyclohexane-4$^{\prime}$-% spiro-1$^{\prime}$-indene, corresponds to the code, \begin{verbatim} \nonaheterovi[begj{b\sixfusev[ac]{}{}{E}}]{% 1s==\sixheterov[]{1s==\nonaheterov[begj]{}{1==(yl)}}{4==(yl)}}{} \end{verbatim} which gives \begin{quotation} \vspace*{2cm} \nonaheterovi[begj{b\sixfusev[ac]{}{}{E}}]{% 1s==\sixheterov[]{1s==\nonaheterov[begj]{}{1==(yl)}}{4==(yl)}}{} \end{quotation} \section{Atom Replacement} The ATOMLIST of each command is capable of accommodating a group if a sufficient space is available. For example, compare two codes, \begin{verbatim} \sixheteroh{4==NCOOEt}{} \hskip 2cm \sixheteroh{4==N}{4==COOEt} \end{verbatim} generating formulas equivalent chemically to each other: \begin{center} \sixheteroh{4==NCOOEt}{} \hskip 2cm \sixheteroh{4==N}{4==COOEt} \end{center} Note that the former example uses an ATOMLIST and the latter uses an SUBSLIST for describing substituents. Even when no such space is available, the use of a command, \verb/\upnobond/ or \verb/\downnobond/, give a solution (see \XyMTeX book pages 259--260). Compare the following formulas, \begin{center} \sixheterov{4==\downnobond{N}{COOEt}}{} \sixheterov{4==N}{4==COOEt} \sixheterov{1==\upnobond{N}{COOEt}}{} \sixheterov{1==N}{1==COOEt} \end{center} generated by the code, \begin{verbatim} \sixheterov{4==\downnobond{N}{COOEt}}{} \sixheterov{4==N}{4==COOEt} \sixheterov{1==\upnobond{N}{COOEt}}{} \sixheterov{1==N}{1==COOEt} \end{verbatim} These examples show that a substituent (e.g. NCOOEt) can be regarded as a component for atom replacement using a ATOMLIST. This methodology can be applied to a case in which such a substituent is generated by the ``yl''-function or by such a linking command as \verb/\ryl/ or \verb/\lyl/. The following example shows the use the \verb/\ryl/ command in the ATOMLIST of \verb/\sixheteroh/. \begin{verbatim} \sixheteroh{4h==\ryl(4==NCOO){4==\bzdrh{1==(yl)}}}{} \hskip2cm \sixheterov{3h==\ryl(4==NCOO){4==\bzdrh{1==(yl)}}}{} \hskip2cm \sixheterov{4h==\ryl(0==N){8==\bzdrv{1==(yl)}}}{} \end{verbatim} \begin{center} \sixheteroh{4h==\ryl(4==NCOO){4==\bzdrh{1==(yl)}}}{} \hskip2cm \sixheterov{3h==\ryl(4==NCOO){4==\bzdrh{1==(yl)}}}{} \hskip2cm \sixheterov{4h==\ryl(0==N){8==\bzdrv{1==(yl)}}}{} \vspace*{1cm} \end{center} A bond bewtween a COO unit and a phenyl group is frequently omitted. For this purpose, we use command \verb/\ayl/ defined as \begin{verbatim} \makeatletter \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} \makeatother \end{verbatim} Thereby, we have the following examples. \begin{verbatim} \sixheteroh{4==NCOO\ayl{\bzdrh{1==(yl)}}}{} \hskip2cm \sixheterov{3==NCOO\ayl{\bzdrh{1==(yl)}}}{} \hskip2cm \sixheterov{4==\downnobond{N}{COO\ayl{\bzdrh{1==(yl)}}}}{} \end{verbatim} \begin{center} \sixheteroh{4==NCOO\ayl{\bzdrh{1==(yl)}}}{} \hskip2cm \sixheterov{3==NCOO\ayl{\bzdrh{1==(yl)}}}{} \hskip2cm \sixheterov{4==\downnobond{N}{COO\ayl{\bzdrh{1==(yl)}}}}{} \end{center} \begin{verbatim} \tetramethylene[a]{3==\downnobond{N}{COO\ayl{\bzdrh{1==(yl)}}}}{} \hskip2cm \tetramethylene[a]{3==N}{3==COO\ayl{\bzdrh{1==(yl)}}} \end{verbatim} \begin{center} \tetramethylene[a]{3==\downnobond{N}{COO\ayl{\bzdrh{1==(yl)}}}}{} \hskip2cm \tetramethylene[a]{3==N}{3==COO\ayl{\bzdrh{1==(yl)}}} \end{center} \endinput \begin{verbatim} \end{verbatim} \begin{center} \end{center} \begin{verbatim} \end{verbatim} \begin{quotation} \end{quotation}