% \iffalse % % chmst-ps.dtx % % Copyright (C) 2002, 2004, 2010 by Shinsaku Fujita All rights reserved. % % ======================================== % % Modified from the following previous package: % % chemist.dtx % Copyright (C) 1996, 1999, 2000 by Shinsaku Fujita All rights reserved. % % in order to utilize pstricks. % % This file is part of the ChemSci system % ======================================== % % This style file is created for submitting a manuscript to % scientific journals. This style file is to be contained in the % ``chemist'' directory which is an input directory for TeX. % % For using this file, see % Shinsaku Fujita, ``LaTeX for Chemists and Biochemists'' % Tokyo Kagaku Dojin, Tokyo (1993), Chapter 16. % % 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 chmst-ps.dtx and chmst-ps.ins % and the derived file chmst-ps.sty. % % Please report any bugs, comments, suggestions, etc. to: % Shinsaku Fujita, % Shonan Institute of Chemoinformatics and % Mathematical Chemistry % fujita-sicimc@nifmail.jp % %======================================= % % This file is a successor to: % % ********************************************************************* % * chemist.sty by Shinsaku Fujita * % * counters and related matters for compounds. * % * ffboxit: November 2 1991 by S. Fujita * % * bslskipchange: November 6 1991 by S. Fujita (deleted) * % * chapinitial: 1991 November 7 by S. Fujita * % * variable arrows: 1992 May 24 by S. Fujita * % * reaction and scheme arrows (revised): 1992 May 24 by S. Fujita * % * changespace <=== bslskipchange: Dec 31 1992 by S. Fujita * % * (g)rshfboxit and (g)lshfboxit: January 3, 1993 by S. Fujita * % ********************************************************************* % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Released on January 3, 1993 % Copyright (C) 1993 by Shinsaku Fujita, all rights reserved. % This style file is created for making manuscripts of chemical fields. % This option style file is to be contained in the ``chemist'' directory % which is an input directory for TeX. % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \def\j@urnalname{chemist} % \def\versi@ndate{January 03, 1993} % \def\versi@nno{ver1.00} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Version 1.01 % --- added the end commands of the \verbatim environment and the % \verb command contained in LaTeX 2.09 % --- \LaTeX, \BibTeX logos etc improved % \typeout{verbatim for LaTeX2.09 (and LaTeX2e) in chemist.sty} % \typeout{logos for LaTeX2.09 (and LaTeX2e) in chemist.sty} % \def\versi@ndate{April 20, 1996} % \def\j@urnalname{chemist} % \def\versi@ndate{April 20, 1996} % \def\versi@nno{ver1.01} % \def\copyrighth@lder{SF} % Shinsaku Fujita % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \def\j@urnalname{chemist} \def\journalID{chemist} % \def\versi@ndate{June 15, 1996} % \def\versi@nno{ver1.01a} % \def\copyrighth@lder{SF} % Shinsaku Fujita % \typeout{Package `\j@urnalname' (\versi@nno) <\versi@ndate>\space % [\copyrighth@lder]} % \typeout{chemist.sty ver1.01a (for LaTeX2e) 1996/06/15[SF]} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \def\j@urnalname{chemist} \def\journalID{chemist} % \def\versi@ndate{March 16, 1999} % \def\versi@nno{ver2.00} % \def\copyrighth@lder{SF} % Shinsaku Fujita % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \def\j@urnalname{chemist} \def\journalID{chemist} % \def\versi@ndate{November 3, 2000} % \def\versi@nno{ver2.00a} % \def\copyrighth@lder{SF} % Shinsaku Fujita % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \def\j@urnalname{chmst-ps} \def\journalID{chmst-ps} % \def\versi@ndate{May 30, 2002} % \def\versi@nno{ver1.00} % \def\copyrighth@lder{SF} % Shinsaku Fujita % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \def\j@urnalname{chmst-ps} \def\journalID{chmst-ps} % \def\versi@ndate{August 30, 2004} % \def\versi@nno{ver1.01} % \def\copyrighth@lder{SF} % Shinsaku Fujita % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \def\j@urnalname{chmst-ps} \def\journalID{chmst-ps} % \def\versi@ndate{November 08, 2009} % \def\versi@nno{ver1.02} % \def\copyrighth@lder{SF} % Shinsaku Fujita % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \def\j@urnalname{chmst-ps} \def\journalID{chmst-ps} % \def\versi@ndate{November 26, 2009} % \def\versi@nno{ver1.03} % \def\copyrighth@lder{SF} % Shinsaku Fujita % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % \fi % \CheckSum{1615} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} % % \iffalse %% %% `chmst-ps.dtx' ver1.00 (for LaTeX2e) 2002/05/30 %% `chmst-ps.dtx' ver1.01 (for LaTeX2e) 2004/08/30 %% `chmst-ps.dtx' ver1.02 (for LaTeX2e) 2009/11/08 %% `chmst-ps.dtx' ver1.03 (for LaTeX2e) 2009/11/26 %% `chmst-ps.dtx' ver5.00 (for LaTeX2e) 2010/10/01 %% by Shinsaku Fujita %% % % \section{Initial declaration} % % \changes{v1.00}{2002/05/30}{First Version} % \changes{v1.01}{2004/08/30}{2nd Version} % \changes{v1.02}{2009/11/08}{3rd Version} % \changes{v1.03}{2009/11/26}{4th Version, harpoons} % \changes{v5.00}{2010/10/01}{For LaTeX Project Public License} % % \begin{macrocode} % \NeedsTeXFormat{LaTeX2e} % \end{macrocode} % % \begin{macrocode} % \ProvidesFile{chmst-ps.sty} %\ProvidesFile{chmst-ps.drv} % [2010/10/01 v5.00 % ChemSci package ] % ChemSci package driver (English) % \end{macrocode} % %\setcounter{StandardModuleDepth}{1} % % \section{Driver file for this dtx file} % % \begin{macrocode} %<*driver> ] \documentclass{ltxdoc} \GetFileInfo{chmst-ps.drv} \title{The chmst-ps Package \space\fileversion \\ (Part of the XyMTeX/ChemSci package v5.00)} \author{Shinsaku Fujita \\ Shonan Institute of Chemoinformatics and Mathematical Chemistry \\ Ashigara-Kami-Gun, Kanagawa, 258-0019 Japan %% 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. } \date{\filedate} \begin{document} \maketitle \tableofcontents \DocInput{chmst-ps.dtx} \end{document} % % \end{macrocode} % % \fi % % \StopEventually{} % % \section{{\sc docstrip} options} % % This dtx file provides the {\sffamily chmst-ps} package % by docstrip processing. % % \DeleteShortVerb{\|} % \begin{center} % \begin{tabular}{|l|l|} % \hline % argument & package name \\ % \hline % chmstps & chmst-ps.sty \\ % driver & a documentation driver file \\ % \hline % \end{tabular} % \end{center} % \MakeShortVerb{\|} % % \section{Version information} % % The old process for typing out version information remains active. % \begin{macrocode} %\def\j@urnalname{chmst-ps} \def\journalID{chmst-ps} \def\versi@ndate{October 01, 2010} \def\versi@nno{ver5.00} \def\copyrighth@lder{SF} % Shinsaku Fujita %<*chmstps> \typeout{Package `\j@urnalname' (\versi@nno) <\versi@ndate>\space [\copyrighth@lder]} \typeout{chmst-ps.sty ver5.00 (for LaTeX2e) 2010/10/01[SF]} % % \end{macrocode} % % \begin{macrocode} %<*chmstps> \@ifundefined{if@@@chemtimes}{\newif\if@@@chemtimes}{} \@ifundefined{if@@chemtimes}{\newif\if@@chemtimes}{}%from chemtimes \DeclareOption{chemtimes}{\@@@chemtimestrue} \@@@chemtimesfalse \ProcessOptions \if@@@chemtimes\if@@chemtimes\else \PackageError{chmst-ps} {The option ``chemtimes'' is not permitted} {You should use this option after the chemtimes package is loaded.} \fi\fi \if@@@chemtimes \RequirePackage[chemtimes]{chemist}% \else \RequirePackage{chemist}% \fi \RequirePackage{xymtx-ps}% % \end{macrocode} % % \section{Cross-references of compounds} % (Deleted) % \section{Boxes for placing compounds} % (Deleted) % \section{Arrows} % \subsection{Arrows with variable length} % (Deleted) % \subsection{Reaction arrows with variable length} % % The {\sffamily chmst-ps} package defines arrows with variable length % for drawing chemical equations, where additional information % can be written on the upper and/or downward sides of each arrow. % \changes{v1.00}{2002/05/30}{First Version} % % Several elements for drawing horizontal reaction arrows within the scope of % pstricks package are defined first. % % \begin{macro}{\rArrow@Element} % \begin{macro}{\lArrow@Element} % \begin{macro}{\lrArrow@Element} % \begin{macro}{\eqArrow@Element} % \begin{macrocode} \newdimen\@tempdimX \newdimen\@tempdimY \def\rArrow@Element#1{\begingroup\hbox to#1{\hss% \begin{pspicture}(0,0)(#1,0.28em)% \psline[linewidth=0.4pt,arrowsize=2pt 2,% arrowlength=1.6,arrowinset=0.6]{->}(0pt,0.28em)(#1,0.28em)% \end{pspicture}\hss}\endgroup} \let\Arrow@Element=\rArrow@Element \def\lArrow@Element#1{\hbox to#1{\hss% \begin{pspicture}(0,0)(#1,0.28em)% \psline[linewidth=0.4pt,arrowsize=2pt 2,% arrowlength=1.6,arrowinset=0.6]{<-}(0pt,0.28em)(#1,0.28em)% \end{pspicture}\hss}} \def\lrArrow@Element#1{\hbox to#1{\hss% \begin{pspicture}(0,0)(#1,0.28em)% \psline[linewidth=0.4pt,arrowsize=2pt 2,% arrowlength=1.6,arrowinset=0.6]{<->}(0pt,0.28em)(#1,0.28em)% \end{pspicture}\hss}} \def\eqArrow@Element#1{\hbox to#1{\hss% \begin{pspicture}(0,0)(#1,0.43em)% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {->}(0pt,0.43em)(#1,0.43em)% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {<-}(0pt,0.13em)(#1,0.13em)% \end{pspicture}\hss}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % Several harpoons are created by means of the mechanism of the \textsf{PStricks} % package. % \changes{v1.03}{2009/11/26}{Harpoons added as PostScript procedures} % % \begin{macro}{\past@arrowtable} % Arow types (Hru, Hrd, Hlu, and Hld) are added to the existing arrow table % for a right upward harpoon, a right downward harpoon, a left upward harpoon, % and a left downward harpoon. % \begin{macrocode} \RequirePackage{pstricks}% \edef\past@arrowtable{\pst@arrowtable,Hru-Hru,Hrd-Hrd,Hlu-Hlu,Hld-Hld} % \end{macrocode} % \end{macro} % % \begin{macro}{\tx@HarpoonrUp} % \begin{macro}{\psas@Hru} % A right upward harpoon (arow type Hru) is typeset by \verb/\tx@HarpoonrUp/ % (/HarpoonrUp as a PostScript name), where its arrowhead is typeset by an % internal macro name (\verb/\psas@Hru/). The PostScript commands (/CLW, /ED, and /L) % are defined in pstricks.pro. % \begin{macrocode} %rightharpoonup %\edef\past@arrowtable{\pst@arrowtable,Hru-Hru} \def\tx@HarpoonrUp{ \tx@setStrokeTransparency HarpoonrUp }% \@namedef{psas@Hru}{% /HarpoonrUp{%PostScript Procedure CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED CLW 2 div /Hwd ED h a sub /Hwh ED 0 Hwh moveto Hwd neg Hwh L Hwd neg 0 L 0 0 L w h L 0 Hwh L gsave fill grestore }def \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@HarpoonrUp } % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\tx@HarpoonrDown} % \begin{macro}{\psas@Hrd} % A right downward harpoon (arow type Hrd) is typeset by \verb/\tx@HarpoonrDown/ % (/HarpoonrDown as a PostScript name), where its arrowhead is typeset by an % internal macro name (\verb/\psas@Hrd/). % \begin{macrocode} %rightharpoondown %\edef\past@arrowtable{\pst@arrowtable,Hrd-Hrd} \def\tx@HarpoonrDown{ \tx@setStrokeTransparency HarpoonrDown }% \@namedef{psas@Hrd}{% /HarpoonrDown {%PostScript Procedure CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED CLW 2 div /Hwd ED h a sub /Hwh ED 0 Hwh moveto Hwd Hwh L Hwd 0 L 0 0 L w neg h L 0 Hwh L gsave fill grestore }def \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@HarpoonrDown } % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\tx@HarpoonlUp} % \begin{macro}{\psas@Hlu} % A left upward harpoon (arow type Hlu) is typeset by \verb/\tx@HarpoonlUp/ % (/HarpoonlUp as a PostScript name), where its arrowhead is typeset by an % internal macro name (\verb/\psas@Hlu/). % \begin{macrocode} %leftharpoonup %\edef\past@arrowtable{\pst@arrowtable,Hlu-Hlu} \def\tx@HarpoonlUp{ \tx@setStrokeTransparency HarpoonlUp }% \@namedef{psas@Hlu}{% /HarpoonlUp {%PostScript Procedure CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED CLW 2 div /Hwd ED h a sub /Hwh ED 0 Hwh moveto Hwd Hwh L Hwd 0 L 0 0 L w neg h L 0 Hwh L gsave fill grestore }def \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@HarpoonlUp } % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\tx@HarpoonlDown} % \begin{macro}{\psas@Hld} % A left downward harpoon (arow type Hld) is typeset by \verb/\tx@HarpoonlDown/ % (/HarpoonlDown as a PostScript name), where its arrowhead is typeset by an % internal macro name (\verb/\psas@Hld/). % \begin{macrocode} %leftharpoondown %\edef\past@arrowtable{\pst@arrowtable,Hld-Hld} \def\tx@HarpoonlDown{ \tx@setStrokeTransparency HarpoonlDown }% \@namedef{psas@Hld}{% /HarpoonlDown {%PostScript Procedure CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED CLW 2 div /Hwd ED h a sub /Hwh ED 0 Hwh moveto Hwd neg Hwh L Hwd neg 0 L 0 0 L w h L 0 Hwh L gsave fill grestore }def \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@HarpoonlDown } % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\eqHarpoon@Element} % \changes{v1.03}{2009/11/26}{Harpoons added as PostScript procedures} % \begin{macrocode} \def\eqHarpoon@Element#1{\hbox to#1{\hss% \begin{pspicture}(0,0)(#1,0.43em)% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {-Hru}(0pt,0.43em)(#1,0.43em)% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {Hld-}(0pt,0.13em)(#1,0.13em)% \end{pspicture}\hss}} % %\def\eqHarpoon@Element#1{\hbox to#1{\hss% %\begin{pspicture}(0,0)(#1,0.43em)% %\psline[linewidth=0.8pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% %{->}(0pt,0.43em)(#1,0.43em)% %\psline[linewidth=0.8pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% %{<-}(0pt,0.13em)(#1,0.13em)% %\psline[linewidth=0.277em,linecolor=white]{-}(0pt,0.29em)(#1,0.29em)% %\end{pspicture}\hss}} % \end{macrocode} % \end{macro} % % Equilibirum arrows with uneven lengths are defined by using the \verb/\psline/ command % of the pstricks package. % \changes{v1.02}{2009/11/08}{2nd Version} % % \begin{macro}{\reqArrow@Element} % \begin{macro}{\leqArrow@Element} % \begin{macrocode} \def\reqArrow@Element#1{\begingroup% \dimen1=#1% \dimen0=\eqlbarrowstretch\dimen1% \dimen1=#1 \advance\dimen1 by-\dimen0 \divide\dimen1 by2\relax \dimen2=\dimen1 \advance\dimen2 by\dimen0 \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {->}(0pt,0.43em)(#1,0.43em)% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {<-}(\dimen1,0.13em)(\dimen2,0.13em)\endgroup} \def\leqArrow@Element#1{\begingroup% \dimen1=#1% \dimen0=\eqlbarrowstretch\dimen1% \dimen1=#1 \advance\dimen1 by-\dimen0 \divide\dimen1 by2\relax \dimen2=\dimen1 \advance\dimen2 by\dimen0 \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {->}(\dimen1,0.43em)(\dimen2,0.43em)% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {<-}(0pt,0.13em)(#1,0.13em)\endgroup} % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\reqHarpoon@Element} % \begin{macro}{\leqHarpoon@Element} % \changes{v1.02}{2009/11/19}{Added} % \changes{v1.03}{2009/11/26}{Harpoons added as PostScript procedures} % \begin{macrocode} \def\reqHarpoon@Element#1{\begingroup% \dimen1=#1% \dimen0=\eqlbarrowstretch\dimen1% \dimen1=#1 \advance\dimen1 by-\dimen0 \divide\dimen1 by2\relax \dimen2=\dimen1 \advance\dimen2 by\dimen0 \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {-Hru}(0pt,0.43em)(#1,0.43em)% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {Hld-}(\dimen1,0.13em)(\dimen2,0.13em)% \endgroup} \def\leqHarpoon@Element#1{\begingroup% \dimen1=#1% \dimen0=\eqlbarrowstretch\dimen1% \dimen1=#1 \advance\dimen1 by-\dimen0 \divide\dimen1 by2\relax \dimen2=\dimen1 \advance\dimen2 by\dimen0 \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {-Hru}(\dimen1,0.43em)(\dimen2,0.43em)% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {Hld-}(0pt,0.13em)(#1,0.13em)% \endgroup} % %\def\reqHarpoon@Element#1{\begingroup% %\dimen1=#1% %\dimen0=\eqlbarrowstretch\dimen1% %\dimen1=#1 \advance\dimen1 by-\dimen0 \divide\dimen1 by2\relax %\dimen2=\dimen1 \advance\dimen2 by\dimen0 %\psline[linewidth=0.8pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% %{->}(0pt,0.43em)(#1,0.43em)% %\psline[linewidth=0.8pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% %{<-}(\dimen1,0.13em)(\dimen2,0.13em)% %\psline[linewidth=0.277em,linecolor=white]{-}(0pt,0.29em)(#1,0.29em)% %\endgroup} %\def\leqHarpoon@Element#1{\begingroup% %\dimen1=#1% %\dimen0=\eqlbarrowstretch\dimen1% %\dimen1=#1 \advance\dimen1 by-\dimen0 \divide\dimen1 by2\relax %\dimen2=\dimen1 \advance\dimen2 by\dimen0 %\psline[linewidth=0.8pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% %\{->}(\dimen1,0.43em)(\dimen2,0.43em)% %\psline[linewidth=0.8pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% %{<-}(0pt,0.13em)(#1,0.13em)% %\psline[linewidth=0.277em,linecolor=white]{-}(0pt,0.287em)(#1,0.287em)% %\endgroup} % \end{macrocode} % \end{macro} % \end{macro} % % % Each arrow element is used in the following common command for drawing % horizontal reaction arrows. % \changes{v1.02}{2009/11/08}{changed definition; % added \cs{reactarrowsep} and \cs{reactarrowseprate}} % % \begin{verbatim} % \reactarrowsep (dimension) for adjusting the two vertical spaces (default value 0pt) % \reactarrowseprate (string) for adjusting the lower vertical space (default 1.0) % \end{verbatim} % % \begin{macro}{\react@@rlarrow} % \begin{macrocode} \def\react@@rlarrow[#1]#2#3#4#5{\ensuremath{\mathrel{% \hskip#1\raisebox{#2}{\begingroup\@tempdimX=#3\relax% \parbox{#3}{\centering \baselineskip=.8\normalbaselineskip \ChemStrut{#4}\par% \vskip-0.2\normalbaselineskip\vskip\reactarrowsep% \begin{pspicture}(0,0)(\@tempdimX,0.6em)% % \Arrow@Element{\@tempdimX}% \put(0,0){\Arrow@Element{\@tempdimX}}% \end{pspicture}% \par% \vskip\reactarrowseprate\reactarrowsep% \vskip-0.1\normalbaselineskip\ChemStrut{#5}}\endgroup}}}} %(old definition) %\def\react@@rlarrow[#1]#2#3#4#5{% %\hskip#1\raisebox{#2}{\begingroup\@tempdimX=#3\relax% % \begin{pspicture}(\@tempdimX,0)% % \rput[bl](0,0.86em){\hbox to\@tempdimX{\hss % \begin{tabular}{c}#4% % \end{tabular}\hss}}% % \Arrow@Element{\@tempdimX}% % \rput[tl](0,-0.3em){\hbox to\@tempdimX{\hss % \begin{tabular}{c}% % #5\end{tabular}\hss}}% % \end{pspicture}\endgroup}} % \end{macrocode} % \end{macro} % % \begin{macro}{\reactrarrow} % \begin{macro}{\reactlarrow} % \begin{macro}{\reactlrarrow} % \begin{macro}{\reactEqarrow}%2009/11/19 renamed from \verb/\reacteqarrow/ % \begin{macro}{\reacteqarrow}%2009/11/19 % \begin{macrocode} % ******************* 1991 Oct 4 S. Fujita % * reaction arrows * Revised 1992 May 24 S.Fujita%1999/02/02 SF % ******************* Redifined 2002 May 30 S. Fujita for pstricks % After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita % % #1 yoko #2 ue, #3 haba, #4 ya no ue, #5 ya no shita % \def\newreactrarrow{% \@ifnextchar[{\newreact@rarrow}{\newreact@rarrow[0pt]}} \def\newreact@rarrow[#1]#2#3#4#5{% \let\Arrow@Element=\rArrow@Element% \react@@rlarrow[#1]{#2}{#3}{#4}{#5}} \def\newreactlarrow{% \@ifnextchar[{\newreact@larrow}{\newreact@larrow[0pt]}} \def\newreact@larrow[#1]#2#3#4#5{% \let\Arrow@Element=\lArrow@Element% \react@@rlarrow[#1]{#2}{#3}{#4}{#5}} \def\newreactlrarrow{% \@ifnextchar[{\newreact@lrarrow}{\newreact@lrarrow[0pt]}} \def\newreact@lrarrow[#1]#2#3#4#5{% \let\Arrow@Element=\lrArrow@Element% \react@@rlarrow[#1]{#2}{#3}{#4}{#5}} %%%%2009/11/19 \def\newreactEqarrow{% \@ifnextchar[{\newreact@Eqarrow}{\newreact@Eqarrow[0pt]}} \def\newreact@Eqarrow[#1]#2#3#4#5{% \let\Arrow@Element=\eqArrow@Element% \react@@rlarrow[#1]{#2}{#3}{#4}{#5}} \def\newreacteqarrow{% \@ifnextchar[{\newreact@eqarrow}{\newreact@eqarrow[0pt]}} \def\newreact@eqarrow[#1]#2#3#4#5{% \let\Arrow@Element=\eqHarpoon@Element% \react@@rlarrow[#1]{#2}{#3}{#4}{#5}} %%%%%2009/11/19 %\let\reactrarrow=\newreactrarrow %\let\reactlarrow=\newreactlarrow %\let\reactlrarrow=\newreactlrarrow %\let\reactEqarrow=\newreactEqarrow %\let\reacteqarrow=\newreacteqarrow % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\reactREqarrow}%%renamed 2009/11/19 % \begin{macro}{\reactLEqarrow}%%renamed 2009/11/19 % \begin{macro}{\reactreqarrow} % \begin{macro}{\reactleqarrow} % % These commands have been added for the XyMTeX version 4.05. % The {\sffamily chemist} package additionally defines arrows with variable length % for drawing chemical equilibrium, where additional information % can be written on the upper and/or downward sides of each arrow. % The length of either one of arrows can be reduced by \verb/\eqlbarrowstretch/. % % \changes{v4.05}{2009/11/08}{added \cs{reactreqarrow} and \cs{reactleqarrow}} % % \begin{macrocode} \def\newreactREqarrow{% \@ifnextchar[{\newreact@REqarrow}{\newreact@REqarrow[0pt]}} \def\newreact@REqarrow[#1]#2#3#4#5{% \let\Arrow@Element=\reqArrow@Element \react@@rlarrow[#1]{#2}{#3}{#4}{#5}} \def\newreactLEqarrow{% \@ifnextchar[{\newreact@LEqarrow}{\newreact@LEqarrow[0pt]}} \def\newreact@LEqarrow[#1]#2#3#4#5{% \let\Arrow@Element=\leqArrow@Element \react@@rlarrow[#1]{#2}{#3}{#4}{#5}} %%%%%2009/11/19 \def\newreactreqarrow{% \@ifnextchar[{\newreact@reqarrow}{\newreact@reqarrow[0pt]}} \def\newreact@reqarrow[#1]#2#3#4#5{% \let\Arrow@Element=\reqHarpoon@Element \react@@rlarrow[#1]{#2}{#3}{#4}{#5}} \def\newreactleqarrow{% \@ifnextchar[{\newreact@leqarrow}{\newreact@leqarrow[0pt]}} \def\newreact@leqarrow[#1]#2#3#4#5{% \let\Arrow@Element=\leqHarpoon@Element \react@@rlarrow[#1]{#2}{#3}{#4}{#5}} %%%%%2009/11/19 %\let\reactREqarrow=\newreactREqarrow %\let\reactLEqarrow=\newreactLEqarrow %\let\reactreqarrow=\newreactreqarrow %\let\reactleqarrow=\newreactleqarrow % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % Several elements for drawing vertical reaction arrows within the scope of % pstricks package are defined first. % % \begin{macro}{\dArrow@Element} % \begin{macro}{\uArrow@Element} % \begin{macro}{\veqArrow@Element} % \begin{macro}{\duArrow@Element} % \begin{macrocode} \def\dArrow@Element#1{% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {->}(0pt,#1)(0pt,0pt)} \def\uArrow@Element#1{% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {<-}(0pt,#1)(0pt,0pt)} \def\veqArrow@Element#1{% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {->}(-0.15em,#1)(-0.15em,0pt)% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {<-}(0.15em,#1)(0.15em,0pt)} \def\duArrow@Element#1{% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {<->}(0pt,#1)(0pt,0pt)} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\veqHarpoon@Element} % \changes{v1.02}{2009/11/19}{Added} % \changes{v1.03}{2009/11/26}{Harpoons added as PostScript procedures} % \begin{macrocode} \def\veqHarpoon@Element#1{% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {-Hrd}(-0.15em,#1)(-0.15em,0pt)% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {Hlu-}(0.15em,#1)(0.15em,0pt)% } % %\def\veqHarpoon@Element#1{% %\psline[linewidth=0.8pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% %{->}(-0.15em,#1)(-0.15em,0pt)% %\psline[linewidth=0.8pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% %{<-}(0.15em,#1)(0.15em,0pt)% %\psline[linewidth=0.28em,linecolor=white]{-}(0pt,0em)(0,#1)% %} % \end{macrocode} % \end{macro} % % Each arrow element is used in the following common command for drawing % vertical reaction arrows. % % \begin{macro}{\react@@duarrow} % \begin{macrocode} \def\react@@duarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{% \@tempdimY=#3\def\arraystretch{0.8}% \begin{tabular}{l}#4\end{tabular}% {\tabcolsep=0pt\begin{tabular}{c}% \begin{pspicture}(0,0)(0,\@tempdimY)% \Arrow@Element{\@tempdimY}% \end{pspicture}\end{tabular}}% \begin{tabular}{l}#5\end{tabular}}} % \end{macrocode} % \end{macro} % % \begin{macro}{\reactdarrow} % \begin{macro}{\reactuarrow} % \begin{macro}{\reactduarrow} % \begin{macro}{\reactVEqarrow}%%renamed 2009/11/19 % \begin{macro}{\reactveqarrow}%%renamed 2009/11/19 % Vertical reaction arrows has been added. % \changes{v1.00}{2002/05/30}{First Version} % \begin{macrocode} \def\newreactdarrow{% \@ifnextchar[{\newreact@darrow}{\newreact@darrow[0pt]}} \def\newreact@darrow[#1]#2#3#4#5{% \let\Arrow@Element=\dArrow@Element \react@@duarrow[#1]{#2}{#3}{#4}{#5}} \def\newreactuarrow{% \@ifnextchar[{\newreact@uarrow}{\newreact@uarrow[0pt]}} \def\newreact@uarrow[#1]#2#3#4#5{% \let\Arrow@Element=\uArrow@Element \react@@duarrow[#1]{#2}{#3}{#4}{#5}} \def\newreactduarrow{% \@ifnextchar[{\newreact@duarrow}{\newreact@duarrow[0pt]}} \def\newreact@duarrow[#1]#2#3#4#5{% \let\Arrow@Element=\duArrow@Element \react@@duarrow[#1]{#2}{#3}{#4}{#5}} %%%%%2009/11/19 \def\newreactVEqarrow{% \@ifnextchar[{\newreact@VEqarrow}{\newreact@VEqarrow[0pt]}} \def\newreact@VEqarrow[#1]#2#3#4#5{% \let\Arrow@Element=\veqArrow@Element \react@@duarrow[#1]{#2}{#3}{#4}{#5}} \def\newreactveqarrow{% \@ifnextchar[{\newreact@veqarrow}{\newreact@veqarrow[0pt]}} \def\newreact@veqarrow[#1]#2#3#4#5{% \let\Arrow@Element=\veqHarpoon@Element \react@@duarrow[#1]{#2}{#3}{#4}{#5}} %%%%%2009/11/19 %\let\reactdarrow=\newreactdarrow %\let\reactuarrow=\newreactuarrow %\let\reactduarrow=\newreactduarrow %\let\reactVEqarrow=\newreactVEqarrow %\let\reactveqarrow=\newreactveqarrow % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % Several elements for drawing down-sloped reaction arrows within the scope of % pstricks package are defined first. % % \begin{macro}{\seArrow@Element} % \begin{macrocode} \def\seArrow@Element#1{% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {->}(0pt,#1)(#1,0pt)} \def\nwArrow@Element#1{% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {<-}(0pt,#1)(#1,0pt)} % \end{macrocode} % \end{macro} % % Each arrow element is used in the following common command for drawing % down-sloped reaction arrows. % % \begin{macro}{\react@@decrarrow} % \begin{macrocode} \def\react@@decrarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{% \@tempdimX=#3\divide\@tempdimX by2\relax \@tempdimY=#3\relax\def\arraystretch{0.8}% \begin{tabular}{l}#4\end{tabular}\kern1em% {\tabcolsep=0pt\begin{tabular}{c} \begin{pspicture}(\@tempdimX,0)(\@tempdimX,\@tempdimY) \Arrow@Element{\@tempdimY}% \end{pspicture}\end{tabular}}\kern1em% \begin{tabular}{l}#5\end{tabular}}} % \end{macrocode} % \end{macro} % % \begin{macro}{\reactsearrow} % \begin{macro}{\reactnwrarrow} % Further reaction arrows have been added. % \changes{v1.00}{2002/05/30}{First Version} % \begin{macrocode} \def\newreactsearrow{% \@ifnextchar[{\newreact@searrow}{\newreact@searrow[0pt]}} \def\newreact@searrow[#1]#2#3#4#5{% \let\Arrow@Element=\seArrow@Element \react@@decrarrow[#1]{#2}{#3}{#4}{#5}} \def\newreactnwarrow{% \@ifnextchar[{\newreact@nwarrow}{\newreact@nwarrow[0pt]}} \def\newreact@nwarrow[#1]#2#3#4#5{% \let\Arrow@Element=\nwArrow@Element \react@@decrarrow[#1]{#2}{#3}{#4}{#5}} %%%%%2009/11/19 %\let\reactsearrow=\newreactsearrow %\let\reactnwarrow=\newreactnwarrow % \end{macrocode} % \end{macro} % \end{macro} % % Several elements for drawing up-sloped reaction arrows within the scope of % pstricks package are defined first. % % \begin{macro}{\neArrow@Element} % \begin{macrocode} \def\neArrow@Element#1{% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {->}(0pt,0pt)(#1,#1)} \def\swArrow@Element#1{% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {<-}(0pt,0pt)(#1,#1)} % \end{macrocode} % \end{macro} % % Each arrow element is used in the following common command for drawing % up-sloped reaction arrows. % % \begin{macro}{\react@@incrarrow} % \begin{macrocode} \def\react@@incrarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{% \@tempdimX=#3 \divide\@tempdimX by2 \@tempdimY=#3% \def\arraystretch{0.8}% \begin{tabular}{l}#4\end{tabular}\kern1em% {\tabcolsep=0pt \begin{tabular}{c} \begin{pspicture}(\@tempdimX,0)(\@tempdimX,\@tempdimY) \Arrow@Element{\@tempdimY}% \end{pspicture}% \end{tabular}}\kern1em% \begin{tabular}{l}#5\end{tabular}}} % \end{macrocode} % \end{macro} % % \begin{macro}{\reactnearrow} % \begin{macro}{\reactswarrow} % \begin{macrocode} \def\newreactnearrow{% \@ifnextchar[{\newreact@nearrow}{\newreact@nearrow[0pt]}} \def\newreact@nearrow[#1]#2#3#4#5{% \let\Arrow@Element=\neArrow@Element \react@@incrarrow[#1]{#2}{#3}{#4}{#5}} \def\newreactswarrow{% \@ifnextchar[{\newreact@swarrow}{\newreact@swarrow[0pt]}} \def\newreact@swarrow[#1]#2#3#4#5{% \let\Arrow@Element=\swArrow@Element \react@@incrarrow[#1]{#2}{#3}{#4}{#5}} %%%%%2009/11/19 %\let\reactnearrow=\newreactnearrow %\let\reactswarrow=\newreactswarrow % \end{macrocode} % \end{macro} % \end{macro} % % Additional elements for drawing down- and up-sloped equilibrium arrows within the scope of % pstricks package are defined first. % % \begin{macro}{\deqArrow@Element} % \begin{macro}{\ueqArrow@Element} % \begin{macrocode} \def\deqArrow@Element#1{% \begingroup \@tempdima=#1 \advance\@tempdima by1.2pt \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {->}(1.2pt,\@tempdima)(\@tempdima,1.2pt)% \@tempdima=#1 \advance\@tempdima by-1.2pt \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {<-}(-1.2pt,\@tempdima)(\@tempdima,-1.2pt)\endgroup} \def\ueqArrow@Element#1{% \@tempdima=#1 \advance\@tempdima by-1.2pt \@tempdimb=#1 \advance\@tempdimb by1.2pt \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {->}(-1.2pt,1.2pt)(\@tempdima,\@tempdimb)% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {<-}(1.2pt,-1.2pt)(\@tempdimb,\@tempdima)} % \end{macrocode} % \end{macro} % \end{macro} % % Additional elements for drawing down- and up-sloped equilibrium harpoons within the scope of % pstricks package are defined. % \changes{v1.02}{2009/11/19}{Added} % % \begin{macro}{\deqHarpoon@Element} % \begin{macro}{\ueqHarpoon@Element} % \changes{v1.03}{2009/11/26}{Harpoons added as PostScript procedures} % \begin{macrocode} \def\deqHarpoon@Element#1{% \begingroup \@tempdima=#1 \advance\@tempdima by1.2pt \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {-Hru}(1.2pt,\@tempdima)(\@tempdima,1.2pt)% \@tempdimb=#1 \advance\@tempdimb by-1.2pt \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {Hld-}(-1.2pt,\@tempdimb)(\@tempdimb,-1.2pt)% \endgroup} \def\ueqHarpoon@Element#1{% \begingroup \@tempdima=#1 \advance\@tempdima by-1.2pt \@tempdimb=#1 \advance\@tempdimb by1.2pt \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {-Hru}(-1.2pt,1.2pt)(\@tempdima,\@tempdimb)% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {Hld-}(1.2pt,-1.2pt)(\@tempdimb,\@tempdima)% \endgroup} % %\def\deqHarpoon@Element#1{% %\begingroup %\@tempdima=#1 \advance\@tempdima by1.2pt %\psline[linewidth=0.8pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% %{->}(1.2pt,\@tempdima)(\@tempdima,1.2pt)% %\@tempdimb=#1 \advance\@tempdimb by-1.2pt %\psline[linewidth=0.8pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% %{<-}(-1.2pt,\@tempdimb)(\@tempdimb,-1.2pt)% %\psline[linewidth=0.28em,linecolor=white]{-}(0pt,#1)(#1,0pt)% %\endgroup} %\def\ueqHarpoon@Element#1{% %\begingroup %\@tempdima=#1 \advance\@tempdima by-1.2pt %\@tempdimb=#1 \advance\@tempdimb by1.2pt %\psline[linewidth=0.8pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% %{->}(-1.2pt,1.2pt)(\@tempdima,\@tempdimb)% %\psline[linewidth=0.8pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% %{<-}(1.2pt,-1.2pt)(\@tempdimb,\@tempdima)% %\psline[linewidth=0.28em,linecolor=white]{-}(0pt,0pt)(#1,#1)% %\endgroup} % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\reactDEqarrow} % \begin{macro}{\reactUEqarrow} % \begin{macro}{\reactdeqarrow} % \begin{macro}{\reactueqarrow} % Further reaction arrows have been added. % \changes{v1.00}{2002/05/30}{First Version} % \begin{macrocode} \def\newreactDEqarrow{\@ifnextchar[%] {\newreact@DEqarrow}{\newreact@DEqarrow[0pt]}} \def\newreact@DEqarrow[#1]#2#3#4#5{% \let\Arrow@Element=\deqArrow@Element \react@@decrarrow[#1]{#2}{#3}{#4}{#5}} \def\newreactUEqarrow{\@ifnextchar[%] {\newreact@UEqarrow}{\newreact@UEqarrow[0pt]}} \def\newreact@UEqarrow[#1]#2#3#4#5{% \let\Arrow@Element=\ueqArrow@Element \react@@decrarrow[#1]{#2}{#3}{#4}{#5}} %%%%2009/11/19 \def\newreactdeqarrow{\@ifnextchar[%] {\newreact@deqarrow}{\newreact@deqarrow[0pt]}} \def\newreact@deqarrow[#1]#2#3#4#5{% \let\Arrow@Element=\deqHarpoon@Element \react@@decrarrow[#1]{#2}{#3}{#4}{#5}} \def\newreactueqarrow{\@ifnextchar[%] {\newreact@ueqarrow}{\newreact@ueqarrow[0pt]}} \def\newreact@ueqarrow[#1]#2#3#4#5{% \let\Arrow@Element=\ueqHarpoon@Element \react@@decrarrow[#1]{#2}{#3}{#4}{#5}} %%%%2009/11/19 %\let\reactDEqarrow=\newreactDEqarrow %\let\reactUEqarrow=\newreactUEqarrow %\let\reactdeqarrow=\newreactdeqarrow %\let\reactueqarrow=\newreactueqarrow % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % Additional elements for drawing down- and up-sloped double-headed arrows % within the scope of pstricks package are defined first. % % \begin{macro}{\ulrArrow@Element} % \begin{macro}{\dlrArrow@Element} % \begin{macrocode} \def\ulrArrow@Element#1{% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {<->}(0pt,0pt)(#1,#1)} \def\dlrArrow@Element#1{% \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {<->}(0pt,#1)(#1,0pt)} % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\reactulrarrow} % \begin{macro}{\reactdlrarrow} % \begin{macrocode} \def\newreactulrarrow{\@ifnextchar[%] {\newreact@ulrarrow}{\newreact@ulrarrow[0pt]}} \def\newreact@ulrarrow[#1]#2#3#4#5{% \let\Arrow@Element=\ulrArrow@Element \react@@incrarrow[#1]{#2}{#3}{#4}{#5}} \def\newreactdlrarrow{\@ifnextchar[%] {\newreact@dlrarrow}{\newreact@dlrarrow[0pt]}} \def\newreact@dlrarrow[#1]#2#3#4#5{ \let\Arrow@Element=\dlrArrow@Element \react@@decrarrow[#1]{#2}{#3}{#4}{#5}} %%%%2009/11/19 %\let\reactulrarrow=\newreactulrarrow %\let\reactdlrarrow=\newreactdlrarrow % \end{macrocode} % \end{macro} % \end{macro} % % % A new command \verb/\electronshiftAH/ is added to defining bent (curved) arrows % and harpoons. % \changes{v1.03}{2009/12/01}{Added} % % \begin{macro}{\electronshiftAH} % \begin{macrocode} \def\electronshiftAH#1(#2,#3)(#4,#5)(#6,#7){% \@ifnextchar(% {\electr@nshiftAH{#1}(#2,#3)(#4,#5)(#6,#7)}% {\electr@nshiftAH{#1}(#2,#3)(#4,#5)(#4,#5)(#6,#7)}} \def\electr@nshiftAH#1(#2,#3)(#4,#5)(#6,#7)(#8,#9){% \psbezier[unit=\unitlength,linewidth=0.4pt]{#1}% (#2,#3)(#4,#5)(#6,#7)(#8,#9)% }% %\def\electronshiftAH#1{% %\pscurve[unit=\unitlength,linewidth=0.4pt,arrowsize=2pt 2,% %arrowlength=1.6,arrowinset=0.6]{#1}} % \end{macrocode} % \end{macro} % % Several commmands for drawing curved harpoons are defined as follows: % \begin{macro}{\electronshiftHru} % \begin{macro}{\electronshiftHrd} % \begin{macro}{\electronshiftHlu} % \begin{macro}{\electronshiftHld} % \begin{macrocode} \def\electronshiftHru{\electronshiftAH{-Hru}} \def\electronshiftHrd{\electronshiftAH{-Hrd}} \def\electronshiftHlu{\electronshiftAH{Hlu-}} \def\electronshiftHld{\electronshiftAH{Hld-}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % Several commmands for drawing curved arrows are defined as follows: % \begin{macro}{\electronshiftArrowr} % \begin{macro}{\electronshiftArrowl} % \begin{macrocode} \def\electronshiftArrowr{\electronshiftAH{->}} \def\electronshiftArrowl{\electronshiftAH{<-}} % \end{macrocode} % \end{macro} % \end{macro} % % The {\sffamily chmst-ps} package defines double-line arrows with variable % length for drawing reaction schemes, where additional information % can be written on the upper and/or downward sides of each arrow. % \changes{v1.00}{2002/05/30}{First Version} % % Several elements for drawing horizontal scheme arrows within the scope of % pstricks package are defined first. % % \begin{macro}{\lSchemeArrow@Element} % \begin{macrocode} \def\lSchemeArrow@Element#1{\hbox to#1{\hss% \begin{pspicture}(0,0)(#1,0.28em)% \psline[linewidth=0.4pt,doubleline=true,doublesep=0.16em,% arrowsize=2pt 2,arrowlength=1.2,arrowinset=0.7]{<-}(0pt,0.28em)(#1,0.28em)% \end{pspicture}\hss}} \def\rSchemeArrow@Element#1{\hbox to#1{\hss% \begin{pspicture}(0,0)(#1,0.28em)% \psline[linewidth=0.4pt,doubleline=true,doublesep=0.16em,% arrowsize=2pt 2,arrowlength=1.2,arrowinset=0.7]{->}(0pt,0.28em)(#1,0.28em)% \end{pspicture}\hss}} \def\lrSchemeArrow@Element#1{\hbox to#1{\hss% \begin{pspicture}(0,0)(#1,0.28em)% \psline[linewidth=0.4pt,doubleline=true,doublesep=0.16em,% arrowsize=2pt 2,arrowlength=1.2,arrowinset=0.7]{<->}(0pt,0.28em)(#1,0.28em)% \end{pspicture}\hss}} % \end{macrocode} % \end{macro} % % \begin{macro}{\schemelarrow} % \begin{macro}{\schemerarrow} % \begin{macro}{\schemelrarrow} % % \begin{macrocode} % ******************************** % * scheme arrows * % * 1991 OCT 4 S. Fujita * % * Revised 1992 May 24 S.Fujita * 1999/02/02 by S. Fujita % ******************************** Redefined 2002/05/30 by SF % After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita \def\newschemelarrow#1#2#3#4{% \let\Arrow@Element=\lSchemeArrow@Element \react@@rlarrow[0pt]{#1}{#2}{#3}{#4}} \def\newschemerarrow#1#2#3#4{% \let\Arrow@Element=\rSchemeArrow@Element \react@@rlarrow[0pt]{#1}{#2}{#3}{#4}} \def\newschemelrarrow#1#2#3#4{% \let\Arrow@Element=\lrSchemeArrow@Element \react@@rlarrow[0pt]{#1}{#2}{#3}{#4}} %%%%2009/11/19 %\let\schemelarrow=\newschemelarrow %\let\schemerarrow=\newschemerarrow %\let\schemelrarrow=\newschemelrarrow % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \section{Redefinition of verbatim} % (Deleted) % % \section{Shadowed Boxes} % (Deleted) % % \section{Further boxes} % (Deleted) % % \section{Symbols for instant photography} % (Deleted) % % \section{Various arrows with fixed length} % % Because various arrows with a fixed length have been defined in the \textsf{chemist} package, % the corresponding codes for the \textsf{chmst-ps} package are described here. % % \changes{v1.02}{2009/11/19}{Added} % % \begin{macro}{\llongrightarrow} % \begin{macro}{\llongleftarrow} % \begin{macro}{\Equilibarrow} % % \begin{macrocode} \def\newllongrightarrow{\ensuremath{\mathrel{% \hbox to28pt{\hss\rArrow@Element{28pt}\hss}}}} \def\newllongleftarrow{\ensuremath{\mathrel{% \hbox to28pt{\hss\lArrow@Element{28pt}\hss}}}} \def\newllongleftrightarrow{\ensuremath{\mathrel{% \hbox to28pt{\hss\lrArrow@Element{28pt}\hss}}}} \def\newEquilibarrow{\ensuremath{\mathrel{% \hbox to28pt{\hss\eqArrow@Element{28pt}\hss}}}} %\let\llongrightarrow=\newllongrightarrow %\let\llongleftarrow=\newllongleftarrow %\let\llongleftrightarrow=\newllongleftrightarrow %\let\Equilibarrow=\newEquilibarrow % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \changes{v1.02}{2009/11/19}{Added} % \begin{macro}{\Llongrightarrow} % \begin{macro}{\Llongleftarrow} % \begin{macro}{\Llongleftrightarrow} % % \begin{macrocode} \def\newLlongrightarrow{\ensuremath{\mathrel{% \hbox to28pt{\hss\rSchemeArrow@Element{28pt}\hss}}}} \def\newLlongleftarrow{\ensuremath{\mathrel{% \hbox to28pt{\hss\lSchemeArrow@Element{28pt}\hss}}}} \def\newLlongleftrightarrow{\ensuremath{% \mathrel{\hbox to28pt{\hss\lrSchemeArrow@Element{28pt}\hss}}}} %\let\Llongrightarrow=\newLlongrightarrow %\let\Llongleftarrow=\newLlongleftarrow %\let\Llongleftrightarrow\newLlongleftrightarrow % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \changes{v1.02}{2009/11/19}{Added} % \begin{macro}{\lllongrightarrow} % \begin{macro}{\lllongleftarrow} % \begin{macro}{\lllongleftrightarrow} % \begin{macro}{\Equiliblongarrow} % % \begin{macrocode} \def\newlllongrightarrow{\ensuremath{\mathrel{% \hbox to35pt{\hss\rArrow@Element{35pt}\hss}}}} \def\newlllongleftarrow{\ensuremath{\mathrel{% \hbox to35pt{\hss\lArrow@Element{35pt}\hss}}}} \def\newlllongleftrightarrow{\ensuremath{\mathrel{% \hbox to35pt{\hss\lrArrow@Element{35pt}\hss}}}} \def\newEquiliblongarrow{\ensuremath{\mathrel{% \hbox to35pt{\hss\eqArrow@Element{35pt}\hss}}}} %\let\lllongrightarrow=\newlllongrightarrow %\let\lllongleftarrow=\newlllongleftarrow %\let\lllongleftrightarrow=\newlllongleftrightarrow %\let\Equiliblongarrow=\newEquiliblongarrow % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \changes{v1.02}{2009/11/19}{Added} % \begin{macro}{\Lllongrightarrow} % \begin{macro}{\Lllongleftarrow} % \begin{macro}{\Lllongleftrightarrow} % % \begin{macrocode} \def\newLllongrightarrow{\ensuremath{\mathrel{% \hbox to35pt{\hss\rSchemeArrow@Element{35pt}\hss}}}} \def\newLllongleftarrow{\ensuremath{\mathrel{% \hbox to35pt{\hss\lSchemeArrow@Element{35pt}\hss}}}} \def\newLllongleftrightarrow{\ensuremath{% \mathrel{\hbox to35pt{\hss\lrSchemeArrow@Element{35pt}\hss}}}} %\let\Lllongrightarrow=\newLllongrightarrow %\let\Lllongleftarrow=\newLllongleftarrow %\let\Lllongleftrightarrow\newLllongleftrightarrow % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % % Several elements for drawing horizontal harpoons within the scope of % pstricks package are defined first. % \changes{v1.02}{2009/11/19}{Added} % % \begin{macro}{\rightharpoonupElement} % \changes{v1.02}{2009/11/19}{Added} % \changes{v1.03}{2009/11/26}{Harpoons added as PostScript procedures} % \begin{macrocode} \def\rightharpoonupElement#1{% \lower0.2pt\hbox to#1{\hss% \begin{pspicture}(0,0)(#1,0.28em) \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {-Hru}(0pt,0.28em)(#1,0.28em) \end{pspicture}\hss}} % %\def\rightharpoonupElement#1{% %\lower0.2pt\hbox to#1{\hss% %\begin{pspicture}(0,0)(#1,0.28em) %\psline[linewidth=0.8pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% %{->}(0pt,0.28em)(#1,0.28em) %\psline[linewidth=0.36em,linecolor=white]{-}(0pt,0.1em)(#1,0.1em) %\end{pspicture}\hss}} % \end{macrocode} % \end{macro} % % \begin{macro}{\rightharpoondownElement} % \changes{v1.02}{2009/11/19}{Added} % \changes{v1.03}{2009/11/26}{Harpoons added as PostScript procedures} % \begin{macrocode} \def\rightharpoondownElement#1{% \raise0.2pt\hbox to#1{\hss% \begin{pspicture}(0,0)(#1,0.28em) \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {-Hrd}(0pt,0.28em)(#1,0.28em) \end{pspicture}\hss}} % %\def\rightharpoondownElement#1{% %\raise0.2pt\hbox to#1{\hss% %\begin{pspicture}(0,0)(#1,0.28em) %\psline[linewidth=0.8pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% %{->}(0pt,0.28em)(#1,0.28em) %\psline[linewidth=0.34em,linecolor=white]{-}(0pt,0.49em)(#1,0.49em) %\end{pspicture}\hss}} % \end{macrocode} % \end{macro} % % \begin{macro}{\leftharpoonupElement} % \changes{v1.02}{2009/11/19}{Added} % \changes{v1.03}{2009/11/26}{Harpoons added as PostScript procedures} % \begin{macrocode} \def\leftharpoonupElement#1{% \lower0.2pt\hbox to#1{\hss% \begin{pspicture}(0,0)(#1,0.28em) \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {Hlu-}(0pt,0.28em)(#1,0.28em) \end{pspicture}\hss}} % %\def\leftharpoonupElement#1{% %\lower0.2pt\hbox to#1{\hss% %\begin{pspicture}(0,0)(#1,0.28em) %\psline[linewidth=0.8pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% %{<-}(0pt,0.28em)(#1,0.28em) %\psline[linewidth=0.36em,linecolor=white]{-}(0pt,0.1em)(#1,0.1em) %\end{pspicture}\hss}} % \end{macrocode} % \end{macro} % % \begin{macro}{\leftharpoondownElement} % \changes{v1.02}{2009/11/19}{Added} % \changes{v1.03}{2009/11/26}{Harpoons added as PostScript procedures} % \begin{macrocode} \def\leftharpoondownElement#1{% \lower0.2pt\hbox to#1{\hss% \begin{pspicture}(0,0)(#1,0.28em) \psline[linewidth=0.4pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% {Hld-}(0pt,0.28em)(#1,0.28em) \end{pspicture}\hss}} % %\def\leftharpoondownElement#1{% %\lower0.2pt\hbox to#1{\hss% %\begin{pspicture}(0,0)(#1,0.28em) %\psline[linewidth=0.8pt,arrowsize=2pt 2,arrowlength=1.6,arrowinset=0.6]% %{<-}(0pt,0.28em)(#1,0.28em) %\psline[linewidth=0.34em,linecolor=white]{-}(0pt,0.49em)(#1,0.49em) %\end{pspicture}\hss}} % \end{macrocode} % \end{macro} % % % \changes{v1.02}{2009/11/19}{Added} % \begin{macro}{\llongrightharpoonup} % \begin{macro}{\llongrightharpoondown} % \begin{macro}{\llongleftharpoonup} % \begin{macro}{\llongleftharpoondown} % \begin{macrocode} \def\newllongrightharpoonup{\ensuremath{\mathrel{\rightharpoonupElement{28pt}}}} \def\newllongrightharpoondown{\ensuremath{\mathrel{\rightharpoondownElement{28pt}}}} \def\newllongleftharpoonup{\ensuremath{\mathrel{\leftharpoonupElement{28pt}}}} \def\newllongleftharpoondown{\ensuremath{\mathrel{\leftharpoondownElement{28pt}}}} %\let\llongrightharpoonup=\newllongrightharpoonup %\let\llongrightharpoondown=\newllongrightharpoondown %\let\llongleftharpoonup=\newllongleftharpoonup %\let\llongleftharpoondown=\newllongleftharpoondown % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \changes{v1.02}{2009/11/19}{Added} % \begin{macro}{\lllongrightharpoonup} % \begin{macro}{\lllongrightharpoondown} % \begin{macro}{\lllongleftharpoonup} % \begin{macro}{\lllongleftharpoondown} % \begin{macrocode} \def\newlllongrightharpoonup{\ensuremath{\mathrel{\rightharpoonupElement{35pt}}}} \def\newlllongrightharpoondown{\ensuremath{\mathrel{\rightharpoondownElement{35pt}}}} \def\newlllongleftharpoonup{\ensuremath{\mathrel{\leftharpoonupElement{35pt}}}} \def\newlllongleftharpoondown{\ensuremath{\mathrel{\leftharpoondownElement{35pt}}}} %\let\lllongrightharpoonup=\newlllongrightharpoonup %\let\lllongrightharpoondown=\newlllongrightharpoondown %\let\lllongleftharpoonup=\newlllongleftharpoonup %\let\lllongleftharpoondown\newlllongleftharpoondown % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % % \changes{v1.02}{2009/11/19}{Added} % \begin{macro}{\equilibarrow} % \begin{macro}{\equiliblongarrow} % \begin{macrocode} \def\newequilibarrow{\ensuremath{\mathrel{% \hbox to28pt{\hss\eqHarpoon@Element{28pt}\hss}}}} \def\newequiliblongarrow{\ensuremath{\mathrel{% \hbox to35pt{\hss\eqHarpoon@Element{35pt}\hss}}}} %\let\equilibarrow=\newequilibarrow %\let\equiliblongarrow=\newequiliblongarrow % \end{macrocode} % \end{macro} % \end{macro} % % % \section{Chemical Corrections} % (Deleted) % % % \section{XyMcompd and XyMtab Environments} % (Deleted) % % \section{Useful commands} % (Deleted) % % \section{Double and triple bonds} % (Deleted) % % \section{Curved Arrows} % % To illustrate the mechanisms of organic reactions, % curved arrows are used to show an electron shift. % First, the macros for drawing them are % defined as follows. % \changes{v1.01}{2004/08/30}{Added at XyMTeX V4.01} % % \begin{macro}{\electronAHshift} % \changes{v5.00}{2010/10/01}{Redefined for compatibility to PDF mode} % % Arrows having a usual arrow head are defined as follows. % Keywords for differentiation are: r (right) and l (left), % which are contained in the middle of each command name. % % The |\pscurve| command of the \textsf{pstricks} package has been % replaced by |\psbezier|, where two control points are calculated % by means of |\calcontrolpoints| defined in the \textsf{chemist} package. % % \begin{macrocode} \def\electronAHshift{% \@ifnextchar[{\@electronAHshift}{\@electronAHshift[0]}} \def\@electronAHshift[#1](#2,#3)(#4,#5)#6{% \@tempcntXa=#2 \@tempcntYa=#3 \@tempcntXb=#4 \@tempcntYb=#5 \calcontrolpoints{#1}%defined in chemist package %\pscurve[unit=\unitlength,linewidth=0.4pt]{#6}% \psbezier[unit=\unitlength,linewidth=0.4pt]{#6}% (#2,#3)(\@cnttempa,\@cnttempb)(\@tempcntXc,\@tempcntYc)(#4,#5)% } % \end{macrocode} % \end{macro} % % \begin{macro}{\electronrshiftarrow} % \changes{v5.00}{2010/10/01}{Redefined using two control points} % \begin{macrocode} \def\electronrshiftarrow{% \@ifnextchar[{\@electronrshiftarrow}{\@electronrshiftarrow[0]}} \def\@electronrshiftarrow[#1](#2,#3)(#4,#5){% \ifnum#2<#4\relax \electronAHshift[#1](#2,#3)(#4,#5){->}% \else \ifcase#1\relax \electronAHshift[1](#2,#3)(#4,#5){->}% \or \electronAHshift[0](#2,#3)(#4,#5){->}% \fi\fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\electronlshiftarrow} % \changes{v5.00}{2010/10/01}{Redefined using two control points} % \begin{macrocode} \def\electronlshiftarrow{% \@ifnextchar[{\@electronlshiftarrow}{\@electronlshiftarrow[0]}} \def\@electronlshiftarrow[#1](#2,#3)(#4,#5){% \ifnum#2<#4\relax \electronAHshift[#1](#2,#3)(#4,#5){<-}% \else \ifcase#1\relax \electronAHshift[1](#2,#3)(#4,#5){<-}% \or \electronAHshift[0](#2,#3)(#4,#5){<-}% \fi\fi} \def\futuresubst#1{\kern140\unitlength #1} % \end{macrocode} % \end{macro} % % \begin{macro}{\electronlshiftarrow} % \changes{v5.00}{2010/10/01}{Redefined using two control points} % \begin{macrocode} \def\electronlshiftarrow{% \@ifnextchar[{\@electronlshiftarrow}{\@electronlshiftarrow[0]}} \def\@electronlshiftarrow[#1](#2,#3)(#4,#5){% \ifnum#2<#4\relax \electronAHshift[#1](#2,#3)(#4,#5){<-}% \else \ifcase#1\relax \electronAHshift[1](#2,#3)(#4,#5){<-}% \or \electronAHshift[0](#2,#3)(#4,#5){<-}% \fi\fi} \def\futuresubst#1{\kern140\unitlength #1} % \end{macrocode} % \end{macro} % % Arrows having a harpoon-type head are defined as follows. % Keywords for differentiation are: % Hru (harpoon right upward), Hrd (harpoon right downward), % Hlu (harpoon left upward), and Hld (harpoon left downward). % % \begin{macro}{\electronHrushiftarrow} % \changes{v5.00}{2010/10/01}{Defined using two control points} % \begin{macrocode} \def\electronHrushiftarrow{% \@ifnextchar[{\@electronHrushiftarrow}{\@electronHrushiftarrow[0]}} \def\@electronHrushiftarrow[#1](#2,#3)(#4,#5){% \ifnum#2<#4\relax \electronAHshift[#1](#2,#3)(#4,#5){-Hru}% \else \ifcase#1\relax \electronAHshift[1](#2,#3)(#4,#5){-Hru}% \or \electronAHshift[0](#2,#3)(#4,#5){-Hru}% \fi\fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\electronHrdshiftarrow} % \changes{v5.00}{2010/10/01}{Defined using two control points} % \begin{macrocode} \def\electronHrdshiftarrow{% \@ifnextchar[{\@electronHrdshiftarrow}{\@electronHrdshiftarrow[0]}} \def\@electronHrdshiftarrow[#1](#2,#3)(#4,#5){% \ifnum#2<#4\relax \electronAHshift[#1](#2,#3)(#4,#5){-Hrd}% \else \ifcase#1\relax \electronAHshift[1](#2,#3)(#4,#5){-Hrd}% \or \electronAHshift[0](#2,#3)(#4,#5){-Hrd}% \fi\fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\electronHlushiftarrow} % \changes{v5.00}{2010/10/01}{Defined using two control points} % \begin{macrocode} % % \begin{macrocode} \def\electronHlushiftarrow{% \@ifnextchar[{\@electronHlushiftarrow}{\@electronHlushiftarrow[0]}} \def\@electronHlushiftarrow[#1](#2,#3)(#4,#5){% \ifnum#2<#4\relax \electronAHshift[#1](#2,#3)(#4,#5){Hlu-}% \else \ifcase#1\relax \electronAHshift[1](#2,#3)(#4,#5){Hlu-}% \or \electronAHshift[0](#2,#3)(#4,#5){Hlu-}% \fi\fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\electronHrdshiftarrow} % \changes{v5.00}{2010/10/01}{Defined using two control points} % \begin{macrocode} % % \begin{macrocode} \def\electronHldshiftarrow{% \@ifnextchar[{\@electronHldshiftarrow}{\@electronHldshiftarrow[0]}} \def\@electronHldshiftarrow[#1](#2,#3)(#4,#5){% \ifnum#2<#4\relax \electronAHshift[#1](#2,#3)(#4,#5){Hld-}% \else \ifcase#1\relax \electronAHshift[1](#2,#3)(#4,#5){Hld-}% \or \electronAHshift[0](#2,#3)(#4,#5){Hld-}% \fi\fi} % \end{macrocode} % \end{macro} % % % \section{Initial Setting and Switch to PostScript Arrows} % % \begin{macro}{\chmstpssw} % \begin{macrocode} \def\chmstpssw{%setting of the chmst-ps package \let\reactrarrow=\newreactrarrow% \let\reactlarrow=\newreactlarrow \let\reactlrarrow=\newreactlrarrow \let\reactEqarrow=\newreactEqarrow \let\reacteqarrow=\newreacteqarrow %%%% \let\reactREqarrow=\newreactREqarrow% \let\reactLEqarrow=\newreactLEqarrow \let\reactreqarrow=\newreactreqarrow \let\reactleqarrow=\newreactleqarrow %%%% \let\reactdarrow=\newreactdarrow% \let\reactuarrow=\newreactuarrow \let\reactduarrow=\newreactduarrow \let\reactVEqarrow=\newreactVEqarrow \let\reactveqarrow=\newreactveqarrow %%%% \let\reactnearrow=\newreactnearrow% \let\reactswarrow=\newreactswarrow %%%% \let\reactsearrow=\newreactsearrow% \let\reactnwarrow=\newreactnwarrow %%%% \let\reactDEqarrow=\newreactDEqarrow% \let\reactUEqarrow=\newreactUEqarrow \let\reactdeqarrow=\newreactdeqarrow \let\reactueqarrow=\newreactueqarrow %%%% \let\reactulrarrow=\newreactulrarrow% \let\reactdlrarrow=\newreactdlrarrow %%%% \let\schemelarrow=\newschemelarrow% \let\schemerarrow=\newschemerarrow \let\schemelrarrow=\newschemelrarrow %%%% \let\llongrightarrow=\newllongrightarrow% \let\llongleftarrow=\newllongleftarrow \let\llongleftrightarrow=\newllongleftrightarrow \let\Equilibarrow=\newEquilibarrow %%% \let\Llongrightarrow=\newLlongrightarrow% \let\Llongleftarrow=\newLlongleftarrow \let\Llongleftrightarrow\newLlongleftrightarrow %%% \let\lllongrightarrow=\newlllongrightarrow% \let\lllongleftarrow=\newlllongleftarrow \let\lllongleftrightarrow=\newlllongleftrightarrow \let\Equiliblongarrow=\newEquiliblongarrow %%% \let\Lllongrightarrow=\newLllongrightarrow% \let\Lllongleftarrow=\newLllongleftarrow \let\Lllongleftrightarrow\newLllongleftrightarrow %%% \let\llongrightharpoonup=\newllongrightharpoonup% \let\llongrightharpoondown=\newllongrightharpoondown \let\llongleftharpoonup=\newllongleftharpoonup \let\llongleftharpoondown=\newllongleftharpoondown %%% \let\lllongrightharpoonup=\newlllongrightharpoonup% \let\lllongrightharpoondown=\newlllongrightharpoondown \let\lllongleftharpoonup=\newlllongleftharpoonup \let\lllongleftharpoondown\newlllongleftharpoondown %%% \let\equilibarrow=\newequilibarrow% \let\equiliblongarrow=\newequiliblongarrow %%% } \let\chmstpspdfsw=\chmstpssw%for compatibility to PDF mode % \end{macrocode} % \end{macro} % % \begin{macrocode} \chmstpssw%initial setting % % \end{macrocode} % % \Finale \endinput