% \iffalse meta-comment %% File: steroid.dtx % % Copyright 2009, 2010 by Shinsaku Fujita % Copyright for the XyMTeX system 1993,1996,1998,2001,2002,2004,2005,2009 by Shinsaku Fujita % % This file is part of XyMTeX system. % ------------------------------------- % % This file is a successor to: % % steroid.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 steroid.dtx and steroid.ins % and the derived file steroid.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 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \def\j@urnalname{steroid} % \def\versi@ndate{June 15, 2009} % \def\versi@nno{ver1.00} % \def\copyrighth@lder{SF}% Shinsaku Fujita % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % \fi % % \CheckSum{1778} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} % % \setcounter{StandardModuleDepth}{1} % % \StopEventually{} % \MakeShortVerb{\|} % % \iffalse % \changes{v1.00}{2009/06/15}{The first version} % \changes{v5.00}{2010/10/01}{for bond coloring and the LaTeX Project Public License} % \fi % % \iffalse %<*driver> \NeedsTeXFormat{pLaTeX2e} % \fi \ProvidesFile{steroid.dtx}[2010/10/01 v5.00 XyMTeX{} package file] % \iffalse \documentclass{ltxdoc} \GetFileInfo{steroid.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{Steroid derivatives by {\sffamily steroid.sty} of \XyMTeX{} (\fileversion) } \author{Shinsaku Fujita \\ Shonan Institute of Chemoinformatics and Mathematical Chemistry, \\ Kaneko 479-7 Ooimachi, Ashigara-Kami-Gun Kanagawa-ken, 258-0019, Japan. } \date{\filedate} % \begin{document} \maketitle \DocInput{steroid.dtx} \end{document} % % \fi % % \section{Introduction}\label{steroid:intro} % % \subsection{Options for {\sffamily docstrip}} % % \DeleteShortVerb{\|} % \begin{center} % \begin{tabular}{|l|l|} % \hline % \emph{option} & \emph{function}\\ \hline % steroid & steroid.sty \\ % driver & driver for this dtx file \\ % \hline % \end{tabular} % \end{center} % \MakeShortVerb{\|} % % \subsection{Version Information} % % \begin{macrocode} %<*steroid> \typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 5.00} \typeout{ -- Released October 01, 2010 by Shinsaku Fujita} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\j@urnalname{steroid} \def\versi@ndate{October 01, 2010} \def\versi@nno{ver5.00} \def\copyrighth@lder{SF}% Shinsaku Fujita % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \typeout{XyMTeX Macro File `\j@urnalname' (\versi@nno) <\versi@ndate>% \space[\copyrighth@lder]} % \end{macrocode} % % \section{List of commands for steroid.sty} % % \begin{verbatim} % ********************************* % * steroid.sty: list of commands * % ********************************* % % % % \gonane % \gonanealpha % \gonanebeta % % \estrane % \estranealpha % \estranebeta % % \steroidnochainandrostane % \androstane % \androstanealpha % \androstanebeta % % \steroidethylchain % \steroidethylchainpregnane % \pregnane % \pregnanealpha % \pregnanebeta % % % C22-C23: transoid % % \steroidChain % \steroidChaindiMe % \cholestaneAlpha % \cholestaneBeta % \cholestane % % \ergostaneAlpha % \ergostaneBeta % \ergostane % % \campestaneAlpha % \campestaneBeta % \campestane % % \poriferastaneAlpha % \poriferastaneBeta % \poriferastane % % \stigmastaneAlpha % \stigmastaneBeta % \stigmastane % % % C22-C23: transoid % % \steroidShortChain % \steroidShortChainMe % \cholaneAlpha % \cholaneBeta % % % C22-C23: transoid % % \steroidshortchain % \steroidshortchainMe % \cholanealpha % \cholanebeta % \cholanE % % % C22-C23: cisoid % % \steroidchaindiMe % \cholestanealpha % \cholestanebeta % \cholestanE % % \ergostanealpha % \ergostanebeta % \ergostanE % % \campestanealpha % \campestanebeta % \campestanE % % \poriferastanealpha % \poriferastanebeta % \poriferastanE % % \stigmastanealpha % \stigmastanebeta % \stigmastanE % % % % \steroidspiro % \steroidspirotriMe % \spirostanalpha % \spirostanbeta % \spirostan % \spirostannor % % % % \steroidfuros % \steroidspirotriMe % \furostanalpha % \furostanbeta % \furostan % % % % \pyranoseChairi % \pyranoseChairii % % \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 steroid.sty} for the present case). Hence, the combination % of |\input| and |\@ifundefined| is used to crossload sty % files ({\sf chemstr.sty} for the present case) in place of the % |\RequirePackage| command of \LaTeXe{}. % % \begin{macrocode} % ************************* % * input of basic macros * % ************************* \@ifundefined{setsixringv}{\input chemstr.sty\relax}{} \@ifundefined{steroidchain}{\input carom.sty\relax}{} \@ifundefined{ylchairiposition}{\input ccycle.sty\relax}{} \unitlength=0.1pt % \end{macrocode} % % The commands |\steroid| and |\steroidchain| for drawing raw skeletons of % steroid derivatives have been already defined in {\sf carom.sty}, which % is loaded automatically as above. % % \section{Macros for Steroids with No Side Chains} % % By starting from the commands |\steroid| defined in the {\sf carom.sty}, % several intermediate commands are defined to draw steroid derivatives % without side chains. % % \begin{macro}{\gonane} % \begin{macro}{\gonanealpha} % \begin{macro}{\gonanebeta} % \begin{macro}{\estrane} % \begin{macro}{\estranealpha} % \begin{macro}{\estranebeta} % \begin{macrocode} % *********************************************** % * For drawing side chains of the common style * % *********************************************** % ******************* % * gonane, estrane * % ******************* \def\gonanealpha{\@ifnextchar[{\@gonanealpha}{\@gonanealpha[]}} \def\@gonanealpha[#1]#2{% \steroid[#1]{#2;5A==H;8B==H;9A==H;{10}B==H;{13}B==H;{14}A==H}} \def\gonanebeta{\@ifnextchar[{\@gonanebeta}{\@gonanebeta[]}} \def\@gonanebeta[#1]#2{% \steroid[#1]{#2;5B==H;8B==H;9A==H;{10}B==H;{13}B==H;{14}A==H}} \def\gonane{\@ifnextchar[{\@gonane}{\@gonane[]}} \def\@gonane[#1]#2{% \steroid[#1]{#2;8B==H;9A==H;{10}B==H;{13}B==H;{14}A==H}} \def\estranealpha{\@ifnextchar[{\@estranealpha}{\@estranealpha[]}} \def\@estranealpha[#1]#2{% \steroid[#1]{#2;5A==H;8B==H;9A==H;{10}B==H;{13}B==CH$_{3}$;{14}A==H}} \def\estranebeta{\@ifnextchar[{\@estranebeta}{\@estranebeta[]}} \def\@estranebeta[#1]#2{ \steroid[#1]{#2;5B==H;8B==H;9A==H;{10}B==H;{13}B==CH$_{3}$;{14}A==H}} \def\estrane{\@ifnextchar[{\@estrane}{\@estrane[]}} \def\@estrane[#1]#2{ \steroid[#1]{#2;8B==H;9A==H;{10}B==H;{13}B==CH$_{3}$;{14}A==H}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\steroidnochainandrostane} % \begin{macro}{\androstane} % \begin{macro}{\androstanealpha} % \begin{macro}{\androstanebeta} % \begin{macrocode} % ************** % * androstane * % ************** \def\steroidnochainandrostane[#1]#2{% \steroid[#1]{#2;8B==H;9A==H;{10}B==CH$_{3}$;{13}B==CH$_{3}$;{14}A==H}} \def\androstanealpha{\@ifnextchar[{\@androstanealpha}{\@androstanealpha[]}} \def\@androstanealpha[#1]#2{\steroidnochainandrostane[#1]{#2;5A==H}} \def\androstanebeta{\@ifnextchar[{\@androstanebeta}{\@androstanebeta[]}} \def\@androstanebeta[#1]#2{\steroidnochainandrostane[#1]{#2;5B==H}} \def\androstane{\@ifnextchar[{\@androstane}{\@androstane[]}} \def\@androstane[#1]#2{\steroidnochainandrostane[#1]{#2}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \section{Macros for Steroids with a Ethyl Chain} % % After the definition of the macro |\steroidethylchain| for % drawing steroids with an ethyl chain, several commands for % drawing pregnane derivative are defined. % % \begin{macro}{\steroidethylchain} % \begin{macrocode} \def\steroidethylchain{\@ifnextchar[{\@steroidethylchain[@}{\@steroidethylchain[Z]}} \def\@steroidethylchain[#1]#2{% \@reset@ylsw\reset@@yl \yl@steroidposition{#2}% \ylposition{#2}{-21}{0}{3}{0}%for 22 and 23 positions \if@ylsw \ifx\@@ylii\empty \def\@@ylii{-1026}\def\@@yli{-606}\fi \else \ylposition{#2}{-14}{5}{7}{0}%for 20 position \fi \if@ylsw\ifx\@@ylii\empty \def\@@ylii{-1026}\def\@@yli{-606}\fi\else \ylposition{#2}{-20}{3}{5}{0}%for 24 position \fi \if@ylsw\ifx\@@ylii\empty \def\@@ylii{-1397}\def\@@yli{-709}\fi\fi \if@ylsw \yl@shiftii=\@ylii \ifx\@@ylii\empty\else \advance\yl@shiftii\@@ylii\fi \yl@shifti=\@yli \ifx\@@yli\empty\else \advance\yl@shifti\@@yli\fi \advance\yl@shiftii\yl@xdiff \advance\yl@shifti\yl@ydiff \begin{sfpicture}(0,0)(-\yl@shiftii,-\yl@shifti)% \reset@yl@xydiff%1999/1/6 by S. Fujita \else \begin{sfpicture}(1850,1500)(-\shiftii,-\shifti)% \iforigpt \typeout{command `steroidethylchain' is based on `steroid'.}\fi% \fi \Put@Direct(0,0){\@steroidskeleton{#1}{#2}}% \Put@Line(855,709)(0,1){200}% %bond 17-20 \Put@Line(1026,1012)(-5,-3){171}% %bond 22-20 \@tfor\member:=#1\do{% \expandafter\twoCH@R\member//\relax% \if\@tmpa Z\relax% \ifx\@tmpb\empty%no action \else\if\@tmpb a% \Put@Line(888,735)(0,1){148}% %double bond 17-20 \else\if\@tmpb b% \Put@Line(1020,970)(-5,-3){126}% %double bond 22-20 \fi\fi\fi\fi}% \Put@Direct(1026,606){\setsixringv{#2}{-21}{0}{3}{0}}%for 22 and 23 positions \Put@Direct(1026,606){\setsixringv{#2}{-14}{5}{7}{0}}%for 20 position %\Put@Direct(1197,709){\setsixringv{#2}{-20}{3}{5}{0}}%for 24 position %\Put@Direct(1397,709){\setatombond{#2}{-24}{4}}% % for 25 \end{sfpicture}}% %end of \steroidethylchain macro% % \end{macrocode} % \end{macro} % % \begin{macro}{\steroidethylchainpregnane} % \begin{macro}{\pregnane} % \begin{macro}{\pregnanealpha} % \begin{macro}{\pregnanebeta} % \begin{macrocode} % ************ % * pregnane * % ************ \def\steroidethylchainpregnane[#1]#2{% \steroidethylchain[#1]{#2;8B==H;9A==H;{10}B==CH$_{3}$;{13}B==CH$_{3}$;{14}A==H;% {17}SA==\raisebox{-4pt}{~H}}} \def\pregnanealpha{\@ifnextchar[{\@pregnanealpha}{\@pregnanealpha[]}} \def\@pregnanealpha[#1]#2{\steroidethylchainpregnane[#1]{#2;5A==H}} \def\pregnanebeta{\@ifnextchar[{\@pregnanebeta}{\@pregnanebeta[]}} \def\@pregnanebeta[#1]#2{\steroidethylchainpregnane[#1]{#2;5B==H}} \def\pregnane{\@ifnextchar[{\@pregnane}{\@pregnane[]}} \def\@pregnane[#1]#2{\steroidethylchainpregnane[#1]{#2}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \section{Macros for Steroids with Chains (Modern Types)} % % For drawing steroids with side chains of modern expressions, the command |\steroidChain| % is created in addition to the previous command |\steroidchain| for drawing a side chain % of an old expression. % % \begin{macro}{\steroidChain} % \begin{macrocode} % ************************************************************ % * Raw Skeleton for drawing side chains of the modern style * % ************************************************************ \def\steroidChain{\@ifnextchar[{\@steroidChain[@}{\@steroidChain[Z]}} \def\@steroidChain[#1]#2{% \@reset@ylsw\reset@@yl \yl@steroidposition{#2}% \ylposition{#2}{-21}{0}{3}{0}%for 22 and 23 positions \if@ylsw \ifx\@@ylii\empty \def\@@ylii{-1026}\def\@@yli{-606}\fi \else \ylposition{#2}{-14}{5}{7}{0}%for 20 position \fi \if@ylsw \ifx\@@ylii\empty \def\@@ylii{-1026}\def\@@yli{-606}\fi%%set 20 position \else \ylposition{#2}{-23}{0}{2}{0}%for 24 position \fi \if@ylsw\ifx\@@ylii\empty \def\@@ylii{-1368}\def\@@yli{-606}\fi%%set 24 positions \else \ylatombondposition{#2}{-24}{4}% % for 25 \fi \if@ylsw\ifx\@@ylii\empty \def\@@ylii{-1539}\def\@@yli{-909}\fi%%set 25 positions \else \ylatombondposition{#2}{-25}{4}% % for 26 \fi \if@ylsw\ifx\@@ylii\empty \def\@@ylii{-1710}\def\@@yli{-1012}\fi%%set 26 positions \else \ylatombondposition{#2}{-26}{4}% % for 27 \fi \if@ylsw\ifx\@@ylii\empty \def\@@ylii{-1539}\def\@@yli{-709}\fi%%set 27 positions \fi \if@ylsw \yl@shiftii=\@ylii \ifx\@@ylii\empty\else \advance\yl@shiftii\@@ylii\fi \yl@shifti=\@yli \ifx\@@yli\empty\else \advance\yl@shifti\@@yli\fi \advance\yl@shiftii\yl@xdiff \advance\yl@shifti\yl@ydiff \begin{sfpicture}(0,0)(-\yl@shiftii,-\yl@shifti)% \reset@yl@xydiff%1999/1/6 by S. Fujita \else \begin{sfpicture}(2300,1500)(-\shiftii,-\shifti)% \iforigpt \typeout{command `steroidChain' is based on `steroid'.}\fi% \fi \Put@Direct(0,0){\@steroidskeleton{#1}{#2}}% \Put@Line(855,709)(0,1){200}% %bond 17-20 \Put@Line(1026,1012)(-5,-3){171}% %bond 22-20 \Put@Line(1026,1012)(5,-3){171}% %bond 22-23 \Put@Line(1197,909)(5,3){171}% %bond 23-24 \Put@Line(1368,1012)(5,-3){171}% %bond 24-25 \Put@Line(1539,909)(5,3){171}% %bond 25-26 \Put@Line(1539,909)(0,-1){200}% %bond 25-27 \@tfor\member:=#1\do{% \expandafter\twoCH@R\member//\relax% \if\@tmpa Z\relax% \ifx\@tmpb\empty%no action \else\if\@tmpb a% \Put@Line(888,735)(0,1){148}% %double bond 17-20 \else\if\@tmpb b% \Put@Line(1020,970)(-5,-3){126}% %double bond 22-20 \else\if\@tmpb c% \Put@Line(1032,970)(5,-3){126}% %double bond 22-23 \else\if\@tmpb d% \Put@Line(1203,952)(5,3){126}% %double bond 23-24 \else\if\@tmpb e% \Put@Line(1372,970)(5,-3){126}% %double bond 24-25 \else\if\@tmpb f% \Put@Line(1545,952)(5,3){126}% %double bond 25-26 \else\if\@tmpb F% \Put@Line(1580,890)(5,3){126}% %double bond 25-26(alternative) \else\if\@tmpb g% \Put@Line(1580,890)(0,-1){148}% %double bond 25-27 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}% \Put@Direct(1026,606){\setsixringv{#2}{-21}{0}{2}{0}}%for 22 position \Put@Direct(1192,909){\setsixringv{#2}{-19}{3}{5}{0}}%for 23 position \Put@Direct(1368,606){\setsixringv{#2}{-23}{0}{2}{0}}%for 24 position \Put@Direct(1539,909){\setatombond{#2}{-24}{5}}% % for 25 \Put@Direct(1026,606){\setsixringv{#2}{-14}{5}{7}{0}}%for 20 position \end{sfpicture}}% %end of \steroidChain macro% % \end{macrocode} % \end{macro} % % \begin{macro}{\steroidChaindiMe} % \begin{macrocode} \def\steroidChaindiMe[#1]#2{% \steroidChain[#1]{#2;8B==H;9A==H;{10}B==CH$_{3}$;{13}B==CH$_{3}$;{14}A==H;% {17}SA==\raisebox{-4pt}{~H};{20}SA==H$_{3}$C;{20}SB==H}} % \end{macrocode} % \end{macro} % % Sometimes, |\cholestane[{Z}{Zb}]{}| may be used in place of % |\cholestane[{Zb}]{}| because the latter gives an erroneous % result. % % % \begin{macro}{\cholestaneAlpha} % \begin{macro}{\cholestaneBeta} % \begin{macro}{\cholestane} % \begin{macro}{\ergostaneAlpha} % \begin{macro}{\ergostaneBeta} % \begin{macro}{\ergostane} % \begin{macro}{\campestaneAlpha} % \begin{macro}{\campestaneBeta} % \begin{macro}{\campestane} % \begin{macro}{\poriferastaneAlpha} % \begin{macro}{\poriferastaneBeta} % \begin{macro}{\poriferastane} % \begin{macro}{\stigmastaneAlpha} % \begin{macro}{\stigmastaneBeta} % \begin{macro}{\stigmastane} % \begin{macrocode} % ***************************************************** % * Intermediate skeletons for drawing * % * cholestane, ergostane, campestane, poriferastane, * % * and stigmastane (the modern type) * % ***************************************************** \def\cholestaneAlpha{\@ifnextchar[{\@cholestaneAlpha}{\@cholestaneAlpha[]}} \def\@cholestaneAlpha[#1]#2{\steroidChaindiMe[#1]{#2;5A==H}} \def\cholestaneBeta{\@ifnextchar[{\@cholestaneBeta}{\@cholestaneBeta[]}} \def\@cholestaneBeta[#1]#2{\steroidChaindiMe[#1]{#2;5B==H}} \def\cholestane{\@ifnextchar[{\@cholestane}{\@cholestane[]}} \def\@cholestane[#1]#2{\steroidChaindiMe[#1]{#2}} \def\ergostaneAlpha{\@ifnextchar[{\@ergostaneAlpha}{\@ergostaneAlpha[]}} \def\@ergostaneAlpha[#1]#2{% \@cholestaneAlpha[#1]{#2;{24}SA==CH$_{3}$;{24}SB==H}} \def\ergostaneBeta{\@ifnextchar[{\@ergostaneBeta}{\@ergostaneBeta[]}} \def\@ergostaneBeta[#1]#2{% \@cholestaneBeta[#1]{#2;{24}SA==CH$_{3}$;{24}SB==H}} \def\ergostane{\@ifnextchar[{\@ergostane}{\@ergostane[]}} \def\@ergostane[#1]#2{% \@cholestane[#1]{#2;{24}SA==CH$_{3}$;{24}SB==H}} \def\campestaneAlpha{\@ifnextchar[{\@campestaneAlpha}{\@campestaneAlpha[]}} \def\@campestaneAlpha[#1]#2{% \@cholestaneAlpha[#1]{#2;{24}Su==\mbox{C\rlap{H$_{3}$}\kern20\unitlength};{24}Sd==~H}} \def\campestaneBeta{\@ifnextchar[{\@campestaneBeta}{\@campestaneBeta[]}} \def\@campestaneBeta[#1]#2{% \@cholestaneBeta[#1]{#2;{24}Su==\mbox{C\rlap{H$_{3}$}\kern20\unitlength};{24}Sd==~H}} \def\campestane{\@ifnextchar[{\@campestane}{\@campestane[]}} \def\@campestane[#1]#2{% \@cholestane[#1]{#2;{24}Su==\mbox{C\rlap{H$_{3}$}\kern20\unitlength};{24}Sd==~H}} \def\poriferastaneAlpha{\@ifnextchar[{\@poriferastaneAlpha}{\@poriferastaneAlpha[]}} \def\@poriferastaneAlpha[#1]#2{% \@cholestaneAlpha[#1]{#2;{24}SA==\dimethylene{}{1==(yl)};{24}SB==H}} \def\poriferastaneBeta{\@ifnextchar[{\@poriferastaneBeta}{\@poriferastaneBeta[]}} \def\@poriferastaneBeta[#1]#2{% \@cholestaneBeta[#1]{#2;{24}SA==\dimethylene{}{1==(yl)};{24}SB==H}} \def\poriferastane{\@ifnextchar[{\@poriferastane}{\@poriferastane[]}} \def\@poriferastane[#1]#2{% \@cholestane[#1]{#2;{24}SA==\dimethylene{}{1==(yl)};{24}SB==H}} \def\stigmastaneAlpha{\@ifnextchar[{\@stigmastaneAlpha}{\@stigmastaneAlpha[]}} \def\@stigmastaneAlpha[#1]#2{% \@cholestaneAlpha[#1]{#2;{24}Su==\dimethylene{}{1==(yl)};{24}Sd==H}} \def\stigmastaneBeta{\@ifnextchar[{\@stigmastaneBeta}{\@stigmastaneBeta[]}} \def\@stigmastaneBeta[#1]#2{% \@cholestaneBeta[#1]{#2;{24}Su==\dimethylene{}{1==(yl)};{24}Sd==H}} \def\stigmastane{\@ifnextchar[{\@stigmastane}{\@stigmastane[]}} \def\@stigmastane[#1]#2{% \@cholestane[#1]{#2;{24}Su==\dimethylene{}{1==(yl)};{24}Sd==H}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \section{Macros for Steroids with Short Chains (Modern Types)} % % % \begin{macro}{\steroidShortChain} % \begin{macrocode} % ****************************************************************** % * Raw Skeleton for drawing short side chains of the modern style * % ****************************************************************** \def\steroidShortChain{\@ifnextchar[{\@steroidShortChain[@}{\@steroidShortChain[Z]}} \def\@steroidShortChain[#1]#2{% \@reset@ylsw\reset@@yl \yl@steroidposition{#2}% \ylposition{#2}{-21}{0}{3}{0}%for 22 and 23 positions \if@ylsw \ifx\@@ylii\empty \def\@@ylii{-1026}\def\@@yli{-606}\fi \else \ylposition{#2}{-14}{5}{7}{0}%for 20 position \fi \if@ylsw \ifx\@@ylii\empty \def\@@ylii{-1026}\def\@@yli{-606}\fi%%set 20 position \else \ylposition{#2}{-23}{0}{2}{0}%for 24 position \fi \if@ylsw\ifx\@@ylii\empty \def\@@ylii{-1368}\def\@@yli{-606}\fi%%set 24 positions \fi \if@ylsw \yl@shiftii=\@ylii \ifx\@@ylii\empty\else \advance\yl@shiftii\@@ylii\fi \yl@shifti=\@yli \ifx\@@yli\empty\else \advance\yl@shifti\@@yli\fi \advance\yl@shiftii\yl@xdiff \advance\yl@shifti\yl@ydiff \begin{sfpicture}(0,0)(-\yl@shiftii,-\yl@shifti)% \reset@yl@xydiff%1999/1/6 by S. Fujita \else \begin{sfpicture}(2000,1500)(-\shiftii,-\shifti)% \iforigpt \typeout{command `steroidChain' is based on `steroid'.}\fi% \fi \Put@Direct(0,0){\@steroidskeleton{#1}{#2}}% \Put@Line(855,709)(0,1){200}% %bond 17-20 \Put@Line(1026,1012)(-5,-3){171}% %bond 22-20 \Put@Line(1026,1012)(5,-3){171}% %bond 22-23 \Put@Line(1197,909)(5,3){171}% %bond 23-24 \@tfor\member:=#1\do{% \expandafter\twoCH@R\member//\relax% \if\@tmpa Z\relax% \ifx\@tmpb\empty%no action \else\if\@tmpb a% \Put@Line(888,735)(0,1){148}% %double bond 17-20 \else\if\@tmpb b% \Put@Line(1020,970)(-5,-3){126}% %double bond 22-20 \else\if\@tmpb c% \Put@Line(1032,970)(5,-3){126}% %double bond 22-23 \else\if\@tmpb d% \Put@Line(1203,952)(5,3){126}% %double bond 23-24 \fi\fi\fi\fi\fi\fi}% \Put@Direct(1026,606){\setsixringv{#2}{-21}{0}{2}{0}}%for 22 position \Put@Direct(1192,909){\setsixringv{#2}{-19}{3}{5}{0}}%for 23 position \Put@Direct(1368,606){\setsixringv{#2}{-23}{0}{2}{0}}%for 24 position %\Put@Direct(1539,909){\setatombond{#2}{-24}{5}}% % for 25 \Put@Direct(1026,606){\setsixringv{#2}{-14}{5}{7}{0}}%for 20 position \end{sfpicture}}% %end of \steroidShortChain macro% % \end{macrocode} % \end{macro} % % % \begin{macro}{\steroidShortChainMe} % \begin{macrocode} \def\steroidShortChainMe[#1]#2{% \steroidShortChain[#1]{#2;8B==H;9A==H;{10}B==CH$_{3}$;{13}B==CH$_{3}$;{14}A==H;% {17}SA==\raisebox{-4pt}{~H};{20}SA==H$_{3}$C;{20}SB==H}} % \end{macrocode} % \end{macro} % % % \begin{macro}{\cholaneAlpha} % \begin{macro}{\cholaneBeta} % \begin{macro}{\cholane} % \begin{macrocode} % ***************************************************************** % * Intermediate skeletons for drawing choranes (the modern type) * % ***************************************************************** \def\cholaneAlpha{\@ifnextchar[{\@cholaneAlpha}{\@cholaneAlpha[]}} \def\@cholaneAlpha[#1]#2{\steroidShortChainMe[#1]{#2;5A==H}} \def\cholaneBeta{\@ifnextchar[{\@cholaneBeta}{\@cholaneBeta[]}} \def\@cholaneBeta[#1]#2{\steroidShortChainMe[#1]{#2;5B==H}} \def\cholane{\@ifnextchar[{\@cholane}{\@cholane[]}} \def\@cholane[#1]#2{\steroidShortChainMe[#1]{#2}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \section{Macros for Steroids with Short Chains (Old Types)} % % \begin{macro}{\steroidshortchain} % \begin{macrocode} % ****************************************************** % * Raw skeletons drawing side chains of the old style * % ****************************************************** \def\steroidshortchain{\@ifnextchar[{\@steroidshortchain[@}{\@steroidshortchain[Z]}} \def\@steroidshortchain[#1]#2{% \@reset@ylsw\reset@@yl \yl@steroidposition{#2}% \ylposition{#2}{-21}{0}{3}{0}%for 22 and 23 positions \if@ylsw \ifx\@@ylii\empty \def\@@ylii{-1026}\def\@@yli{-606}\fi \else \ylposition{#2}{-14}{5}{7}{0}%for 20 position \fi \if@ylsw\ifx\@@ylii\empty \def\@@ylii{-1026}\def\@@yli{-606}\fi\else \ylposition{#2}{-20}{3}{5}{0}%for 24 position \fi \if@ylsw\ifx\@@ylii\empty \def\@@ylii{-1397}\def\@@yli{-709}\fi\fi \if@ylsw \yl@shiftii=\@ylii \ifx\@@ylii\empty\else \advance\yl@shiftii\@@ylii\fi \yl@shifti=\@yli \ifx\@@yli\empty\else \advance\yl@shifti\@@yli\fi \advance\yl@shiftii\yl@xdiff \advance\yl@shifti\yl@ydiff \begin{sfpicture}(0,0)(-\yl@shiftii,-\yl@shifti)% \reset@yl@xydiff%1999/1/6 by S. Fujita \else \begin{sfpicture}(1850,1500)(-\shiftii,-\shifti)% \iforigpt \typeout{command `steroidshortchain' is based on `steroid'.}\fi% \fi \Put@Direct(0,0){\@steroidskeleton{#1}{#2}}% \Put@Line(855,709)(0,1){200}% %bond 17-20 \Put@Line(1026,1012)(-5,-3){171}% %bond 22-20 \Put@Line(1026,1012)(5,-3){171}% %bond 22-23 \Put@Line(1197,709)(0,1){200}% %bond 24-23 \@tfor\member:=#1\do{% \expandafter\twoCH@R\member//\relax% \if\@tmpa Z\relax% \ifx\@tmpb\empty%no action \else\if\@tmpb a% \Put@Line(888,735)(0,1){148}% %double bond 17-20 \else\if\@tmpb b% \Put@Line(1020,970)(-5,-3){126}% %double bond 22-20 \else\if\@tmpb c% \Put@Line(1032,970)(5,-3){126}% %double bond 22-23 \else\if\@tmpb d% \Put@Line(1164,735)(0,1){148}% %double bond 24-23 \fi\fi\fi\fi\fi\fi}% \Put@Direct(1026,606){\setsixringv{#2}{-21}{0}{3}{0}}%for 22 and 23 positions \Put@Direct(1026,606){\setsixringv{#2}{-14}{5}{7}{0}}%for 20 position \Put@Direct(1197,709){\setsixringv{#2}{-20}{3}{5}{0}}%for 24 position \end{sfpicture}}% %end of \steroidshortchain macro% % \end{macrocode} % \end{macro} % % \begin{macro}{\steroidshortchainMe} % \begin{macro}{\cholanealpha} % \begin{macro}{\cholanebeta} % \begin{macro}{\cholanE} % \begin{macrocode} % *********** % * cholane * % *********** \def\steroidshortchainMe[#1]#2{% \steroidshortchain[#1]{#2;8B==H;9A==H;{10}B==CH$_{3}$;{13}B==CH$_{3}$;{14}A==H;% {17}SA==\raisebox{-4pt}{~H};{20}SA==H$_{3}$C;{20}SB==H}} \def\cholanealpha{\@ifnextchar[{\@cholanealpha}{\@cholanealpha[]}} \def\@cholanealpha[#1]#2{\steroidshortchainMe[#1]{#2;5A==H}} \def\cholanebeta{\@ifnextchar[{\@cholanebeta}{\@cholanebeta[]}} \def\@cholanebeta[#1]#2{\steroidshortchainMe[#1]{#2;5B==H}} \def\cholanE{\@ifnextchar[{\@cholanE}{\@cholanE[]}} \def\@cholanE[#1]#2{\steroidshortchainMe[#1]{#2}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \section{Macros for Steroids with Chains (Old Types)} % % For drawing steroids with side chains of old expressions, the command |\steroidchain| % defined in {\sf carom.sty} is used. % % \begin{macro}{\steroidchaindiMe} % \begin{macro}{\cholestanealpha} % \begin{macro}{\cholestanebeta} % \begin{macro}{\cholestanE} % \begin{macro}{\ergostanealpha} % \begin{macro}{\ergostanebeta} % \begin{macro}{\ergostanE} % \begin{macro}{\campestanealpha} % \begin{macro}{\campestanebeta} % \begin{macro}{\campestanE} % \begin{macrocode} % ************************************************ % * cholestane, ergostane, campestane (old type) * % ************************************************ \def\steroidchaindiMe[#1]#2{% \steroidchain[#1]{#2;8B==H;9A==H;{10}B==CH$_{3}$;{13}B==CH$_{3}$;{14}A==H;% {17}SA==\raisebox{-4pt}{~H};{20}SA==H$_{3}$C;{20}SB==H}} \def\cholestanealpha{\@ifnextchar[{\@cholestanealpha}{\@cholestanealpha[]}} \def\@cholestanealpha[#1]#2{\steroidchaindiMe[#1]{#2;5A==H}} \def\cholestanebeta{\@ifnextchar[{\@cholestanebeta}{\@cholestanebeta[]}} \def\@cholestanebeta[#1]#2{\steroidchaindiMe[#1]{#2;5B==H}} \def\cholestanE{\@ifnextchar[{\@cholestanE}{\@cholestanE[]}} \def\@cholestanE[#1]#2{\steroidchaindiMe[#1]{#2}} \def\ergostanealpha{\@ifnextchar[{\@ergostanealpha}{\@ergostanealpha[]}} \def\@ergostanealpha[#1]#2{% \@cholestanealpha[#1]{#2;{24}Su==CH$_{3}$;{24}Sd==H}} \def\ergostanebeta{\@ifnextchar[{\@ergostanebeta}{\@ergostanebeta[]}} \def\@ergostanebeta[#1]#2{% \@cholestanebeta[#1]{#2;{24}Su==CH$_{3}$;{24}Sd==H}} \def\ergostanE{\@ifnextchar[{\@ergostanE}{\@ergostanE[]}} \def\@ergostanE[#1]#2{% \@cholestanE[#1]{#2;{24}Su==CH$_{3}$;{24}Sd==H}} \def\campestanealpha{\@ifnextchar[{\@campestanealpha}{\@campestanealpha[]}} \def\@campestanealpha[#1]#2{% \@cholestanealpha[#1]{#2;{24}Sd==\mbox{C\rlap{H$_{3}$}\kern20\unitlength};{24}Su==~H}} \def\campestanebeta{\@ifnextchar[{\@campestanebeta}{\@campestanebeta[]}} \def\@campestanebeta[#1]#2{% \@cholestanebeta[#1]{#2;{24}Sd==\mbox{C\rlap{H$_{3}$}\kern20\unitlength};{24}Su==~H}} \def\campestanE{\@ifnextchar[{\@campestanE}{\@campestanE[]}} \def\@campestanE[#1]#2{% \@cholestanE[#1]{#2;{24}Sd==\mbox{C\rlap{H$_{3}$}\kern20\unitlength};{24}Su==~H}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\poriferastanealpha} % \begin{macro}{\poriferastanebeta} % \begin{macro}{\poriferastanE} % \begin{macro}{\stigmastanealpha} % \begin{macro}{\stigmastanebeta} % \begin{macro}{\stigmastanE} % \begin{macrocode} % ***************************************** % * poriferastane, stigmastane (old type) * % ***************************************** \def\poriferastanealpha{\@ifnextchar[{\@poriferastanealpha}{\@poriferastanealpha[]}} \def\@poriferastanealpha[#1]#2{% \@cholestanealpha[#1]{#2;{24}Su==\dimethylenei{}{1==(yl)};{24}Sd==H}} \def\poriferastanebeta{\@ifnextchar[{\@poriferastanebeta}{\@poriferastanebeta[]}} \def\@poriferastanebeta[#1]#2{% \@cholestanebeta[#1]{#2;{24}Su==\dimethylenei{}{1==(yl)};{24}Sd==H}} \def\poriferastanE{\@ifnextchar[{\@poriferastanE}{\@poriferastanE[]}} \def\@poriferastanE[#1]#2{% \@cholestanE[#1]{#2;{24}Su==\dimethylenei{}{1==(yl)};{24}Sd==H}} \def\stigmastanealpha{\@ifnextchar[{\@stigmastanealpha}{\@stigmastanealpha[]}} \def\@stigmastanealpha[#1]#2{% \@cholestanealpha[#1]{#2;{24}SA==\dimethylenei{}{1==(yl)};{24}SB==H}} \def\stigmastanebeta{\@ifnextchar[{\@stigmastanebeta}{\@stigmastanebeta[]}} \def\@stigmastanebeta[#1]#2{% \@cholestanebeta[#1]{#2;{24}SA==\dimethylenei{}{1==(yl)};{24}SB==H}} \def\stigmastanE{\@ifnextchar[{\@stigmastanE}{\@stigmastanE[]}} \def\@stigmastanE[#1]#2{% \@cholestanE[#1]{#2;{24}SA==\dimethylenei{}{1==(yl)};{24}SB==H}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \section{Macros for Spirostans} % % After the macro |\steroidspiro| is defined as a basic macro % several macros for drawing spirostans are defined. % % \begin{macro}{\steroidspiro} % \begin{macrocode} % *************************************** % * Raw skeleton for drawing spirostans * % *************************************** \def\steroidspiro{\@ifnextchar[{\@steroidspiro[@}{\@steroidspiro[Z]}} \def\@steroidspiro[#1]#2{% \@reset@ylsw\reset@@yl \yl@steroidposition{#2}% \ylposition{#2}{-20}{1}{3}{0}%for 22 position \if@ylsw \ifx\@@ylii\empty \def\@@ylii{-1026}\def\@@yli{-606}\fi \else \ylposition{#2}{-14}{5}{7}{0}%for 20 position \fi \if@ylsw \ifx\@@ylii\empty \def\@@ylii{-1026}\def\@@yli{-606}\fi%%set 20 position \else \ylposition{#2}{-22}{0}{2}{0}%for 23 position \fi \if@ylsw\ifx\@@ylii\empty \def\@@ylii{-1368}\def\@@yli{-400}\fi%%set 23 position \else \ylatombondposition{#2}{-23}{4}% % for 24 \fi \if@ylsw\ifx\@@ylii\empty \def\@@ylii{-1539}\def\@@yli{-909}\fi%%set 24 position \else \ylatombondposition{#2}{-24}{4}% % for 25 \fi \if@ylsw\ifx\@@ylii\empty \def\@@ylii{-1539}\def\@@yli{-1109}\fi%%set 25 position \else \ylatombondposition{#2}{-25}{4}% % for 26 \fi \if@ylsw\ifx\@@ylii\empty \def\@@ylii{-1368}\def\@@yli{-1212}\fi%%set 26 position \fi \if@ylsw \yl@shiftii=\@ylii \ifx\@@ylii\empty\else \advance\yl@shiftii\@@ylii\fi \yl@shifti=\@yli \ifx\@@yli\empty\else \advance\yl@shifti\@@yli\fi \advance\yl@shiftii\yl@xdiff \advance\yl@shifti\yl@ydiff \begin{sfpicture}(0,0)(-\yl@shiftii,-\yl@shifti)% \reset@yl@xydiff%1999/1/6 by S. Fujita \else \begin{sfpicture}(2300,1500)(-\shiftii,-\shifti)% \iforigpt \typeout{command `steroidspiro' is based on `steroid'.}\fi% \fi \Put@Direct(0,0){\@steroidskeleton{#1}{#2}}% \Put@Line(855,709)(0,1){200}% %bond 17-20 \Put@Line(855,909)(1,0){342}% %bond 20-22 \Put@Line(1197,909)(0,-1){140}% %bond 22-O (down) \Put@Line(1026,606)(5,3){120}% %bond 16-O \Put@Direct(1197,709){\makebox(0,0){O}}% \dotorline(1197,909)(0,1){140}/(1197,909)(1197,1049)% 22-O (up) {\thicklines \Put@Line(1197,909)(5,-3){171}% %bond 22-23 }% \Put@Line(1539,909)(-5,-3){171}% %bond 24-23 \Put@Line(1539,909)(0,1){200}% %bond 24-25 \Put@Line(1539,1109)(-5,3){171}% %bond 25-26 \Put@Line(1368,1212)(-5,-3){120}% %bond 26-O (down) \Put@Direct(1197,1109){\makebox(0,0){O}}% \@tfor\member:=#1\do{% \expandafter\twoCH@R\member//\relax% \if\@tmpa Z\relax% \ifx\@tmpb\empty%no action \else\if\@tmpb a% \Put@Line(888,735)(0,1){148}% %double bond 17-20 \else\if\@tmpb b% \Put@Line(888,880)(1,0){276}% %double bond 20-22 \else\if\@tmpb c% \Put@Line(1164,880)(0,-1){116}% %double bond 22-O \else\if\@tmpb d% \Put@Line(1039,650)(5,3){100}% %double bond 16-O \else\if\@tmpb e% \Put@Line(1240,930)(5,-3){126}% %double bond 22-23 \else\if\@tmpb f% \Put@Line(1366,848)(5,3){140}% %double bond 23-24 \else\if\@tmpb g% \Put@Line(1504,930)(0,1){148}% %double bond 24-25 \else\if\@tmpb h% \Put@Line(1366,1166)(5,-3){140}% %double bond 26-25 \else\if\@tmpb i% \Put@Line(1366,1166)(-5,-3){110}% %double bond 26-O \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}% \Put@Direct(1026,606){\setsixringv{#2}{-14}{5}{7}{0}}%for 20 position \Put@Direct(1026,606){\setsixringv{#2}{-112}{4}{6}{0}}%for 17 position (117 as Exception) \Put@Direct(1368,806){\setsixringv{#2}{-25}{0}{2}{0}}%for 26 \Put@Direct(1368,806){\setsixringv{#2}{-23}{1}{3}{0}}%for 25 \Put@Direct(1368,806){\setsixringv{#2}{-21}{2}{4}{0}}%for 24 \Put@Direct(1368,806){\setsixringv{#2}{-19}{3}{5}{0}}%for 23 \end{sfpicture}}% %end of \steroidspiro macro% % \end{macrocode} % \end{macro} % % \begin{macro}{\steroidspirotriMe} % \begin{macro}{\spirostanalpha} % \begin{macro}{\spirostanbeta} % \begin{macro}{\spirostan} % \begin{macro}{\spirostannor} % \begin{macrocode} % ************** % * spirostans * % ************** \def\steroidspirotriMe[#1]#2{% \steroidspiro[#1]{#2;8B==H;9A==H;{10}B==CH$_{3}$;{13}B==CH$_{3}$;{14}A==H;% {117}FA==H;{20}A==H$_{3}$C;{16}FA==H}} \def\spirostanalpha{\@ifnextchar[{\@spirostanalpha}{\@spirostanalpha[]}} \def\@spirostanalpha[#1]#2{\steroidspirotriMe[#1]{#2;5A==H;{25}B==CH$_{3}$}} \def\spirostanbeta{\@ifnextchar[{\@spirostanbeta}{\@spirostanbeta[]}} \def\@spirostanbeta[#1]#2{\steroidspirotriMe[#1]{#2;5B==H;{25}B==CH$_{3}$}} \def\spirostan{\@ifnextchar[{\@spirostan}{\@spirostan[]}} \def\@spirostan[#1]#2{\steroidspirotriMe[#1]{#2;{{25}}==\null}} \def\spirostannor{\@ifnextchar[{\@spirostannor}{\@spirostannor[]}} \def\@spirostannor[#1]#2{\steroidspirotriMe[#1]{#2}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \section{Macros for Furostans} % % After the macro |\steroidfuros| is defined as a basic macro, % several macros for drawing furostans are defined. % % \begin{macro}{\steroidfuros} % \begin{macrocode} % ************************************** % * Raw skeleton for drawing furostans * % ************************************** \def\steroidfuros{\@ifnextchar[{\@steroidfuros[@}{\@steroidfuros[Z]}} \def\@steroidfuros[#1]#2{% \@reset@ylsw\reset@@yl \yl@steroidposition{#2}% \ylposition{#2}{-20}{1}{3}{0}%for 22 position \if@ylsw \ifx\@@ylii\empty \def\@@ylii{-1026}\def\@@yli{-606}\fi \else \ylposition{#2}{-14}{5}{7}{0}%for 20 position \fi \if@ylsw \ifx\@@ylii\empty \def\@@ylii{-1026}\def\@@yli{-606}\fi%%set 20 position \else \ylposition{#2}{-22}{0}{2}{0}%for 23 position \fi \if@ylsw\ifx\@@ylii\empty \def\@@ylii{-1368}\def\@@yli{-606}\fi%%set 23 position \else \ylatombondposition{#2}{-23}{4}% % for 24 \fi \if@ylsw\ifx\@@ylii\empty \def\@@ylii{-1539}\def\@@yli{-909}\fi%%set 24 position \else \ylatombondposition{#2}{-24}{4}% % for 25 \fi \if@ylsw\ifx\@@ylii\empty \def\@@ylii{-1710}\def\@@yli{-1012}\fi%%set 25 position \else \ylatombondposition{#2}{-25}{4}% % for 26 \fi \if@ylsw\ifx\@@ylii\empty \def\@@ylii{-1710}\def\@@yli{-1212}\fi%%set 26 position \else \ylatombondposition{#2}{-26}{4}% % for 27 \fi \if@ylsw\ifx\@@ylii\empty \def\@@ylii{-1881}\def\@@yli{-909}\fi%%set 27 position \fi \if@ylsw \yl@shiftii=\@ylii \ifx\@@ylii\empty\else \advance\yl@shiftii\@@ylii\fi \yl@shifti=\@yli \ifx\@@yli\empty\else \advance\yl@shifti\@@yli\fi \advance\yl@shiftii\yl@xdiff \advance\yl@shifti\yl@ydiff \begin{sfpicture}(0,0)(-\yl@shiftii,-\yl@shifti)% \reset@yl@xydiff%1999/1/6 by S. Fujita \else \begin{sfpicture}(2300,1500)(-\shiftii,-\shifti)% \iforigpt \typeout{command `steroidfuros' is based on `steroid'.}\fi% \fi \Put@Direct(0,0){\@steroidskeleton{#1}{#2}}% \Put@Line(855,709)(0,1){200}% %bond 17-20 \Put@Line(855,909)(1,0){342}% %bond 20-22 \Put@Line(1197,909)(0,-1){140}% %bond 22-O (down) \Put@Line(1026,606)(5,3){120}% %bond 16-O \Put@Direct(1197,709){\makebox(0,0){O}}% \Put@Line(1197,909)(5,3){171}% %bond 22-23 \Put@Line(1368,1012)(5,-3){171}% %bond 23-24 \Put@Line(1539,909)(5,3){171}% %bond 24-25 \Put@Line(1710,1012)(5,-3){171}% %bond 25-27 \Put@Line(1710,1012)(0,1){200}% %bond 25-27 \@tfor\member:=#1\do{% \expandafter\twoCH@R\member//\relax% \if\@tmpa Z\relax% \ifx\@tmpb\empty%no action \else\if\@tmpb a% \Put@Line(888,735)(0,1){148}% %double bond 17-20 \else\if\@tmpb b% \Put@Line(888,880)(1,0){276}% %double bond 20-22 \else\if\@tmpb c% \Put@Line(1164,880)(0,-1){116}% %double bond 22-O \else\if\@tmpb d% \Put@Line(1039,650)(5,3){100}% %double bond 16-O \else\if\@tmpb e% \Put@Line(1240,900)(5,3){126}% %double bond 22-23 \else\if\@tmpb f% \Put@Line(1410,1022)(5,-3){126}% %double bond 23-24 \else\if\@tmpb g% \Put@Line(1582,900)(5,3){126}% %double bond 24-25 \else\if\@tmpb h% \Put@Line(1740,1035)(0,1){150}% %double bond 25-26 \else\if\@tmpb i% \Put@Line(1752,1022)(5,-3){126}% %double bond 25-27 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}% \Put@Direct(1026,606){\setsixringv{#2}{-14}{5}{7}{0}}%for 20 position \Put@Direct(1026,606){\setsixringv{#2}{-112}{4}{6}{0}}%for 17 position (117 as Exception) \Put@Direct(1197,503){\setsixringv{#2}{-21}{0}{2}{0}}%for 22 \Put@Direct(1368,606){\setsixringv{#2}{-22}{0}{2}{0}}%for 23 \Put@Direct(1539,909){\setsixringv{#2}{-20}{3}{5}{0}}%for 24 \Put@Direct(1710,1012){\setatombond{#2}{-24}{3}}% % for 25 \Put@Direct(1539,909){\setsixringv{#2}{-24}{1}{3}{0}}%for 26 \Put@Direct(1710,606){\setsixringv{#2}{-25}{1}{3}{0}}%for 27 \end{sfpicture}}% %end of \steroidfuros macro% % \end{macrocode} % \end{macro} % % \begin{macro}{\steroidfurostriMe} % \begin{macro}{\furostanalpha} % \begin{macro}{\furostanbeta} % \begin{macro}{\furostan} % \begin{macrocode} % ************* % * furostans * % ************* \def\steroidfurostriMe[#1]#2{% \steroidfuros[#1]{#2;8B==H;9A==H;{10}B==CH$_{3}$;{13}B==CH$_{3}$;{14}A==H;% {117}FA==H;{20}A==H$_{3}$C;{16}FA==H}} \def\furostanalpha{\@ifnextchar[{\@furostanalpha}{\@furostanalpha[]}} \def\@furostanalpha[#1]#2{\steroidfurostriMe[#1]{#2;5A==H}} \def\furostanbeta{\@ifnextchar[{\@furostanbeta}{\@furostanbeta[]}} \def\@furostanbeta[#1]#2{\steroidfurostriMe[#1]{#2;5B==H}} \def\furostan{\@ifnextchar[{\@furostan}{\@furostan[]}} \def\@furostan[#1]#2{\steroidfurostriMe[#1]{#2}} % % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \section{Macros for Spiro Pyranoses} % % The macro |\pyranoseChairi| is defined to draw steroid with spiro pyranose rings % The switch |\pyranoseChairalphatrue| is declared to draw an alpha bond (a dashed line). % % \changes{v5.00}{2010/10/01}{for bond coloring} % \begin{macro}{\ifpyranoseChairalpha} % \begin{macro}{\pyranoseChairi} % \begin{macrocode} \newif\ifpyranoseChairalpha \pyranoseChairalphatrue \def\pyranoseChairi{\@ifnextchar[{\@pyranoseChairi}{\@pyranoseChairi[r]}} \def\@pyranoseChairi[#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% \ifpyranoseChairalpha \dotorline(0,0)(3,4){140}/(0,0)(140,187)% bond 1 to 6 \else \Put@Line(0,0)(3,4){140}% % bond 1 to 6 \fi \Put@Line(573,91)(-3,1){360}% % 5 to 6 \Put@Direct(130,190){O}% \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 \or\setBScolor{\@chairib}% subst. on 2 \or\setBScolor{\@chairic}% subst. on 3 \or\setBScolor{\@chairid}% subst. on 4 \or\setBScolor{\@chairie}% subst. on 5 \or\setBScolor{\@chairif}% subst. on 6 \fi %end of ifcase \fi\fi% }\end{ShiftPicEnvB}}% %end of \pyranoseChairi macro % \end{macrocode} % \end{macro} % \end{macro} % % The macro |\pyranoseChairii| is defined to draw steroid with spiro pyranose rings % % \changes{v5.00}{2010/10/01}{for bond coloring} % \begin{macro}{\pyranoseChairii} % \begin{macrocode} \def\pyranoseChairii{\@ifnextchar[{\@pyranoseChairii}{\@pyranoseChairii[r]}} \def\@pyranoseChairii[#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% \ifpyranoseChairalpha \dotorline(0,0)(3,4){170}/(0,0)(170,227)% bond 1 to 6 \else \Put@Line(0,0)(3,4){170}% % bond 1 to 6 \fi \Put@Line(170,226)(3,-1){403}% % 6 to 5 \Put@Line(573,91)(3,1){270}% % 5 to 4 \Put@Direct(230,50){O}% {\thicklines% \molfronttrue% \Put@Line(843,181)(-3,-4){170}% % 4 to 3 \Put@Line(673,-46)(-3,1){360}% % 3 to 2 \Put@Line(0,0)(3,1){230}% % 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 \or\setBScolor{\@chairib}% subst. on 2 \or\setBScolor{\@chairic}% subst. on 3 \or\setBScolor{\@chairid}% subst. on 4 \or\setBScolor{\@chairie}% subst. on 5 \or\setBScolor{\@chairif}% subst. on 6 \fi %end of ifcase \fi\fi% }\end{ShiftPicEnvB}}% %end of \pyranoseChairii macro % \end{macrocode} % \end{macro} % % \changes{v1.00}{2009/6/15}{Creating \cs{cholestanealfa} etc.} % % \Finale % \endinput