%% %% This is file `xymtx-ps.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% xymtx-ps.dtx (with options: `xymtxps') %% %% This is a generated file. %% %% Copyright 2002,2004,2005,2009,2010,2011,2013 by Shinsaku Fujita %% all rights reserved. %% This style file is created for drawing chemical structural formulas %% This style file is to be contained in the ``xymtex'' directory which %% is an input directory for TeX. %% %% This file is part of the XyMTeX system. %% ======================================= %% %% Version 1.00 Released on April 30, 2002 %% Version 4.01 Released on August 30, 2004 (adjust for XyMTeX version 4.01) %% Version 4.02 Released on December 20, 2004 (wedged bonds for stereochemistry) %% Version 4.03 Released on July 20, 2005 (wave line for stereochemistry) %% Version 4.03a Released on August 02, 2005 (Bug fix) %% Version 4.04a Released on June 15, 2009 (Bug fix) %% Version 4.05 Released on November 05, 2009 (Bug fix) %% Version 5.00 Released on October 01, 2010 %% Version 5.01b Released on February 24, 2011 %% Version 5.01bb Released on May 27, 2013 %% Version 5.01bbb Released on June 21, 2013 %% %% Present version (as xymtx-ps.dtx etc.): %% Version 5.01 Released on August 16, 2013 %% %% 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 xymtx-ps.dtx and xymtx-ps.ins %% and the derived file xymtx-ps.sty. %% %% ======================================= %% %% File: xymtx-ps.dtx %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \def\j@urnalname{xymtx-ps} \def\versi@ndate{August 16, 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]} \@ifundefined{setsixringv}{\input chemstr.sty\relax}{} \RequirePackage{chemstr}%added 2010/10/01 \RequirePackage{pstricks} \RequirePackage{pst-coil} \unitlength=0.1pt %%\psset{xunit=\the\unitlength,yunit=\the\unitlength}%delete August 2, 2005 \newif\if@thicklinesw \@thicklineswfalse \def\Thick@Lines{\@thicklineswtrue}%redefinition \def\Thin@Lines{\@thicklineswfalse}%redefinition \def\thickLineWidth{1.6pt} \def\thinLineWidth{0.4pt} \newif\if@wedgesw \@wedgeswtrue \newif\if@hasheddashsw \@hasheddashswtrue \def\wedgehasheddash{\@wedgeswtrue\@hasheddashswtrue} \def\wedgehashedwedge{\@wedgeswtrue\@hasheddashswfalse} \def\dashhasheddash{\@wedgeswfalse\@hasheddashswtrue} \@ifundefined{ifmolfront}{\newif\ifmolfront \molfrontfalse}{} \@ifundefined{if@skbondlist}{\newif\if@skbondlist \@skbondlistfalse}{} \long\gdef\Put@@@Line(#1,#2)(#3,#4)#5{% \begingroup \SlopetoXY(#1,#2)(#3,#4){#5}%%replaced (code from chemstr.sty) \if@thicklinesw \if@wedgesw \ifmolfront%bold dash bond for skeletal bond for pyranose etc. \psline[unit=\unitlength,% linewidth=\thickLineWidth](#1,#2)(\the\@tempcntXa,\the\@tempcntYa)% \else \if@skbondlist%bold dash bond skeletal bond for general cases \psline[unit=\unitlength,% linewidth=\thickLineWidth](#1,#2)(\the\@tempcntXa,\the\@tempcntYa)% \else%wedged bond \stereo@wedgedimension(#3,#4){10}% \pspolygon*[unit=\unitlength% ](#1,#2)% (\the\@tempcntXb,\the\@tempcntYb)(\the\@tempcntXc,\the\@tempcntYc) \fi\fi \else \psline[unit=\unitlength,% linewidth=\thickLineWidth](#1,#2)(\the\@tempcntXa,\the\@tempcntYa)% \fi \else \ifwavebond \pszigzag[unit=\unitlength,% coilheight=1,coilwidth=.13cm,linewidth=\thinLineWidth,linearc=5,% coilarm=0]{-}(\the\@tempcntXa,\the\@tempcntYa)(#1,#2)% \else \psline[unit=\unitlength,% linewidth=\thinLineWidth](#1,#2)(\the\@tempcntXa,\the\@tempcntYa)% \fi \fi \@tempcntXa=0\relax \@tempcntYa=0\relax \endgroup}%end of Put@@@Line \newif\if@wedgeadjust \def\stereo@wedgedimension(#1,#2)#3{% \@tempcntXb=0\relax \@tempcntYb=0\relax \@tempcntXc=0\relax \@tempcntYc=0\relax %% \@wedgeadjustfalse \ifnum#1<0 \@tempcntzz=-#1\else\@tempcntzz=#1\fi \ifnum#2<0 \@tempcntzzz=-#2\else\@tempcntzzz=#2\fi \ifnum#1=0\else \multiply\@tempcntzzz by10\relax \divide\@tempcntzzz by\@tempcntzz\fi%% (3/5)x10=6 \ifnum\@tempcntzzz>7\relax\else\@wedgeadjusttrue\fi %%one point of wedge \ifnum#1=0\relax \@tempcntXb=#3 \advance\@tempcntXb by8\relax \@tempcntYb=0\relax \else \ifnum#2=0\relax \@tempcntXb=0\relax \@tempcntYb=#3 \advance\@tempcntYb by8\relax \else \@tempcntXb=#3\relax \@tempcntYb=-#3\relax \if@wedgeadjust \advance\@tempcntXb by8\relax \advance\@tempcntYb by-8\relax \fi \multiply\@tempcntXb by#2\relax\multiply\@tempcntXb by10\relax \divide\@tempcntXb by#1\relax\divide\@tempcntXb by10\relax\fi\fi \advance\@tempcntXb by\@tempcntXa\relax \advance\@tempcntYb by\@tempcntYa\relax %%other point of wedge \ifnum#1=0\relax \@tempcntXc=-#3 \advance\@tempcntXc by-8\relax \@tempcntYc=0\relax \else \ifnum#2=0\relax \@tempcntXc=0\relax \@tempcntYc=-#3 \advance\@tempcntYc by-8\relax \else \@tempcntXc=-#3\relax \@tempcntYc=#3\relax \if@wedgeadjust \advance\@tempcntXc by-6\relax \advance\@tempcntYc by6\relax \fi \multiply\@tempcntXc by#2\relax\multiply\@tempcntXc by10\relax \divide\@tempcntXc by#1\relax\divide\@tempcntXc by10\relax\fi\fi \advance\@tempcntXc by\@tempcntXa\relax \advance\@tempcntYc by\@tempcntYa\relax }%%end of \stereo@wedgedimension \@ifundefined{iftdir}{\newif\iftdir \tdirfalse}{}%pLaTeXe vs. LaTeXe \def\Put@@@Direct(#1,#2)#3{\begingroup\psset{unit=\unitlength}% \iftdir \rput[bl]{0}(#1,#2){#3}\else\rput[Bl]{0}(#1,#2){#3}\fi \endgroup} \def\Put@@@oCircle(#1,#2)#3{% \begingroup \@tempcntz=#3 \divide\@tempcntz by2\relax \pscircle[linewidth=.4pt,unit=\unitlength](#1,#2){\@tempcntz}\endgroup} \def\Put@@@sCircle(#1,#2)#3{% \begingroup \@tempcntz=#3 \divide\@tempcntz by2\relax \pscircle[linewidth=2pt,unit=\unitlength](#1,#2){\@tempcntz}\endgroup} \def\d@@t@rline(#1,#2)(#3,#4)#5/(#6,#7)(#8,#9){% \if@hasheddashsw \@ifundefined{psline}{% \XyMTeXWarning{A dottedline is replaced by a solid line.}% \Put@Line(#1,#2)(#3,#4){#5}% }{{\thicklines% \hasheddashbond(#1,#2)(#3,#4){#5}/(#6,#7)(#8,#9)}}% \else \if@skbondlist%hashed dash bond skeletal bond for general cases \@ifundefined{psline}{% \XyMTeXWarning{A dottedline is replaced by a solid line.}% \Put@Line(#1,#2)(#3,#4){#5}% }{{\thicklines% \hasheddashbond(#1,#2)(#3,#4){#5}/(#6,#7)(#8,#9)}}% \else \hashedwedgebond(#1,#2)(#3,#4){#5}/(#6,#7)(#8,#9)% \fi\fi }%end of \d@@t@rline \def\hasheddashbond(#1,#2)(#3,#4)#5/(#6,#7)(#8,#9){% \begingroup \@tempcntzz=12\relax \@tempcntzzz=-30\relax%almost no shortening \bond@shorten(#1,#2)(#3,#4){#5}/(#6,#7)(#8,#9)% \ifdim\unitlength>0.08pt \psline[unit=\unitlength,% linewidth=\thickLineWidth,linestyle=dashed,dash=1pt 1.2pt]% (\the\@tempcntXb,\the\@tempcntYb)(\the\@tempcntXc,\the\@tempcntYc)% \else \psline[unit=\unitlength,% linewidth=\thickLineWidth,linestyle=dashed,dash=1pt 1.2pt]% (\the\@tempcntXb,\the\@tempcntYb)(\the\@tempcntXc,\the\@tempcntYc)% \fi \endgroup} \def\hashedwedgebond(#1,#2)(#3,#4)#5/(#6,#7)(#8,#9){% \begingroup \@tempcntXa=#8\relax \@tempcntYa=#9\relax \stereo@wedgedimension(#3,#4){10}% \pspolygon*[unit=\unitlength% ](#1,#2)(\the\@tempcntXb,\the\@tempcntYb)(\the\@tempcntXc,\the\@tempcntYc)% \@tempcntzz=5\relax \@tempcntzzz=-12\relax \bond@shorten(#1,#2)(#3,#4){#5}/(#6,#7)(#8,#9)% \ifdim\unitlength>0.08pt \psline[unit=\unitlength,% linewidth=3.8pt,linestyle=dashed,dash=0.8pt 1pt,linecolor=white]% (\the\@tempcntXb,\the\@tempcntYb)(\the\@tempcntXc,\the\@tempcntYc)% \else \psline[unit=\unitlength,% linewidth=3pt,linestyle=dashed,dash=0.6pt 0.8pt,linecolor=white]% (\the\@tempcntXb,\the\@tempcntYb)(\the\@tempcntXc,\the\@tempcntYc)% \fi \endgroup }%%end of \hashedwedgebond \def\bond@shorten(#1,#2)(#3,#4)#5/(#6,#7)(#8,#9){% \@tempcntXb=#8\relax \@tempcntYb=#9\relax \advance\@tempcntXb by-#6\relax \divide\@tempcntXb by\@tempcntzz\relax \advance\@tempcntYb by-#7\relax \divide\@tempcntYb by\@tempcntzz\relax \advance\@tempcntXb by#6\relax \advance\@tempcntYb by#7\relax \@tempcntXc=#8\relax \@tempcntYc=#9\relax \advance\@tempcntXc by-#6\relax \divide\@tempcntXc by\@tempcntzzz\relax \advance\@tempcntYc by-#7\relax \divide\@tempcntYc by\@tempcntzzz\relax \advance\@tempcntXc by#8\relax \advance\@tempcntYc by#9\relax }%%end of \bondshorten \def\WedgeAsSubstPS(#1,#2)(#3,#4)#5{% \begingroup \@thicklineswtrue \@wedgeswtrue \molfrontfalse \@skbondlistfalse \Put@@@Line(#1,#2)(#3,#4){#5}% \endgroup} \let\WedgeAsSubst=\WedgeAsSubstPS%for compatibility to PDF mode \def\stereo@wedgedimensionX(#1,#2)(#3,#4){% \@ifnextchar[{\stereo@@wedgedimensionX(#1,#2)(#3,#4)}% {\stereo@@wedgedimensionX(#1,#2)(#3,#4)[10]}} \def\stereo@@wedgedimensionX(#1,#2)(#3,#4)[#5]{% \@tempcnta=-#1\relax \advance\@tempcnta by#3\relax %%\typeout{KKK:\the\@tempcnta}% \@tempcntb=-#2\relax \advance\@tempcntb by#4\relax %%%\typeout{LLL:\the\@tempcntb}% \stereo@wedgedimension(\the\@tempcnta,\the\@tempcntb){#5}% %%%\typeout{MMM; (\the\@tempcntXb,\the\@tempcntYb)(\the\@tempcntXc,\the\@tempcntYc)} \advance\@tempcntXb by#3\relax \advance\@tempcntYb by#4\relax \advance\@tempcntXc by#3\relax \advance\@tempcntYc by#4\relax} \def\WedgeAsSubstXPS(#1,#2)(#3,#4){% \@ifnextchar[{\Wedge@AsSubstXPS(#1,#2)(#3,#4)}% {\Wedge@AsSubstXPS(#1,#2)(#3,#4)[10]}}% \def\Wedge@AsSubstXPS(#1,#2)(#3,#4)[#5]{% \begingroup \stereo@wedgedimensionX(#1,#2)(#3,#4)[#5]% \pspolygon*[unit=\unitlength](#1,#2)% (\the\@tempcntXb,\the\@tempcntYb)(\the\@tempcntXc,\the\@tempcntYc)% \endgroup} \let\WedgeAsSubstX=\WedgeAsSubstXPS%for compatibility to PDF mode \def\HashWedgeAsSubstPS(#1,#2)(#3,#4)#5{% \begingroup \@thicklineswtrue \@wedgeswtrue \molfrontfalse \@skbondlistfalse \Put@@@Line(#1,#2)(#3,#4){#5}% %%x-coordinate \@tempcntXa=0\relax \ifnum#3>0\relax \@tempcntXa=#5\relax \advance\@tempcntXa by-10\relax \else\ifnum#3<0\relax\@tempcntXa=-#5\relax\fi\fi \advance\@tempcntXa by#1\relax %%y-coordinate \@tempcntYa=#5\relax \advance\@tempcntYa by-10\relax \ifnum#3=0\relax\else \multiply\@tempcntYa by#4\relax\multiply\@tempcntYa by10\relax \divide\@tempcntYa by#3\relax\divide\@tempcntYa by10\relax\fi \ifnum\@tempcntYa<0\relax \ifnum#4>0\relax\@tempcntYa=-\@tempcntYa\fi \else \ifnum\@tempcntYa>0\relax \ifnum#4<0\relax\@tempcntYa=-\@tempcntYa\fi\fi \fi \advance\@tempcntYa by#2\relax \ifdim\unitlength>0.08pt \psline[unit=\unitlength,% linewidth=5pt,linestyle=dashed,dash=0.8pt 1pt,linecolor=white]% %%(\the\@tempcntXb,\the\@tempcntYb)(\the\@tempcntXc,\the\@tempcntYc)% (#1,#2)(\the\@tempcntXa,\the\@tempcntYa)% \else \psline[unit=\unitlength,% linewidth=3pt,linestyle=dashed,dash=0.6pt 0.8pt,linecolor=white]% %%(\the\@tempcntXb,\the\@tempcntYb)(\the\@tempcntXc,\the\@tempcntYc)% (#1,#2)(\the\@tempcntXa,\the\@tempcntYa)% \fi \endgroup }%%end of \HashWedgeAsSubstPS \let\HashWedgeAsSubst=\HashWedgeAsSubstPS%for compatibility to PDF mode \def\HashWedgeAsSubstXPS(#1,#2)(#3,#4){% \@ifnextchar[{ \HashWedge@sSubstXPS(#1,#2)(#3,#4)}% {\HashWedge@sSubstXPS(#1,#2)(#3,#4)[10]}} \def\HashWedge@sSubstXPS(#1,#2)(#3,#4)[#5]{% \begingroup \Wedge@AsSubstXPS(#1,#2)(#3,#4)[#5]% \ifdim\unitlength>0.08pt \@tempdima=#5\unitlength \multiply\@tempdima by3\relax \advance\@tempdima by1pt%adjustment \psline[unit=\unitlength,% linewidth=\@tempdima,% linestyle=dashed,dash=0.8pt 1pt,linecolor=white]% (#1,#2)(#3,#4)% \else \@tempdima=#5\unitlength \multiply\@tempdima by3 \psline[unit=\unitlength,% linewidth=\@tempdima,% linestyle=dashed,dash=0.6pt 0.8pt,linecolor=white]% (#1,#2)(#3,#4)% \fi \endgroup }%%end of \HashWedgeAsSubstXPS \let\HashWedgeAsSubstX=\HashWedgeAsSubstXPS%for compatibility to PDF mode \def\WavyAsSubstPS(#1,#2)(#3,#4)#5{% \begingroup \wavebondtrue \Put@@@Line(#1,#2)(#3,#4){#5}% \endgroup} \let\WavyAsSubst=\WavyAsSubstPS%for compatibility to PDF mode \def\WavyAsSubstXPS(#1,#2)(#3,#4){% \pszigzag[unit=\unitlength,% coilheight=1,coilwidth=.13cm,linewidth=\thinLineWidth,linearc=5,% coilarm=0]{-}(#3,#4)(#1,#2)% } \let\WavyAsSubstX=\WavyAsSubstXPS%for compatibility to PDF mode \def\PUT@@@bondLINE(#1,#2)(#3,#4)#5{% \begingroup \psline[unit=\unitlength,% linewidth=#5](#1,#2)(#3,#4)% \endgroup } \let\PutPSLine=\PUT@@@bondLINE%for user's use \let\PutBondLine=\PUT@@@bondLINE%for compatibility to PDF \def\PUT@@@dashedLINE(#1,#2)(#3,#4)#5{% \begingroup \ifdim\unitlength>0.08pt \psline[unit=\unitlength,% linewidth=#5,linestyle=dashed,dash=1pt 1.2pt]% (#1,#2)(#3,#4)% \else \psline[unit=\unitlength,% linewidth=#5,linestyle=dashed,dash=0.8pt 1pt]% (#1,#2)(#3,#4)% \fi \endgroup } \let\PutPSdashed=\PUT@@@dashedLINE%for user's use \let\PutDashedBond=\PUT@@@dashedLINE%for compatibility to PDF mode \def\downnobond#1#2{% \hbox{\smash{\hbox to0.72em{\hss#1\hss}\kern-0.72em\lower2.2ex\hbox{#2}}}} \def\putRoundArrowPS{% \@ifnextchar[{\putRound@rrowPS}{\putRound@rrowPS[->]}} \def\putRound@rrowPS[#1]#2{% \pscurve[unit=\unitlength,% linewidth=0.4pt]{#1}#2} \let\putRoundArrow=\putRoundArrowPS%for the compatibility to PDF mode \def\red{\color{red}\psset{linecolor=red}} \def\blue{\color{blue}\psset{linecolor=blue}} \def\green{\color{green}\psset{linecolor=green}} \def\black{\color{black}\psset{linecolor=black}} \def\cyan{\color{cyan}\psset{linecolor=cyan}} \def\yellow{\color{yellow}\psset{linecolor=yellow}} \def\magenta{\color{magenta}\psset{linecolor=magenta}} \def\white{\color{white}\psset{linecolor=white}} \def\xymcolor#1#2{\mbox{\color{#1}\psset{linecolor=#1}#2}} \def\Color@@@Line{% \@ifnextchar[{\C@lor@@@Line}{\C@lor@@@Line[0.4pt]}} \def\C@lor@@@Line[#1](#2,#3)(#4,#5)#6#7{% \begingroup \SlopetoXY(#2,#3)(#4,#5){#6}%common to \Put@@@Line command \psline[unit=\unitlength,% linewidth=#1,linecolor=#7] (#2,#3)(\the\@tempcntXa,\the\@tempcntYa)% \@tempcntXa=0\relax \@tempcntYa=0\relax \endgroup}%end of \Color@@@Line \let\Color@Line=\Color@@@Line%for compatibility to PDF mode \def\BackGroundColor{% \definecolor{TempColor}{cmyk}{0,0,0,0}% \psset{linecolor=TempColor}} \newif\ifsizereduction\sizereductionfalse \def\@@changeunitlength#1{\unitlength=#1\relax %%\psset{unit=\unitlength}%delete August 02, 2005 \ifdim\unitlength<0.1pt \sizereductiontrue \ifdim\unitlength<0.062pt \let\substfontsize=\tiny \else \ifdim\unitlength<0.072pt \let\substfontsize=\scriptsize \else \ifdim\unitlength<0.082pt \let\substfontsize=\footnotesize \fi\fi\fi \else \let\substfontsize=\normalsize\fi} \def\setxymtxps{% \@ifnextchar[{\@setxymtxps}{\@setxymtxps[0.1pt]}} \def\@setxymtxps[#1]{% \PSmodetrue \let\sfpicture=\picture \let\endsfpicture=\endpicture \let\thicklines=\Thick@Lines \let\thinlines=\Thin@Lines \let\Put@Line=\Put@@@Line \let\Color@Line=\Color@@@Line%for compatibility to PDF mode \let\Put@Direct=\Put@@@Direct \let\Put@oCircle=\Put@@@oCircle \let\Put@sCircle=\Put@@@sCircle \let\dotorline=\d@@t@rline \let\WedgeAsSubst=\WedgeAsSubstPS%for compatibility to PDF mode \let\HashWedgeAsSubst=\HashWedgeAsSubstPS%for compatibility to PDF mode \let\PutBondLine=\PUT@@@bondLINE%for compatibility to PDF \let\PutDashedBond=\PUT@@@dashedLINE%for compatibility to PDF mode \let\putRoundArrow=\putRoundArrowPS%for the compatibility to PDF mode \let\changeunitlength=\@@changeunitlength \changeunitlength{#1}% \wedgehasheddash% } \setxymtxps \endinput %% %% End of file `xymtx-ps.sty'.