summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/chemarrow/chemarrow.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-12 23:52:54 +0000
committerKarl Berry <karl@freefriends.org>2006-01-12 23:52:54 +0000
commit0911a28069c130f2db6a4698711e502ced60420b (patch)
tree664eb4d1b2fc8ba594b39f944fbe9c2e0f76c25a /Master/texmf-dist/tex/latex/chemarrow/chemarrow.sty
parent151486e3f01277e7808171a9c3acbc77474d040d (diff)
chemarrow
git-svn-id: svn://tug.org/texlive/trunk@749 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/chemarrow/chemarrow.sty')
-rw-r--r--Master/texmf-dist/tex/latex/chemarrow/chemarrow.sty167
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}}}