summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/chemsym
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/chemsym')
-rw-r--r--macros/latex/contrib/chemsym/00readme.chs31
l---------macros/latex/contrib/chemsym/README1
-rw-r--r--macros/latex/contrib/chemsym/chemsym.dtx653
-rw-r--r--macros/latex/contrib/chemsym/chemsym.ins58
-rw-r--r--macros/latex/contrib/chemsym/chemsym.pdfbin0 -> 328729 bytes
5 files changed, 743 insertions, 0 deletions
diff --git a/macros/latex/contrib/chemsym/00readme.chs b/macros/latex/contrib/chemsym/00readme.chs
new file mode 100644
index 0000000000..abdc0c5fa4
--- /dev/null
+++ b/macros/latex/contrib/chemsym/00readme.chs
@@ -0,0 +1,31 @@
+
+This is the file `00readme.chs', which accompanies the
+`chemsym' package distribution. The package defines
+commands for the chemical symbols of the elements, which
+always are type-set in upright font, as they should. If not
+followed by a stoichiometric number, a small space is
+inserted. To use the package, run LaTeX on `chemsym.ins'.
+This produces the files `chemsym.sty', which contains the
+macro definitions, and `pertab.tex' which contains the LaTeX code
+for the Periodic Table of the Elements. To obtain the userguide
+and documentation, run LaTeX on `chemsym.dtx' after running LaTeX
+on `chemsym.ins'.
+
+
+The 'chemsym' package consists of two files:
+ chemsym.ins - the installation driver
+ chemsym.dtx - the macro code, instructions on how to use
+ the package, an example, and the code for the
+ Periodic Table in `docstrip'-able format.
+Anyone is free to re-distribute these files provided the restrictions
+mentioned in 'chemsym.ins' are obeyed. These are mainly that the
+two files always must be distributed together and that noone is
+allowed to distribute the files for profit.
+
+Inquiries can be sent to: <matsd@sssk.se>. You can also visit
+my LaTeX web page at http://www.homenet.se/matsd/latex/
+This file was last modified on 1998/06/01.
+
+_____________________________________________________________________
+Copyright (c) 1998 by Mats Dahlgren.
+
diff --git a/macros/latex/contrib/chemsym/README b/macros/latex/contrib/chemsym/README
new file mode 120000
index 0000000000..a07234cb39
--- /dev/null
+++ b/macros/latex/contrib/chemsym/README
@@ -0,0 +1 @@
+00readme.chs \ No newline at end of file
diff --git a/macros/latex/contrib/chemsym/chemsym.dtx b/macros/latex/contrib/chemsym/chemsym.dtx
new file mode 100644
index 0000000000..1a54ca0bf8
--- /dev/null
+++ b/macros/latex/contrib/chemsym/chemsym.dtx
@@ -0,0 +1,653 @@
+%
+% \iffalse
+%
+% The first part is a comment to the reader(s) of `chemsym.dtx'.
+%
+% chemsym.dtx Version 2.0a, June 24, 1998
+% (c) 1995-98 by Mats Dahlgren (matsd@sssk.se)
+%
+% Please see the information in file `chemsym.ins' on how you
+% may use and (re-)distribute this file. Run LaTeX on the file
+% `chemsym.ins' to get a .sty-file and instructions.
+%
+% This file may NOT be distributed if not accompanied by 'chemsym.ins'.
+%
+%<*driver>
+\documentclass[a4paper]{ltxdoc}
+\usepackage{chemsym}
+\textwidth=150mm
+\textheight=210mm
+\topmargin=0mm
+\oddsidemargin=5mm
+\evensidemargin=5mm
+ \DocInput{chemsym.dtx}
+% \PrintChanges
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{559}
+%
+% \def\filename{chemsym.dtx}
+% \def\fileversion{2.0}
+% \def\filedate{1998/05/31}\def\docdate{1998/06/24}
+% \MakeShortVerb{\|}
+% \date{\docdate}
+% \title{\textsf{chemsym} -- a \LaTeX{} Macro for Chemical
+% Symbols\thanks{This document describes \textsf{chemsym} version
+% \fileversion , and was last updated \docdate .}}
+% \author{Mats Dahlgren\footnote{Email:\ \texttt{matsd@sssk.se}\ \ \
+% Web:\ \texttt{http://www.homenet.se/matsd/}}}
+% \begin{document}
+% \maketitle
+% \begin{abstract}
+% This document describes the \textsf{chemsym} package, which makes
+% it easier to type chemical symbols correctly, without having
+% to worry about math mode or text mode. Furthermore,
+% \textsf{chemsym} makes both the super- and the subscript commands
+% (|^| and |_|) and `\cdot' (|\cdot|) available in text mode.
+% \\ This file and the package:\
+% Copyright \copyright\ 1998 by Mats Dahlgren. All rights
+% reserved.
+% \end{abstract}
+%
+% \section{Introduction}
+% \textsf{chemsym} is a \LaTeX{} package which makes it easier to
+% type chemical symbols correctly. It defines a command for
+% each element of the periodic table (the 109 first),
+% Deuterium, the Methyl, Ethyl and Butyl groups\footnote{%
+% Suggested by Ulf Henriksson (\texttt{ulf@physchem.kth.se}).}
+% (for the Propyle group, use |\Pr|, Praseodymium), and the
+% $-$OH, $-$COOH, and $-$CH groups.\footnote{Suggested in part by
+% Axel Kielhorn (\texttt{i0080108@ws.rz.tu-bs.de})}
+% The use of the commands results in a up-right
+% chemical symbol, regardless of whether it is used in
+% math mode or text mode. If not followed by a sub- or
+% superscript, a |(|, a |)|, a |[|, or a |]| a small space
+% is added (slightly less than what `|\,|' gives).
+%
+% In late 1997, IUPAC (International Union of Pure and Applied
+% Chemistry) issued new recommendations for the
+% names and symbols for elements 104-109 (``Names and symbols of
+% transfermium elements (IUPAC recommendations 1997)'',
+% \textit{Pure and Applied Chemistry} \textbf{1997},
+% \textsl{69}(12), 2471-2473). The recommended names are
+% Rutherfordium, \Rf, Dubnium, \Db, Seaborgium \Sg, Bohrium,
+% \Bh, Hassnium, \Hs, and Meitnerium, \Mt, respectively.
+% From the previous recommendations in 1994, all but \Bh and \Mt
+% have changed.
+%
+% This userguide is also available in \texttt{.pdf}-format
+% on the internet. It is found from my \LaTeX\ web page:
+% \texttt{http://www.homenet.se/matsd/latex/}
+%
+% \section{Userguide}
+% \subsection{Requirements}
+% The file |chemsym.sty| must be available in the user's
+% |TEXINPUTS| directories.
+% It requires \LaTeXe{} of 1996/12/01 (or newer).
+%
+% \subsection{Usage}
+% The package is included by stating\\
+% | \usepackage[|\textit{option}|]{chemsym}| \\
+% In the document preamble.
+% The only option which has any effect on \textsf{chemsym} is
+% |collision|, see below.
+%
+% \subsection{Commands}
+%
+% \DescribeMacro{chemical} \DescribeMacro{symbols}
+% The \textsf{chemsym} package defines 116 user commands; one for
+% each of the 109 first elements, Deuterium, the Methyl,
+% Ethyl and Butyl groups
+% (for the Propyle group, use |\Pr|, Praseodymium), and the
+% $-$OH, $-$COOH, and $-$CH groups. The command
+% names are all made up of the chemical symbol preceeded by
+% `|\|'; thus for Nitrogen, \N, you type |\N|, and for Mercury,
+% \Hg, |\Hg|, etc. These commands appear to be robust.
+% To obtain `\CH_2', you simply type `|\CH_2|' in your input
+% file; `\CH_3' is obtained by typing `|\CH_3|' (of course).
+%
+% \DescribeMacro{\H} \DescribeMacro{\O} \DescribeMacro{\P}
+% \DescribeMacro{\S} \DescribeMacro{\Re} \DescribeMacro{\Pr}
+% Since there are six commands in \TeX /\LaTeX{}
+% already of this kind (|\H|, |\O|, |\P|, |\S|, |\Re|, and
+% |\Pr|), and one environment in $\mathcal{AMS}$-\LaTeX{}
+% \DescribeMacro{Sb}
+% (the |Sb| environment),\footnote{Thanks to Thorsten L\"{o}hl
+% (\texttt{lohl@uni-muenster.de}) for pointing out this.}
+% these old commands have to be renamed.
+% The names of choice are shown in the table below.
+% \MakeShortVerb{\+}
+% \DeleteShortVerb{\|}
+% \begin{center}
+% \begin{tabular}{|l|l|l|} \hline
+% \TeX{} & With \textsf{chemsym} & Use/Example \\
+% command & you write & \\ \hline
+% +\H+ & +\h+ & The accent in `\h{o}' \\ \hline
+% +\O+ & +\OO+ & \OO \\ \hline
+% +\P+ & +\PP+ & \PP \\ \hline
+% +\S+ & +\Ss+ & \Ss \\ \hline
+% +\Re+ & +\re+ & $\re$ (in math mode) \\ \hline
+% +\Pr+ & +\pr+ & $\pr$ (in math mode) \\ \hline
+% +\begin{Sb}+ & +\begin{SB}+ & (with $\mathcal{AMS}$-\LaTeX) \\ \hline
+% +\end{Sb}+ & +\end{SB}+ & (with $\mathcal{AMS}$-\LaTeX) \\ \hline
+% \end{tabular}
+% \end{center}
+% \DeleteShortVerb{\+}
+% \MakeShortVerb{\|}
+% \DescribeMacro{\kemtkn}
+% Also, |\kemtkn|, a command
+% for defining other chemical symbols and similar functions is
+% available. |\kemtkn| takes one mandatory argument (the
+% string to treat as a chemical symbol). Two other
+% \DescribeMacro{\nsrrm} \DescribeMacro{\nsrrms}
+% internal commands, |\nsrrm| and |\nsrrms| are also
+% available. |\nsrrm| simply puts its (mandatory) argument in
+% |mathrm|. |\nsrrms| does the same, but also adds a small
+% space after it. This space is a second, optional, argument
+% to |\nsrrms| which should be given in |em| units (without
+% `|em|'). The default is |0.1em|.
+% \DescribeMacro{^} \DescribeMacro{_}
+% For convenience when typing chemical formulas and units with
+% exponents, the super- and subscript commands |^| and |_| are
+% made available also outside of math mode, provided the option
+% |collision| is \emph{not} specified. Thus, with
+% \textsf{chemsym} you can type |m^2| instead of |m$^2$| for m^2 also
+% in text mode. Analogously, you can type |\H_2\O| for \H_2\O{}
+% in both math and text mode and get the same result.
+% Notice that text which you may put in the arguments of |^|
+% and |_| automatically is set in math mode. So if you want
+% `M_{\mathrm{q}}' you must type |M_{\mathrm{q}}| and not only
+% |M_q|, the latter comes out as `M_q'. (This feature is not
+% seriously disturbing since this feature with |^| and |_| is
+% intended to be used mainly with numbers in the arguments.)
+%
+% \DescribeMacro{\cdot} Futhermore, the |\cdot| command
+% (producing a `\cdot') is also available outside math mode. This
+% feature is included to facilitate typing formulas like
+% ``\CH_3\cdot\CH_3'' (|\CH_3\cdot\CH_3|) also in text
+% mode.\footnote{Also suggested by Ulf Henriksson
+% (\texttt{ulf@physchem.kth.se}).}
+%
+% \subsection{The \texttt{collision} option}
+%
+% \DescribeMacro{collision}
+% To avoid probelms with other packages due to |^| (and |_|) being
+% active, this may be swithced off by stating the option
+% |collision| when loading the \textsf{chemsym} package. If you get
+% the following error message (or a similar), you are likely to have
+% such a collision with \textsf{chemsym} involved (in this case with
+% \textsf{longtable}):
+% \begin{verbatim}
+% ! Argument of ^ has an extra }.
+% <inserted text>
+% \par
+% l.120 \end{longtable}
+%
+% ?
+% \end{verbatim}
+% To solve the problem, state the |collision| option \emph{and}
+% delete the |.aux| file before running \LaTeX{} again. Some
+% packages contain |^^J|-constructs which may not always be apparent
+% to the user. One example, which collides with
+% \textsf{chemsym}, is
+% the \textsf{multicol} package's warning if you specify only one
+% column. In that case, the error message is:
+% \begin{verbatim}
+% ! Argument of ^ has an extra }.
+% <inserted text>
+% \par
+% l.18 \begin{multicols}{1}
+%
+% ?
+% \end{verbatim}
+% In this case, you \emph{may} come around the problem by specifying
+% a number of columns $\geq 2$; if not, specify the |collision|
+% option for the \textsf{chemsym} package.
+%
+% \section{Examples}
+%
+% This section gives some simple examples of the use of
+% \textsf{chemsym}. To write the formula for water in both math
+% and text mode,
+% you type |\H_2\O{}|, which gives \H_2\O{} as result. Notice
+% that this differs from typing |\H$_2$\O|, which gives
+% \H$_2$\O{} as result. In the first example, there is not
+% any extra space added after the \H . This addition of space
+% makes formulas like \H\C\N{} (|\H\C\N|) easier to read than
+% just typing |HCN|: HCN.
+%
+% \newcommand{\hH}{\kemtkn{{}^2H}}
+% The use of the commands of \textsf{chemsym} is specially useful
+% when chemical symbols are used as indices in equations.
+% The following example illustrates this:
+% \begin{equation}
+% \mathcal{M}_{\Fe(\H_2\O)_6} = 6\mathcal{M}_{\H_2\O} + \mathcal{M}_{\Fe}
+% \end{equation}
+% which was obtained by typing
+% \begin{verbatim}
+% \begin{equation}
+% \mathcal{M}_{\Fe(\H_2\O)_6} = 6\mathcal{M}_{\H_2\O} + \mathcal{M}_{\Fe}
+% \end{equation}
+% \end{verbatim}
+% It is also easy
+% to define other chemical symbols commands, such as commands
+% for specific isotopes. Suppose you rather want to use the
+% notation \hH{} than \D{} for Deuterium. This may be
+% defined as:\\ \hspace*{2mm} |\newcommand{\hH}{\kemtkn{{}^2H}}|\\
+% (which was
+% used above: \ldots |notation \hH{} than \D{} for|\ldots).
+% Internally, \textsf{chemsym} uses a syntax like this to def ine
+% the various commands for the chemical symbols.\footnote{To make
+% the command robust,
+% say \texttt{\textbackslash newcommand$\{$\textbackslash hH$\}\{
+% $\textbackslash protect\textbackslash kemtkn$\{\{\}\}
+% \hat{\ }$2H$\}\}$}
+% or use the command \texttt{\textbackslash DeclareRobustCommand}
+% instead of \texttt{\textbackslash newcommand}.}
+%
+% After running |chemsym.ins| through \LaTeXe, you can typeset
+% the Periodic Table of the Elements by running \LaTeXe{} on
+% the file |pertab.tex|. (It fits fine on an A4 paper, and there
+% should be no problem with a U.S.\ lettersize paper as well.)
+% The Periodic Table requires the \textsf{rotating} package, which
+% in turn requires the packages \textsf{graphicx} and
+% \textsf{ifthen}.
+%
+% \section{Known Problems}
+%
+% \begin{itemize}
+% \item
+% Since \textsf{chemsym} makes |^| and |_| active, it will collide
+% with other packages which make use of constructs like |^^J|
+% (\textit{e.~g.} the \textsf{longtable} package). To avoid this
+% problem, specify the option |collision| when loading
+% \textsf{chemsym} (or globally).
+% \item
+% If the \textsf{chemsym} package is used together with the
+% \textsf{rotating} or \textsf{amstex} package, \textsf{chemsym}
+% should be loaded last.
+% \item
+% If the \textsf{chemsym} package is used together with the
+% \textsf{fancyheadings} package, \textsf{fancyheadings}
+% should be loaded after \textsf{chemsym}.\footnote{Thanks
+% to Lars Reinton (\texttt{larsr@stud.unit.no}) for
+% pointing out this.}
+% \item Since \textsf{chemsym} makes |_| and |^| active, these
+% characters cannot be used in labels when using the
+% \textsf{chemsym} package, nor in file names loaded in \LaTeX{} runs
+% loading the \textsf{chemsym} package (unless you specify the
+% |collision| option).\footnote{Thanks to Axel Kielhorn
+% (\texttt{i0080108@ws.rz.tu-bs.de}) for pointing out this problem.}
+% \item Also since |^| is made active, when following after a prime
+% in math mode (|'|), a ``double superscript'' error is produced
+% unless a double bracing (|{}|) is included before the |^|
+% character.\footnote{Thanks to Jeroen Paasschens
+% (\texttt{paassche@natlab.research.philips.com}) for bringing my
+% attention to this problem.} Thus, you should type |x'{}^2|
+% instead of |x'^2| when using \textsf{chemsym} to obtain $x'{}^2$.
+% \end{itemize}
+%
+% \section{Sending a Bug Report}
+% \textsf{chemsym} is likely to contain bugs, and reports about
+% them are most welcome. Before filing a bug report,
+% please take the following actions:
+% \begin{enumerate}
+% \item Ensure your problem is not due to your own input file,
+% package(s), or class(es);
+% \item Ensure your problem is not covered in the section
+% ''Known Problems'' above;
+% \item Try to locate the problem by writing a minimal
+% \LaTeX{} input file which reproduces the problem.
+% Include the command\\
+% | \setcounter{errorcontextlines}{999}|\\
+% in your input;
+% \item Run your file through \LaTeX ;
+% \item Send a description of your problem, the input file
+% and the log file via e-mail to:\\
+% \hspace*{5mm} \texttt{matsd@sssk.se}.
+% \end{enumerate}
+% {\itshape Enjoy your \LaTeX!\raisebox{-\baselineskip}{mats d.}}
+% \StopEventually{\vfill\hfill\scriptsize Copyright \copyright
+% 1995-1998 by Mats Dahlgren}
+% \newpage
+%
+% \section{The Code}
+% For the interested reader(s), here is a short description
+% of the code.
+% \iffalse
+%<*paketkod>
+% \fi
+% First, the package is to identify itself:
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}[1996/12/01]
+\ProvidesPackage{chemsym}[1998/05/31 v.2.0 Chemical symbols]
+% \end{macrocode}
+% First in the real code, we have to rename the old functions
+% |\H|, |\O|, |\P|, |\S|, |\Re|, and |\Pr|:
+% \begin{macrocode}
+\let\h=\H
+\let\OO=\O
+\let\PP=\P
+\let\Ss=\S
+\let\re=\Re
+\let\pr=\Pr
+% \end{macrocode}
+% Here we check if the $\mathcal{AMS}$-\LaTeX{} package is
+% loaded, and if so, change the |Sb| environment to be called |SB|.
+% \begin{macrocode}
+\@ifundefined{Sb}{\def\Sb{\protect\kemtkn{Sb}}}%
+ {\let\SB=\Sb \let\endSB=\endSb}
+% \end{macrocode}
+% Now, we make |^|, |_|, and |\cdot| work without |$...$|
+% also in text mode -- if not switched off.
+% To do this, we need a boolean and some
+% option processing\ldots
+% \begin{macrocode}
+\newif \ifc@llsn \c@llsnfalse
+\DeclareOption{collision}{\global\c@llsntrue}
+\DeclareOption*{\OptionNotUsed}
+\ProcessOptions*
+\ifc@llsn\AtEndDocument{%
+ \PackageWarningNoLine{chemsym}{Due to possible collisions with other
+ \MessageBreak packages, super- and subscrips are not avaliable
+ \MessageBreak outside math mode despite your loading of `chemsym'}}
+\else
+ \def\sprscrpt#1{\ensuremath{^{#1}}}
+ \def\sbscrpt#1{\ensuremath{_{#1}}}
+ \catcode`\^ \active
+ \catcode`\_ \active
+ \let^=\sprscrpt
+ \let_=\sbscrpt
+\fi
+\@ifundefined{cd@t}{%
+\let\cd@t=\cdot
+\def\cdot{\ensuremath{\cd@t}}}{}
+% \end{macrocode}
+% (The |\@ifundefined| is required for local compatibility reasons
+% at my former site.)
+% Then, some general macros are defined:
+% \begin{macrocode}
+\newcommand{\nsrrm}[1]{\ensuremath{\mathrm{#1}}}
+\newcommand{\nsrrms}[2][0.1]{\ensuremath{\mathrm{#2}\kern #1em}}
+\newcommand{\kemtkn}[1]{\@ifnextchar_{\nsrrm{#1}}{\@ifnextchar^{\nsrrm{#1}}%
+ {\@ifnextchar){\nsrrm{#1}}{\@ifnextchar({\nsrrm{#1}}%
+ {\@ifnextchar]{\nsrrm{#1}}{\@ifnextchar[{\nsrrm{#1}}{\nsrrms{#1}}}}}}}}
+% \end{macrocode}
+% As you can see, you can change the spacing in the chemical
+% formulas by making changes to |\nsrrms|. This you can do
+% with |\renewcommand|
+% in your document preamble or in another package file.
+% Then we define the
+% 110 commands for chemical symbols:
+% \begin{macrocode}
+\renewcommand{\H}{\protect\kemtkn{H}} % modified
+\newcommand{\D}{\protect\kemtkn{D}}
+\newcommand{\He}{\protect\kemtkn{He}}
+\newcommand{\Li}{\protect\kemtkn{Li}}
+\newcommand{\Be}{\protect\kemtkn{Be}}
+\newcommand{\B}{\protect\kemtkn{B}}
+\newcommand{\C}{\protect\kemtkn{C}}
+\newcommand{\N}{\protect\kemtkn{N}}
+\renewcommand{\O}{\protect\kemtkn{O}} % modified
+\newcommand{\F}{\protect\kemtkn{F}}
+\newcommand{\Ne}{\protect\kemtkn{Ne}}
+\newcommand{\Na}{\protect\kemtkn{Na}}
+\newcommand{\Mg}{\protect\kemtkn{Mg}}
+\newcommand{\Al}{\protect\kemtkn{Al}}
+\newcommand{\Si}{\protect\kemtkn{Si}}
+\renewcommand{\P}{\protect\kemtkn{P}} % modified
+\renewcommand{\S}{\protect\kemtkn{S}} % modified
+\newcommand{\Cl}{\protect\kemtkn{Cl}}
+\newcommand{\Ar}{\protect\kemtkn{Ar}}
+\newcommand{\K}{\protect\kemtkn{K}}
+\newcommand{\Ca}{\protect\kemtkn{Ca}}
+\newcommand{\Sc}{\protect\kemtkn{Sc}}
+\newcommand{\Ti}{\protect\kemtkn{Ti}}
+\newcommand{\V}{\protect\kemtkn{V}}
+\newcommand{\Cr}{\protect\kemtkn{Cr}}
+\newcommand{\Mn}{\protect\kemtkn{Mn}}
+\newcommand{\Fe}{\protect\kemtkn{Fe}}
+\newcommand{\Co}{\protect\kemtkn{Co}}
+\newcommand{\Ni}{\protect\kemtkn{Ni}}
+\newcommand{\Cu}{\protect\kemtkn{Cu}}
+\newcommand{\Zn}{\protect\kemtkn{Zn}}
+\newcommand{\Ga}{\protect\kemtkn{Ga}}
+\newcommand{\Ge}{\protect\kemtkn{Ge}}
+\newcommand{\As}{\protect\kemtkn{As}}
+\newcommand{\Se}{\protect\kemtkn{Se}}
+\newcommand{\Br}{\protect\kemtkn{Br}}
+\newcommand{\Kr}{\protect\kemtkn{Kr}}
+\newcommand{\Rb}{\protect\kemtkn{Rb}}
+\newcommand{\Sr}{\protect\kemtkn{Sr}}
+\newcommand{\Y}{\protect\kemtkn{Y}}
+\newcommand{\Zr}{\protect\kemtkn{Zr}}
+\newcommand{\Nb}{\protect\kemtkn{Nb}}
+\newcommand{\Mo}{\protect\kemtkn{Mo}}
+\newcommand{\Tc}{\protect\kemtkn{Tc}}
+\newcommand{\Ru}{\protect\kemtkn{Ru}}
+\newcommand{\Rh}{\protect\kemtkn{Rh}}
+\newcommand{\Pd}{\protect\kemtkn{Pd}}
+\newcommand{\Ag}{\protect\kemtkn{Ag}}
+\newcommand{\Cd}{\protect\kemtkn{Cd}}
+\newcommand{\In}{\protect\kemtkn{In}}
+\newcommand{\Sn}{\protect\kemtkn{Sn}}
+\renewcommand{\Sb}{\protect\kemtkn{Sb}} % modified with AMS-LaTeX
+\newcommand{\Te}{\protect\kemtkn{Te}}
+\newcommand{\I}{\protect\kemtkn{I}}
+\newcommand{\Xe}{\protect\kemtkn{Xe}}
+\newcommand{\Cs}{\protect\kemtkn{Cs}}
+\newcommand{\Ba}{\protect\kemtkn{Ba}}
+\newcommand{\La}{\protect\kemtkn{La}}
+\newcommand{\Ce}{\protect\kemtkn{Ce}}
+\renewcommand{\Pr}{\protect\kemtkn{Pr}} % modified
+\newcommand{\Nd}{\protect\kemtkn{Nd}}
+\newcommand{\Pm}{\protect\kemtkn{Pm}}
+\newcommand{\Sm}{\protect\kemtkn{Sm}}
+\newcommand{\Eu}{\protect\kemtkn{Eu}}
+\newcommand{\Gd}{\protect\kemtkn{Gd}}
+\newcommand{\Tb}{\protect\kemtkn{Tb}}
+\newcommand{\Dy}{\protect\kemtkn{Dy}}
+\newcommand{\Ho}{\protect\kemtkn{Ho}}
+\newcommand{\Er}{\protect\kemtkn{Er}}
+\newcommand{\Tm}{\protect\kemtkn{Tm}}
+\newcommand{\Yb}{\protect\kemtkn{Yb}}
+\newcommand{\Lu}{\protect\kemtkn{Lu}}
+\newcommand{\Hf}{\protect\kemtkn{Hf}}
+\newcommand{\Ta}{\protect\kemtkn{Ta}}
+\newcommand{\W}{\protect\kemtkn{W}}
+\renewcommand{\Re}{\protect\kemtkn{Re}} % modified
+\newcommand{\Os}{\protect\kemtkn{Os}}
+\newcommand{\Ir}{\protect\kemtkn{Ir}}
+\newcommand{\Pt}{\protect\kemtkn{Pt}}
+\newcommand{\Au}{\protect\kemtkn{Au}}
+\newcommand{\Hg}{\protect\kemtkn{Hg}}
+\newcommand{\Tl}{\protect\kemtkn{Tl}}
+\newcommand{\Pb}{\protect\kemtkn{Pb}}
+\newcommand{\Bi}{\protect\kemtkn{Bi}}
+\newcommand{\Po}{\protect\kemtkn{Po}}
+\newcommand{\At}{\protect\kemtkn{At}}
+\newcommand{\Rn}{\protect\kemtkn{Rn}}
+\newcommand{\Fr}{\protect\kemtkn{Fr}}
+\newcommand{\Ra}{\protect\kemtkn{Ra}}
+\newcommand{\Ac}{\protect\kemtkn{Ac}}
+\newcommand{\Th}{\protect\kemtkn{Th}}
+\newcommand{\Pa}{\protect\kemtkn{Pa}}
+\newcommand{\U}{\protect\kemtkn{U}}
+\newcommand{\Np}{\protect\kemtkn{Np}}
+\newcommand{\Pu}{\protect\kemtkn{Pu}}
+\newcommand{\Am}{\protect\kemtkn{Am}}
+\newcommand{\Cm}{\protect\kemtkn{Cm}}
+\newcommand{\Bk}{\protect\kemtkn{Bk}}
+\newcommand{\Cf}{\protect\kemtkn{Cf}}
+\newcommand{\Es}{\protect\kemtkn{Es}}
+\newcommand{\Fm}{\protect\kemtkn{Fm}}
+\newcommand{\Md}{\protect\kemtkn{Md}}
+\newcommand{\No}{\protect\kemtkn{No}}
+\newcommand{\Lr}{\protect\kemtkn{Lr}}
+\newcommand{\Rf}{\protect\kemtkn{Rf}}
+\newcommand{\Db}{\protect\kemtkn{Db}}
+\newcommand{\Sg}{\protect\kemtkn{Sg}}
+\newcommand{\Bh}{\protect\kemtkn{Bh}}
+\newcommand{\Hs}{\protect\kemtkn{Hs}}
+\newcommand{\Mt}{\protect\kemtkn{Mt}}
+% \end{macrocode}
+% At last, we define the three alkyle groups and some other
+% useful groups as chemical symbols:
+% \begin{macrocode}
+\newcommand{\Me}{\protect\kemtkn{Me}}
+\newcommand{\Et}{\protect\kemtkn{Et}}
+\newcommand{\Bu}{\protect\kemtkn{Bu}}
+\newcommand{\OH}{\protect\kemtkn{OH}}
+\newcommand{\COOH}{\protect\kemtkn{COOH}}
+\newcommand{\CH}{\protect\kemtkn{CH}}
+% \end{macrocode}
+% This brings us to the end of \textsf{chemsym}. Hope you'll
+% enjoy it!
+% \iffalse
+%</paketkod>
+%<*periodsyst>
+\documentclass[]{article}
+\usepackage[dvips]{rotating}
+\usepackage{chemsym}
+\textwidth=170mm
+\oddsidemargin=-6mm
+\evensidemargin=-6mm
+\textheight=270mm
+\topmargin=-25mm
+\parindent=0em
+\parskip=3ex
+\pagestyle{empty}
+\renewcommand{\nsrrms}[2][0]{\ensuremath{\mathrm{#2}\kern #1em}}
+\begin{document}
+\setlength{\tabcolsep}{3pt}
+\begin{sidewaystable}
+\vspace*{-24mm}
+\begin{tabular}{|*{18}{c|}}
+\multicolumn{18}{c}{ } \\[3mm]
+\multicolumn{18}{c}{\LARGE Periodic Table of the Elements} \\
+\multicolumn{18}{c}{with relative atomic masses 1993 according to IUPAC} \\
+\multicolumn{18}{c}{ } \\[-2mm] \hline
+\textbf{1} & \textbf{2} & \textbf{3} & \textbf{4} & \textbf{5} &
+\textbf{6} & \textbf{7} & \textbf{8} & \textbf{9} & \textbf{10} &
+\textbf{11} & \textbf{12} & \textbf{13} & \textbf{14} & \textbf{15} &
+\textbf{16} & \textbf{17} & \textbf{18} \\
+\textbf{(I)} & \textbf{(II)} & & & & & & & & & & & \textbf{(III)} &
+\textbf{(IV)} & \textbf{(V)} & \textbf{(VI)} & \textbf{(VII)} &
+\textbf{(VIII)} \\ \hline
+\multicolumn{18}{c}{ } \\[-2mm] \cline{1-1} \cline{18-18}
+_1 & \multicolumn{16}{c|}{ } & _2\\
+\H & \multicolumn{16}{c|}{ } & \He\\
+^{1.00794} & \multicolumn{16}{c|}{ } & ^{4.002602} \\ \cline{1-2}
+\cline{7-8} \cline{13-18}
+_3 & _4 & \multicolumn{4}{c|}{ } &
+\multicolumn{2}{c|}{_{\mathrm{Atomic\ number}}} &
+\multicolumn{4}{c|}{ }
+& _5 & _6 & _7 &
+_8 & _9 & _{10}\\
+\Li & \Be & \multicolumn{4}{c|}{ } &
+\multicolumn{2}{c|}{Symbol} & \multicolumn{4}{c|}{ }
+& \B & \C & \N & \O & \F & \Ne\\
+^{6.941} & ^{9.012182} & \multicolumn{4}{c|}{ } &
+\multicolumn{2}{c|}{^{\mathrm{Relative\ atomic\ mass}^\ast}} &
+\multicolumn{4}{c|}{ } & ^{10.811} &
+^{12.011} & ^{14.00674} & ^{15.9994} & ^{18.9984032} & ^{20.1797} \\
+\cline{1-2} \cline{7-8} \cline{13-18}
+_{11} & _{12} & \multicolumn{10}{c|}{ } & _{13} &
+_{14} & _{15} & _{16} & _{17} & _{18} \\
+\Na & \Mg & \multicolumn{10}{c|}{ } & \Al &
+\Si & \P & \S & \Cl & \Ar\\
+^{22.989768} & ^{24.3050} & \multicolumn{10}{c|}{ } &
+^{26.981539} & ^{28.0855} & ^{30.973762} & ^{32.066} &
+^{35.4527} & ^{39.948} \\ \hline
+_{19} & _{20} & _{21} & _{22} & _{23} & _{24} &
+_{25} & _{26} & _{27} & _{28} & _{29} & _{30} &
+_{31} & _{32} & _{33} & _{34} & _{35} & _{36}\\
+\K & \Ca & \Sc & \Ti & \V & \Cr & \Mn & \Fe & \Co & \Ni & \Cu & \Zn &
+\Ga & \Ge & \As & \Se & \Br & \Kr\\
+^{39.0983} & ^{40.078} & ^{44.955910} & ^{47.867} &
+^{50.9415} & ^{51.9961} & ^{54.93805} & ^{55.845} &
+^{58.93320} & ^{58.6934} & ^{63.546} & ^{65.39} & ^{69.723} &
+^{72.61} & ^{74.92159} & ^{78.96} & ^{79.904} & ^{83.80} \\ \hline
+_{37} & _{38} & _{39} & _{40} & _{41} & _{42} &
+_{43} & _{44} & _{45} & _{46} & _{47} & _{48} &
+_{49} & _{50} & _{51} & _{52} & _{53} & _{54} \\
+\Rb & \Sr & \Y & \Zr & \Nb & \Mo &
+\Tc & \Ru & \Rh & \Pd & \Ag & \Cd &
+\In & \Sn & \Sb & \Te & \I & \Xe\\
+^{85.4678} & ^{87.62} & ^{88.90585} & ^{91.224} & ^{92.90638} &
+^{95.94} & ^{(98)} & ^{101.07} & ^{102.90550} & ^{106.42} &
+^{107.8682} & ^{112.411} & ^{114.818} & ^{118.710} &
+^{121.760} & ^{127.60} & ^{126.90447} & ^{131.29} \\ \hline
+_{55} & _{56} & & _{72} & _{73} & _{74} &
+_{75} & _{76} & _{77} & _{78} & _{79} & _{80} &
+_{81} & _{82} & _{83} & _{84} & _{85} & _{86} \\
+\Cs & \Ba & \raisebox{1.5mm}[0pt][0pt]{\La --} & \Hf & \Ta &
+\W & \Re & \Os & \Ir & \Pt & \Au & \Hg &
+\Tl & \Pb & \Bi & \Po & \At & \Rn\\
+^{132.90543} & ^{137.327} & \raisebox{1.5mm}[0pt][0pt]{\Lu} &
+^{178.49} & ^{180.9479} &
+^{183.84} & ^{186.207} & ^{190.23} & ^{192.217} & ^{195.08} &
+^{196.96654} & ^{200.59} & ^{204.3833} & ^{207.2} &
+^{208.98037} & ^{(209)} & ^{(210)} & ^{(222)} \\
+\hline
+_{87} & _{88} & & _{104} & _{105} & _{106} &
+_{107} & _{108} & _{109} & \multicolumn{1}{c}{$_{\ast\ast}$} \\
+\Fr & \Ra & \raisebox{1.5mm}[0pt][0pt]{\Ac --} & \Rf & \Db &
+\Sg & \Bh & \Hs & \Mt\\
+ ^{(223)} & ^{(226)} & \raisebox{1.5mm}[0pt][0pt]{\Lr} & ^{(261)} &
+^{(262)} & ^{(263)} & ^{(262)} & ^{(265)} & ^{(266)} \\
+\cline{1-9}
+\multicolumn{18}{c}{ } \\ \cline{3-17}
+\multicolumn{2}{c|}{ } & _{57} & _{58} & _{59} & _{60} & _{61}
+& _{62} & _{63} & _{64} & _{65} & _{66} & _{67} & _{68} & _{69}
+& _{70} & _{71} \\
+\multicolumn{2}{c|}{ } & \La &
+\Ce & \Pr & \Nd & \Pm & \Sm & \Eu & \Gd & \Tb & \Dy & \Ho & \Er & \Tm &
+\Yb & \Lu \\
+\multicolumn{2}{c|}{ } & ^{138.9055} & ^{140.115} &
+^{140.90765} & ^{144.24} & ^{(145)} & ^{150.36} & ^{151.965} &
+^{157.25} & ^{158.92534} & ^{162.50} & ^{164.93032} &
+^{167.26} & ^{168.93421} & ^{173.04} & ^{174.967} \\ \cline{3-17}
+\multicolumn{2}{c|}{ } & _{89} &
+_{90} & _{91} & _{92} & _{93} & _{94} & _{95} &
+_{96} & _{97} & _{98} & _{99} & _{100} &
+_{101} & _{102} & _{103} \\
+\multicolumn{2}{c|}{ } & \Ac &
+\Th & \Pa & \U & \Np & \Pu & \Am & \Cm & \Bk & \Cf & \Es & \Fm &
+\Md & \No & \Lr \\
+\multicolumn{2}{c|}{ } & ^{(227)} & ^{(232.0381)}& ^{(231.03588)} &
+^{(238.0289)}& ^{(237)} & ^{(239)} & ^{(243)} & ^{(247)} &
+^{(247)} & ^{(251)} & ^{(252)} & ^{(257)} & ^{(258)} &
+^{(259)} & ^{(262)} \\ \cline{3-17}
+\multicolumn{18}{c}{ } \\[5mm]
+\multicolumn{1}{r}{$^\ast$} &
+\multicolumn{17}{l}{Relative atomic mass based on
+$A_{\mathrm{r}}(^{12}\C )\equiv 12$ (after IUPAC ``Atomic Weights
+of the Elements 1993'', \textit{Pure and Applied Chemistry,}
+\textbf{1994,} \textsl{66}(12), 2423-} \\
+\multicolumn{1}{c}{{ }} &
+\multicolumn{17}{l}{2444). For elements which lack stable isotope(s) is
+the mass number for the most stable isotope given in parentheses,
+or for \Th, \Pa{} and \U{} the relative }\\
+\multicolumn{1}{c}{{ }} &
+\multicolumn{17}{l}{atomic mass given by IUPAC for the isotopic mixture
+present on Earth. } \\
+\multicolumn{1}{r}{$^{\ast\ast}$} &
+\multicolumn{17}{l}{Chemical symbols for elements 104 -- 109
+according to IUPAC ``Names and Symbols of Transfermium Elements
+(IUPAC Recommendations 1997)'', \textit{Pure} } \\
+\multicolumn{1}{c}{{ }} &
+\multicolumn{17}{l}{\textit{and Applied Chemistry,}
+\textbf{1997,} \textsl{69}(12), 2471-2473.} \\
+\multicolumn{18}{r}{\scriptsize Copyright \copyright{} 1995 - 1998
+ by Mats Dahlgren.} \\
+\end{tabular}
+\end{sidewaystable}
+\end{document}
+%</periodsyst>
+% \fi
+% \Finale
+%
+\endinput
diff --git a/macros/latex/contrib/chemsym/chemsym.ins b/macros/latex/contrib/chemsym/chemsym.ins
new file mode 100644
index 0000000000..e3eee32fd9
--- /dev/null
+++ b/macros/latex/contrib/chemsym/chemsym.ins
@@ -0,0 +1,58 @@
+%
+% This is file `chemsym.ins', the installation file for the
+% `chemsym' package. Last revised 1998/06/05.
+%
+% Copyright (c) 1995-98 by Mats Dahlgren <matsd@sssk.se>,
+% http://www.homenet.se/matsd/ . All rights reserved.
+%
+% You may use the `chemsym' package freely, but at your own
+% risk. The author of chemsym.dtx and chemsym.ins (the
+% complete `chemsym' package distribution) can not be held
+% responsible for any consequence of your using any of these
+% files, or files created from these, including hardware,
+% software, and data damage. You may not make any changes to
+% the files chemsym.dtx or chemsym.ins. You may incorporate
+% the code from these files in other files under different
+% names, provided the original author is given full credit for
+% his work and that you yourself take the complaints from the
+% user(s) of your file(s). You may freely distribute the
+% files chemsym.dtx and chemsym.ins, provided: 1. You do not
+% charge money for the distribution or use of these files except
+% for a nominal charge for diskettes and postage; and 2. You
+% always distribute `chemsym.dtx' and `chemsym.ins' together
+% at the same time.
+%
+% For further information, see my LaTeX web page at
+% http://www.homenet.se/matsd/latex/
+%
+\NeedsTeXFormat{LaTeX2e}[1996/12/01]
+\def\batchfile{chemsym.ins}
+\input docstrip.tex
+
+\keepsilent
+\preamble
+
+Copyright (c) 1995-98 by Mats Dahlgren <matsd@sssk.se>.
+All rights reserved. See the file `chemsym.ins' for information
+on how you may (re-)distribute the `chemsym' package files.
+You are not allowed to make any changes to this file without
+explicit permission from the author.
+
+\endpreamble
+
+\generate{\file{chemsym.sty}{\from{chemsym.dtx}{paketkod}}%
+ \file{pertab.tex}{\from{chemsym.dtx}{periodsyst}}}
+
+\Msg{************************************************************}
+\Msg{ }
+\Msg{ To finish the installation you have to move the file}
+\Msg{ `chemsym.sty' into a directory searched by TeX.}
+\Msg{ }
+\Msg{ To type-set the documentation, run the file `chemsym.dtx'}
+\Msg{ through LaTeX. A Periodic table of the elements can be}
+\Msg{ obtained by running `pertab.tex' through LaTeX.}
+\Msg{ }
+\Msg{***********************************************************}
+%%
+%% end of file chemsym.ins
+%%
diff --git a/macros/latex/contrib/chemsym/chemsym.pdf b/macros/latex/contrib/chemsym/chemsym.pdf
new file mode 100644
index 0000000000..0cfbe73580
--- /dev/null
+++ b/macros/latex/contrib/chemsym/chemsym.pdf
Binary files differ