diff options
-rw-r--r-- | Master/texmf-dist/tex/latex/chemarrow/chemarrow.sty | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/chemarrow/chemarrow.sty b/Master/texmf-dist/tex/latex/chemarrow/chemarrow.sty new file mode 100644 index 00000000000..fae4e2e841b --- /dev/null +++ b/Master/texmf-dist/tex/latex/chemarrow/chemarrow.sty @@ -0,0 +1,167 @@ +% +% New arrow heads for chemical reaction schemes +% +% Author: Thomas Schroeder schroeder@ictw.chemie.uni-karlsruhe.de +% +% Version: 0.7 February 3 2001 +% +% macro chemarrow.sty based on TeXBook and a source file provided +% by Andreas Hertwig Andreas.Hertwig@chemie.uni-karlsruhe.de +% +% font arrow.mf based on cryst.mf by Ulrich Mueller +% +%---------------------------------------------------------------------------- +% TeX Usage of various Chemical Arrow drawing macros +%----------------------------------------------------------------------------- +% \chemarrow % simple unsized reaction arrow +% \larrowfill{90pt} % parameter is length of harpoon +% \rarrowfill{90pt} % parameter is length of harpoon +% \rightleftharpoonsfill{90pt} % parameter is length of harpoons +% \leftrightharpoonsfill{90pt} % parameter is length of harpoons +% \autoleftarrow{upper_stuff}{lower_stuff} % sizes automatically +% \autorightarrow{upper_stuff}{lower_stuff} % sizes automatically +% \autorightleftharpoons{upper_stuff}{lower_stuff} % sizes automatically +% \autoleftrightharpoons{upper_stuff}{lower_stuff} % sizes automatically +%---------------------------------------------------------------------------- +\DeclareFontFamily{U}{arr}{\hyphenchar\font=-1} +%\DeclareFontShape{U}{arr}{m}{n}{<9> <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> arrow}{} +\DeclareFontShape{U}{arr}{m}{n}{ <-> arrow}{} +\newcommand{\arro}{\usefont{U}{arr}{m}{n}} +%----------------------------------------------------------------------------- +% definitions taken from `am-plain.tex' +% +\catcode`@=11 +\newdimen\z@ \z@=0pt % can be used both for 0pt and 0 +\newskip\z@skip \z@skip=0pt plus0pt minus0pt +\def\m@th{\mathsurround=\z@}% from am-plain.tex +%----------------------------------------------------------------------------- +% dimensions used in calculating the `auto' fill macros +% + \newdimen\autotop \newdimen\autobottom \newdimen\autosize +%----------------------------------------------------------------------------- +% Same as `\rightarrowfill' from the TeXBook, but with `\leftharpoondown' +% +\def\leftharpoondownfill{$\m@th\mathord{\textrm{\arro\symbol{70}}}\mkern-6mu% + \cleaders\hbox{$\mkern-2mu\mathord{\textrm{\arro\symbol{71}}}\mkern-2mu$}\hfill + \mkern-6mu\mathord{\textrm{\arro\symbol{71}}}$} +%----------------------------------------------------------------------------- + +\def\leftharpoonupfill{$\m@th\mathord{\textrm{\arro\symbol{69}}}\mkern-6mu% + \cleaders\hbox{$\mkern-2mu\mathord{\textrm{\arro\symbol{71}}}\mkern-2mu$}\hfill + \mkern-6mu\mathord{\textrm{\arro\symbol{71}}}$} + + +%----------------------------------------------------------------------------- +% Same as `\rightarrowfill' from the TeXBook, but with `\rightharpoondown' +% + +\def\rightharpoonupfill{$\m@th\mathord{\textrm{\arro\symbol{71}}}\mkern-6mu% + \cleaders\hbox{$\mkern-2mu\mathord{\textrm{\arro\symbol{71}}}\mkern-2mu$}\hfill + \mkern-6mu\mathord{\textrm{\arro\symbol{66}}}$} + + +\def\rightharpoondownfill{$\m@th\mathord{\textrm{\arro\symbol{71}}}\mkern-6mu% + \cleaders\hbox{$\mkern-2mu\mathord{\textrm{\arro\symbol{71}}}\mkern-2mu$}\hfill + \mkern-6mu\mathord{\textrm{\arro\symbol{67}}}$} + + +%----------------------------------------------------------------------------- + +\def\leftchemarrowfill{$\m@th\mathord{\textrm{\arro\symbol{68}}}\mkern-6mu% + \cleaders\hbox{$\mkern-2mu\mathord{\textrm{\arro\symbol{71}}}\mkern-2mu$}\hfill + \mkern-6mu\mathord{\textrm{\arro\symbol{71}}}$} + +%\def\rightchemarrowfill{$\m@th\mathord-\mkern-6mu% +% \cleaders\hbox{$\mkern-2mu\mathord-\mkern-2mu$}\hfill +% \mkern-6mu\mathord{\textrm{\arro\symbol{65}}}$} + +\def\rightchemarrowfill{$\m@th\mathord{\textrm{\arro\symbol{71}}}\mkern-6mu% + \cleaders\hbox{$\mkern-2mu\mathord{\textrm{\arro\symbol{71}}}\mkern-2mu$}\hfill + \mkern-6mu\mathord{\textrm{\arro\symbol{65}}}$} + + +%----------------------------------------------------------------------------- +% Similar to `\rightleftharpoons from the TeXBook, +% except using `\rightharpoonupfill' and `\rightharpoondownfill'. +% +% The first parameter is the length of the harpoons. +% +\def\rightleftharpoonsfill#1{% +\mathop{\vcenter{\hbox{\ooalign{\raise.4ex + \hbox{$\hbox to#1{\hspace*{.05em}\rightharpoonupfill}$}\crcr + $\hbox to#1{\leftharpoondownfill\hspace*{.05em}}$}}}}\limits} +%----------------------------------------------------------------------------- + +\def\leftrightharpoonsfill#1{% +\mathop{\vcenter{\hbox{\ooalign{\raise.4ex + \hbox{$\hbox to#1{\leftharpoonupfill\hspace*{.05em}}$}\crcr + $\hbox to#1{\hspace*{.05em}\rightharpoondownfill}$}}}}\limits} + + +%----------------------------------------------------------------------------- +% define the simplest possible chemical reaction right arrow, unsized +% +\def\chemarrow{\textrm{\arro\symbol{65}}} +%----------------------------------------------------------------------------- + +%----------------------------------------------------------------------------- +% Make a long leftarrow with its length specified by the passed parameter: +% Usage: \larrowfill{125pt} or \larrowfill{1.0in} or \larrowfill{2.2cm} +% +\def\larrowfill#1{\mathop{\hbox to #1{\mathstrut\leftchemarrowfill}}\limits} +%----------------------------------------------------------------------------- + +%----------------------------------------------------------------------------- +% Make a long rightarrow with its length specified by the passed parameter: +% Usage: \rarrowfill{125pt} or \rarrowfill{1.0in} or \rarrowfill{2.2cm} +% +\def\rarrowfill#1{\mathop{\hbox to #1{\mathstrut\rightchemarrowfill}}\limits} +%----------------------------------------------------------------------------- + +%----------------------------------------------------------------------------- +% Make a long leftarrow with its length slightly longer than the larger +% of the lower and upper parameters: +% +% Usage: \autoleftarrow{upper_stuff}{lower_stuff} +% +\def\autoleftarrow#1#2{{% + \setbox0=\hbox{#1}\autotop=\wd0\setbox0=\hbox{#2}\autobottom=\wd0% + \ifdim\autobottom>\autotop\autosize=\autobottom\else\autosize=\autotop\fi% + \advance\autosize by 2em% + \mathop{\hbox to \autosize{\mathstrut\leftchemarrowfill}}\limits% + ^{\hbox{#1}}_{\hbox{#2}}}}% +%----------------------------------------------------------------------------- + +%----------------------------------------------------------------------------- +% Make a long rightarrow with its length slightly longer than the larger +% of the lower and upper parameters: +% +% Usage: \autorightarrow{upper_stuff}{lower_stuff} +% +\def\autorightarrow#1#2{{% + \setbox0=\hbox{#1}\autotop=\wd0\setbox0=\hbox{#2}\autobottom=\wd0% + \ifdim\autobottom>\autotop\autosize=\autobottom\else\autosize=\autotop\fi% + \advance\autosize by 2em% + \mathop{\hbox to \autosize{\mathstrut\rightchemarrowfill}}\limits% + ^{\hbox{#1}}_{\hbox{#2}}}}% +%----------------------------------------------------------------------------- + +%----------------------------------------------------------------------------- +\def\autorightleftharpoons#1#2{% +\setbox0=\hbox{#1}\autotop=\wd0\setbox0=\hbox{#2}\autobottom=\wd0% +\ifdim\autobottom>\autotop\autosize=\autobottom\else\autosize=\autotop\fi% +\advance\autosize by 2em% +\mathop{\vcenter{\hbox{\ooalign{\raise.4ex% + \hbox{$\hbox to \autosize{\hspace*{.05em}\rightharpoonupfill}$}\crcr% + $\hbox to \autosize{\leftharpoondownfill\hspace*{.05em}}$}}}}% + \limits^{\hbox{#1}}_{\hbox{#2}}} +%----------------------------------------------------------------------------- + +\def\autoleftrightharpoons#1#2{% +\setbox0=\hbox{#1}\autotop=\wd0\setbox0=\hbox{#2}\autobottom=\wd0% +\ifdim\autobottom>\autotop\autosize=\autobottom\else\autosize=\autotop\fi% +\advance\autosize by 2em% +\mathop{\vcenter{\hbox{\ooalign{\raise.4ex% + \hbox{$\hbox to \autosize{\leftharpoonupfill\hspace*{.05em}}$}\crcr% + $\hbox to \autosize{\hspace*{.05em}\rightharpoondownfill}$}}}}% + \limits^{\hbox{#1}}_{\hbox{#2}}} |