From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/chemarrow/Liesmich.txt | 139 +++++++++++++++ macros/latex/contrib/chemarrow/README | 137 +++++++++++++++ macros/latex/contrib/chemarrow/arrow.mf | 90 ++++++++++ macros/latex/contrib/chemarrow/arrow.tfm | Bin 0 -> 152 bytes macros/latex/contrib/chemarrow/chemarrow-de.pdf | Bin 0 -> 213001 bytes macros/latex/contrib/chemarrow/chemarrow-de.tex | 189 +++++++++++++++++++++ macros/latex/contrib/chemarrow/chemarrow.pdf | Bin 0 -> 226921 bytes macros/latex/contrib/chemarrow/chemarrow.sty | 167 ++++++++++++++++++ macros/latex/contrib/chemarrow/chemarrow.tex | 184 ++++++++++++++++++++ macros/latex/contrib/chemarrow/testchem.tex | 117 +++++++++++++ macros/latex/contrib/chemarrow/type1/Arrow.vfb | Bin 0 -> 5435 bytes .../contrib/chemarrow/type1/arrow.Mac.sit.hqx | 1 + macros/latex/contrib/chemarrow/type1/arrow.afm | 28 +++ macros/latex/contrib/chemarrow/type1/arrow.inf | 21 +++ macros/latex/contrib/chemarrow/type1/arrow.mp | 90 ++++++++++ macros/latex/contrib/chemarrow/type1/arrow.pfb | Bin 0 -> 2562 bytes macros/latex/contrib/chemarrow/type1/arrow.pfm | Bin 0 -> 304 bytes macros/latex/contrib/chemarrow/type1/chemarrow.map | 2 + 18 files changed, 1165 insertions(+) create mode 100644 macros/latex/contrib/chemarrow/Liesmich.txt create mode 100644 macros/latex/contrib/chemarrow/README create mode 100644 macros/latex/contrib/chemarrow/arrow.mf create mode 100644 macros/latex/contrib/chemarrow/arrow.tfm create mode 100644 macros/latex/contrib/chemarrow/chemarrow-de.pdf create mode 100644 macros/latex/contrib/chemarrow/chemarrow-de.tex create mode 100644 macros/latex/contrib/chemarrow/chemarrow.pdf create mode 100644 macros/latex/contrib/chemarrow/chemarrow.sty create mode 100644 macros/latex/contrib/chemarrow/chemarrow.tex create mode 100644 macros/latex/contrib/chemarrow/testchem.tex create mode 100644 macros/latex/contrib/chemarrow/type1/Arrow.vfb create mode 100644 macros/latex/contrib/chemarrow/type1/arrow.Mac.sit.hqx create mode 100644 macros/latex/contrib/chemarrow/type1/arrow.afm create mode 100644 macros/latex/contrib/chemarrow/type1/arrow.inf create mode 100644 macros/latex/contrib/chemarrow/type1/arrow.mp create mode 100644 macros/latex/contrib/chemarrow/type1/arrow.pfb create mode 100644 macros/latex/contrib/chemarrow/type1/arrow.pfm create mode 100644 macros/latex/contrib/chemarrow/type1/chemarrow.map (limited to 'macros/latex/contrib/chemarrow') diff --git a/macros/latex/contrib/chemarrow/Liesmich.txt b/macros/latex/contrib/chemarrow/Liesmich.txt new file mode 100644 index 0000000000..bc5670983d --- /dev/null +++ b/macros/latex/contrib/chemarrow/Liesmich.txt @@ -0,0 +1,139 @@ +Neue Pfeilspitzen fuer chemische Reaktionen 4. Februar 2001 +------------------------------------------- + +1) Wozu das ganze? + +LaTeX ist sehr vielseitig zum Setzen der unterschiedlichsten Texte +einsetzbar, aber der Satz chemischer Reaktionen ist aesthetisch nicht sehr +ansprechend, da die vorhandenen Pfeile \rightarrow, \leftarrow und +\rightleftharpoons fŸr diesen Zweck zu kurz sind und die Pfeilspitzen nicht +unbedingt dem "Standard" entsprechen, den man in Lehrbuechern und Zeitschriften +vorfindet. + +Das Makro chemarrow.sty soll in Verbindung mit dem Zeichensatz arrow.mf das +Setzen chemischer Reaktionsgleichungen in LaTeX vereinfachen und vor allem +verschoenern. + +2) Dateien + +arrow.mf MetaFont Sourcecode von arrow +arrow.tfm .tfm Datei von arrow fŸr TeX +chemarrow.sty Makro zum Setzen von Pfeilen fŸr Reaktionsgleichungen +Readme.txt englische Liesmich Datei +testchem.tex Testdatei fŸr chemarrow.sty und arrow.mf +Liesmich.txt deutsche Liesmich Datei +Type 1/arrow Mac.sit.hqx Type 1 Version von arrow fŸr den Mac +Type 1/arrow PC.zip Type 1 Version arrow fŸr PC/Unix +Type 1/arrow.mp MetaPost Sourcecode zu arrow + +Die FontLab Datei arrow.vfb in den beiden Type 1 Archiven muss nicht mitkopiert +werden, ich habe sie nur dazugepackt, falls jemand mein Design verbessern +will :-) + +3) Verwendung + +Die Beispieldatei testchem.tex sollte Aufschluss genug geben, wie das Packet +chemarrow.sty verwendet wird, auch gibt es in chemarrow.sty eine +Kurzanleitung aller definierten Befehle. Zur Benutzung muss arrow.tfm in +einen Ordner kopiert werden, in dem LaTeX nach .tfm Files sucht, arrow.mf +muss in einen Ordner kopiert werden, in dem MetaFont nach MetaFont Sourcen +sucht. Die benoetigten .pk Dateien sollten dann automatisch vom DVI +Previewer oder vom Druckertreiber erzeugt werden. + +Ich habe zusaetzlich noch PostScript Type 1 Zeichensaetze fuer den Mac und fuer +PCs/Unix im .pfb Format beigelegt zur Erzeugung von PDF Dokumenten. Dazu muessen +die Type 1 Zeichensaetze in einen Ordner kopiert werden, wo TeX und Freunde +nach Type 1 Zeichensaetzen suchen, am besten dort hin, wo sich die Computer +Modern Type 1 Zeichensaetze befinden. + +Damit dvips weiss, dass es nicht die .pk Zeichensaetze von arrow.mf sondern +die Type 1 Zeichensaetze einbinden soll, muss noch ein Eintrag in +psfonts.map gemacht werden. + +- FŸr Macs: + +arrow arrow {\ttfamily}l>{\raggedright\arraybackslash}p{85mm}@{}} + arrow.mf & \MF\ Sourcecode von \pkg{arrow} \\ + arrow.tfm & \texttt{.tfm} Datei von \pkg{arrow} für \TeX \\ + chemarrow.sty & Makro zum Setzen von Pfeilen für Reaktionsgleichungen \\ + Readme.txt & englische Liesmich Datei \\ + testchem.tex & Testdatei für \texttt{chemarrow.sty} und \texttt{arrow.mf} \\ + Liesmich.txt & deutsche Liesmich Datei \\ + Type 1/arrow Mac.sit.hqx & Type~1 Version von \pkg{arrow} für den Mac \\ + Type 1/arrow PC.zip & Type~1 Version \pkg{arrow} für PC/Unix \\ + Type 1/arrow.mp & \MP\ Sourcecode zu \pkg{arrow} +\end{tabular} + +\medskip + +Die FontLab Datei \texttt{arrow.vfb} in den beiden Type~1 Archiven muss nicht mitkopiert +werden, ich habe sie nur dazugepackt, falls jemand mein Design verbessern +will \smiley + + +\section{Verwendung} + +Die Beispieldatei \texttt{testchem.tex} sollte Aufschluss genug geben, wie das Packet +\texttt{chemarrow.sty} verwendet wird, auch gibt es in \texttt{chemarrow.sty} eine +Kurzanleitung aller definierten Befehle. Zur Benutzung muss \texttt{arrow.tfm} in +einen Ordner kopiert werden, in dem \LaTeX\ nach \texttt{.tfm} Files sucht, \texttt{arrow.mf} +muss in einen Ordner kopiert werden, in dem \MF\ nach \MF\ Sourcen +sucht. Die benoetigten \texttt{.pk} Dateien sollten dann automatisch vom DVI +Previewer oder vom Druckertreiber erzeugt werden. + +Ich habe zusaetzlich noch PostScript Type~1 Zeichensaetze fuer den Mac und fuer +PCs/Unix im \texttt{.pfb} Format beigelegt zur Erzeugung von PDF Dokumenten. Dazu muessen +die Type~1 Zeichensaetze in einen Ordner kopiert werden, wo \TeX\ und Freunde +nach Type~1 Zeichensaetzen suchen, am besten dort hin, wo sich die Computer +Modern Type~1 Zeichensaetze befinden. + +Damit dvips weiss, dass es nicht die \texttt{.pk} Zeichensaetze von \texttt{arrow.mf} sondern +die Type~1 Zeichensaetze einbinden soll, muss noch ein Eintrag in +\texttt{psfonts.map} gemacht werden. +% +\begin{itemize} +\item Für Macs:\\ + \verb+arrow arrow <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}}} diff --git a/macros/latex/contrib/chemarrow/chemarrow.tex b/macros/latex/contrib/chemarrow/chemarrow.tex new file mode 100644 index 0000000000..75837e5937 --- /dev/null +++ b/macros/latex/contrib/chemarrow/chemarrow.tex @@ -0,0 +1,184 @@ +\documentclass[DIV=9, pagesize=auto]{scrartcl} + +\usepackage{fixltx2e} +\usepackage{etex} +\usepackage{lmodern} +\usepackage{mflogo} +\usepackage{wasysym} +\usepackage[T1]{fontenc} +\usepackage{textcomp} +\usepackage{array} +\usepackage{microtype} +\usepackage[unicode=true]{hyperref} + +\newcommand*{\mail}[1]{\href{mailto:#1}{\texttt{#1}}} +\newcommand*{\pkg}[1]{\textsf{#1}} +\newcommand*{\cs}[1]{\texttt{\textbackslash#1}} +\makeatletter +\newcommand*{\cmd}[1]{\cs{\expandafter\@gobble\string#1}} +\makeatother + +\addtokomafont{title}{\rmfamily} + +\title{The \pkg{chemarrow} package} +\subtitle{New arrow heads for chemical reaction schemes} +\author{Thomas Schroeder\\\mail{schroeder@ictw.chemie.uni-karlsruhe.de}} +\date{4 February 2001} + + +\begin{document} + +\maketitle + +\tableofcontents + +\section{What's the name of the game?} + +\LaTeX\ can be used to typeset many kinds of different documents, but +typesetting chemical reactions is esthetically not very pleasing because +\LaTeX's own arrows \cmd{\rightarrow}, \cmd{\leftarrow} and \cmd{\rightleftharpoons} which +you might use for this purpose are too short and the arrow heads are not +like the ``standard'' ones you will find in books or journals on chemistry. + +The macro \texttt{chemarrow.sty} in conjunction with the font \texttt{arrow.mf} is supposed +to make the typesetting of chemical reaction schemes in \LaTeX\ easier and +especially nicer looking. + + +\section{Dateien} + +\begin{tabular}{@{}>{\ttfamily}l>{\raggedright\arraybackslash}p{85mm}@{}} + arrow.mf & \MF\ source code of the \pkg{arrow} font \\ + arrow.tfm & \texttt{.tfm} Datei of \pkg{arrow} for the use with \TeX \\ + chemarrow.sty & macro for the typesetting of arrows in chemical reaction schemes \\ + Readme.txt & English Readme \\ + testchem.tex & test file for \texttt{chemarrow.sty} and \texttt{arrow.mf} \\ + Liesmich.txt & German Readme \\ + Type 1/arrow Mac.sit.hqx & type~1 version of \pkg{arrow} for Macintosh \\ + Type 1/arrow PC.zip & type~1 version of \pkg{arrow} for PC/Unix \\ + Type 1/arrow.mp & \MP\ source code of \pkg{arrow} +\end{tabular} + +\medskip + +There is no need to copy the FontLab file \texttt{arrow.vfb} included in both of the +type~1 archives, I just put it there in case you want to enhance my designs \smiley + + +\section{Usage} + +The examples in the file \texttt{testchem.tex} should be sufficient for the +understanding of how \texttt{chemarrow.sty} works, and there's also a short +description in \texttt{chemarrow.sty} of all the newly defined commands. To use the +package, \texttt{arrow.tfm} must be copied to a directory where \LaTeX\ will be +searching for \texttt{.tfm} files, \texttt{arrow.mf} must be copied to a directory where +\MF\ will be searching for \MF\ sources. The required \texttt{.pk} files +should be produced automatically by a \textsc{dvi} previewer or a printer driver. + +There are also type~1 fonts of \texttt{arrow.mf} in Mac and PC/Unix format so that +you can produce PDF documents easily. To use the type~1 font it must be +copied to a directory where \TeX\ and friends will be searching for type~1 +fonts, the best place would of course be where the Computer Modern type~1 +fonts reside. + +If dvips is supposed to use the type~1 font instead of the \texttt{.pk} font you +must add this line to \texttt{psfonts.map}: +% +\begin{itemize} +\item for Macintosh:\\ + \verb+arrow arrow