diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/xymtex/base/ccycle.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/xymtex/base/ccycle.dtx | 3481 |
1 files changed, 3481 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/xymtex/base/ccycle.dtx b/Master/texmf-dist/source/latex/xymtex/base/ccycle.dtx new file mode 100644 index 00000000000..e059d5564e2 --- /dev/null +++ b/Master/texmf-dist/source/latex/xymtex/base/ccycle.dtx @@ -0,0 +1,3481 @@ +% \iffalse meta-comment +%% File: ccycle.dtx +% +% Copyright 1993,1996,1998,2001,2002,2004,2009,2010,2013 by Shinsaku Fujita +% +% This file is part of XyMTeX system. +% ------------------------------------- +% +% This file is a successor to: +% +% ccycle.sty +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 1.00} +% \typeout{ -- Released December 1, 1993 by Shinsaku Fujita} +% Copyright (C) 1993 by Shinsaku Fujita, all rights reserved. +% +% This file is a part of the macro package ``XyMTeX'' which has been +% designed for typesetting chemical structural formulas. +% +% This file is to be contained in the ``xymtex'' directory which is +% an input directory for TeX. It is a LaTeX optional style file and +% should be used only within LaTeX, because several macros of the file +% are based on LaTeX commands. +% +% For the review of XyMTeX, see +% (1) Shinsaku Fujita, ``Typesetting structural formulas with the text +% formatter TeX/LaTeX'', Computers and Chemistry, in press. +% The following book deals with an application of TeX/LaTeX to +% preparation of manuscripts of chemical fields: +% (2) Shinsaku Fujita, ``LaTeX for Chemists and Biochemists'' +% Tokyo Kagaku Dozin, Tokyo (1993) [in Japanese]. +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% The Current Maintainer of this work is Shinsaku Fujita. +% +% This work consists of the files ccycle.dtx and ccycle.ins +% and the derived file ccycle.sty. +% +% Please report any bugs, comments, suggestions, etc. to: +% Shinsaku Fujita, +% Shonan Institute of Chemoinformatics and Mathematical Chemistry +% Kaneko 479-7 Ooimachi, Ashigara-Kami-Gun, Kanagawa 250-0019 Japan +% (old address) +% Ashigara Research Laboratories, Fuji Photo Film Co., Ltd., +% Minami-Ashigara, Kanagawa-ken, 250-01, Japan. +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \def\j@urnalname{ccycle} +% \def\versi@ndate{December 01, 1993} +% \def\versi@nno{ver1.00} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \def\j@urnalname{ccycle} +% \def\versi@ndate{March 05, 1994} +% \def\versi@nno{ver1.01} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \def\j@urnalname{ccycle} +% \def\versi@ndate{August 16, 1996} +% \def\versi@nno{ver1.01a} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \def\j@urnalname{ccycle} +% \def\versi@ndate{October 31, 1998} +% \def\versi@nno{ver1.02} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \def\j@urnalname{ccycle} +% \def\versi@ndate{December 25, 1998} +% \def\versi@nno{ver2.00} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \def\j@urnalname{ccycle} +% \def\versi@ndate{June 20, 2001} +% \def\versi@nno{ver2.01} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \def\j@urnalname{ccycle} +% \def\versi@ndate{April 30, 2002} +% \def\versi@nno{ver3.00} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \def\j@urnalname{ccycle} +% \def\versi@ndate{May 30, 2002} +% \def\versi@nno{ver4.00} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \def\j@urnalname{ccycle} +% \def\versi@ndate{August 30, 2004} +% \def\versi@nno{ver4.01} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \def\j@urnalname{ccycle} +% \def\versi@ndate{December 20, 2004} +% \def\versi@nno{ver4.02} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \def\j@urnalname{ccycle} +% \def\versi@ndate{June 15, 2009} +% \def\versi@nno{ver4.04} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \def\j@urnalname{ccycle} +% \def\versi@ndate{October 01, 2010} +% \def\versi@nno{ver5.00} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \def\j@urnalname{ccycle} +% \def\versi@ndate{April 01, 2013} +% \def\versi@nno{ver5.01b} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \def\j@urnalname{ccycle} +% \def\versi@ndate{June 26, 2013} +% \def\versi@nno{ver5.01bb} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% \fi +% +% \CheckSum{3681} +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +% +% \setcounter{StandardModuleDepth}{1} +% +% \StopEventually{} +% \MakeShortVerb{\|} +% +% \iffalse +% \changes{v1.01a}{1996/06/17}{first edition for LaTeX2e} +% \changes{v1.02}{1998/10/31}{revised edition for LaTeX2e} +% \changes{v2.00}{1998/12/25}{enhanced edition for LaTeX2e} +% \changes{v2.01}{2001/06/20}{Size reduction and Clipping information} +% \changes{v2.01}{2001/06/21}{The command \cs{dotorline} is added.} +% \changes{v3.00}{2002/04/30}{sfpicture environment, etc.} +% \changes{v4.00}{2002/05/30}{PostScript output and ShiftPicEnv} +% \changes{v4.01}{2004/08/30}{Minor additions} +% \changes{v4.02}{2004/12/20}{Wedge bonds} +% \changes{v4.04}{2009/6/15}{Wavy bonds} +% \changes{v5.00}{2010/10/01}{bond coloring and the LaTeX Project Public License} +% \changes{v5.01b}{2013/04/01}{Wavy bonds for \cs{bornane}} +% \changes{v5.01}{2013/06/24}{bornane, adamantane, hadamantane: front-to-back crossing} +% \changes{v5.01}{2013/06/25}{bornane 7SU and 7SV added, bug fix} +% \changes{v5.01}{2013/06/26}{bug fix, added 7SA, 7SB, 7Su, 7Sd} +% \changes{v5.01}{2013/07/23}{background color} +% \fi +% +% \iffalse +%<*driver> +\NeedsTeXFormat{pLaTeX2e} +% \fi +\ProvidesFile{ccycle.dtx}[2013/07/23 v5.01 XyMTeX{} package file] +% \iffalse +\documentclass{ltxdoc} +\GetFileInfo{ccycle.dtx} +% +% %%XyMTeX Logo: Definition 2%%% +\def\UPSILON{\char'7} +\def\XyM{X\kern-.30em\smash{% +\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}} +\def\XyMTeX{\XyM\kern-.1em\TeX} +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\title{Further Cyclic Compounds by {\sffamily ccycle.sty} +(\fileversion) of \XyMTeX{}} +\author{Shinsaku Fujita \\ +Shonan Institute of Chemoinformatics and Mathematical Chemistry, \\ +Kaneko 479-7 Ooimachi, Ashigara-Kami-Gun, Kanagawa 250-0019 Japan +% % (old address) +% %Department of Chemistry and Materials Technology, \\ +% %Kyoto Institute of Technology, \\ +% %Matsugasaki, Sakyoku, Kyoto, 606-8585 Japan +% %% (old address) +% %% Ashigara Research Laboratories, +% %% Fuji Photo Film Co., Ltd., \\ +% %% Minami-Ashigara, Kanagawa, 250-01 Japan +} +\date{\filedate} +% +\begin{document} + \maketitle + \DocInput{ccycle.dtx} +\end{document} +%</driver> +% \fi +% +% \section{Introduction}\label{ccycle:intro} +% +% \subsection{Options for {\sffamily docstrip}} +% +% \DeleteShortVerb{\|} +% \begin{center} +% \begin{tabular}{|l|l|} +% \hline +% \emph{option} & \emph{function}\\ \hline +% ccycle & ccycle.sty \\ +% driver & driver for this dtx file \\ +% \hline +% \end{tabular} +% \end{center} +% \MakeShortVerb{\|} +% +% \subsection{Version Information} +% +% \begin{macrocode} +%<*ccycle> +\typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 5.01} +\typeout{ -- Released July 23, 2013 by Shinsaku Fujita} +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\j@urnalname{ccycle} +\def\versi@ndate{July 23, 2013} +\def\versi@nno{ver5.01} +\def\copyrighth@lder{SF} % Shinsaku Fujita +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\typeout{XyMTeX Macro File `\j@urnalname' (\versi@nno) <\versi@ndate>% +\space[\copyrighth@lder]} +% \end{macrocode} +% +% \section{List of commands for ccycle.sty} +% +% \begin{verbatim} +% ******************************** +% * ccycle.sty: list of commands * +% ******************************** +% +% Setting of Bonds +% +% \@chaira (for cyclohexane chair) +% \@chairb +% \@chairc +% \@chaird +% \@chaire +% \@chairf +% +% \@borna (for bornanes) +% \@bornb +% \@bornc +% \@bornd +% \@borne +% \@bornf +% \@borng +% +% Basic Macros +% +% \chair \@chair +% \bicychepv \@bicychepv +% \bicycheph \@bicycheph +% \bornane \@bornane +% \adamantane \@damantane +% +% (Added March 05, 1994 by Shinsaku Fujita) +% Setting of Bonds +% +% \@chairia (for cyclohexane chair inversed) +% \@chairib \@chairic \@chairid +% \@chairie \@chairif +% +% Basic Macros +% +% \chairi \@chairi +% +% (Added June 16, 1996 by Shinsaku Fujita) +% Setting of Bonds +% +% \@chairiI (for horizontal-type adamantane) +% \@chairiII \@chairiIII \@chairiIV +% \@chairiV \@chairiVI \@chairiVII +% \@chairiVIII \@chairiIX \@chairiX +% +% Basic Macros +% +% \hadamantane \@hadamantane +% +% Macros for adjusting substitution sites (for Version 1.02) +% +% \ylchairposition +% \ylchairiposition +% \ylbornaneposition +% \yladamanposition +% \ylhadamanposition +% +% \end{verbatim} +% +% \section{Input of basic macros} +% +% To assure the compatibility to \LaTeX{}2.09 (the native mode), +% the commands added by \LaTeXe{} have not been used in the resulting sty +% files ({\sf ccycle.sty} for the present case). Hence, the combination +% of |\input| and |\@ifundefined| is used to crossload sty +% files ({\sf chemstr.sty} for the present case) in place of the +% |\RequirePackage| command of \LaTeXe{}. +% +% \begin{macrocode} +% ************************* +% * input of basic macros * +% ************************* +\@ifundefined{setsixringv}{\input chemstr.sty\relax}{} +\unitlength=0.1pt +% \end{macrocode} +% +% \begin{macro}{\ifmolfront} +% \changes{v4.02}{2004/12/20}{Avoid wedged front bonds} +% \begin{macrocode} +\@ifundefined{ifmolfront}{\newif\ifmolfront \molfrontfalse}{} +% \end{macrocode} +% \end{macro} +% +% +% \section{Chair-form cyclohexanes} +% \subsection{Macros for setting substituents} +% +% Macros |\@chaira| to |\@chairf| are used to set substituents +% on each position of cyclohexane. Note that comments (conerning locant +% numbers) on the end of each row have lost the exact meaning, +% since such a command moiety is used in many macros after copying. +% +% \begin{macro}{\@chaira} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v4.04}{2009/06/15}{Adding wavy bonds} +% \begin{macrocode} +% ********************************************** +% * treatment of the chair form of cyclohexane * +% ********************************************** +% %%%%%%%%%%%%%%% +% % subst. on 1 % +% %%%%%%%%%%%%%%% +\def\@chaira{% + \if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=10 + \yl@ydiff=10 + \Put@Line(0,0)(-1,1){120}% single bond at 1 + \putlatom{-130}{110}{\@memberb}% left type + \else\if\@tmpc a%(a) axial + \yl@xdiff=42 + \yl@ydiff=-12 + \Put@Line(0,0)(0,1){168}% single bond at 1 axial + \putlratom{-42}{180}{\@memberb}% left & right type + \else\if\@tmpc e%(e) beta + \yl@xdiff=16 + \yl@ydiff=44 + \Put@Line(0,0)(-5,-3){144}% single bond at 1 equatorial + \putlatom{-160}{-130}{\@memberb}% left type + \fi\fi\fi% +%2009/06/15 + \else\if\@tmpb U%(U) alpha undefined + \yl@xdiff=10 + \yl@ydiff=10 + \putlatom{-130}{110}{\@memberb}% left type + {% + \WaveBonds% + \Put@Line(0,0)(-1,1){120}% single bond at 1 + }% +% + \else \if\@tmpb D%double bond + \yl@xdiff=10 + \yl@ydiff=10 + \Put@Line(-10,-10)(-1,1){120}% double bond at 1 + \Put@Line(10,10)(-1,1){120}% double bond at 1 + \putlatom{-130}{110}{\@memberb}% left type + \else% + \yl@xdiff=10 + \yl@ydiff=10 + \Put@Line(0,0)(-1,1){120}% single bond at 1 + \putlatom{-130}{110}{\@memberb}% left type + \fi\fi\fi}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@chairb} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v4.04}{2009/06/15}{Adding wavy bonds} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 2 % +% %%%%%%%%%%%%%%% +\def\@chairb{% + \if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=10 + \yl@ydiff=70 + \Put@Line(170,-226)(-1,-1){120}% single bond at 2 + \putlatom{40}{-416}{\@memberb}% left type + \else\if\@tmpc a%(a) axial + \yl@xdiff=32 + \yl@ydiff=92 + \Put@Line(170,-226)(0,-1){168}% single bond at 2 axial + \putlratom{138}{-486}{\@memberb}% left & right type + \else\if\@tmpc e%(e) beta + \yl@xdiff=16 + \yl@ydiff=34 + \Put@Line(170,-226)(-5,3){144}% single bond at 2 equatorial + \putlatom{10}{-174}{\@memberb}% left type + \fi\fi\fi% +%2009/06/15 + \else\if\@tmpb U%(U) alpha undefined + \yl@xdiff=10 + \yl@ydiff=70 + \putlatom{40}{-416}{\@memberb}% left type + {% + \WaveBonds% + \Put@Line(170,-226)(-1,-1){120}% single bond at 2 + }% +% + \else \if\@tmpb D%double bond + \yl@xdiff=10 + \yl@ydiff=70 + \Put@Line(160,-216)(-1,-1){120}% double bond at 2 + \Put@Line(180,-236)(-1,-1){120}% double bond at 2 + \putlatom{40}{-416}{\@memberb}% left type + \else% + \yl@xdiff=10 + \yl@ydiff=70 + \Put@Line(170,-226)(-1,-1){120}% single bond at 2 + \putlatom{40}{-416}{\@memberb}% left type + \fi\fi\fi}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@chairc} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v4.04}{2009/06/15}{Adding wavy bonds} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 3 % +% %%%%%%%%%%%%%%% +\def\@chairc{% + \if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=-10 + \yl@ydiff=24 + \Put@Line(573,-91)(5,4){170}% single bond at 3 + \putratom{753}{21}{\@memberb}% right type + \else\if\@tmpc a%(a) axial + \yl@xdiff=40 + \yl@ydiff=-24 + \Put@Line(573,-91)(0,1){168}% single bond at 3 axial + \putlratom{533}{101}{\@memberb}% left type + \else\if\@tmpc e%(e) beta + \yl@xdiff=-36 + \yl@ydiff=83 + \Put@Line(573,-91)(5,-3){144}% single bond at 3 equatorial + \putlatom{753}{-260}{\@memberb}% left type + \fi\fi\fi% +%2009/06/15 + \else\if\@tmpb U%(U) alpha undefined + \yl@xdiff=-10 + \yl@ydiff=24 + \putratom{753}{21}{\@memberb}% right type + {% + \WaveBonds% + \Put@Line(573,-91)(5,4){170}% single bond at 3 + }% +% + \else \if\@tmpb D%double bond + \yl@xdiff=0 + \yl@ydiff=0 + \Put@Line(563,-83)(5,4){170}% double bond at 3 + \Put@Line(583,-99)(5,4){170}% double bond at 3 + \putratom{733}{41}{\@memberb}% right type + \else% + \yl@xdiff=-10 + \yl@ydiff=24 + \Put@Line(573,-91)(5,4){170}% single bond at 3 + \putratom{753}{21}{\@memberb}% right type + \fi\fi\fi}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@chaird} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v4.04}{2009/06/15}{Adding wavy bonds} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 4 % +% %%%%%%%%%%%%%%% +\def\@chaird{% + \if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=10 + \yl@ydiff=70 + \Put@Line(843,-181)(1,-1){120}% single bond at 4 + \putratom{953}{-371}{\@memberb}% right type + \else\if\@tmpc a%(a) axial + \yl@xdiff=42 + \yl@ydiff=91 + \Put@Line(843,-181)(0,-1){168}% single bond at 4 axial + \putlratom{801}{-440}{\@memberb}% left & right type + \else\if\@tmpc e%(e) beta + \yl@xdiff=-16 + \yl@ydiff=16 + \Put@Line(843,-181)(5,3){144}% single bond at 4 equatorial + \putratom{1003}{-111}{\@memberb}% right type + \fi\fi\fi% +%2009/06/15 + \else\if\@tmpb U%(U) alpha undefined + \yl@xdiff=10 + \yl@ydiff=70 + \putratom{953}{-371}{\@memberb}% right type + {% + \WaveBonds% + \Put@Line(843,-181)(1,-1){120}% single bond at 4 + }% +% + \else \if\@tmpb D%double bond + \yl@xdiff=10 + \yl@ydiff=70 + \Put@Line(833,-191)(1,-1){120}% double bond at 4 + \Put@Line(853,-171)(1,-1){120}% double bond at 4 + \putratom{953}{-371}{\@memberb}% right type + \else% + \yl@xdiff=10 + \yl@ydiff=70 + \Put@Line(843,-181)(1,-1){120}% single bond at 4 + \putratom{953}{-371}{\@memberb}% right type + \fi\fi\fi}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@chaire} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v4.04}{2009/06/15}{Adding wavy bonds} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 5 % +% %%%%%%%%%%%%%%% +\def\@chaire{% + \if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=-10 + \yl@ydiff=10 + \Put@Line(673,46)(1,1){120}% single bond at 5 + \putratom{803}{158}{\@memberb}% right type + \else\if\@tmpc a%(a) axial + \yl@xdiff=40 + \yl@ydiff=-24 + \Put@Line(673,46)(0,1){168}% single bond at 5 axial + \putlratom{633}{238}{\@memberb}% left & right type + \else\if\@tmpc e%(e) beta + \yl@xdiff=-6 + \yl@ydiff=63 + \Put@Line(673,46)(5,-3){144}% single bond at 5 equatorial + \putratom{823}{-103}{\@memberb}% right type + \fi\fi\fi% +%2009/06/15 + \else\if\@tmpb U%(U) alpha undefined + \yl@xdiff=-10 + \yl@ydiff=10 + \putratom{803}{158}{\@memberb}% right type + {% + \WaveBonds% + \Put@Line(673,46)(1,1){120}% single bond at 5 + }% +% + \else \if\@tmpb D%double bond + \yl@xdiff=-10 + \yl@ydiff=10 + \Put@Line(663,53)(1,1){120}% double bond at 5 + \Put@Line(683,38)(1,1){120}% double bond at 5 + \putratom{803}{158}{\@memberb}% right type + \else% + \yl@xdiff=-10 + \yl@ydiff=24 + \Put@Line(673,46)(5,4){170}% single bond at 5 + \putratom{853}{158}{\@memberb}% right type + \fi\fi\fi}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@chairf} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v4.04}{2009/06/15}{Adding wavy bonds} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 6 % +% %%%%%%%%%%%%%%% +\def\@chairf{% + \if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=0 + \yl@ydiff=54 + \Put@Line(270,-90)(-5,-4){170}% single bond at 6 + \putlatom{100}{-280}{\@memberb}% left type + \else\if\@tmpc a%(a) axial + \yl@xdiff=32 + \yl@ydiff=92 + \Put@Line(270,-90)(0,-1){168}% single bond at 6 axial + \putlratom{238}{-350}{\@memberb}% left type + \else\if\@tmpc e%(e) beta + \yl@xdiff=26 + \yl@ydiff=-14 + \Put@Line(270,-90)(-5,3){144}% single bond at 6 equatorial + \putratom{100}{18}{\@memberb}% left type + \fi\fi\fi% +%2009/06/15 + \else\if\@tmpb U%(U) alpha undefined + \yl@xdiff=0 + \yl@ydiff=54 + \putlatom{100}{-280}{\@memberb}% left type + {% + \WaveBonds% + \Put@Line(270,-90)(-5,-4){170}% single bond at 6 + }% +% + \else \if\@tmpb D%double bond + \yl@xdiff=0 + \yl@ydiff=54 + \Put@Line(260,-80)(-5,-4){170}% double bond at 2 + \Put@Line(280,-100)(-5,-4){170}% double bond at 2 + \putlatom{100}{-280}{\@memberb}% left or right type + \else% + \yl@xdiff=0 + \yl@ydiff=54 + \Put@Line(270,-90)(-5,-4){170}% single bond at 2 + \putlatom{100}{-280}{\@memberb}% left type + \fi\fi\fi}% +% \end{macrocode} +% \end{macro} +% +% \subsection{Drawing of Chair-form cyclohexanes} +% +% The standard skeleton of a chair form of cyclohexane is selected +% to have the following locant numbers. +% +% \begin{verbatim} +% *************************** +% * cyclohexane derivatives * +% * (chair type) * +% *************************** +% The following numbering is adopted in this macro. +% +% 5 +% / 3 * +% 1 * 6 / * 4 +% * 2 +% +% \end{verbatim} +% +% The macro |\chair| has an argument |SUBSLIST| as well as an optional +% argument |BONDLIST|. +% +% \begin{verbatim} +% \chair[BONDLIST]{SUBSLIST} +% \end{verbatim} +% +% The |BONDLIST| argument contains one or more +% characters selected from a to f, each of which indicates the presence of +% an inner (endcyclic) double bond on the corresponding position. +% \begin{verbatim} +% +% BONDLIST = +% +% none : cyclohexane +% a : 1,2-double bond +% b : 2,3-double bond +% c : 4,3-double bond +% d : 4,5-double bond +% e : 5,6-double bond +% f : 6,1-double bond +% \end{verbatim} +% +% The |SUBSLIST| argument contains one or more substitution descriptors +% which are separated from each other by a semicolon. Each substitution +% descriptor has a locant number with a bond modifier and a substituent, +% where these are separated with a double equality symbol. +% \begin{verbatim} +% +% SUBSLIST: list of substituents (max 12 substitution positions) +% +% for n = 1 to 6 +% +% nD : exocyclic double bond at n-atom +% nSa : axial single bond at n-atom +% nSe : equatorial single bond at n-atom +% +% \end{verbatim} +% +% Several examples are shown as follows. +% +% \begin{verbatim} +% \chair{1==Cl;2==F} +% \chair[a]{1==Cl;4==F;2==CH$_{3}$} +% \chair[eb]{1D==O;4Se==MeO;4Sa==OMe;5==Cl;6==Cl} +% \end{verbatim} +% +% The definition of |\@chair| uses a picture environment, in which +% bonds are put directly, while subsituents are typset by using +% the macros |\@chaira| to |\@chairf| described above. +% \changes{v1.02}{1998/10/31}{Adding \cs{ylchairposition}, \cs{if@ylsw}, +% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii}, +% \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v5.00}{2010/10/01}{For bond coloring} +% +% \begin{macro}{\@chair} +% \begin{macro}{\chair} +% \begin{macrocode} +\def\chair{\@ifnextchar[{\@chair}{\@chair[r]}} +\def\@chair[#1]#2{% +\@reset@ylsw% +\ylchairposition{#2}% +\def\@@ylii{0}\def\@@yli{0}% +\begin{ShiftPicEnvB}(0,0)(-\yl@shiftii,-\yl@shifti)/% +(1600,800)(-400,-500){chair}% +(400,500)%2002/4/30 by S. Fujita +%skeletal bonds + {\thicklines% + \molfronttrue% + \Put@Line(0,0)(3,-4){170}% % bond 1 to 2 + \Put@Line(170,-226)(3,1){403}% % 2 to 3 + \Put@Line(573,-91)(3,-1){270}% % 3 to 4 + }% + \thinlines% + \Put@Line(843,-181)(-3,4){170}% % 4 to 5 + \Put@Line(673,46)(-3,-1){403}% % 5 to 6 + \Put@Line(0,0)(3,-1){270}% % 1 to 6 +% inner double bonds +\@tfor\member:=#1\do{% +\if\member r%no endcyclic bonds +\else \if\member a% + \Put@Line(76,-42)(3,-4){110}% % double bond 1 to 2 +\else \if\member b% + \Put@Line(200,-186)(3,1){343}% % 2 to 3 +\else \if\member c% + \Put@Line(603,-70)(3,-1){190}% % 3 to 4 +\else \if\member d% + \Put@Line(780,-141)(-3,4){110}% % 4 to 5 +\else \if\member e% + \Put@Line(661,6)(-3,-1){343}% % 5 to 6 +\else \if\member f% + \Put@Line(75,-50)(3,-1){170}% % 1 to 6 +\fi\fi\fi\fi\fi\fi\fi}% +% setting substituents +\@forsemicol\member:=#2\do{% +\ifx\member\empty\else +\expandafter\@m@mb@r\member;\relax% +\expandafter\threech@r\@membera{}{}% +\ifx\@memberb\@yl\else +\ifcase\@tmpa%0 omit + \or\setBScolor{\@chaira}% subst. on 1 +% \@chaira% subst. on 1 + \or\setBScolor{\@chairb}% subst. on 2 +% \@chairb% subst. on 2 + \or\setBScolor{\@chairc}% subst. on 3 +% \@chairc% subst. on 3 + \or\setBScolor{\@chaird}% subst. on 4 +% \@chaird% subst. on 4 + \or\setBScolor{\@chaire}% subst. on 5 +% \@chaire% subst. on 5 + \or\setBScolor{\@chairf}% subst. on 6 +% \@chairf% subst. on 6 +\fi%end of ifcase +\fi\fi% +}% +\end{ShiftPicEnvB}% +}% %end of \chair macro +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% The command |\ylchairposition| is to obtain the shift values +% |\@ylii| and |\@yli| which are used for shifting the standard +% point of a substituent. +% \changes{v1.02}{1998/10/23}{New ommands for setting substituents} +% +% \begin{macro}{\ylchairposition} +% \begin{macrocode} +\def\ylchairposition#1{% +\@@ylswfalse%%%\@reset@ylsw +\@forsemicol\member:=#1\do{% +\if@@ylsw\else +\ifx\member\empty\else +\expandafter\@m@mb@r\member;\relax +\expandafter\threech@r\@membera{}{}\relax +\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi +\if@@ylsw +\ifcase\@tmpa%0 omit + \or\gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 1 + \or\gdef\@ylii{-170}\gdef\@yli{226}\global\@ylswtrue% subst. on 2 + \or\gdef\@ylii{-573}\gdef\@yli{91}\global\@ylswtrue% subst. on 3 + \or\gdef\@ylii{-843}\gdef\@yli{181}\global\@ylswtrue% subst. on 4 + \or\gdef\@ylii{-673}\gdef\@yli{-46}\global\@ylswtrue% subst. on 5 + \or\gdef\@ylii{-270}\gdef\@yli{90}\global\@ylswtrue% subst. on 6 +\fi%end of ifcase +\fi\fi\fi}}% +% \end{macrocode} +% \end{macro} +% +% \section{Inverse chair-form cyclohexanes} +% \subsection{Macros for setting substituents} +% +% Macros |\@chairia| to |\@chairif| are used to set substituents +% on each position of cyclohexane. Note that they corresopond to +% the counterparts of chair-form cyclohexanes described above. +% +% \begin{macro}{\@chairia} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v4.04}{2009/6/15}{Adding wavy bonds} +% \begin{macrocode} +% ******************************************************** +% * treatment of the chair form (inverse) of cyclohexane * +% * added March 05, 1994 by Shinsaku Fujita * +% ******************************************************** +% %%%%%%%%%%%%%%% +% % subst. on 1 % +% %%%%%%%%%%%%%%% +\def\@chairia{% + \if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=10 + \yl@ydiff=90 + \Put@Line(0,0)(-1,-1){120}% single bond at 1 + \putlatom{-130}{-210}{\@memberb}% left type + \else\if\@tmpc a%(a) axial + \yl@xdiff=42 + \yl@ydiff=92 + \Put@Line(0,0)(0,-1){168}% single bond at 1 axial + \putlratom{-42}{-260}{\@memberb}% left & right type + \else\if\@tmpc e%(e) beta + \yl@xdiff=16 + \yl@ydiff=36 + \Put@Line(0,0)(-5,3){144}% single bond at 1 equatorial + \putlatom{-160}{50}{\@memberb}% left type + \fi\fi\fi% +%2009/06/15 + \else\if\@tmpb U%(U) alpha undefined + \yl@xdiff=10\relax + \yl@ydiff=90\relax + \putlatom{-130}{-210}{\@memberb}% % left type + {% + \WaveBonds% + \Put@Line(0,0)(-1,-1){120}% % single bond at 1 + }% +% + \else \if\@tmpb D%double bond + \yl@xdiff=10 + \yl@ydiff=90 + \Put@Line(-10,10)(-1,-1){120}% double bond at 1 + \Put@Line(10,-10)(-1,-1){120}% double bond at 1 + \putlatom{-130}{-210}{\@memberb}% left type + \else% + \yl@xdiff=10 + \yl@ydiff=90 + \Put@Line(0,0)(-1,-1){120}% single bond at 1 + \putlatom{-130}{-210}{\@memberb}% left type + \fi\fi\fi}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@chairif} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v4.04}{2009/06/15}{Adding wavy bonds} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 6 % +% %%%%%%%%%%%%%%% +\def\@chairif{% + \if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=10 + \yl@ydiff=30 + \Put@Line(170,226)(-1,1){120}% single bond at 6 + \putratom{40}{316}{\@memberb}% right type + \else\if\@tmpc a%(a) axial + \yl@xdiff=32 + \yl@ydiff=-12 + \Put@Line(170,226)(0,1){168}% single bond at 6 axial + \putlratom{138}{406}{\@memberb}% left & right type + \else\if\@tmpc e%(e) beta + \yl@xdiff=16 + \yl@ydiff=46 + \Put@Line(170,226)(-5,-3){144}% single bond at 6 equatorial + \putlatom{10}{94}{\@memberb}% left type + \fi\fi\fi% +%2009/06/15 + \else\if\@tmpb U%(U) alpha undefined + \yl@xdiff=10\relax + \yl@ydiff=30\relax + \putratom{40}{316}{\@memberb}% right type + {% + \WaveBonds% + \Put@Line(170,226)(-1,1){120}% single bond at 6 + }% +% + \else \if\@tmpb D%double bond + \yl@xdiff=10 + \yl@ydiff=30 + \Put@Line(160,216)(-1,1){120}% double bond at 6 + \Put@Line(180,236)(-1,1){120}% double bond at 6 + \putlatom{40}{316}{\@memberb}% left type + \else% + \yl@xdiff=10 + \yl@ydiff=30 + \Put@Line(170,226)(-1,1){120}% single bond at 6 + \putlatom{40}{316}{\@memberb}% left type + \fi\fi\fi}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@chairie} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v4.04}{2009/06/15}{Adding wavy bonds} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 5 % +% %%%%%%%%%%%%%%% +\def\@chairie{% + \if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=-10 + \yl@ydiff=76 + \Put@Line(573,91)(5,-4){170}% single bond at 5 + \putratom{753}{-101}{\@memberb}% right type + \else\if\@tmpc a%(a) axial + \yl@xdiff=40 + \yl@ydiff=104 + \Put@Line(573,91)(0,-1){168}% single bond at 5 axial + \putlratom{533}{-181}{\@memberb}% left type + \else\if\@tmpc e%(e) beta + \yl@xdiff=-36 + \yl@ydiff=3 + \Put@Line(573,91)(5,3){144}% single bond at 5 equatorial + \putlatom{753}{180}{\@memberb}% left type + \fi\fi\fi% +%2009/06/15 + \else\if\@tmpb U%(U) alpha undefined + \yl@xdiff=-10 + \yl@ydiff=76 + \putratom{753}{-101}{\@memberb}% right type + {% + \WaveBonds% + \Put@Line(573,91)(5,-4){170}% single bond at 5 + }% +% + \else \if\@tmpb D%double bond + \yl@xdiff=-10 + \yl@ydiff=96 + \Put@Line(563,83)(5,-4){170}% double bond at 5 + \Put@Line(583,99)(5,-4){170}% double bond at 5 + \putratom{733}{-141}{\@memberb}% right type + \else% + \yl@xdiff=-10 + \yl@ydiff=76 + \Put@Line(573,91)(5,-4){170}% single bond at 5 + \putratom{753}{-121}{\@memberb}% right type + \fi\fi\fi}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@chairid} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v4.04}{2009/06/15}{Adding wavy bonds} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 4 % +% %%%%%%%%%%%%%%% +\def\@chairid{% + \if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=10 + \yl@ydiff=30 + \Put@Line(843,181)(1,1){120}% single bond at 4 + \putratom{953}{271}{\@memberb}% right type + \else\if\@tmpc a%(a) axial + \yl@xdiff=42 + \yl@ydiff=-11 + \Put@Line(843,181)(0,1){168}% single bond at 4 axial + \putlratom{801}{360}{\@memberb}% left & right type + \else\if\@tmpc e%(e) beta + \yl@xdiff=-16 + \yl@ydiff=64 + \Put@Line(843,181)(5,-3){144}% single bond at 4 equatorial + \putratom{1003}{31}{\@memberb}% right type + \fi\fi\fi% +%2009/06/15 + \else\if\@tmpb U%(U) alpha undefined + \yl@xdiff=10 + \yl@ydiff=30 + \putratom{953}{271}{\@memberb}% right type + {% + \WaveBonds% + \Put@Line(843,181)(1,1){120}% single bond at 4 + }% +% + \else \if\@tmpb D%double bond + \yl@xdiff=10 + \yl@ydiff=30 + \Put@Line(833,191)(1,1){120}% double bond at 4 + \Put@Line(853,171)(1,1){120}% double bond at 4 + \putratom{953}{271}{\@memberb}% right type + \else% + \yl@xdiff=10 + \yl@ydiff=30 + \Put@Line(843,181)(1,1){120}% single bond at 4 + \putratom{953}{271}{\@memberb}% right type + \fi\fi\fi}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@chairic} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v4.04}{2009/06/15}{Adding wavy bonds} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 3 % +% %%%%%%%%%%%%%%% +\def\@chairic{% + \if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=-10 + \yl@ydiff=92 + \Put@Line(673,-46)(1,-1){120}% single bond at 3 + \putratom{803}{-258}{\@memberb}% right type + \else\if\@tmpc a%(a) axial + \yl@xdiff=40 + \yl@ydiff=110 + \Put@Line(673,-46)(0,-1){168}% single bond at 3 axial + \putlratom{633}{-318}{\@memberb}% left & right type + \else\if\@tmpc e%(e) beta + \yl@xdiff=-6 + \yl@ydiff=17 + \Put@Line(673,-46)(5,3){144}% single bond at 3 equatorial + \putratom{823}{23}{\@memberb}% right type + \fi\fi\fi% +%2009/06/15 + \else\if\@tmpb U%(U) alpha undefined + \yl@xdiff=-10 + \yl@ydiff=92 + \putratom{803}{-258}{\@memberb}% right type + {% + \WaveBonds% + \Put@Line(673,-46)(1,-1){120}% single bond at 3 + }% +% + \else \if\@tmpb D%double bond + \yl@xdiff=-5 + \yl@ydiff=96 + \Put@Line(663,-53)(1,-1){120}% double bond at 3 + \Put@Line(683,-38)(1,-1){120}% double bond at 3 + \putratom{803}{-258}{\@memberb}% right type + \else% + \yl@xdiff=-10 + \yl@ydiff=76 + \Put@Line(673,-46)(5,-4){170}% single bond at 3 + \putratom{853}{-258}{\@memberb}% right type + \fi\fi\fi}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@chairib} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v4.04}{2009/06/15}{Adding wavy bonds} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 2 % +% %%%%%%%%%%%%%%% +\def\@chairib{% + \if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=0 + \yl@ydiff=46 + \Put@Line(270,90)(-5,4){170}% single bond at 2 + \putlatom{100}{180}{\@memberb}% left type + \else\if\@tmpc a%(a) axial + \yl@xdiff=32 + \yl@ydiff=-12 + \Put@Line(270,90)(0,1){168}% single bond at 2 axial + \putlratom{238}{270}{\@memberb}% left type + \else\if\@tmpc e%(e) beta + \yl@xdiff=26 + \yl@ydiff=94 + \Put@Line(270,90)(-5,-3){144}% single bond at 2 equatorial + \putratom{100}{-98}{\@memberb}% left type + \fi\fi\fi% +%2009/06/15 + \else\if\@tmpb U%(U) alpha undefined + \yl@xdiff=0 + \yl@ydiff=46 + \putlatom{100}{180}{\@memberb}% left type + {% + \WaveBonds% + \Put@Line(270,90)(-5,4){170}% single bond at 2 + }% +% + \else \if\@tmpb D%double bond + \yl@xdiff=0 + \yl@ydiff=26 + \Put@Line(260,80)(-5,4){170}% double bond at 2 + \Put@Line(280,100)(-5,4){170}% double bond at 2 + \putlatom{100}{200}{\@memberb}% left or right type + \else% + \yl@xdiff=0 + \yl@ydiff=26 + \Put@Line(270,90)(-5,4){170}% single bond at 2 + \putlatom{100}{200}{\@memberb}% left type + \fi\fi\fi}% +% \end{macrocode} +% \end{macro} +% +% \subsection{Drawing of inverse chair-form cyclohexanes} +% +% The standard skeleton of an inverse chair form of cyclohexane is selected +% to have the following locant numbers. +% +% \begin{verbatim} +% *************************** +% * cyclohexane derivatives * +% * (inverse chair type) * +% *************************** +% The following numbering is adopted in this macro. +% +% 6 4 +% * ` 5 * +% 1 * 2 * +% ` 3 +% +% \end{verbatim} +% +% The macro |\chairi| has an argument |SUBSLIST| as well as an optional +% argument |BONDLIST|. +% +% \begin{verbatim} +% \chairi[BONDLIST]{SUBSLIST} +% \end{verbatim} +% +% The |BONDLIST| argument contains one or more +% characters selected from a to f, each of which indicates the presence of +% an inner (endcyclic) double bond on the corresponding position. +% \begin{verbatim} +% BONDLIST = +% +% none : cyclohexane +% a : 1,2-double bond +% b : 2,3-double bond +% c : 4,3-double bond +% d : 4,5-double bond +% e : 5,6-double bond +% f : 6,1-double bond +% \end{verbatim} +% +% The |SUBSLIST| argument contains one or more substitution descriptors +% which are separated from each other by a semicolon. Each substitution +% descriptor has a locant number with a bond modifier and a substituent, +% where these are separated with a double equality symbol. +% \begin{verbatim} +% +% SUBSLIST: list of substituents (max 8 substitution positions) +% +% for n = 1 to 6 +% +% nD : exocyclic double bond at n-atom +% nSa : axial single bond at n-atom +% nSe : equatorial single bond at n-atom +% +% \end{verbatim} +% +% Several examples are shown as follows. +% +% \begin{verbatim} +% e.g. +% +% \chairi[eb]{1D==O;4Se==MeO;4Sa==OMe;5==Cl;6==Cl} +% \end{verbatim} +% +% The definition of |\@chairi| uses a picture environment, in which +% bonds are put directly, while subsituents are typset by using +% the macros |\@chairia| to |\@chairif| described above. +% \changes{v1.02}{1998/10/31}{Adding \cs{ylchairiposition}, \cs{if@ylsw}, +% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii}, +% \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v5.00}{2010/10/01}{For bond coloring} +% +% \begin{macro}{\@chairi} +% \begin{macro}{\chairi} +% \begin{macrocode} +\def\chairi{\@ifnextchar[{\@chairi}{\@chairi[r]}} +\def\@chairi[#1]#2{% +\@reset@ylsw% +\ylchairiposition{#2}% +\def\@@ylii{0}\def\@@yli{0}% +\begin{ShiftPicEnvB}(0,0)(-\yl@shiftii,-\yl@shifti)/% +(1600,800)(-400,-319){chairi}% +(400,319)%2002/4/30 by S. Fujita +% skeletal bonds + \thinlines% + \Put@Line(0,0)(3,4){170}% % bond 1 to 6 + \Put@Line(170,226)(3,-1){403}% % 6 to 5 + \Put@Line(573,91)(3,1){270}% % 5 to 4 + {\thicklines% + \molfronttrue% + \Put@Line(843,181)(-3,-4){170}% % 4 to 3 + \Put@Line(673,-46)(-3,1){403}% % 3 to 2 + \Put@Line(0,0)(3,1){270}% % 1 to 2 + }% + \thinlines% +% inner double bonds +\@tfor\member:=#1\do{% +\if\member r%no endcyclic bonds +\else \if\member c%%%a% + \Put@Line(767,139)(-3,-4){110}% % double bond 3 to 4 +\else \if\member b%%%d%%%b% + \Put@Line(640,-5)(-3,1){343}% % 4 to 5 +\else \if\member a%%%e%%%%c% + \Put@Line(240,111)(-3,-1){190}% % 5 to 6 +\else \if\member f%%%d% + \Put@Line(63,40)(3,4){110}% % 6 to 7 +\else \if\member e%%%l% + \Put@Line(182,187)(3,-1){343}% % 7 to 10 +\else \if\member d%%%k%%%f% + \Put@Line(768,131)(-3,-1){170}% % 10 to 3 +\fi\fi\fi\fi\fi\fi\fi}% +% % +\@forsemicol\member:=#2\do{% +\ifx\member\empty\else +\expandafter\@m@mb@r\member;\relax% +\expandafter\threech@r\@membera{}{}% +\ifx\@memberb\@yl\else +\ifcase\@tmpa%0 omit + \or\setBScolor{\@chairia}% subst. on 1 +% \@chairia% subst. on 1 + \or\setBScolor{\@chairib}% subst. on 2 +% \@chairib% subst. on 2 + \or\setBScolor{\@chairic}% subst. on 3 +% \@chairic% subst. on 3 + \or\setBScolor{\@chairid}% subst. on 4 +% \@chairid% subst. on 4 + \or\setBScolor{\@chairie}% subst. on 5 +% \@chairie% subst. on 5 + \or\setBScolor{\@chairif}% subst. on 6 +% \@chairif% subst. on 6 +\fi %end of ifcase +\fi\fi% +}\end{ShiftPicEnvB}}% %end of \chairi macro +% End of addition 1994/03/05 SF +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% The command |\ylchairiposition| is to obtain the shift values +% |\@ylii| and |\@yli| which are used for shifting the standard +% point of a substituent. +% \changes{v1.02}{1998/10/23}{New ommands for setting substituents} +% +% \begin{macro}{\ylchairiposition} +% \begin{macrocode} +\def\ylchairiposition#1{% +\@@ylswfalse%%%\@reset@ylsw +\@forsemicol\member:=#1\do{% +\if@@ylsw\else +\ifx\member\empty\else +\expandafter\@m@mb@r\member;\relax +\expandafter\threech@r\@membera{}{}\relax +\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi +\if@@ylsw +\ifcase\@tmpa%0 omit + \or\gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 1 + \or\gdef\@ylii{-270}\gdef\@yli{-90}\global\@ylswtrue% subst. on 2 + \or\gdef\@ylii{-673}\gdef\@yli{46}\global\@ylswtrue% subst. on 3 + \or\gdef\@ylii{-843}\gdef\@yli{-181}\global\@ylswtrue% subst. on 4 + \or\gdef\@ylii{-573}\gdef\@yli{-91}\global\@ylswtrue% subst. on 5 + \or\gdef\@ylii{-170}\gdef\@yli{-226}\global\@ylswtrue% subst. on 6 +\fi%end of ifcase +\fi\fi\fi}}% +% \end{macrocode} +% \end{macro} +% +% \section{Bicycloheptanes} +% \subsection{Drawing of a flat and vertical type} +% +% The flat-and-vertical-type skeleton of bicycloheptanes is selected +% to have the following locant numbers. +% +% \begin{verbatim} +% ************************************* +% * bicyclo[2.2.1]heptane derivatives * +% * (flat, vertical type) * +% ************************************* +% The following numbering is adopted in this macro. +% +% 1 +% * +% 6 * * 2 +% | 7 | +% | | +% 5 * * 3 +% * +% 4 <===== the original point +% \end{verbatim} +% +% The macro |\bicyclohepv| has an argument |SUBSLIST| as well as an optional +% argument |BONDLIST|. +% +% \begin{verbatim} +% \bicychepv[BONDLIST]{SUBSLIST} +% \end{verbatim} +% +% The |BONDLIST| argument contains one or more +% characters selected from a to f, each of which indicates the presence of +% an inner (endcyclic) double bond on the corresponding position. +% In order to put dimethyl subsitutents on the top position (7), +% the character `7' is used in the |BONDLIST|. The delocalization +% of $\pi$-electron can be described with the character `A' written in +% the |BONDLIST|. +% \begin{verbatim} +% +% BONDLIST = +% +% none : bicyclo[2.2.1]heptane +% a : 1,2-double bond +% b : 2,3-double bond +% c : 4,3-double bond +% d : 4,5-double bond +% e : 5,6-double bond +% f : 6,1-double bond +% A : aromatic circle +% 7 : 7,7-dimethyl +% \end{verbatim} +% +% The |SUBSLIST| argument takes the standard format of \XyMTeX{}, in which +% more substitution descriptors are separated from each other +% by a semicolon. +% \begin{verbatim} +% +% SUBSLIST: list of substituents (max 12 substitution positions) +% +% for n = 1 to 7 +% +% nD : exocyclic double bond at n-atom +% n or nS : exocyclic single bond at n-atom +% nA : alpha single bond at n-atom +% nB : beta single bond at n-atom +% nSA : alpha single bond at n-atom (boldface) +% nSB : beta single bond at n-atom (dotted line) +% nSa : alpha (not specified) single bond at n-atom +% nSb : beta (not specifed) single bond at n-atom +% \end{verbatim} +% +% Several examples are shown as follows. +% +% \begin{verbatim} +% e.g. +% +% \bicychepv{1==Cl;2==F} +% \bicychepv[c]{1==Cl;4==F;2==CH$_{3}$} +% \bicychepv[eb]{1D==O;4==Me;5==Cl;6==Cl} +% \end{verbatim} +% +% The definition of |\@bicyclohepv| uses a picture environment, in which +% bonds are put directly, while subsituents are typset by using +% the macro |\setsixringv| defined in chemstr.sty of \XyMTeX{} system. +% \changes{v1.02}{1998/10/31}{Adding \cs{ylposition}, \cs{if@ylsw}, +% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii}, +% \cs{yl@xdiff} and \cs{yl@ydiff}} +% +% \begin{macro}{\@bicyclohepv} +% \begin{macro}{\bicyclohepv} +% \begin{macrocode} +\def\bicychepv{\@ifnextchar[{\@bicychepv}{\@bicychepv[r]}} +\def\@bicychepv[#1]#2{% +\@reset@ylsw% +\ylposition{#2}{0}{0}{7}{0}% +\begin{ShiftPicEnv}(0,0)(-\yl@shiftii,-\yl@shifti)/% +(800,880)(-400,-240){bicychepv}% +(400,240)%2002/4/30 by S. Fujita + \Put@Line(0,406)(-5,-3){171}% %bond 1-6 + \Put@Line(0,406)(5,-3){171}% %bond 1-2 + \Put@Line(0,0)(-5,3){171}% %bond 4-5 + \Put@Line(0,0)(5,3){171}% %bond 4-3 + \Put@Line(171,103)(0,1){200}% %bond 3-2 + \Put@Line(-171,103)(0,1){200}% %bond 5-6 +{\thicklines% + \molfronttrue% + \Put@Line(0,0)(1,4){51}% %bond 4-7 + \Put@Line(0,406)(1,-4){51}}% %bond 1-7 +\@tfor\member:=#1\do{% +\if\member r%no endcyclic double bonds +\else \if\member a% + \Put@Line(6,364)(5,-3){126}% %double bond 1-2 +\else \if\member b% + \Put@Line(138,129)(0,1){148}% %double bond 3-2 +\else \if\member c% + \Put@Line(6,42)(5,3){126}% %double bond 4-3 +\else \if\member d% + \Put@Line(-6,42)(-5,3){126}% %double bond 4-5 +\else \if\member e% + \Put@Line(-138,129)(0,1){148}% %double bond 5-6 +\else \if\member f% + \Put@Line(-6,364)(-5,-3){126}% %double bond 1-6 +\else \if\member 7% + {\thicklines% + \Put@Line(51,204)(-1,0){70}% %7,7-dimethyl + \Put@Line(51,204)(1,0){70}}% +\else \if\member A%aromatic circle + \Put@oCircle(0,203){240}% %circle +\fi\fi\fi\fi\fi\fi\fi\fi\fi}% +% % +\setsixringv{#2}{0}{0}{7}{0}% +\end{ShiftPicEnv}% +}% %end of \bicychepv macro +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsection{Drawing of a flat and horizontal type} +% +% The flat-and-horizontal-type skeleton of bicycloheptanes is selected +% to have the following locant numbers. +% +% \begin{verbatim} +% ************************************* +% * bicyclo[2.2.1]heptane derivatives * +% * (flat, horizontal type) * +% ************************************* +% The following numbering is adopted in this macro. +% +% 2 3 +% ----- +% * * +% the original point ===> 1 * 7 * 4 +% (0,0) * * +% ----- +% 6 5 +% \end{verbatim} +% +% The macro |\bicycloheph| has an argument |SUBSLIST| as well as an optional +% argument |BONDLIST|. +% +% \begin{verbatim} +% \bicycheph[BONDLIST]{SUBSLIST} +% \end{verbatim} +% +% The |BONDLIST| argument contains one or more +% characters selected from a to f, each of which indicates the presence of +% an inner (endcyclic) double bond on the corresponding position. +% In order to put dimethyl subsitutents on the top position (7), +% the character `7' is used in the |BONDLIST|. The delocalization +% of $\pi$-electron can be described with the character `A' written in +% the |BONDLIST|. +% \begin{verbatim} +% BONDLIST = +% +% none : bicyclo[2.2.1]heptane +% a : 1,2-double bond +% b : 2,3-double bond +% c : 4,3-double bond +% d : 4,5-double bond +% e : 5,6-double bond +% f : 6,1-double bond +% A : aromatic circle +% 7 : 7,7-dimethyl +% \end{verbatim} +% +% The |SUBSLIST| argument takes the standard format of \XyMTeX{}, in which +% more substitution descriptors are separated from each other +% by a semicolon. +% \begin{verbatim} +% +% SUBSLIST: list of substituents (max 8 substitution positions) +% +% for n = 1 to 6 +% +% nD : exocyclic double bond at n-atom +% n or nS : exocyclic single bond at n-atom +% nA : alpha single bond at n-atom +% nB : beta single bond at n-atom +% nSA : alpha single bond at n-atom (boldface) +% nSB : beta single bond at n-atom (dotted line) +% nSa : alpha (not specified) single bond at n-atom +% nSb : beta (not specifed) single bond at n-atom +% \end{verbatim} +% +% Several examples are shown as follows. +% +% \begin{verbatim} +% e.g. +% +% \bicycheph{1==Cl;2==F} +% \bicycheph[c]{1==Cl;4==F;2==CH$_{3}$} +% \bicycheph[eb]{1D==O;4==Me;5==Cl;6==Cl} +% \end{verbatim} +% +% The definition of |\@bicycloheph| uses a picture environment, in which +% bonds are put directly, while subsituents are typset by using +% the macro |\setsixringh| defined in chemstr.sty of \XyMTeX{} system. +% \changes{v1.02}{1998/10/31}{Adding \cs{ylpositionh}, \cs{if@ylsw}, +% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii}, +% \cs{yl@xdiff} and \cs{yl@ydiff}} +% +% \begin{macro}{\@bicycloheph} +% \begin{macro}{\bicycloheph} +% \begin{macrocode} +\def\bicycheph{\@ifnextchar[{\@bicycheph}{\@bicycheph[r]}} +\def\@bicycheph[#1]#2{% +\@reset@ylsw% +\ylpositionh{#2}{0}{0}{7}{0}% +\begin{ShiftPicEnv}(0,0)(-\yl@shiftii,-\yl@shifti)/% +(880,800)(-240,-400){bicycheph}% +(240,400)%2002/4/30 by S. Fujita + \Put@Line(0,0)(3,5){103}% %bond 1-2 + \Put@Line(0,0)(3,-5){103}% %bond 1-6 + \Put@Line(406,0)(-3,5){103}% %bond 4-3 + \Put@Line(406,0)(-3,-5){103}% %bond 4-3 + \Put@Line(103,171)(1,0){200}% %bond 2-3 + \Put@Line(103,-171)(1,0){200}% %bond 6-5 +{\thicklines% + \molfronttrue% + \Put@Line(0,0)(4,1){203}% %bond 4-7 + \Put@Line(406,0)(-4,1){203}}% %bond 1-7 +\@tfor\member:=#1\do{% +\if\member r%no endcyclic double bonds +\else \if\member a% + \Put@Line(42,6)(3,5){78}% %double bond 1-2 +\else \if\member b% + \Put@Line(129,138)(1,0){148}% %double bond 2-3 +\else \if\member c% + \Put@Line(364,6)(-3,5){78}% %double bond 4-3 +\else \if\member d% + \Put@Line(364,-6)(-3,-5){78}% %double bond 4-5 +\else \if\member e% + \Put@Line(129,-138)(1,0){148}% %double bond 6-5 +\else \if\member f% + \Put@Line(42,-6)(3,-5){78}% %double bond 1-6 +\else \if\member 7% + {\thicklines% + \Put@Line(204,51)(0,-1){70}% %7,7-dimethyl + \Put@Line(204,51)(0,1){70}}% +\else \if\member A%aromatic circle + \Put@oCircle(203,0){240}% %circle +\fi\fi\fi\fi\fi\fi\fi\fi\fi}% +% % +\setsixringh{#2}{0}{0}{7}{0}% +\end{ShiftPicEnv}% +}% %end of \bicycheph macro +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsection{Drawing of a stereo type} +% +% \subsubsection{Macros for setting substituents} +% +% Macros |\@borna| to |\@borng| are used to set substituents +% on each position of bornane. +% +% \begin{macro}{\@borna} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v5.01}{2013/06/26}{Adding A, B} +% \begin{macrocode} +% *********************************************** +% * setting bonds and substituents for bornanes * +% * (bicycloe[2.2.1]heptane derivatives) * +% *********************************************** +% %%%%%%%%%%%%%%% +% % subst. on 1 % +% %%%%%%%%%%%%%%% +\def\@borna{% + \if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=8 + \yl@ydiff=3 + \Put@Line(318,247)(2,5){40}% % single bond 1 + \putratom{350}{360}{\@memberb}% % right type + \else\if\@tmpc a%(a) alpha + \yl@xdiff=8 + \yl@ydiff=3 + \Put@Line(318,247)(2,5){40}% % single bond 1 + \putratom{350}{360}{\@memberb}% % right type + \else\if\@tmpc b%(b) beta + \yl@xdiff=8 + \yl@ydiff=3 + \Put@Line(318,247)(2,5){40}% % single bond 1 + \putratom{350}{360}{\@memberb}% % right type + \fi\fi\fi% +%2013/04/01 + \else\if\@tmpb U%(U) alpha undefined + \yl@xdiff=8\relax + \yl@ydiff=3\relax + {% + \WaveBonds% + \Put@Line(318,247)(2,5){40}% % wavy bond at 1 + }% + \putratom{350}{360}{\@memberb}% % right type +%2013/06/26 + \else\if\@tmpb A%(A) alpha + \yl@xdiff=8\relax + \yl@ydiff=3\relax + \dotorline(318,247)(2,5){40}/(318,247)(358,347)% + \putratom{350}{360}{\@memberb}% % right type +%2013/06/26 + \else\if\@tmpb B%(B) beta + \yl@xdiff=8\relax + \yl@ydiff=3\relax + {% + \thicklines% + \Put@Line(318,247)(2,5){40}% % wavy bond at 1 + }% + \putratom{350}{360}{\@memberb}% % right type +% + \else% + \yl@xdiff=8 + \yl@ydiff=3 + \Put@Line(318,247)(2,5){40}% % single bond 1 + \putratom{350}{360}{\@memberb}% % right type + \fi\fi\fi\fi + }% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@bornb} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v5.01}{2013/06/26}{Bug fix exchange A and B} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 2 % +% %%%%%%%%%%%%%%% +\def\@bornb{% + \begin{sfpicture}(200,200)(0,0) + \if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=-10 + \yl@ydiff=20 + \Put@Line(0,0)(5,2){160}% + \putratom{170}{44}{\@memberb}% % left type + \else\if\@tmpc B%(B) beta%bug fix 2013/06/26 + \yl@xdiff=0 + \yl@ydiff=-5 + {% + \thicklines% + \Put@Line(0,0)(4,3){140}% % endo (a) + }% + \putratom{140}{115}{\@memberb}% % right type + \else\if\@tmpc A%(A) alpha%bug fix 2013/06/26 + \yl@xdiff=10 + \yl@ydiff=30 + \dotorline(0,0)(5,-2){140}/(0,0)(140,-56)% + \putratom{150}{-86}{\@memberb}% % right type + \else\if\@tmpc a%(a) alpha + \yl@xdiff=10 + \yl@ydiff=30 + \Put@Line(0,0)(5,-2){140}% % endo (a) + \putratom{150}{-86}{\@memberb}% % right type + \else\if\@tmpc b%(b) beta + \yl@xdiff=0 + \yl@ydiff=-10 + \Put@Line(0,0)(4,3){140}% % exo (b) + \putratom{140}{115}{\@memberb}% % right type + \fi\fi\fi\fi\fi% + \else \if\@tmpb D%double bond + \yl@xdiff=-10 + \yl@ydiff=20 + \Put@Line(-10,-15)(5,2){160}% + \Put@Line(-5,15)(5,2){160}% + \putratom{170}{44}{\@memberb}% % right type + \else \if\@tmpb B%beta single bond%bug fix 2013/06/26 + \yl@xdiff=-10 + \yl@ydiff=20 + {% + \thicklines% + \Put@Line(0,0)(5,2){160}% + }% + \putratom{170}{44}{\@memberb}% % right type + \else \if\@tmpb A%alpha single bond%bug fix 2013/06/26 + \yl@xdiff=-10 + \yl@ydiff=20 + \dotorline(0,0)(5,2){160}/(0,0)(160,64)% + \putratom{170}{44}{\@memberb}% % right type +%2013/04/01 + \else\if\@tmpb U%(U) alpha undefined + \yl@xdiff=-10\relax + \yl@ydiff=20\relax + {% + \WaveBonds% + \Put@Line(0,0)(5,2){160}% % wavy bond at 2 + }% + \putratom{170}{44}{\@memberb}% % left type +% + \else% + \yl@xdiff=-10 + \yl@ydiff=20 + \Put@Line(0,0)(5,2){160}% + \putratom{170}{44}{\@memberb}% % right type + \fi\fi\fi\fi\fi\end{sfpicture}}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@bornc} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v5.01}{2013/06/26}{Bug fix exchange A and B} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 3 % +% %%%%%%%%%%%%%%% +\def\@bornc{% + \begin{sfpicture}(200,200)(0,0) + \if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=-10 + \yl@ydiff=30 + \Put@Line(0,0)(5,-2){140}% + \putratom{150}{-86}{\@memberb}% % right type + \else\if\@tmpc B%(B) beta%bug fix 2013/06/26 + \yl@xdiff=-10 + \yl@ydiff=30 + {% + \thicklines% + \Put@Line(0,0)(5,2){140}% % endo (a) + }% + \putratom{150}{26}{\@memberb}% % right type + \else\if\@tmpc A%(A) alpha%bug fix 2013/06/26 + \yl@xdiff=0 + \yl@ydiff=40 + \dotorline(0,0)(4,-3){140}/(0,0)(140,-105)%% exo (b) + \putratom{140}{-145}{\@memberb}% % right type + \else\if\@tmpc a%(a) alpha + \yl@xdiff=0 + \yl@ydiff=40 + \Put@Line(0,0)(4,-3){140}% % endo (a) + \putratom{140}{-145}{\@memberb}% % right type + \else\if\@tmpc b%(b) beta + \yl@xdiff=-10 + \yl@ydiff=30 + \Put@Line(0,0)(5,2){140}% % exo (b) + \putratom{150}{26}{\@memberb}% % right type + \fi\fi\fi\fi\fi + \else \if\@tmpb D%double bond + \yl@xdiff=10 + \yl@ydiff=50 + \Put@Line(10,15)(5,-2){160}% + \Put@Line(5,-15)(5,-2){160}% + \putratom{170}{-124}{\@memberb}% % right type + \else \if\@tmpb B%beta single bond%bug fix 2013/06/26 + \yl@xdiff=-10 + \yl@ydiff=30 + {% + \thicklines% + \Put@Line(0,0)(5,-2){140}% % endo (a) + }% + \putratom{150}{-86}{\@memberb}% % right type + \else \if\@tmpb A%alpha single bond%bug fix 2013/06/26 + \yl@xdiff=-10 + \yl@ydiff=30 + \dotorline(0,0)(5,-2){140}/(0,0)(140,-56)% exo (b) + \putratom{150}{-86}{\@memberb}% % right type +%2013/04/01 + \else\if\@tmpb U%(U) alpha undefined + \yl@xdiff=-10\relax + \yl@ydiff=20\relax + {% + \WaveBonds% + \Put@Line(0,0)(5,2){160}% % wavy bond at 3 + }% + \putratom{170}{44}{\@memberb}% % left type +% + \else% + \yl@xdiff=-10 + \yl@ydiff=20 + \Put@Line(0,0)(5,2){160}% + \putratom{170}{44}{\@memberb}% % right type + \fi\fi\fi\fi\fi% +\end{sfpicture}}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@bornd} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v5.01}{2013/06/26}{Adding A, B} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 4 % +% %%%%%%%%%%%%%%% +\def\@bornd{% + \if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=30 + \yl@ydiff=87 + \Put@Line(237,47)(-2,-5){40}% % single bond 4 + \putlratom{167}{-150}{\@memberb}% % left & right type + \else\if\@tmpc a%(a) alpha + \yl@xdiff=30 + \yl@ydiff=87 + \Put@Line(237,47)(-2,-5){40}% % single bond 4 + \putlratom{167}{-150}{\@memberb}% % left & right type + \else\if\@tmpc b%(b) beta + \yl@xdiff=30 + \yl@ydiff=87 + \Put@Line(237,47)(-2,-5){40}% % single bond 4 + \putlratom{167}{-150}{\@memberb}% % left & right type + \fi\fi\fi% +%2013/04/01 + \else\if\@tmpb U%(U) alpha, beta undefined + \yl@xdiff=30\relax + \yl@ydiff=87\relax + {% + \WaveBonds% + \Put@Line(237,47)(-2,-5){40}% % single bond 4 + }% + \putlratom{167}{-150}{\@memberb}% % left & right type +%2013/06/26 + \else\if\@tmpb A%(A) alpha + \yl@xdiff=30\relax + \yl@ydiff=87\relax + \dotorline(237,47)(-2,-5){40}/(237,47)(197,-53)% + \putlratom{167}{-150}{\@memberb}% % left & right type +%2013/06/26 + \else\if\@tmpb B%(B) beta + \yl@xdiff=30\relax + \yl@ydiff=87\relax + {% + \thicklines% + \Put@Line(237,47)(-2,-5){40}% % single bond 4 + }% + \putlratom{167}{-150}{\@memberb}% % left & right type +% + \else% + \yl@xdiff=30 + \yl@ydiff=87 + \Put@Line(237,47)(-2,-5){40}% % single bond 4 + \putlratom{167}{-150}{\@memberb}% % left & right type + \fi\fi\fi\fi% + }% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@borne} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v5.01}{2013/06/26}{Bug fix exchange A and B} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 5 % +% %%%%%%%%%%%%%%% +\def\@borne{% + \begin{sfpicture}(200,200)(0,0) + \if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=10 + \yl@ydiff=30 + \Put@Line(0,0)(-5,-2){140}% + \putlatom{-150}{-86}{\@memberb}% % left type + \else\if\@tmpc B%(B) beta%bug fix 2013/06/26 + \yl@xdiff=10 + \yl@ydiff=30 + {% + \thicklines% + \Put@Line(0,0)(-5,2){140}% % endo (a) + }% + \putlatom{-150}{26}{\@memberb}% % left type + \else\if\@tmpc A%(A) alpha%bug fix 2013/06/26 + \yl@xdiff=0 + \yl@ydiff=40 + \dotorline(0,0)(-4,-3){140}/(0,0)(-140,-105)%% exo (b) + \putlatom{-140}{-145}{\@memberb}% % left type + \else\if\@tmpc a%(a) alpha + \yl@xdiff=0 + \yl@ydiff=30 + \Put@Line(0,0)(-4,-3){140}% % endo (a) + \putlatom{-140}{-145}{\@memberb}% % left type + \else\if\@tmpc b%(b) beta + \yl@xdiff=10 + \yl@ydiff=30 + \Put@Line(0,0)(-5,2){140}% % exo (b) + \putlatom{-150}{26}{\@memberb}% % left type + \fi\fi\fi\fi\fi + \else \if\@tmpb D%double bond + \yl@xdiff=0 + \yl@ydiff=64 + \Put@Line(-10,15)(-5,-2){160}% + \Put@Line(-5,-15)(-5,-2){160}% + \putlatom{-170}{-124}{\@memberb}% % left type + \else \if\@tmpb B%beta single bond%bug fix 2013/06/26 + \yl@xdiff=10 + \yl@ydiff=30 + {% + \thicklines% + \Put@Line(0,0)(-5,-2){140}% % endo (a) + }% + \putlatom{-150}{-86}{\@memberb}% % left type + \else \if\@tmpb A%alpha single bond%bug fix 2013/06/26 + \yl@xdiff=10 + \yl@ydiff=30 + \dotorline(0,0)(-5,-2){140}/(0,0)(-140,-56)%% exo (b) + \putlatom{-150}{-86}{\@memberb}% % left type +%2013/04/01 + \else\if\@tmpb U%(U) alpha undefined + \yl@xdiff=10\relax + \yl@ydiff=20\relax + {% + \WaveBonds% + \Put@Line(0,0)(-5,2){160}% wavy bond at 5 + }% + \putlatom{-170}{44}{\@memberb}% % left type +% + \else% + \yl@xdiff=10 + \yl@ydiff=20 + \Put@Line(0,0)(-5,2){160}% + \putlatom{-170}{44}{\@memberb}% % left type + \fi\fi\fi\fi\fi% +\end{sfpicture}}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@bornf} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v5.01}{2013/06/26}{Bug fix exchange A and B} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 6 % +% %%%%%%%%%%%%%%% +\def\@bornf{% + \begin{sfpicture}(200,200)(0,0) + \if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=10 + \yl@ydiff=30 + \Put@Line(0,0)(-5,2){160}% + \putlatom{-170}{44}{\@memberb}% % left type + \else\if\@tmpc B%(B) beta%bug fix 2013/06/26 + \yl@xdiff=10 + \yl@ydiff=-10 + {% + \thicklines% + \Put@Line(0,0)(-4,3){140}% % endo (a) + }% + \putlatom{-140}{115}{\@memberb}% % left type + \else\if\@tmpc A%(A) alpha%bug fix 2013/06/26 + \yl@xdiff=0 + \yl@ydiff=30 + \dotorline(0,0)(-5,-2){140}/(0,0)(-140,-56)%% exo (b) + \putlatom{-150}{-86}{\@memberb}% % left type + \else\if\@tmpc a%(a) alpha + \yl@xdiff=10 + \yl@ydiff=30 + \Put@Line(0,0)(-5,-2){140}% % endo (a) + \putlatom{-150}{-86}{\@memberb}% % left type + \else\if\@tmpc b%(b) beta + \yl@xdiff=0 + \yl@ydiff=-10 + \Put@Line(0,0)(-4,3){140}% % exo (b) + \putlatom{-140}{115}{\@memberb}% % left type + \fi\fi\fi\fi\fi% + \else \if\@tmpb D%double bond + \yl@xdiff=0 + \yl@ydiff=20 + \Put@Line(10,-15)(-5,2){160}% + \Put@Line(5,15)(-5,2){160}% + \putlatom{-170}{44}{\@memberb}% % left type + \else \if\@tmpb B%beta single bond%bug fix 2013/06/26 + \yl@xdiff=10 + \yl@ydiff=30 + {% + \thicklines% + \Put@Line(0,0)(-5,2){160}% + }% + \putlatom{-170}{44}{\@memberb}% % left type + \else \if\@tmpb A%alpha single bond%bug fix 2013/06/26 + \yl@xdiff=10 + \yl@ydiff=30 + \dotorline(0,0)(-5,2){160}/(0,0)(-160,64)% + \putlatom{-170}{44}{\@memberb}% % left type +%2013/04/01 + \else\if\@tmpb U%(U) alpha undefined + \yl@xdiff=10\relax + \yl@ydiff=20\relax + {% + \WaveBonds% + \Put@Line(0,0)(-5,2){160}% wavy bond at 6 + }% + \putlatom{-170}{44}{\@memberb}% % left type +% + \else% + \yl@xdiff=10 + \yl@ydiff=20 + \Put@Line(0,0)(-5,2){160}% + \putlatom{-170}{44}{\@memberb}% % left type + \fi\fi\fi\fi\fi\end{sfpicture}}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@borng} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v5.01}{2013/06/26}{Adding SU, SV, SA, SB, Su, Sd} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 7 % +% %%%%%%%%%%%%%%% +\def\@borng{% + \begin{sfpicture}(200,200)(0,0) + \if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=40 + \yl@ydiff=-20 + \Put@Line(0,0)(0,1){160}% + \putlratom{-40}{180}{\@memberb}% % left & right type + \else\if\@tmpc a%(a) left + \yl@xdiff=0 + \yl@ydiff=-10 + \Put@Line(0,0)(-4,3){140}% % left (a) + \putlatom{-140}{115}{\@memberb}% % left type + \else\if\@tmpc b%(b) right + \yl@xdiff=0 + \yl@ydiff=-10 + \Put@Line(0,0)(4,3){140}% % right (b) + \putratom{140}{115}{\@memberb}% % right type +%2013/06/25 + \else\if\@tmpc U%(U) alpha undefined + \yl@xdiff=0\relax + \yl@ydiff=-10\relax + {% + \WaveBonds% + \Put@Line(0,0)(-4,3){140}% % left (U) + }% + \putlatom{-140}{115}{\@memberb}% % left type +%2013/06/25 + \else\if\@tmpc V%(V) beta undefined + \yl@xdiff=0\relax + \yl@ydiff=-10\relax + {% + \WaveBonds% + \Put@Line(0,0)(4,3){140}% % right (V) + }% + \putratom{140}{115}{\@memberb}% % right type +%2013/06/26 + \else\if\@tmpc A%(A) alpha + \yl@xdiff=0\relax + \yl@ydiff=-10\relax + \dotorline(0,0)(-4,3){140}/(0,0)(-140,105)% + \putlatom{-140}{115}{\@memberb}% % left type +%2013/06/26 + \else\if\@tmpc B%(B) beta + \yl@xdiff=0\relax + \yl@ydiff=-10\relax + {% + \thicklines% + \Put@Line(0,0)(4,3){140}% % + }% + \putratom{140}{115}{\@memberb}% % right type +%2013/06/26 + \else\if\@tmpc u%(u) beta alternative + \yl@xdiff=0\relax + \yl@ydiff=-10\relax + {% + \thicklines% + \Put@Line(0,0)(-4,3){140}% % + }% + \putlatom{-140}{115}{\@memberb}% % left type +%2013/06/26 + \else\if\@tmpc d%(d) alpha alternative + \yl@xdiff=0\relax + \yl@ydiff=-10\relax + \dotorline(0,0)(4,3){140}/(0,0)(140,105)% + \putratom{140}{115}{\@memberb}% % right type +% + \fi\fi\fi\fi\fi\fi\fi\fi\fi + %\fi\fi% + \else \if\@tmpb D%double bond + \yl@xdiff=40 + \yl@ydiff=-20 + \Put@Line(-10,0)(0,1){160}% + \Put@Line(10,0)(0,1){160}% + \putlratom{-40}{180}{\@memberb}% % left & right type + \else% + \yl@xdiff=40 + \yl@ydiff=-20 + \Put@Line(0,0)(0,1){160}% + \putlratom{-40}{180}{\@memberb}% % left & right type + \fi\fi\end{sfpicture}}% +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Drawing of borane derivatives} +% +% The stereo-type skeleton of bicycloheptanes is selected +% to have the following locant numbers. +% +% \begin{verbatim} +% *********************************************** +% * bornane derivatives * +% * (bicycloe[2.2.1]heptane derivatives) * +% *********************************************** +% The following numbering is adopted in this macro. +% +% 7 g +% f / ` +% _ / - 1_ a +% e 6 / h - 2 +% * / * +% 5 - 4 * b +% d c` 3 +% +% \end{verbatim} +% +% The macro |\bornane| has an argument |SUBSLIST| as well as an optional +% argument |BONDLIST|. +% +% \begin{verbatim} +% \bornane[BONDLIST]{SUBSLIST} +% \end{verbatim} +% +% The |BONDLIST| argument contains one or more +% characters selected from a to h, each of which indicates the presence of +% an inner (endcyclic) double bond on the corresponding position. +% \begin{verbatim} +% +% BONDLIST = +% +% none : bicyclo[2.2.1]heptane +% a : 1,2-double bond +% b : 2,3-double bond +% c : 4,3-double bond +% d : 4,5-double bond +% e : 5,6-double bond +% f : 6,1-double bond +% g : 1,7-double bond +% h : 4,7-double bond +% \end{verbatim} +% +% The |SUBSLIST| argument takes the standard format of \XyMTeX{}, in which +% more substitution descriptors are separated from each other +% by a semicolon. +% \begin{verbatim} +% +% SUBSLIST: list of substituents (max 7 substitution positions) +% +% for n = 1 to 6 +% +% nD : exocyclic double bond at n-atom +% n or nS : exocyclic single bond at n-atom +% nA : alpha single bond at n-atom +% nB : beta single bond at n-atom +% nSA : alpha single bond at n-atom (boldface) +% nSB : beta single bond at n-atom (dotted line) +% nSa : alpha single bond at n-atom +% nSb : beta single bond at n-atom +% \end{verbatim} +% +% The 7-position of a bornane skeleton cannot be specified by +% capital characters `A' and `B'. +% \begin{verbatim} +% for n = 7 (bridge position) +% +% nD : exocyclic double bond at 7-atom +% n or nS : exocyclic single bond at 7-atom +% nSa : left single bond at 7-atom +% nSb : right single bond at 7-atom +% +% \end{verbatim} +% +% Several examples are shown as follows. +% +% \begin{verbatim} +% e.g. +% +% \bornane{1==N}{1==Cl;2==F} +% \bornane[c]{1==N}{1==Cl;4==F;2==CH$_{3}$} +% \bornane[eb]{1==N}{1D==O;4==MeO;5==Cl;6==Cl} +% \end{verbatim} +% +% The definition of |\@bicycloheph| uses a picture environment, in which +% bonds are put directly, while subsituents are typset by using +% the macro |\@borna| to |\@borng| defined in chemstr.sty of \XyMTeX{} +% system. +% +% \changes{v1.01b}{1998/10/08}{The drawing are of \cs{bornane} +% has been changed by SF.} +% \changes{v1.02}{1998/10/31}{Adding \cs{ylbornaneposition}, \cs{if@ylsw}, +% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii}, +% \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v5.00}{2010/10/01}{For bond coloring} +% \changes{v5.01}{2013/06/24}{bornane front-to-back crossing} +% +% \begin{macro}{\@bornane} +% \begin{macro}{\iffrontthicktothin} +% \begin{macro}{\bornane} +% \begin{macrocode} +\def\BackGroundColor{\color{white}}%default color for background 2013/07/23 +\newif\iffrontthicktothin \frontthicktothinfalse%default front thickline2013/06/24 +\def\bornane{\@ifnextchar[{\@bornane}{\@bornane[r]}} +\def\@bornane[#1]#2{% +\@reset@ylsw% +\ylbornaneposition{#2}% +\def\@@ylii{0}\def\@@yli{0}% +\begin{ShiftPicEnvB}(0,0)(-\yl@shiftii,-\yl@shifti)/% +(1000,1000)(-200,-240){bornane}% +(200,240)%2002/4/30 by S. Fujita +% skeletal bonds + \thinlines% + \Put@Line(462,-43)(2,5){80}% % bond 3 to 2 (b) + \Put@Line(543,157)(-5,2){225}% % bond 2 to 1 (a) + \Put@Line(318,247)(-5,-1){237}% % bond 1 to 6 (f) + \Put@Line(80,200)(-2,-5){80}% % bond 6 to 5 (e) + \Put@Line(318,247)(-2,5){80}% % back part of bridge (g) + {\iffrontthicktothin\thinlines\else\thicklines\fi%2013/06/24 + \molfronttrue + \Put@Line(0,0)(5,1){237}% % bond 5 to 4 (d) + \Put@Line(237,47)(5,-2){225}% % bond 4 to 3 (c) + {\def\thinLineWidth{5pt}\BackGroundColor% front-to-back crossing2013/06/24-07/23 + \thinlines% % + \Put@Line(237,200)(0,1){80}}% % front-to-back crossing2013/06/24-07/23 + \Put@Line(237,47)(0,1){400}% % front part of bridge (h) + }% +% inner double bond +\@tfor\member:=#1\do{% +\if\member r%no endcyclic bonds +\else \if\member a%%%% + \Put@Line(513,127)(-5,2){180}% % bond 2 to 1 +\else \if\member b%%%% + \Put@Line(446,-3)(2,5){60}% % bond 3 to 2 +\else \if\member c%%%% + \Put@Line(267,77)(5,-2){180}% % bond 4 to 3 +\else \if\member d%%%% + \Put@Line(40,42)(5,1){180}% % double bond 5 to 4 +\else \if\member e%%% + \Put@Line(100,180)(-2,-5){60}% % bond 6 to 5 +\else \if\member f% + \Put@Line(288,207)(-5,-1){180}% % bond 1 to 6 +\else \if\member g% + \Put@Line(288,260)(-2,5){40}% % back part of bridge (g) +\else \if\member h% + \Put@Line(257,77)(0,1){290}% % front part of bridge (h) +\fi\fi\fi\fi\fi\fi\fi\fi\fi}% +% +\@forsemicol\member:=#2\do{% +\ifx\member\empty\else +\expandafter\@m@mb@r\member;\relax% +\expandafter\threech@r\@membera{}{}% +\ifx\@memberb\@yl\else +\ifcase\@tmpa%0 omit + \or\setBScolor{\@borna}% subst. on 1 +% \@borna% subst. on 1 + \or\setBScolor{\Put@Direct(543,157){\@bornb}}% subst. on 2 +% \Put@Direct(543,157){\@bornb}% subst. on 2 + \or\setBScolor{\Put@Direct(462,-43){\@bornc}}% subst. on 3 +% \Put@Direct(462,-43){\@bornc}% subst. on 3 + \or\setBScolor{\@bornd}% subst. on 4 +% \@bornd% subst. on 4 + \or\setBScolor{\Put@Direct(0,0){\@borne}}% subst. on 5 +% \Put@Direct(0,0){\@borne}% subst. on 5 + \or\setBScolor{\Put@Direct(80,200){\@bornf}}% subst. on 6 +% \Put@Direct(80,200){\@bornf}% subst. on 6 + \or\setBScolor{\Put@Direct(237,440){\@borng}}% subst. on 7 +% \Put@Direct(237,440){\@borng}% subst. on 7 +\fi%end of ifcase +\fi\fi% +}% +\end{ShiftPicEnvB}% +\iniatom\iniflag}% %end of \bornane macro +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% The command |\ylbornaneposition| is to obtain the shift values +% |\@ylii| and |\@yli| which are used for shifting the standard +% point of a substituent. +% \changes{v1.02}{1998/10/23}{New ommands for setting substituents} +% +% \begin{macro}{\ylbornaneposition} +% \begin{macrocode} +\def\ylbornaneposition#1{% +\@@ylswfalse%%%\@reset@ylsw +\@forsemicol\member:=#1\do{% +\if@@ylsw\else +\ifx\member\empty\else +\expandafter\@m@mb@r\member;\relax +\expandafter\threech@r\@membera{}{}\relax +\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi +\if@@ylsw +\ifcase\@tmpa%0 omit + \or\gdef\@ylii{-318}\gdef\@yli{-247}\global\@ylswtrue% subst. on 1 + \or\gdef\@ylii{-543}\gdef\@yli{-157}\global\@ylswtrue% subst. on 2 + \or\gdef\@ylii{-462}\gdef\@yli{43}\global\@ylswtrue% subst. on 3 + \or\gdef\@ylii{-237}\gdef\@yli{-47}\global\@ylswtrue% subst. on 4 + \or\gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 5 + \or\gdef\@ylii{-80}\gdef\@yli{-200}\global\@ylswtrue% subst. on 6 + \or\gdef\@ylii{-237}\gdef\@yli{-440}\global\@ylswtrue% subst. on 7 +\fi%end of ifcase +\fi\fi\fi}}% +% \end{macrocode} +% \end{macro} +% +% \section{Adamantanes} +% +% \subsection{Vertical drawing} +% +% The macros |\@adamanea| to |\@adamanej| are used to +% set substituents on each edge of an adamantane skeleton +% drawn by the |\adamantane| commands. +% \changes{v1.02}{1998/10/24}{The macros \cs{@adamanea} to \cs{@adamanej} +% are separated from the original definition of \cs{adamantane}.} +% +% \begin{macro}{\@adamanea} +% \begin{macro}{\@adamaneb} +% \begin{macro}{\@adamanec} +% \begin{macro}{\@adamaned} +% \begin{macro}{\@adamanee} +% \begin{macro}{\@adamanef} +% \begin{macro}{\@adamaneg} +% \begin{macro}{\@adamaneh} +% \begin{macro}{\@adamanei} +% \begin{macro}{\@adamanej} +% \changes{v1.02}{1998/10/24}{A new command for setting substituents} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 1 % +% %%%%%%%%%%%%%%% +\def\@adamanea{% + \yl@xdiff=12 + \yl@ydiff=21 + \Put@Direct(-360,720){\hbox to0pt{\hss \@memberb}}% %atom 1 + \if\@tmpb a% + \Put@Line(-240,660)(-4,3){108}% %bond 1 + \else \ifx\@tmpb\empty% + \Put@Line(-240,660)(-4,3){108}% %bond 1 + \fi\fi}% +% \end{macrocode} +% +% \changes{v1.02}{1998/10/24}{A new command for setting substituents} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 2 % +% %%%%%%%%%%%%%%% +\def\@adamaneb{% + \if\@tmpb a% + \yl@xdiff=6 + \yl@ydiff=-16 + \Put@Line(0,780)(1,4){26}% %bond 2-ax + \Put@Direct(20,900){\hbox to0pt{\@memberb \hss}}% %atom 2-ax + \else \if\@tmpb b% + \yl@xdiff=-6 + \yl@ydiff=-16 + \Put@Line(0,780)(-1,4){26}% %bond 2-eq + \Put@Direct(-20,900){\hbox to0pt{\hss \@memberb}}% %atom 2-eq + \else \ifx\@tmpb\empty% + \yl@xdiff=42 + \yl@ydiff=-22 + \Put@Direct(-42,910){\hbox to0pt{\hss \@memberb}}% %atom 2 + \Put@Line(0,780)(0,1){108}% %bond 2 + \else \if\@tmpb D% + \yl@xdiff=42 + \yl@ydiff=-22 + \putlratom{-42}{910}{\@memberb}% %atom 2 + \Put@Line(-12,780)(0,1){108}% %double bond 2 + \Put@Line(12,780)(0,1){108}% %double bond 2 + \fi\fi\fi\fi} +% \end{macrocode} +% +% \changes{v1.02}{1998/10/24}{A new command for setting substituents} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 3 % +% %%%%%%%%%%%%%%% +\def\@adamanec{% + \yl@xdiff=-12 + \yl@ydiff=21 + \Put@Direct(360,720){\hbox to0pt{\@memberb \hss}}% %atom 3 +% \if\@tmpb S% + \if\@tmpb a%1998/10/24 by SF + \Put@Line(240,660)(4,3){108}% %bond 3 + \else \ifx\@tmpb\empty% + \Put@Line(240,660)(4,3){108}% %bond 3 + \fi\fi} +% \end{macrocode} +% +% \changes{v1.02}{1998/10/24}{A new command for setting substituents} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 4 % +% %%%%%%%%%%%%%%% +\def\@adamaned{% + \if\@tmpb a% + \yl@xdiff=-17 + \yl@ydiff=33 + \Put@Line(300,420)(4,-3){103}% %bond 4-ax + \Put@Direct(420,310){\hbox to0pt{\@memberb \hss}}% %atom 4-ax + \else \if\@tmpb b% + \yl@xdiff=26 + \yl@ydiff=-26 + \Put@Line(300,420)(1,4){26}% %bond 4-eq + \Put@Direct(300,540){\hbox to0pt{\@memberb \hss}}% %atom 4-eq + \else \ifx\@tmpb\empty% + \yl@xdiff=-17 + \yl@ydiff=33 + \Put@Line(300,420)(4,-3){103}% %bond 4 + \Put@Direct(420,310){\hbox to0pt{\@memberb \hss}}% %atom 4 + \else \if\@tmpb D% + \yl@xdiff=-17 + \yl@ydiff=33 + \Put@Line(296,432)(5,-3){103}% %double bond 4 + \Put@Line(292,408)(5,-3){103}% %double bond 4 + \Put@Direct(420,310){\hbox to0pt{\@memberb \hss}}% %atom 4 + \fi\fi\fi\fi} +% \end{macrocode} +% +% \changes{v1.02}{1998/10/24}{A new command for setting substituents} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 5 % +% %%%%%%%%%%%%%%% +\def\@adamanee{% + \yl@xdiff=20 + \yl@ydiff=110 +% \if\@tmpb S% + \if\@tmpb a%1998/10/24 by SF + \Put@Line(60,240)(1,-5){30}% %bond 5 + \Put@Direct(70,-20){\hbox to0pt{\@memberb \hss}}% %atom 5 + \else \ifx\@tmpb\empty% + \Put@Line(60,240)(1,-5){30}% %bond 5 + \Put@Direct(70,-20){\hbox to0pt{\@memberb \hss}}% %atom 5 + \fi\fi} +% \end{macrocode} +% +% \changes{v1.02}{1998/10/24}{A new command for setting substituents} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 6 % +% %%%%%%%%%%%%%%% +\def\@adamanef{% + \if\@tmpb a% + \yl@xdiff=33 + \yl@ydiff=103 + \Put@Line(0,0)(4,-3){103}% %bond 6-ax + \Put@Direct(70,-180){\hbox to0pt{\@memberb \hss}}% %atom 6-ax + \else \if\@tmpb b% + \yl@xdiff=-33 + \yl@ydiff=103 + \Put@Line(0,0)(-4,-3){103}% %bond 6-eq + \Put@Direct(-70,-180){\hbox to0pt{\hss \@memberb}}% %atom 6-eq + \else \ifx\@tmpb\empty% + \yl@xdiff=22 + \yl@ydiff=94 + \Put@Line(0,0)(0,-1){108}% %bond 6 + \Put@Direct(-22,-202){\hbox to0pt{\hss \@memberb}}% %atom 6 + \else \if\@tmpb D% + \yl@xdiff=42 + \yl@ydiff=94 + \Put@Line(-12,0)(0,-1){108}% %double bond 6 + \Put@Line(12,0)(0,-1){108}% %double bond 6 + \putlratom{-42}{-202}{\@memberb}% %atom 6 + \fi\fi\fi\fi} +% \end{macrocode} +% +% \changes{v1.02}{1998/10/24}{A new command for setting substituents} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 7 % +% %%%%%%%%%%%%%%% +\def\@adamaneg{% + \yl@xdiff=-20 + \yl@ydiff=110 +% \if\@tmpb S% + \if\@tmpb a%1998/10/24 by SF + \Put@Line(-60,240)(-1,-5){30}% %bond 7 + \Put@Direct(-70,-20){\hbox to0pt{\hss \@memberb}}% %atom 7 + \else \ifx\@tmpb\empty% + \Put@Line(-60,240)(-1,-5){30}% %bond 7 + \Put@Direct(-70,-20){\hbox to0pt{\hss \@memberb}}% %atom 7-eq + \fi\fi} +% \end{macrocode} +% +% \changes{v1.02}{1998/10/24}{A new command for setting substituents} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 8 % +% %%%%%%%%%%%%%%% +\def\@adamaneh{% + \if\@tmpb a% + \yl@xdiff=17 + \yl@ydiff=33 + \Put@Line(-300,420)(-4,-3){103}% %bond 8-ax + \Put@Direct(-420,310){\hbox to0pt{\hss \@memberb}}% %atom 8-ax + \else \if\@tmpb b% + \yl@xdiff=-26 + \yl@ydiff=-16 + \Put@Line(-300,420)(-1,4){26}% %bond 8-eq + \Put@Direct(-300,540){\hbox to0pt{\hss \@memberb}}% %atom 8-eq + \else \ifx\@tmpb\empty% + \yl@xdiff=17 + \yl@ydiff=33 + \Put@Line(-300,420)(-4,-3){103}% %bond 8 + \Put@Direct(-420,310){\hbox to0pt{\hss \@memberb}}% %atom 8 + \else \if\@tmpb D% + \yl@xdiff=17 + \yl@ydiff=50 + \Put@Line(-300,432)(-5,-3){103}% %double bond 8 + \Put@Line(-303,408)(-5,-3){103}% %double bond 8 + \Put@Direct(-420,310){\hbox to0pt{\hss \@memberb}}% %atom 8 + \fi\fi\fi\fi} +% \end{macrocode} +% +% \changes{v1.02}{1998/10/24}{A new command for setting substituents} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 9 % +% %%%%%%%%%%%%%%% +\def\@adamanei{% + \if\@tmpb a% + \yl@xdiff=-43 + \yl@ydiff=93 + \Put@Line(-180,420)(-4,-3){103}% %bond 9-ax + \Put@Direct(-240,250){\hbox to0pt{\hss \@memberb}}% %atom 9-ax + \else \if\@tmpb b% + \yl@xdiff=26 + \yl@ydiff=-16 + \Put@Line(-180,420)(1,4){26}% %bond 9-eq + \Put@Direct(-180,540){\hbox to0pt{\@memberb \hss}}% %atom 9-eq + \else \ifx\@tmpb\empty% + \yl@xdiff=17 + \yl@ydiff=93 + \Put@Line(-180,420)(-4,-3){103}% %bond 9 + \Put@Direct(-300,250){\hbox to0pt{\hss \@memberb}}% %atom 9 + \else \if\@tmpb D% + \yl@xdiff=17 + \yl@ydiff=113 + \Put@Line(-183,432)(-5,-3){103}% %double bond 9 + \Put@Line(-180,408)(-5,-3){103}% %double bond 9 + \Put@Direct(-300,250){\hbox to0pt{\hss \@memberb}}% %atom 9 + \fi\fi\fi\fi} +% \end{macrocode} +% +% \changes{v1.02}{1998/10/24}{A new command for setting substituents} +% \begin{macrocode} +% %%%%%%%%%%%%%%%% +% % subst. on 10 % +% %%%%%%%%%%%%%%%% +\def\@adamanej{% + \if\@tmpb a% + \yl@xdiff=43 + \yl@ydiff=92 + \Put@Line(180,420)(4,-3){103}% %bond 10-ax + \Put@Direct(240,250){\hbox to0pt{\@memberb \hss}}% %atom 10-ax + \else \if\@tmpb b% + \yl@xdiff=-26 + \yl@ydiff=-16 + \Put@Line(180,420)(-1,4){26}% %bond 10-eq + \Put@Direct(180,540){\hbox to0pt{\hss \@memberb}}% %atom 10-eq + \else \ifx\@tmpb\empty% + \yl@xdiff=43 + \yl@ydiff=92 + \Put@Line(180,420)(4,-3){103}% %bond 10 + \Put@Direct(240,250){\hbox to0pt{\@memberb \hss}}% %atom 10 + \else \if\@tmpb D% + \yl@xdiff=3 + \yl@ydiff=112 + \Put@Line(176,432)(5,-3){103}% %double bond 10 + \Put@Line(172,408)(5,-3){103}% %double bond 10 + \Put@Direct(280,250){\hbox to0pt{\@memberb \hss}}% %atom 10 + \fi\fi\fi\fi} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% The stereo-type skeleton of adamantane is selected +% to have the following specification. The |\adamantane| +% command prints a vertical-type formula in which two bridge carbons +% are placed at the top and the bottom. +% +% \begin{verbatim} +% ************************************************* +% * For preparing adamantane derivatives * +% * with 4 substituents on bridgehead positions * +% * (1, 3, 5 and 7) * +% * with 12 substituents on bridge positions * +% * (2, 4, 6, 8, 9, 10) * +% ************************************************* +% \end{verbatim} +% +% The macro |\adamantane| has an argument |SUBSLIST| as well as an optional +% argument |BONDLIST|. +% +% \begin{verbatim} +% \adamantane[BONDLIST]{SUBSLIST} +% \end{verbatim} +% +% The adamantane skeleton scarcely takes an inner (endcyclic) double bond. +% Hence we have +% \begin{verbatim} +% BONDLIST: not effective +% \end{verbatim} +% +% The |SUBSLIST| argument takes the standard format of \XyMTeX{}, in which +% more substitution descriptors are separated from each other +% by a semicolon. +% \begin{verbatim} +% +% SUBSLIST: list of substituents (max 10 substitution positions) +% +% for n = 1, 3, 5, and 7 (bridgeheads) +% +% n or na : exocyclic single bond at n-atom +% +% for n = 2, 4, 6, 8, 9, and 10 (bridges) +% +% na : exocyclic single bond at n-atom (axial) +% nb : exocyclic single bond at n-atom (equatorial) +% nD : exocyclic double bond at n-atom (2 and 6) +% +% \end{verbatim} +% +% For numbers larger than 9 (two digits), you should designate +% the |SUBSLIST| as, e.g., +% \begin{verbatim} +% {{10}a}==Cl; ... +% \end{verbatim} +% +% The definition of |\@adamantane| uses a picture environment, in which +% both bonds are substituents are put directly. +% \changes{v1.02}{1998/10/31}{Adding \cs{yladamanposition}, \cs{if@ylsw}, +% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii}, +% \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v5.00}{2010/10/01}{For bond coloring} +% \changes{v5.01}{2013/06/24}{adamantane front-to-back crossing} +% +% \begin{macro}{\@adamantane} +% \begin{macro}{\adamantane} +% \begin{macrocode} +% \changes{v1.02}{1998/10/24}{The macros \cs{@adamanea} to \cs{@adamanej} +% are separated from the original definition of \cs{adamantane}.} +\def\adamantane{\@ifnextchar[{\@mantane}{\@damantane[Z]}} +\def\@damantane[#1]#2{% +\@reset@ylsw% +\yladamanposition{#2}% +\def\@@ylii{0}\def\@@yli{0}% +\begin{ShiftPicEnvB}(0,0)(-\yl@shiftii,-\yl@shifti)/% +(1100,1300)(-550,-300){adamantane}% +(550,300)%2002/4/30 by S. Fujita +%bonds for an adamantane skeleton + \Put@Line(0,0)(-1,4){60}% %bond 6-7 + \Put@Line(0,780)(2,-1){240}% %bond 2-3 + \Put@Line(0,780)(-2,-1){240}% %bond 2-1 + \Put@Line(-60,240)(-4,3){240}% %bond 7-8 + \Put@Line(-300,420)(1,4){60}% %bond 8-1 + \Put@Line(240,660)(-1,-4){60}% %bond 3-10 + \Put@Line(-60,240)(4,3){240}% %bond 10-7 +{\iffrontthicktothin\thinlines\else\thicklines\fi%2013/06/24 + \molfronttrue%added for v4.02 (2004/12/20) + \Put@Line(300,420)(-1,4){60}% %bond 4-3 + \Put@Line(-240,660)(1,-4){60}% %bond 1-9 + \Put@Line(0,0)(1,4){60}% %bond 6-5 + \Put@Line(60,240)(4,3){240}% %bond 5-4 + {\def\thinLineWidth{5pt}\BackGroundColor% % front-to-back crossing2013/06/24-07/23 + \thinlines% % + \Put@Line(40,255)(-4,3){80}}% % front-to-back crossing2013/06/24-07/23 + \Put@Line(60,240)(-4,3){240}% %bond 5-9 +}% +%substituents +\@forsemicol\member:=#2\do{% +\ifx\member\empty\else +\expandafter\@m@mb@r\member;\relax% +\expandafter\threech@r\@membera{}{}\relax% +\ifx\@memberb\@yl\else +\ifcase\@tmpa%0 omit +\or\setBScolor{\@adamanea}% subst. on 1 +%\@adamanea% subst. on 1 +\or\setBScolor{\@adamaneb}% subst. on 2 +%\@adamaneb% subst. on 2 +\or\setBScolor{\@adamanec}% subst. on 3 +%\@adamanec% subst. on 3 +\or\setBScolor{\@adamaned}% subst. on 4 +%\@adamaned% subst. on 4 +\or\setBScolor{\@adamanee}% subst. on 5 +%\@adamanee% subst. on 5 +\or\setBScolor{\@adamanef}% subst. on 6 +%\@adamanef% subst. on 6 +\or\setBScolor{\@adamaneg}% subst. on 7 +%\@adamaneg% subst. on 7 +\or\setBScolor{\@adamaneh}% subst. on 8 +%\@adamaneh% subst. on 8 +\or\setBScolor{\@adamanei}% subst. on 9 +%\@adamanei% subst. on 9 +\or\setBScolor{\@adamanej}% subst. on 10 +%\@adamanej% subst. on 10 +\fi%the end of ifcase +\fi\fi}% +\end{ShiftPicEnvB}% +}% %end of \adamantane macro% +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% The command |\yladamanposition| is to obtain the shift values +% |\@ylii| and |\@yli| which are used for shifting the standard +% point of a substituent. +% \changes{v1.02}{1998/10/23}{New commands for setting substituents} +% +% \begin{macro}{\yladamanposition} +% \begin{macrocode} +\def\yladamanposition#1{% +\@@ylswfalse%%%\@reset@ylsw +\@forsemicol\member:=#1\do{% +\if@@ylsw\else +\ifx\member\empty\else +\expandafter\@m@mb@r\member;\relax +\expandafter\threech@r\@membera{}{}\relax +\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi +\if@@ylsw +\ifcase\@tmpa%0 omit + \or\gdef\@ylii{240}\gdef\@yli{-660}\global\@ylswtrue% subst. on 1 + \or\gdef\@ylii{0}\gdef\@yli{-780}\global\@ylswtrue% subst. on 2 + \or\gdef\@ylii{-240}\gdef\@yli{-660}\global\@ylswtrue% subst. on 3 + \or\gdef\@ylii{-300}\gdef\@yli{-420}\global\@ylswtrue% subst. on 4 + \or\gdef\@ylii{-60}\gdef\@yli{-240}\global\@ylswtrue% subst. on 5 + \or\gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 6 + \or\gdef\@ylii{60}\gdef\@yli{-240}\global\@ylswtrue% subst. on 7 + \or\gdef\@ylii{300}\gdef\@yli{-420}\global\@ylswtrue% subst. on 8 + \or\gdef\@ylii{180}\gdef\@yli{-420}\global\@ylswtrue% subst. on 9 + \or\gdef\@ylii{-180}\gdef\@yli{-420}\global\@ylswtrue% subst. on 10 +\fi%end of ifcase +\fi\fi\fi}}% +% \end{macrocode} +% \end{macro} +% +% \subsection{Horizontal drawing} +% +% The stereo-type skeleton of adamantane is selected +% to have the following specification. The |\hadamantane| +% command prints a horizontal-type formula in which one bridge-head carbon +% is put at the top position and a chair-form cyclohexane moiety is +% placed at the bottom position. +% +% \begin{verbatim} +% ******************************************** +% * adamantane derivatives (horizontal type) * +% ******************************************** +% The following numbering is adopted in this macro. +% +% 1 +% h // ` +% //i ` a +% 89 ` +% g|| 2 +% ||j | b +% f 7| l k 3 +% * | ` 10 * +% 6 * 5 * c +% e d` 4 +% \end{verbatim} +% +% \begin{verbatim} +% ************************************************* +% * For preparing adamantane derivatives * +% * with 4 substituents on bridgehead positions * +% * (1, 3, 5 and 7) * +% * with 12 substituents on bridge positions * +% * (2, 4, 6, 8, 9, 10) * +% ************************************************* +% \end{verbatim} +% +% The macro |\hadamantane| has an argument |SUBSLIST| as well as an optional +% argument |BONDLIST|. +% +% \begin{verbatim} +% \hadamantane[BONDLIST]{SUBSLIST} +% \end{verbatim} +% +% The adamantane skeleton scarcely takes an inner (endcyclic) double bond. +% However, we can designate |BONDLIST|. (This point is different from the +% specification of the |\adamantane| command. +% +% \begin{verbatim} +% +% BONDLIST = +% +% none : adamantane skeleton +% a : 1,2-double bond +% b : 2,3-double bond +% c : 3,4-double bond +% d : 4,5-double bond +% e : 5,6-double bond +% f : 6,7-double bond +% g : 7,8-double bond +% h : 8,1-double bond +% i : 9,1-double bond +% j : 5,9-double bond +% k : 3,10-double bond +% l : 7,10-double bond +% +% \end{verbatim} +% +% The |SUBSLIST| argument takes the standard format of \XyMTeX{}, in which +% more substitution descriptors are separated from each other +% by a semicolon. +% \begin{verbatim} +% +% SUBSLIST: list of substituents (max 10 substitution positions) +% +% for n = 1, 3, 5, and 7 (bridgeheads) +% +% n or na : exocyclic single bond at n-atom +% +% for n = 2, 4, 6, 8, 9, and 10 (bridges) +% +% na : exocyclic single bond at n-atom (axial) +% nb : exocyclic single bond at n-atom (equatorial) +% nD : exocyclic double bond at n-atom (2 and 6) +% +% \end{verbatim} +% +% Moreover, bond modifieer used for chair-form cyclohexanes +% such as $n$Sa and $n$Se (see above) can be also used in the |SUBSLIST| +% of the |\hdadamantane| command. +% +% For numbers larger than 9 (two digits), you should designate +% the |SUBSLIST| as, e.g., +% \begin{verbatim} +% {{10}a}==Cl; ... +% \end{verbatim} +% +% The definition of |\@hadamantane| uses a picture environment, in which +% bonds are put directly, while subsituents are typset by using +% the macro |\@chairiI| to |\@chairX| defined below. +% \changes{v1.02}{1998/10/31}{Adding \cs{ylhadamanposition}, \cs{if@ylsw}, +% \cs{yl@shifti}, \cs{@ylii}, \cs{yl@shiftii}, \cs{@ylii}, +% \cs{yl@xdiff} and \cs{yl@ydiff}} +% \changes{v5.00}{2010/10/01}{For bond coloring} +% \changes{v5.01}{2013/06/24}{hadamantane front-to-back crossing} +% +% \begin{macro}{\@hadamantane} +% \begin{macro}{\hadamantane} +% \begin{macrocode} +% ************************* +% * input of basic macros * +% ************************* +\def\hadamantane{\@ifnextchar[{\@hadamantane}{\@hadamantane[H]}} +\def\@hadamantane[#1]#2{% +\@reset@ylsw% +\ylhadamanposition{#2}% +\def\@@ylii{0}\def\@@yli{0}% +\begin{ShiftPicEnvB}(0,0)(-\yl@shiftii,-\yl@shifti)/% +(1600,1400)(-400,-319){hadamantane}% +(400,319)%2002/4/30 by S. Fujita + \thinlines% + \Put@Line(0,0)(3,4){170}% % bond 6 to 7 + \Put@Line(170,226)(3,-1){403}% % 7 to 10 + \Put@Line(573,91)(3,1){270}% % 10 to 3 +% %%% + \Put@Line(170,226)(0,1){360}% % 7 to 8 + \Put@Line(170,586)(3,1){270}% % 8 to 1 + \Put@Line(843,181)(0,1){360}% % 3 to 2 + \Put@Line(843,541)(-3,1){403}% % 2 to 1 + {\iffrontthicktothin\thinlines\else\thicklines\fi%2013/06/24 + \molfronttrue + \Put@Line(843,181)(-3,-4){170}% % 3 to 4 + \Put@Line(673,-46)(-3,1){403}% % 4 to 5 + \Put@Line(0,0)(3,1){270}% % 6 to 5 +% %%% + {\def\thinLineWidth{5pt}\BackGroundColor% front-to-back crossing2013/06/24-07/23 + \thinlines% % + \Put@Line(270,150)(0,1){80}}% % front-to-back crossing2013/06/24-07/23 + \Put@Line(270,90)(0,1){360}% % 5 to 9 + \Put@Line(270,450)(3,4){170}% % 9 to 1 + }% + \thinlines% +% inner double bonds +\@tfor\member:=#1\do{% +\if\member r%no endocyclic bonds +\else \if\member a% + \Put@Line(450,636)(3,-1){373}% % double bond 1 to 2 +\else \if\member b% + \Put@Line(803,206)(0,1){320}% % 3 to 2 +\else \if\member c%%%a% + \Put@Line(767,139)(-3,-4){110}% % 3 to 4 +\else \if\member d%%%b% + \Put@Line(640,-5)(-3,1){343}% % 4 to 5 +\else \if\member e%%%%c% + \Put@Line(240,111)(-3,-1){190}% % 5 to 6 +\else \if\member f%%%d% + \Put@Line(63,40)(3,4){110}% % 6 to 7 +\else \if\member g% + \Put@Line(200,246)(0,1){320}% % 7 to 8 +\else \if\member h% + \Put@Line(400,626)(-3,-1){190}% % 8 to 1 +\else \if\member i% + \Put@Line(450,636)(-3,-4){150}% % 9 to 1 +\else \if\member j% + \Put@Line(300,110)(0,1){320}% % 5 to 9 +\else \if\member k%%%f% + \Put@Line(768,131)(-3,-1){170}% % 3 to 10 +\else \if\member l% + \Put@Line(182,187)(3,-1){343}% % 7 to 10 +\fi\fi\fi\fi\fi\fi% +\fi\fi\fi\fi\fi\fi\fi}% +% % +\@forsemicol\member:=#2\do{% +\ifx\member\empty\else +\expandafter\@m@mb@r\member;\relax% +\expandafter\threech@r\@membera{}{}% +\ifx\@memberb\@yl\else +\ifcase\@tmpa% %0 omit + \or\setBScolor{\Put@Direct(440,676){\@chairiI}}% %subst. on 1%%%9 +% \Put@Direct(440,676){\@chairiI}% %subst. on 1%%%9 + \or\setBScolor{\Put@Direct(843,541){\@chairiII}}% %subst. on 2%%10 +% \Put@Direct(843,541){\@chairiII}% %subst. on 2%%10 + \or\setBScolor{\@chairiIII}% %subst. on 3%%%4 +% \@chairiIII% %subst. on 3%%%4 + \or\setBScolor{\@chairiIV}% %subst. on 4%%%3 +% \@chairiIV% %subst. on 4%%%3 + \or\setBScolor{\@chairiV}% %subst. on 5%%%2 +% \@chairiV% %subst. on 5%%%2 + \or + \setBScolor{\@chairiVI}% %subst. on 6%%%1 +% \@chairiVI% %subst. on 6%%%1 + \or\setBScolor{\@chairiVII}% %subst. on 7%%%6 +% \@chairiVII% %subst. on 7%%%6 + \or\setBScolor{\Put@Direct(170,586){\@chairiVIII}}%subst. on 8%%%8 +% \Put@Direct(170,586){\@chairiVIII}%subst. on 8%%%8 + \or\setBScolor{\Put@Direct(270,450){\@chairiIX}}% %subst. on 9%%%7 +% \Put@Direct(270,450){\@chairiIX}% %subst. on 9%%%7 + \or\setBScolor{\@chairiX}% %subst. on 10%%5 +% \@chairiX% %subst. on 10%%5 +\fi %end of ifcase +\fi\fi% +}% +\end{ShiftPicEnvB}% +}% %end of \hadamantane macro +% End of addition 1994/03/05 SF +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% The command |\ylhadamanposition| is to obtain the shift values +% |\@ylii| and |\@yli| which are used for shifting the standard +% point of a substituent. +% \changes{v1.02}{1998/10/23}{New commands for setting substituents} +% +% \begin{macro}{\ylhadamanposition} +% \begin{macrocode} +\def\ylhadamanposition#1{% +\@@ylswfalse%%%\@reset@ylsw +\@forsemicol\member:=#1\do{% +\if@@ylsw\else +\ifx\member\empty\else +\expandafter\@m@mb@r\member;\relax +\expandafter\threech@r\@membera{}{}\relax +\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi +\if@@ylsw +\ifcase\@tmpa%0 omit + \or\gdef\@ylii{-440}\gdef\@yli{-676}\global\@ylswtrue% subst. on 1 + \or\gdef\@ylii{-843}\gdef\@yli{-541}\global\@ylswtrue% subst. on 2 + \or\gdef\@ylii{-843}\gdef\@yli{-181}\global\@ylswtrue% subst. on 3 + \or\gdef\@ylii{-673}\gdef\@yli{46}\global\@ylswtrue% subst. on 4 + \or\gdef\@ylii{-270}\gdef\@yli{-90}\global\@ylswtrue% subst. on 5 + \or\gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 6 + \or\gdef\@ylii{-170}\gdef\@yli{-226}\global\@ylswtrue% subst. on 7 + \or\gdef\@ylii{-170}\gdef\@yli{-586}\global\@ylswtrue% subst. on 8 + \or\gdef\@ylii{-270}\gdef\@yli{-450}\global\@ylswtrue% subst. on 9 + \or\gdef\@ylii{-573}\gdef\@yli{-91}\global\@ylswtrue% subst. on 10 +\fi%end of ifcase +\fi\fi\fi}}% +% \end{macrocode} +% \end{macro} +% +% Hereafter, the definitions of the commands |\@chairiI| to |\@chairiX| +% are described. Each of the commands can treat $n$a-type bond modifiers +% as well as $n$Sa-type bond modifiers. +% +% \begin{macro}{\@chairiVI} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \begin{macrocode} +% ******************************************************** +% * treatment of the chair form (inverse) of cyclohexane * +% * added March 05, 1994 by Shinsaku Fujita * +% ******************************************************** +% %%%%%%%%%%%%%%% +% % subst. on 6 % +% %%%%%%%%%%%%%%% +\def\@chairiVI{% + \if\@tmpb a%single bond + \yl@xdiff=42 + \yl@ydiff=92 + \Put@Line(0,0)(0,-1){168}% single bond at 6 axial + \putlratom{-42}{-260}{\@memberb}% left & right type + \else\if\@tmpb b%single bond + \yl@xdiff=16 + \yl@ydiff=36 + \Put@Line(0,0)(-5,3){144}% single bond at 6 equatorial + \putlatom{-160}{50}{\@memberb}% left type + \else\if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=10 + \yl@ydiff=90 + \Put@Line(0,0)(-1,-1){120}% single bond at 6 + \putlatom{-130}{-210}{\@memberb}% left type + \else\if\@tmpc a%(a) axial + \yl@xdiff=42 + \yl@ydiff=92 + \Put@Line(0,0)(0,-1){168}% single bond at 6 axial + \putlratom{-42}{-260}{\@memberb}% left & right type + \else\if\@tmpc e%(e) beta + \yl@xdiff=16 + \yl@ydiff=36 + \Put@Line(0,0)(-5,3){144}% single bond at 6 equatorial + \putlatom{-160}{50}{\@memberb}% left type + \fi\fi\fi% + \else \if\@tmpb D%double bond + \yl@xdiff=10 + \yl@ydiff=90 + \putlatom{-130}{-210}{\@memberb}% left type + \Put@Line(-10,10)(-1,-1){120}% double bond at 6 + \Put@Line(10,-10)(-1,-1){120}% double bond at 6 + \else% + \yl@xdiff=10 + \yl@ydiff=90 + \putlatom{-130}{-210}{\@memberb}% left type + \Put@Line(0,0)(-1,-1){120}% single bond at 6 + \fi\fi\fi\fi}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@chairiVII} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 7 % +% %%%%%%%%%%%%%%% +\def\@chairiVII{% + \if\@tmpb a%single bond + \yl@xdiff=26 + \yl@ydiff=46 + \Put@Line(170,226)(-5,-3){144}% single bond at 7 equatorial + \putlatom{10}{94}{\@memberb}% left type + \else\ifx\@tmpb\empty%single bond + \yl@xdiff=26 + \yl@ydiff=46 + \Put@Line(170,226)(-5,-3){144}% single bond at 7 equatorial + \putlatom{10}{94}{\@memberb}% left type + \else\if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=10 + \yl@ydiff=30 + \Put@Line(170,226)(-1,1){120}% single bond at 7 + \putratom{40}{316}{\@memberb}% left type + \else\if\@tmpc a%(a) axial + \yl@xdiff=32 + \yl@ydiff=12 + \Put@Line(170,226)(0,1){168}% single bond at 7 axial + \putlratom{138}{406}{\@memberb}% left & right type + \else\if\@tmpc e%(e) beta + \yl@xdiff=26 + \yl@ydiff=46 + \Put@Line(170,226)(-5,-3){144}% single bond at 7 equatorial + \putlatom{10}{94}{\@memberb}% left type + \fi\fi\fi% + \else \if\@tmpb D%double bond + \yl@xdiff=10 + \yl@ydiff=30 + \putlatom{40}{316}{\@memberb}% left type + \Put@Line(160,216)(-1,1){120}% double bond at 7 + \Put@Line(180,236)(-1,1){120}% double bond at 7 + \else% + \yl@xdiff=10 + \yl@ydiff=30 + \putlatom{40}{316}{\@memberb}% left type + \Put@Line(170,226)(-1,1){120}% single bond at 7 + \fi\fi\fi\fi}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@chairiX} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \begin{macrocode} +% %%%%%%%%%%%%%%%% +% % subst. on 10 % +% %%%%%%%%%%%%%%%% +\def\@chairiX{% + \if\@tmpb a%single bond + \yl@xdiff=40 + \yl@ydiff=104 + \Put@Line(573,91)(0,-1){168}% single bond at 5 axial + \putlratom{533}{-181}{\@memberb}% left type + \else\if\@tmpb b%single bond + \yl@xdiff=-36 + \yl@ydiff=3 + \Put@Line(573,91)(5,3){144}% single bond at 5 equatorial + \putlatom{753}{180}{\@memberb}% left type + \else\if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=-10 + \yl@ydiff=56 + \Put@Line(573,91)(5,-4){170}% single bond at 5 + \putratom{753}{-101}{\@memberb}% right type + \else\if\@tmpc a%(a) axial + \yl@xdiff=40 + \yl@ydiff=104 + \Put@Line(573,91)(0,-1){168}% single bond at 5 axial + \putlratom{533}{-181}{\@memberb}% left type + \else\if\@tmpc e%(e) beta + \yl@xdiff=-36 + \yl@ydiff=3 + \Put@Line(573,91)(5,3){144}% single bond at 5 equatorial + \putlatom{753}{180}{\@memberb}% left type + \fi\fi\fi% + \else \if\@tmpb D%double bond + \yl@xdiff=10 + \yl@ydiff=86 + \putratom{733}{-141}{\@memberb}% right type + \Put@Line(563,83)(5,-4){170}% double bond at 5 + \Put@Line(583,99)(5,-4){170}% double bond at 5 + \else% + \yl@xdiff=-10 + \yl@ydiff=76 + \Put@Line(573,91)(5,-4){170}% single bond at 5 + \putratom{753}{-121}{\@memberb}% right type + \fi\fi\fi\fi}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@chairiIII} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 3 % +% %%%%%%%%%%%%%%% +\def\@chairiIII{% + \if\@tmpb a%single bond + \yl@xdiff=-16 + \yl@ydiff=64 + \Put@Line(843,181)(5,-3){144}% single bond at 3 equatorial + \putratom{1003}{31}{\@memberb}% right type + \else\ifx\@tmpb\empty%single bond + \yl@xdiff=-16 + \yl@ydiff=64 + \Put@Line(843,181)(5,-3){144}% single bond at 3 equatorial + \putratom{1003}{31}{\@memberb}% right type + \else\if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=10 + \yl@ydiff=30 + \Put@Line(843,181)(1,1){120}% single bond at 3 + \putratom{953}{271}{\@memberb}% right type + \else\if\@tmpc a%(a) axial + \yl@xdiff=42 + \yl@ydiff=11 + \Put@Line(843,181)(0,1){168}% single bond at 3 axial + \putlratom{801}{360}{\@memberb}% left & right type + \else\if\@tmpc e%(e) beta + \yl@xdiff=-16 + \yl@ydiff=64 + \Put@Line(843,181)(5,-3){144}% single bond at 3 equatorial + \putratom{1003}{31}{\@memberb}% right type + \fi\fi\fi% + \else \if\@tmpb D%double bond + \yl@xdiff=0 + \yl@ydiff=30 + \putratom{953}{271}{\@memberb}% right type + \Put@Line(833,191)(1,1){120}% double bond at 3 + \Put@Line(853,171)(1,1){120}% double bond at 3 + \else% + \yl@xdiff=10 + \yl@ydiff=30 + \Put@Line(843,181)(1,1){120}% single bond at 3 + \putratom{953}{271}{\@memberb}% right type + \fi\fi\fi\fi}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@chairiIV} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 4 % +% %%%%%%%%%%%%%%% +\def\@chairiIV{% + \if\@tmpb a%single bond + \yl@xdiff=40 + \yl@ydiff=104 + \Put@Line(673,-46)(0,-1){168}% single bond at 4 axial + \putlratom{633}{-318}{\@memberb}% left & right type + \else\if\@tmpb b%single bond + \yl@xdiff=-6 + \yl@ydiff=17 + \Put@Line(673,-46)(5,3){144}% single bond at 4 equatorial + \putratom{823}{23}{\@memberb}% right type + \else\if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=-10 + \yl@ydiff=92 + \Put@Line(673,-46)(1,-1){120}% single bond at 4 + \putratom{803}{-258}{\@memberb}% right type + \else\if\@tmpc a%(a) axial + \yl@xdiff=40 + \yl@ydiff=104 + \Put@Line(673,-46)(0,-1){168}% single bond at 4 axial + \putlratom{633}{-318}{\@memberb}% left & right type + \else\if\@tmpc e%(e) beta + \yl@xdiff=-6 + \yl@ydiff=17 + \Put@Line(673,-46)(5,3){144}% single bond at 4 equatorial + \putratom{823}{23}{\@memberb}% right type + \fi\fi\fi% + \else \if\@tmpb D%double bond + \yl@xdiff=-10 + \yl@ydiff=92 + \putratom{803}{-258}{\@memberb}% right type + \Put@Line(663,-53)(1,-1){120}% double bond at 4 + \Put@Line(683,-38)(1,-1){120}% double bond at 4 + \else% + \yl@xdiff=-10 + \yl@ydiff=76 + \Put@Line(673,-46)(5,-4){170}% single bond at 4 + \putratom{853}{-258}{\@memberb}% right type + \fi\fi\fi\fi}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@chairiV} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 5 % +% %%%%%%%%%%%%%%% +\def\@chairiV{% + \if\@tmpb a%single bond + \yl@xdiff=26 + \yl@ydiff=102 + \Put@Line(270,90)(-5,-3){144}% single bond at 5 equatorial + \putratom{100}{-98}{\@memberb}% left type + \else\ifx\@tmpb\empty%single bond + \yl@xdiff=26 + \yl@ydiff=102 + \Put@Line(270,90)(-5,-3){144}% single bond at 5 equatorial + \putratom{100}{-98}{\@memberb}% left type + \else\if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=0 + \yl@ydiff=46 + \Put@Line(270,90)(-5,4){170}% single bond at 5 + \putlatom{100}{180}{\@memberb}% left type + \else\if\@tmpc a%(a) axial + \yl@xdiff=32 + \yl@ydiff=12 + \Put@Line(270,90)(0,1){168}% single bond at 5 axial + \putlratom{238}{270}{\@memberb}% left type + \else\if\@tmpc e%(e) beta + \yl@xdiff=36 + \yl@ydiff=102 + \Put@Line(270,90)(-5,-3){144}% single bond at 5 equatorial + \putratom{100}{-98}{\@memberb}% left type + \fi\fi\fi% + \else \if\@tmpb D%double bond + \yl@xdiff=0 + \yl@ydiff=36 + \putlatom{100}{200}{\@memberb}% left or right type + \Put@Line(260,80)(-5,4){170}% double bond at 5 + \Put@Line(280,100)(-5,4){170}% double bond at 5 + \else% + \yl@xdiff=0 + \yl@ydiff=26 + \putlatom{100}{200}{\@memberb}% left type + \Put@Line(270,90)(-5,4){170}% single bond at 5 + \fi\fi\fi\fi}% +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@chairiI} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 1 % +% %%%%%%%%%%%%%%% +\def\@chairiI{% + \if\@tmpb a%single bond + \yl@xdiff=42 + \yl@ydiff=-10 + \Put@Line(0,0)(0,1){168}% single bond at 1 axial + \putlratom{-42}{178}{\@memberb}% left & right type + \else\ifx\@tmpb\empty% + \yl@xdiff=42 + \yl@ydiff=-10 + \Put@Line(0,0)(0,1){168}% single bond at 1 axial + \putlratom{-42}{178}{\@memberb}% left & right type + \else\if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=42 + \yl@ydiff=-10 + \Put@Line(0,0)(0,1){168}% single bond at 1 axial + \putlratom{-42}{178}{\@memberb}% left & right type + \else\if\@tmpc a%(a) axial + \yl@xdiff=42 + \yl@ydiff=-10 + \Put@Line(0,0)(0,1){168}% single bond at 1 axial + \putlratom{-42}{178}{\@memberb}% left & right type + \else\if\@tmpc e%(e) beta + \yl@xdiff=42 + \yl@ydiff=-10 + \Put@Line(0,0)(0,1){168}% single bond at 1 axial + \putlratom{-42}{178}{\@memberb}% left & right type + \fi\fi\fi% + \else \if\@tmpb D%double bond + \yl@xdiff=42 + \yl@ydiff=-10 + \Put@Line(0,0)(0,1){168}% single bond at 1 axial + \putlratom{-42}{178}{\@memberb}% left & right type + \else% + \yl@xdiff=42 + \yl@ydiff=-10 + \Put@Line(0,0)(0,1){168}% single bond at 1 axial + \putlratom{-42}{178}{\@memberb}% left & right type + \fi\fi\fi\fi}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@chairiII} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \begin{macrocode} +% %%%%%%%%%%%%%%%% +% % subst. on 2 % +% %%%%%%%%%%%%%%%% +\def\@chairiII{% + \if\@tmpb a%single bond + \yl@xdiff=-10 + \yl@ydiff=13 + \Put@Line(0,0)(3,1){190}% single bond at 6 equatorial + \putratom{200}{50}{\@memberb}% right type + \else\if\@tmpb b%single bond + \yl@xdiff=-10 + \yl@ydiff=0 + \Put@Line(0,0)(3,4){120}% % bond 1 to 6 + \putratom{130}{160}{\@memberb}% left type + \else\if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=-10 + \yl@ydiff=-10 + \Put@Line(0,0)(1,1){120}% single bond at 1 + \putratom{130}{130}{\@memberb}% left type + \else\if\@tmpc a%(a) axial + \yl@xdiff=-10 + \yl@ydiff=0 + \Put@Line(0,0)(3,4){120}% % bond 1 to 6 + \putratom{130}{160}{\@memberb}% left type + \else\if\@tmpc e%(e) beta + \yl@xdiff=-10 + \yl@ydiff=13 + \Put@Line(0,0)(3,1){190}% single bond at 6 equatorial + \putratom{200}{50}{\@memberb}% right type + \fi\fi\fi% + \else \if\@tmpb D%double bond + \yl@xdiff=-10 + \yl@ydiff=-10 + \putratom{130}{130}{\@memberb}% left type + \Put@Line(-10,10)(1,1){120}% double bond at 1 + \Put@Line(10,-10)(1,1){120}% double bond at 1 + \else% + \yl@xdiff=-10 + \yl@ydiff=-10 + \putratom{130}{130}{\@memberb}% left type + \Put@Line(0,0)(1,1){120}% single bond at 1 + \fi\fi\fi\fi}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@chairigVIII} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 8 % +% %%%%%%%%%%%%%%% +\def\@chairiVIII{% + \if\@tmpb a%single bond + \yl@xdiff=16 + \yl@ydiff=36 + \Put@Line(0,0)(-5,3){144}% single bond at 1 equatorial + \putlatom{-160}{50}{\@memberb}% left type + \else\if\@tmpb b%single bond + \yl@xdiff=-10 + \yl@ydiff=0 + \Put@Line(0,0)(3,4){120}% % bond 1 to 6 + \putratom{130}{160}{\@memberb}% left type + \else\if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=4 + \yl@ydiff=36 + \Put@Line(0,0)(-5,3){144}% single bond at 1 equatorial + \putlatom{-140}{50}{\@memberb}% left type + \else\if\@tmpc e% right-hand + \yl@xdiff=-10 + \yl@ydiff=0 + \Put@Line(0,0)(3,4){120}% % bond 1 to 6 + \putratom{130}{160}{\@memberb}% left type + \else\if\@tmpc a% left-hand + \yl@xdiff=16 + \yl@ydiff=36 + \Put@Line(0,0)(-5,3){144}% single bond at 1 equatorial + \putlatom{-160}{50}{\@memberb}% left type + \fi\fi\fi% + \else \if\@tmpb D%double bond + \yl@xdiff=4 + \yl@ydiff=26 + \putlatom{-140}{60}{\@memberb}% left type + \Put@Line(10,10)(-5,3){144}% single bond at 1 equatorial + \Put@Line(0,-10)(-5,3){144}% single bond at 1 equatorial + \else% + \yl@xdiff=4 + \yl@ydiff=36 + \Put@Line(0,0)(-5,3){144}% single bond at 1 equatorial + \putlatom{-140}{50}{\@memberb}% left type + \fi\fi\fi\fi}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@chairiIX} +% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} +% \begin{macrocode} +% %%%%%%%%%%%%%%% +% % subst. on 9 % +% %%%%%%%%%%%%%%% +\def\@chairiIX{% + \if\@tmpb a%single bond + \yl@xdiff=16 + \yl@ydiff=36 + \Put@Line(0,0)(-5,3){144}% single bond at 1 equatorial + \putlatom{-160}{50}{\@memberb}% left type + \else\if\@tmpb b%single bond + \yl@xdiff=-16 + \yl@ydiff=36 + \Put@Line(0,0)(5,3){144}% single bond at 6 equatorial + \putratom{160}{50}{\@memberb}% left type + \else\if\@tmpb S%single bond + \ifx\@tmpc\empty% + \yl@xdiff=4 + \yl@ydiff=36 + \Put@Line(0,0)(-5,3){144}% single bond at 1 equatorial + \putlatom{-140}{50}{\@memberb}% left type + \else\if\@tmpc e% right-hand + \yl@xdiff=-16 + \yl@ydiff=36 + \Put@Line(0,0)(5,3){144}% single bond at 6 equatorial + \putratom{160}{50}{\@memberb}% left type + \else\if\@tmpc a% left-hand + \yl@xdiff=16 + \yl@ydiff=36 + \Put@Line(0,0)(-5,3){144}% single bond at 1 equatorial + \putlatom{-160}{50}{\@memberb}% left type + \fi\fi\fi% + \else \if\@tmpb D%double bond + \yl@xdiff=4 + \yl@ydiff=36 + \putlatom{-140}{50}{\@memberb}% left type + \Put@Line(10,10)(-5,3){144}% single bond at 1 equatorial + \Put@Line(0,-10)(-5,3){144}% single bond at 1 equatorial + \else% + \yl@xdiff=4 + \yl@ydiff=36 + \Put@Line(0,0)(-5,3){144}% single bond at 1 equatorial + \putlatom{-140}{50}{\@memberb}% left type + \fi\fi\fi\fi}% +%</ccycle> +% \end{macrocode} +% \end{macro} +% +% \Finale +% +\endinput |