diff options
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/latex/mhchem/README | 8 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/mhchem/mhchem.pdf | bin | 251304 -> 200638 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/mhchem/mhchem.tex | 25 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mhchem/hpstatement.sty | 596 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mhchem/mhchem.sty | 2143 |
5 files changed, 1227 insertions, 1545 deletions
diff --git a/Master/texmf-dist/doc/latex/mhchem/README b/Master/texmf-dist/doc/latex/mhchem/README index 9a85872a4c2..459a989f95d 100644 --- a/Master/texmf-dist/doc/latex/mhchem/README +++ b/Master/texmf-dist/doc/latex/mhchem/README @@ -1,8 +1,8 @@ -The mhchem Bundle 2013-07-02 +The mhchem Bundle 2014-02-01 containing -- mhchem v3.13 -- hpstatement v1.01 +- mhchem v3.15 +- hpstatement v1.00 - rsphrase v3.11 The mhchem package provides commands for typesetting @@ -17,7 +17,7 @@ Risk and Safety (R and S) Phrases that are used to label chemicals. -Copyright 2004-2013 Martin Hensel +Copyright 2004-2014 Martin Hensel This work may be distributed and/or modified under the conditions of the LaTeX Project Public License version 1.3c diff --git a/Master/texmf-dist/doc/latex/mhchem/mhchem.pdf b/Master/texmf-dist/doc/latex/mhchem/mhchem.pdf Binary files differindex 742fcff64d4..80bf7eaa935 100644 --- a/Master/texmf-dist/doc/latex/mhchem/mhchem.pdf +++ b/Master/texmf-dist/doc/latex/mhchem/mhchem.pdf diff --git a/Master/texmf-dist/doc/latex/mhchem/mhchem.tex b/Master/texmf-dist/doc/latex/mhchem/mhchem.tex index 34a1500a3ab..970ec7f0603 100644 --- a/Master/texmf-dist/doc/latex/mhchem/mhchem.tex +++ b/Master/texmf-dist/doc/latex/mhchem/mhchem.tex @@ -1,5 +1,5 @@ %% mhchem.tex -%% Copyright 2004-2013 Martin Hensel +%% Copyright 2004-2014 Martin Hensel % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c @@ -62,7 +62,7 @@ The mhchem Bundle\\[0.3em] \Large\textmd{% Documentation for the Packages\\ - mhchem v3.13,\\% check + mhchem v3.15,\\% check hpstatement v1.01 and\\ rsphrase v3.11}% } @@ -71,7 +71,7 @@ mhchem\makebox[0pt][l]{\textcolor{white}{NOSPAM}}@MartinHensel\makebox[1pt][l]{\textcolor{white}{.}}.de% } \date{% - 2013-07-02% check + 2014-02-01% check } \maketitle @@ -383,6 +383,12 @@ The \macro{bond} \fromversion{3} command allows you to typeset special bonds. \medskip \begin{SideBySideExample}[xrightmargin=5cm] + \ce{A\bond{1}B\bond{2}C\bond{3}D} +\end{SideBySideExample} +\fromversion{3.15} + +\medskip +\begin{SideBySideExample}[xrightmargin=5cm] \ce{A\bond{~}B\bond{~-}C} \end{SideBySideExample} @@ -509,7 +515,7 @@ Similarly, there is a shortcut for using \macro{ce} with reaction arrows: \noindent Use \verb|v| or \verb|(v)| for precipitate (arrow down) and \verb|^| or \verb|(^)| for gas (arrow up), all of them separated by spaces. \medskip -\begin{SideBySideExample}[xrightmargin=5cm] +\begin{SideBySideExample}[xrightmargin=7cm] \ce{SO4^2- + Ba^2+ -> BaSO4 v} \end{SideBySideExample} @@ -807,10 +813,17 @@ Meaning and usage of \macro{bond} changed. \section{Most Recent Changes}% check +\minisec{2014-02-01 mhchem v3.15} +\begin{compactitem} +\item follow the IUPAC Red Book more closely (staggered superscripts, \ce{NO3-}) +\item rewrote large parts using \LaTeX3, needs package expl3 +\item added: \verb|\bond{1}|, \verb|\bond{2}|, \verb|\bond{3}| (because \verb|#| cannot be used in all contexts) +\end{compactitem} + \minisec{2013-06-23 mhchem v3.13} \begin{compactitem} \item compatibility with many more babel languages -\item fraction possible in amounts (\verb|0.5H2O|) +\item fraction possible in amounts (\verb|\ce{0.5H2O}|) \end{compactitem} \minisec{2013-06-17 mhchem v3.12} @@ -1618,7 +1631,7 @@ I adapted the German R and S Phrases to the current (`new') spelling. Therefore, \subsection{Italian} Italian phrases implemented by Lorenzo Vagnarelli. Copy-and-paste-ready. Thanks a lot. \selectlanguage{italian} -\allrsphrases +\allrsphrases[alt42] \selectlanguage{UKenglish} \subsection{Spanish} diff --git a/Master/texmf-dist/tex/latex/mhchem/hpstatement.sty b/Master/texmf-dist/tex/latex/mhchem/hpstatement.sty index 0f58459ecfa..b800b17782b 100644 --- a/Master/texmf-dist/tex/latex/mhchem/hpstatement.sty +++ b/Master/texmf-dist/tex/latex/mhchem/hpstatement.sty @@ -49,8 +49,7 @@ % The statements themselves therefore are not subject to the LPPL. % % -\ProvidesPackage{hpstatement}[2013/07/02 v1.01 H and P statements (mhchem bundle)] -\RequirePackage{babel} +\ProvidesPackage{hpstatement}[2013/06/17 v1.00 H and P statements (mhchem bundle)] \RequirePackage{twoopt} \RequirePackage{ifthen} \RequirePackage{textcomp} @@ -135,13 +134,7 @@ \mhchem@hp@iflanguagename{american}{\mhchem@hp@data@english{#1}{#2}{#3}}{% \mhchem@hp@iflanguagename{UKenglish}{\mhchem@hp@data@english{#1}{#2}{#3}}{% \mhchem@hp@iflanguagename{british}{\mhchem@hp@data@english{#1}{#2}{#3}}{% - \mhchem@hp@iflanguagename{canadian}{\mhchem@hp@data@english{#1}{#2}{#3}}{% - \mhchem@hp@iflanguagename{australian}{\mhchem@hp@data@english{#1}{#2}{#3}}{% - \mhchem@hp@iflanguagename{newzealand}{\mhchem@hp@data@english{#1}{#2}{#3}}{% - % - \mhchem@hp@iflanguagename{ngerman}{\mhchem@hp@data@ngerman{#1}{#2}{#3}}{% - \mhchem@hp@iflanguagename{naustrian}{\mhchem@hp@data@ngerman{#1}{#2}{#3}}{% - }}}}}}}}}}% + }}}}}% } \newcommand*\mhchem@hp@ii[4]{% @@ -236,24 +229,24 @@ \mhchem@hp@ii{#3}{H340.0-0}{H340}{May cause genetic defects \textless{}state route of exposure if it is conclusively proven that no other routes of exposure cause the hazard\textgreater{}.}% \mhchem@hp@ii{#3}{H340-error}{H340}{\PackageError{hpstatement}{Too many arguments.\MessageBreak This statement has an optional text argument.\MessageBreak Please use no argument or exactly one with [].\MessageBreak Or use <number>.0 for the original form}{}}% \mhchem@hp@ii{#3}{H340-0}{H340}{May cause genetic defects.}% -\mhchem@hp@ii{#3}{H340-1}{H340}{May cause genetic defects#1.}% +\mhchem@hp@ii{#3}{H340-1}{H340}{May cause genetic defects #1.}% \mhchem@hp@ii{#3}{H341.0-0}{H341}{Suspected of causing genetic defects \textless{}state route of exposure if it is conclusively proven that no other routes of exposure cause the hazard\textgreater{}.}% \mhchem@hp@ii{#3}{H341-error}{H341}{\PackageError{hpstatement}{Too many arguments.\MessageBreak This statement has an optional text argument.\MessageBreak Please use no argument or exactly one with [].\MessageBreak Or use <number>.0 for the original form}{}}% \mhchem@hp@ii{#3}{H341-0}{H341}{Suspected of causing genetic defects.}% -\mhchem@hp@ii{#3}{H341-1}{H341}{Suspected of causing genetic defects#1.}% +\mhchem@hp@ii{#3}{H341-1}{H341}{Suspected of causing genetic defects #1.}% \mhchem@hp@ii{#3}{H350.0-0}{H350}{May cause cancer \textless{}state route of exposure if it is conclusively proven that no other routes of exposure cause the hazard\textgreater{}.}% \mhchem@hp@ii{#3}{H350-error}{H350}{\PackageError{hpstatement}{Too many arguments.\MessageBreak This statement has an optional text argument.\MessageBreak Please use no argument or exactly one with [].\MessageBreak Or use <number>.0 for the original form}{}}% \mhchem@hp@ii{#3}{H350-0}{H350}{May cause cancer.}% -\mhchem@hp@ii{#3}{H350-1}{H350}{May cause cancer#1.}% +\mhchem@hp@ii{#3}{H350-1}{H350}{May cause cancer #1.}% \mhchem@hp@ii{#3}{H350i-0}{H350i}{May cause cancer by inhalation.}% \mhchem@hp@ii{#3}{H351.0-0}{H351}{Suspected of causing cancer \textless{}state route of exposure if it is conclusively proven that no other routs of exposure cause the hazard\textgreater{}.}% \mhchem@hp@ii{#3}{H351-error}{H351}{\PackageError{hpstatement}{Too many arguments.\MessageBreak This statement has an optional text argument.\MessageBreak Please use no argument or exactly one with [].\MessageBreak Or use <number>.0 for the original form}{}}% \mhchem@hp@ii{#3}{H351-0}{H351}{Suspected of causing cancer.}% -\mhchem@hp@ii{#3}{H351-1}{H351}{Suspected of causing cancer#1.}% +\mhchem@hp@ii{#3}{H351-1}{H351}{Suspected of causing cancer #1.}% \mhchem@hp@ii{#3}{H360.0-0}{H360}{May damage fertility or the unborn child \textless{}state specific effect if known \textgreater{} \textless{}state route of exposure if it is conclusively proven that no other routes of exposure cause the hazard\textgreater{}.}% \mhchem@hp@ii{#3}{H360-error}{H360}{\PackageError{hpstatement}{Too many arguments.\MessageBreak This statement has an optional text argument.\MessageBreak Please use no argument or exactly one with [].\MessageBreak Or use <number>.0 for the original form}{}}% \mhchem@hp@ii{#3}{H360-0}{H360}{May damage fertility or the unborn child.}% -\mhchem@hp@ii{#3}{H360-1}{H360}{May damage fertility or the unborn child#1.}% +\mhchem@hp@ii{#3}{H360-1}{H360}{May damage fertility or the unborn child #1.}% \mhchem@hp@ii{#3}{H360F-0}{H360F}{May damage fertility.}% \mhchem@hp@ii{#3}{H360D-0}{H360D}{May damage the unborn child.}% \mhchem@hp@ii{#3}{H360f-0}{H360f}{Suspected of damaging fertility.}% @@ -265,46 +258,46 @@ \mhchem@hp@ii{#3}{H361.0-0}{H361}{Suspected of damaging fertility or the unborn child \textless{}state specific effect if known\textgreater{} \textless{}state route of exposure if it is conclusively proven that no other routes of exposure cause the hazard\textgreater{}.}% \mhchem@hp@ii{#3}{H361-error}{H361}{\PackageError{hpstatement}{Too many arguments.\MessageBreak This statement has an optional text argument.\MessageBreak Please use no argument or exactly one with [].\MessageBreak Or use <number>.0 for the original form}{}}% \mhchem@hp@ii{#3}{H361-0}{H361}{Suspected of damaging fertility or the unborn child.}% -\mhchem@hp@ii{#3}{H361-1}{H361}{Suspected of damaging fertility or the unborn child#1.}% +\mhchem@hp@ii{#3}{H361-1}{H361}{Suspected of damaging fertility or the unborn child #1.}% \mhchem@hp@ii{#3}{H362-0}{H362}{May cause harm to breast-fed children.}% \mhchem@hp@ii{#3}{H370.0-0}{H370}{Causes damage to organs \textless{}or state all organs affected, if known\textgreater{} \textless{}state route of exposure if it is conclusively proven that no other routes of exposure cause the hazard\textgreater{}.}% \mhchem@hp@ii{#3}{H370-error}{H370}{\PackageError{hpstatement}{This statement has two optional text arguments.\MessageBreak Please specify them with [][]. Or append .0\MessageBreak to the number for the original form}{}}% \mhchem@hp@ii{#3}{H370-0}{H370}{Causes damage to organs.}% \mhchem@hp@ii{#3}{H370-1}{H370}{Causes damage to #1.}% -\mhchem@hp@ii{#3}{H370-2}{H370}{Causes damage to #1#2.}% +\mhchem@hp@ii{#3}{H370-2}{H370}{Causes damage to #1 #2.}% \mhchem@hp@ii{#3}{H371.0-0}{H371}{May cause damage to organs \textless{}or state all organs affected, if known\textgreater{} \textless{}state route of exposure if it is conclusively proven that no other routes of exposure cause the hazard\textgreater{}.}% \mhchem@hp@ii{#3}{H371-error}{H371}{\PackageError{hpstatement}{This statement has two optional text arguments.\MessageBreak Please specify them with [][]. Or append .0\MessageBreak to the number for the original form}{}}% \mhchem@hp@ii{#3}{H371-0}{H371}{May cause damage to organs.}% \mhchem@hp@ii{#3}{H371-1}{H371}{May cause damage to #1.}% -\mhchem@hp@ii{#3}{H371-2}{H371}{May cause damage to #1#2.}% +\mhchem@hp@ii{#3}{H371-2}{H371}{May cause damage to #1 #2.}% \mhchem@hp@ii{#3}{H372.0-0}{H372}{Causes damage to organs \textless{}or state all organs affected, if known\textgreater{} through prolonged or repeated exposure \textless{}state route of exposure if it is conclusively proven that no other routes of exposure cause the hazard\textgreater{}.}% \mhchem@hp@ii{#3}{H372-error}{H372}{\PackageError{hpstatement}{This statement has two optional text arguments.\MessageBreak Please specify them with [][]. Or append .0\MessageBreak to the number for the original form}{}}% \mhchem@hp@ii{#3}{H372-0}{H372}{Causes damage to organs through prolonged or repeated exposure.}% \mhchem@hp@ii{#3}{H372-1}{H372}{Causes damage to #1 through prolonged or repeated exposure.}% -\mhchem@hp@ii{#3}{H372-2}{H372}{Causes damage to #1 through prolonged or repeated exposure#2.}% +\mhchem@hp@ii{#3}{H372-2}{H372}{Causes damage to #1 through prolonged or repeated exposure #2.}% \mhchem@hp@ii{#3}{H373.0-0}{H373}{May cause damage to organs \textless{}or state all organs affected, if known\textgreater{} through prolonged or repeated exposure \textless{}state route of exposure if it is conclusively proven that no other routes of exposure cause the hazard\textgreater{}.}% \mhchem@hp@ii{#3}{H373-error}{H373}{\PackageError{hpstatement}{This statement has two optional text arguments.\MessageBreak Please specify them with [][]. Or append .0\MessageBreak to the number for the original form}{}}% \mhchem@hp@ii{#3}{H373-0}{H373}{May cause damage to organs through prolonged or repeated exposure.}% \mhchem@hp@ii{#3}{H373-1}{H373}{May cause damage to #1 through prolonged or repeated exposure.}% -\mhchem@hp@ii{#3}{H373-2}{H373}{May cause damage to #1 through prolonged or repeated exposure#2.}% -\mhchem@hp@ii{#3}{H300+H310-0}{H300\,+\,\hskip\z@skip{}H310}{Fatal if swallowed or in contact with skin}% -\mhchem@hp@ii{#3}{H300+H330-0}{H300\,+\,\hskip\z@skip{}H330}{Fatal if swallowed or if inhaled}% -\mhchem@hp@ii{#3}{H310+H330-0}{H310\,+\,\hskip\z@skip{}H330}{Fatal in contact with skin or if inhaled}% -\mhchem@hp@ii{#3}{H300+H310+H330-0}{H300\,+\,\hskip\z@skip{}H310\,+\,\hskip\z@skip{}H330}{Fatal if swallowed, in contact with skin or if inhaled}% -\mhchem@hp@ii{#3}{H301+H311-0}{H301\,+\,\hskip\z@skip{}H311}{Toxic if swallowed or in contact with skin}% -\mhchem@hp@ii{#3}{H301+H331-0}{H301\,+\,\hskip\z@skip{}H331}{Toxic if swallowed or if inhaled}% -\mhchem@hp@ii{#3}{H311+H331-0}{H311\,+\,\hskip\z@skip{}H331}{Toxic in contact with skin or if inhaled}% -\mhchem@hp@ii{#3}{H301+H311+H331-0}{H301\,+\,\hskip\z@skip{}H311\,+\,\hskip\z@skip{}H331}{Toxic if swallowed, in contact with skin or if inhaled}% -\mhchem@hp@ii{#3}{H302+H312-0}{H302\,+\,\hskip\z@skip{}H312}{Harmful if swallowed or in contact with skin}% -\mhchem@hp@ii{#3}{H302+H332-0}{H302\,+\,\hskip\z@skip{}H332}{Harmful if swallowed or if inhaled}% -\mhchem@hp@ii{#3}{H312+H332-0}{H312\,+\,\hskip\z@skip{}H332}{Harmful in contact with skin or if inhaled}% -\mhchem@hp@ii{#3}{H301+H312+H332-0}{H301\,+\,\hskip\z@skip{}H312\,+\,\hskip\z@skip{}H332}{Harmful if swallowed, in contact with skin or if inhaled}% +\mhchem@hp@ii{#3}{H373-2}{H373}{May cause damage to #1 through prolonged or repeated exposure #2.}% +\mhchem@hp@ii{#3}{H300+H310-0}{H300\,+\,H310}{Fatal if swallowed or in contact with skin}% +\mhchem@hp@ii{#3}{H300+H330-0}{H300\,+\,H330}{Fatal if swallowed or if inhaled}% +\mhchem@hp@ii{#3}{H310+H330-0}{H310\,+\,H330}{Fatal in contact with skin or if inhaled}% +\mhchem@hp@ii{#3}{H300+H310+H330-0}{H300\,+\,H310\,+\,H330}{Fatal if swallowed, in contact with skin or if inhaled}% +\mhchem@hp@ii{#3}{H301+H311-0}{H301\,+\,H311}{Toxic if swallowed or in contact with skin}% +\mhchem@hp@ii{#3}{H301+H331-0}{H301\,+\,H331}{Toxic if swallowed or if inhaled}% +\mhchem@hp@ii{#3}{H311+H331-0}{H311\,+\,H331}{Toxic in contact with skin or if inhaled}% +\mhchem@hp@ii{#3}{H301+H311+H331-0}{H301\,+\,H311\,+\,H331}{Toxic if swallowed, in contact with skin or if inhaled}% +\mhchem@hp@ii{#3}{H302+H312-0}{H302\,+\,H312}{Harmful if swallowed or in contact with skin}% +\mhchem@hp@ii{#3}{H302+H332-0}{H302\,+\,H332}{Harmful if swallowed or if inhaled}% +\mhchem@hp@ii{#3}{H312+H332-0}{H312\,+\,H332}{Harmful in contact with skin or if inhaled}% +\mhchem@hp@ii{#3}{H301+H312+H332-0}{H301\,+\,H312\,+\,H332}{Harmful if swallowed, in contact with skin or if inhaled}% \mhchem@hp@ii{#3}{H400-0}{H400}{Very toxic to aquatic life.}% \mhchem@hp@ii{#3}{H410-0}{H410}{Very toxic to aquatic life with long lasting effects.}% \mhchem@hp@ii{#3}{H411-0}{H411}{Toxic to aquatic life with long lasting effects.}% \mhchem@hp@ii{#3}{H412-0}{H412}{Harmful to aquatic life with long lasting effects.}% \mhchem@hp@ii{#3}{H413-0}{H413}{May cause long lasting harmful effects to aquatic life.}% -\mhchem@hp@ii{#3}{H420-0}{H420}{Harms public health and the environment by destroying ozone in the upper atmosphere.}% +\mhchem@hp@ii{#3}{H420-0}{H420}{+++}% \mhchem@hp@ii{#3}{P101-0}{P101}{If medical advice is needed, have product container or label at hand.}% \mhchem@hp@ii{#3}{P101.nolabel-error}{P101}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% \mhchem@hp@ii{#3}{P101.nolabel-1}{P101}{If medical advice is needed, have product container or #1 at hand.}% @@ -322,40 +315,36 @@ \mhchem@hp@ii{#3}{P210.3-0}{P210}{Keep away from open flames. -- No smoking.}% \mhchem@hp@ii{#3}{P210.4-0}{P210}{Keep away from hot surfaces. -- No smoking.}% \mhchem@hp@ii{#3}{P211-0}{P211}{Do not spray on an open flame or other ignition source.}% -\mhchem@hp@ii{#3}{P220.0.0-0}{P220}{Keep/Store away from clothing/\textellipsis{}/combustible materials.}% +\mhchem@hp@ii{#3}{P220.0-0}{P220}{Keep/Store away from clothing/\textellipsis/combustible materials.}% \mhchem@hp@ii{#3}{P220-error}{P220}{\PackageError{hpstatement}{Selection and selection/argument missing.\MessageBreak This statement has 1) a mandatory selection\MessageBreak and 2) a selection or text-argument.\MessageBreak Please append .1.1, ... to the number to make a\MessageBreak selection. Or append .1 or .2 with [].\MessageBreak Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{P220.0-error}{P220}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{P220.0.1-1}{P220}{Keep/Store away from #1 materials.}% -\mhchem@hp@ii{#3}{P220.0.2-0}{P220}{Keep/Store away from clothing materials.}% -\mhchem@hp@ii{#3}{P220.0.3-0}{P220}{Keep/Store away from combustible materials.}% -\mhchem@hp@ii{#3}{P220.1.0-0}{P220}{Keep away from clothing/\textellipsis{}/combustible materials.}% +\mhchem@hp@ii{#3}{P220.1.0-0}{P220}{Keep away from clothing/\textellipsis/combustible materials.}% \mhchem@hp@ii{#3}{P220.1-error}{P220}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% \mhchem@hp@ii{#3}{P220.1-1}{P220}{Keep away from #1.}% \mhchem@hp@ii{#3}{P220.1.1-0}{P220}{Keep away from clothing.}% \mhchem@hp@ii{#3}{P220.1.2-0}{P220}{Keep away from combustible materials.}% -\mhchem@hp@ii{#3}{P220.2.0-0}{P220}{Store away from clothing/\textellipsis{}/combustible materials.}% +\mhchem@hp@ii{#3}{P220.2.0-0}{P220}{Store away from clothing/\textellipsis/combustible materials.}% \mhchem@hp@ii{#3}{P220.2-error}{P220}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% \mhchem@hp@ii{#3}{P220.2-1}{P220}{Store away from #1.}% \mhchem@hp@ii{#3}{P220.2.1-0}{P220}{Store away from clothing.}% \mhchem@hp@ii{#3}{P220.2.2-0}{P220}{Store away from combustible materials.}% -\mhchem@hp@ii{#3}{P221.0-0}{P221}{Take any precaution to avoid mixing with combustibles\textellipsis{}}% +\mhchem@hp@ii{#3}{P221.0-0}{P221}{Take any precaution to avoid mixing with combustibles\textellipsis}% \mhchem@hp@ii{#3}{P221-error}{P221}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% \mhchem@hp@ii{#3}{P221-1}{P221}{Take any precaution to avoid mixing with #1.}% \mhchem@hp@ii{#3}{P221.1-0}{P221}{Take any precaution to avoid mixing with combustibles.}% \mhchem@hp@ii{#3}{P222-0}{P222}{Do not allow contact with air.}% \mhchem@hp@ii{#3}{P223-0}{P223}{Keep away from any possible contact with water, because of violent reaction and possible flash fire.}% -\mhchem@hp@ii{#3}{P230.0-0}{P230}{Keep wetted with\textellipsis{}}% +\mhchem@hp@ii{#3}{P230.0-0}{P230}{Keep wetted with\textellipsis}% \mhchem@hp@ii{#3}{P230-error}{P230}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% \mhchem@hp@ii{#3}{P230-1}{P230}{Keep wetted with #1.}% \mhchem@hp@ii{#3}{P231-0}{P231}{Handle under inert gas.}% -\mhchem@hp@ii{#3}{P231+P232-0}{P231\,+\,\hskip\z@skip{}P232}{Handle under inert gas. Protect from moisture.}% +\mhchem@hp@ii{#3}{P231+P232-0}{P231\,+\,P232}{Handle under inert gas. Protect from moisture.}% \mhchem@hp@ii{#3}{P232-0}{P232}{Protect from moisture.}% \mhchem@hp@ii{#3}{P233-0}{P233}{Keep container tightly closed.}% \mhchem@hp@ii{#3}{P234-0}{P234}{Keep only in original container.}% \mhchem@hp@ii{#3}{P235-0}{P235}{Keep cool.}% -\mhchem@hp@ii{#3}{P235+P410-0}{P235\,+\,\hskip\z@skip{}P410}{Keep cool. Protect from sunlight.}% +\mhchem@hp@ii{#3}{P235+P410-0}{P235\,+\,P410}{Keep cool. Protect from sunlight.}% \mhchem@hp@ii{#3}{P240-0}{P240}{Ground/bond container and receiving equipment.}% -\mhchem@hp@ii{#3}{P241.0-0}{P241}{Use explosion-proof electrical/ventilating/lighting/\textellipsis{}/equipment.}% +\mhchem@hp@ii{#3}{P241.0-0}{P241}{Use explosion-proof electrical/ventilating/lighting/\textellipsis/equipment.}% \mhchem@hp@ii{#3}{P241-error}{P241}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% \mhchem@hp@ii{#3}{P241-1}{P241}{Use explosion-proof #1.}% \mhchem@hp@ii{#3}{P241.1-0}{P241}{Use explosion-proof electrical equipment.}% @@ -364,7 +353,7 @@ \mhchem@hp@ii{#3}{P242-0}{P242}{Use only non-sparking tools.}% \mhchem@hp@ii{#3}{P243-0}{P243}{Take precautionary measures against static discharge.}% \mhchem@hp@ii{#3}{P244-0}{P244}{Keep reduction valves free from grease and oil.}% -\mhchem@hp@ii{#3}{P250.0-0}{P250}{Do not subject to grinding/shock/\textellipsis{}/friction.}% +\mhchem@hp@ii{#3}{P250.0-0}{P250}{Do not subject to grinding/shock/\textellipsis/friction.}% \mhchem@hp@ii{#3}{P250-error}{P250}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% \mhchem@hp@ii{#3}{P250-1}{P250}{Do not subject to #1.}% \mhchem@hp@ii{#3}{P250.1-0}{P250}{Do not subject to grinding.}% @@ -387,7 +376,7 @@ \mhchem@hp@ii{#3}{P263-1}{P263}{Avoid contact #1.}% \mhchem@hp@ii{#3}{P263.1-0}{P263}{Avoid contact during pregnancy.}% \mhchem@hp@ii{#3}{P263.2-0}{P263}{Avoid contact while nursing.}% -\mhchem@hp@ii{#3}{P264.0-0}{P264}{Wash \textellipsis{} thoroughly after handling.}% +\mhchem@hp@ii{#3}{P264.0-0}{P264}{Wash \textellipsis thoroughly after handling.}% \mhchem@hp@ii{#3}{P264-error}{P264}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% \mhchem@hp@ii{#3}{P264-1}{P264}{Wash #1 thoroughly after handling.}% \mhchem@hp@ii{#3}{P270-0}{P270}{Do no eat, drink or smoke when using this product.}% @@ -414,49 +403,49 @@ \mhchem@hp@ii{#3}{P284-0}{P284}{Wear respiratory protection.}% \mhchem@hp@ii{#3}{P285-0}{P285}{In case of inadequate ventilation wear respiratory protection.}% \mhchem@hp@ii{#3}{P301-0}{P301}{IF SWALLOWED:}% -\mhchem@hp@ii{#3}{P301+P310-0}{P301\,+\,\hskip\z@skip{}P310}{IF SWALLOWED: Immediately call a POISON CENTER or doctor/physician.}% -\mhchem@hp@ii{#3}{P301+P312-0}{P301\,+\,\hskip\z@skip{}P312}{IF SWALLOWED: Call a POISON CENTER or doctor/physician if you feel unwell.}% -\mhchem@hp@ii{#3}{P301+P330+P331-0}{P301\,+\,\hskip\z@skip{}P330\,+\,\hskip\z@skip{}P331}{IF SWALLOWED: rinse mouth. Do NOT induce vomiting.}% +\mhchem@hp@ii{#3}{P301+P310-0}{P301\,+\,P310}{IF SWALLOWED: Immediately call a POISON CENTER or doctor/physician.}% +\mhchem@hp@ii{#3}{P301+P312-0}{P301\,+\,P312}{IF SWALLOWED: Call a POISON CENTER or doctor/physician if you feel unwell.}% +\mhchem@hp@ii{#3}{P301+P330+P331-0}{P301\,+\,P330\,+\,P331}{IF SWALLOWED: rinse mouth. Do NOT induce vomiting.}% \mhchem@hp@ii{#3}{P302-0}{P302}{IF ON SKIN:}% -\mhchem@hp@ii{#3}{P302+P334.0-0}{P302\,+\,\hskip\z@skip{}P334}{IF ON SKIN: Immerse in cool water/wrap in wet bandages.}% -\mhchem@hp@ii{#3}{P302+P334-error}{P302\,+\,\hskip\z@skip{}P334}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{P302+P334-1}{P302\,+\,\hskip\z@skip{}P334}{IF ON SKIN: #1.}% -\mhchem@hp@ii{#3}{P302+P334.1-0}{P302\,+\,\hskip\z@skip{}P334}{IF ON SKIN: Immerse in cool water.}% -\mhchem@hp@ii{#3}{P302+P334.2-0}{P302\,+\,\hskip\z@skip{}P334}{IF ON SKIN: Wrap in wet bandages.}% -\mhchem@hp@ii{#3}{P302+P350-0}{P302\,+\,\hskip\z@skip{}P350}{IF ON SKIN: Gently wash with plenty of soap and water.}% -\mhchem@hp@ii{#3}{P302+P352-0}{P302\,+\,\hskip\z@skip{}P352}{IF ON SKIN: Wash with plenty of soap and water.}% +\mhchem@hp@ii{#3}{P302+P334.0-0}{P302\,+\,P334}{IF ON SKIN: Immerse in cool water/wrap in wet bandages.}% +\mhchem@hp@ii{#3}{P302+P334-error}{P302\,+\,P334}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% +\mhchem@hp@ii{#3}{P302+P334-1}{P302\,+\,P334}{IF ON SKIN: #1.}% +\mhchem@hp@ii{#3}{P302+P334.1-0}{P302\,+\,P334}{IF ON SKIN: Immerse in cool water.}% +\mhchem@hp@ii{#3}{P302+P334.2-0}{P302\,+\,P334}{IF ON SKIN: Wrap in wet bandages.}% +\mhchem@hp@ii{#3}{P302+P350-0}{P302\,+\,P350}{IF ON SKIN: Gently wash with plenty of soap and water.}% +\mhchem@hp@ii{#3}{P302+P352-0}{P302\,+\,P352}{IF ON SKIN: Wash with plenty of soap and water.}% \mhchem@hp@ii{#3}{P303-0}{P303}{IF ON SKIN (or hair):}% -\mhchem@hp@ii{#3}{P303+P361+P353-0}{P303\,+\,\hskip\z@skip{}P361\,+\,\hskip\z@skip{}P353}{IF ON SKIN (or hair): Remove/Take off immediately all contaminated clothing. Rinse skin with water/shower.}% +\mhchem@hp@ii{#3}{P303+P361+P353-0}{P303\,+\,P361\,+\,P353}{IF ON SKIN (or hair): Remove/Take off immediately all contaminated clothing. Rinse skin with water/shower.}% \mhchem@hp@ii{#3}{P304-0}{P304}{IF INHALED:}% -\mhchem@hp@ii{#3}{P304+P340-0}{P304\,+\,\hskip\z@skip{}P340}{IF INHALED: Remove victim to fresh air and keep at rest in a position comfortable for breathing.}% -\mhchem@hp@ii{#3}{P304+P341-0}{P304\,+\,\hskip\z@skip{}P341}{IF INHALED: If breathing is difficult, remove victim to fresh air and keep at rest in a position comfortable for breathing.}% +\mhchem@hp@ii{#3}{P304+P340-0}{P304\,+\,P340}{IF INHALED: Remove victim to fresh air and keep at rest in a position comfortable for breathing.}% +\mhchem@hp@ii{#3}{P304+P341-0}{P304\,+\,P341}{IF INHALED: If breathing is difficult, remove victim to fresh air and keep at rest in a position comfortable for breathing.}% \mhchem@hp@ii{#3}{P305-0}{P305}{IF IN EYES:}% -\mhchem@hp@ii{#3}{P305+P351+P338-0}{P305\,+\,\hskip\z@skip{}P351\,+\,\hskip\z@skip{}P338}{IF IN EYES: Rinse cautiously with water for several minutes. Remove contact lenses, if present and easy to do. Continue rinsing.}% +\mhchem@hp@ii{#3}{P305+P351+P338-0}{P305\,+\,P351\,+\,P338}{IF IN EYES: Rinse cautiously with water for several minutes. Remove contact lenses, if present and easy to do. Continue rinsing.}% \mhchem@hp@ii{#3}{P306-0}{P306}{IF ON CLOTHING:}% -\mhchem@hp@ii{#3}{P306+P360-0}{P306\,+\,\hskip\z@skip{}P360}{IF ON CLOTHING: rinse immediately contaminated clothing and skin with plenty of water before removing clothes.}% +\mhchem@hp@ii{#3}{P306+P360-0}{P306\,+\,P360}{IF ON CLOTHING: rinse immediately contaminated clothing and skin with plenty of water before removing clothes.}% \mhchem@hp@ii{#3}{P307-0}{P307}{IF exposed:}% -\mhchem@hp@ii{#3}{P307+P311-0}{P307\,+\,\hskip\z@skip{}P311}{IF exposed: Call a POISON CENTER or doctor/physician.}% +\mhchem@hp@ii{#3}{P307+P311-0}{P307\,+\,P311}{IF exposed: Call a POISON CENTER or doctor/physician.}% \mhchem@hp@ii{#3}{P308-0}{P308}{IF exposed or concerned:}% -\mhchem@hp@ii{#3}{P308+P313-0}{P308\,+\,\hskip\z@skip{}P313}{IF exposed or concerned: Get medical advice/attention.}% +\mhchem@hp@ii{#3}{P308+P313-0}{P308\,+\,P313}{IF exposed or concerned: Get medical advice/attention.}% \mhchem@hp@ii{#3}{P309-0}{P309}{IF exposed or if you feel unwell:}% -\mhchem@hp@ii{#3}{P309+P311-0}{P309\,+\,\hskip\z@skip{}P311}{IF exposed or if you feel unwell: Call a POISON CENTER or doctor/physician.}% +\mhchem@hp@ii{#3}{P309+P311-0}{P309\,+\,P311}{IF exposed or if you feel unwell: Call a POISON CENTER or doctor/physician.}% \mhchem@hp@ii{#3}{P310-0}{P310}{Immediately call a POISON CENTER or doctor/physician.}% \mhchem@hp@ii{#3}{P311-0}{P311}{Call a POISON CENTER or doctor/physician.}% \mhchem@hp@ii{#3}{P312-0}{P312}{Call a POISON CENTER or doctor/physician if you feel unwell.}% \mhchem@hp@ii{#3}{P313-0}{P313}{Get medical advice/attention.}% \mhchem@hp@ii{#3}{P314-0}{P314}{Get medical advice/attention if you feel unwell.}% \mhchem@hp@ii{#3}{P315-0}{P315}{Get immediate medical advice/attention.}% -\mhchem@hp@ii{#3}{P320.0-0}{P320}{Specific treatment is urgent (see \textellipsis{} on this label).}% +\mhchem@hp@ii{#3}{P320.0-0}{P320}{Specific treatment is urgent (see \textellipsis on this label).}% \mhchem@hp@ii{#3}{P320-error}{P320}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% \mhchem@hp@ii{#3}{P320-1}{P320}{Specific treatment is urgent (see #1 on this label).}% \mhchem@hp@ii{#3}{P320.nolabel-error}{P320}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% \mhchem@hp@ii{#3}{P320.nolabel-1}{P320}{Specific treatment is urgent (see #1).}% -\mhchem@hp@ii{#3}{P321.0-0}{P321}{Specific treatment (see \textellipsis{} on this label).}% +\mhchem@hp@ii{#3}{P321.0-0}{P321}{Specific treatment (see \textellipsis on this label).}% \mhchem@hp@ii{#3}{P321-error}{P321}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% \mhchem@hp@ii{#3}{P321-1}{P321}{Specific treatment (see #1 on this label).}% \mhchem@hp@ii{#3}{P321.nolabel-error}{P321}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% \mhchem@hp@ii{#3}{P321.nolabel-1}{P321}{Specific treatment (see #1).}% -\mhchem@hp@ii{#3}{P322.0-0}{P322}{Specific measures (see \textellipsis{} on this label).}% +\mhchem@hp@ii{#3}{P322.0-0}{P322}{Specific measures (see \textellipsis on this label).}% \mhchem@hp@ii{#3}{P322-error}{P322}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% \mhchem@hp@ii{#3}{P322-1}{P322}{Specific measures (see #1 on this label).}% \mhchem@hp@ii{#3}{P322.nolabel-error}{P322}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% @@ -464,26 +453,26 @@ \mhchem@hp@ii{#3}{P330-0}{P330}{Rinse mouth.}% \mhchem@hp@ii{#3}{P331-0}{P331}{Do NOT induce vomiting.}% \mhchem@hp@ii{#3}{P332-0}{P332}{If skin irritation occurs:}% -\mhchem@hp@ii{#3}{P332+P313-0}{P332\,+\,\hskip\z@skip{}P313}{If skin irritation occurs: Get medical advice/attention.}% +\mhchem@hp@ii{#3}{P332+P313-0}{P332\,+\,P313}{If skin irritation occurs: Get medical advice/attention.}% \mhchem@hp@ii{#3}{P333-0}{P333}{If skin irritation or rash occurs:}% -\mhchem@hp@ii{#3}{P333+P313-0}{P333\,+\,\hskip\z@skip{}P313}{If skin irritation or rash occurs: Get medical advice/attention.}% +\mhchem@hp@ii{#3}{P333+P313-0}{P333\,+\,P313}{If skin irritation or rash occurs: Get medical advice/attention.}% \mhchem@hp@ii{#3}{P334.0-0}{P334}{Immerse in cool water/wrap in wet bandages.}% \mhchem@hp@ii{#3}{P334-error}{P334}{\PackageError{hpstatement}{Selection missing.\MessageBreak This statement requires a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or use .0 for the original form}{}}% \mhchem@hp@ii{#3}{P334.1-0}{P334}{Immerse in cool water.}% \mhchem@hp@ii{#3}{P334.2-0}{P334}{Wrap in wet bandages.}% \mhchem@hp@ii{#3}{P335-0}{P335}{Brush off loose particles from skin.}% -\mhchem@hp@ii{#3}{P335+P334.0-0}{P335\,+\,\hskip\z@skip{}P334}{Brush off loose particles from skin. Immerse in cool water/wrap in wet bandages.}% -\mhchem@hp@ii{#3}{P335+P334-error}{P335\,+\,\hskip\z@skip{}P334}{\PackageError{hpstatement}{Selection missing.\MessageBreak This statement requires a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{P335+P334.1-0}{P335\,+\,\hskip\z@skip{}P334}{Brush off loose particles from skin. Immerse in cool water.}% -\mhchem@hp@ii{#3}{P335+P334.2-0}{P335\,+\,\hskip\z@skip{}P334}{Brush off loose particles from skin. Wrap in wet bandages.}% +\mhchem@hp@ii{#3}{P335+P334.0-0}{P335\,+\,P334}{Brush off loose particles from skin. Immerse in cool water/wrap in wet bandages.}% +\mhchem@hp@ii{#3}{P335+P334-error}{P335\,+\,P334}{\PackageError{hpstatement}{Selection missing.\MessageBreak This statement requires a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or use .0 for the original form}{}}% +\mhchem@hp@ii{#3}{P335+P334.1-0}{P335\,+\,P334}{Brush off loose particles from skin. Immerse in cool water.}% +\mhchem@hp@ii{#3}{P335+P334.2-0}{P335\,+\,P334}{Brush off loose particles from skin. Wrap in wet bandages.}% \mhchem@hp@ii{#3}{P336-0}{P336}{Thaw frosted parts with lukewarm water. Do no rub affected area.}% \mhchem@hp@ii{#3}{P337-0}{P337}{If eye irritation persists:}% -\mhchem@hp@ii{#3}{P337+P313-0}{P337\,+\,\hskip\z@skip{}P313}{If eye irritation persists: Get medical advice/attention.}% +\mhchem@hp@ii{#3}{P337+P313-0}{P337\,+\,P313}{If eye irritation persists: Get medical advice/attention.}% \mhchem@hp@ii{#3}{P338-0}{P338}{Remove contact lenses, if present and easy to do. Continue rinsing.}% \mhchem@hp@ii{#3}{P340-0}{P340}{Remove victim to fresh air and keep at rest in a position comfortable for breathing.}% \mhchem@hp@ii{#3}{P341-0}{P341}{If breathing is difficult, remove victim to fresh air and keep at rest in a position comfortable for breathing.}% \mhchem@hp@ii{#3}{P342-0}{P342}{If experiencing respiratory symptoms:}% -\mhchem@hp@ii{#3}{P342+P311-0}{P342\,+\,\hskip\z@skip{}P311}{If experiencing respiratory symptoms: Call a POISON CENTER or doctor/physician.}% +\mhchem@hp@ii{#3}{P342+P311-0}{P342\,+\,P311}{If experiencing respiratory symptoms: Call a POISON CENTER or doctor/physician.}% \mhchem@hp@ii{#3}{P350-0}{P350}{Gently wash with plenty of soap and water.}% \mhchem@hp@ii{#3}{P351-0}{P351}{Rinse cautiously with water for several minutes.}% \mhchem@hp@ii{#3}{P352-0}{P352}{Wash with plenty of soap and water.}% @@ -493,469 +482,66 @@ \mhchem@hp@ii{#3}{P362-0}{P362}{Take off contaminated clothing and wash before reuse.}% \mhchem@hp@ii{#3}{P363-0}{P363}{Wash contaminated clothing before reuse.}% \mhchem@hp@ii{#3}{P370-0}{P370}{In case of fire:}% -\mhchem@hp@ii{#3}{P370+P376-0}{P370\,+\,\hskip\z@skip{}P376}{In case of fire: Stop leak if safe to do so.}% -\mhchem@hp@ii{#3}{P370+P378.0-0}{P370\,+\,\hskip\z@skip{}P378}{In case of fire: Use \textellipsis{} for extinction.}% -\mhchem@hp@ii{#3}{P370+P378-error}{P370\,+\,\hskip\z@skip{}P378}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P370+P378-1}{P370\,+\,\hskip\z@skip{}P378}{In case of fire: Use #1 for extinction.}% -\mhchem@hp@ii{#3}{P370+P380-0}{P370\,+\,\hskip\z@skip{}P380}{In case of fire: Evacuate area.}% -\mhchem@hp@ii{#3}{P370+P380+P375-0}{P370\,+\,\hskip\z@skip{}P380\,+\,\hskip\z@skip{}P375}{In case of fire: Evacuate area. Fight fire remotely due to the risk of explosion.}% +\mhchem@hp@ii{#3}{P370+P376-0}{P370\,+\,P376}{In case of fire: Stop leak if safe to do so.}% +\mhchem@hp@ii{#3}{P370+P378.0-0}{P370\,+\,P378}{In case of fire: Use \textellipsis for extinction.}% +\mhchem@hp@ii{#3}{P370+P378-error}{P370\,+\,P378}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% +\mhchem@hp@ii{#3}{P370+P378-1}{P370\,+\,P378}{In case of fire: Use #1 for extinction.}% +\mhchem@hp@ii{#3}{P370+P380-0}{P370\,+\,P380}{In case of fire: Evacuate area.}% +\mhchem@hp@ii{#3}{P370+P380+P375-0}{P370\,+\,P380\,+\,P375}{In case of fire: Evacuate area. Fight fire remotely due to the risk of explosion.}% \mhchem@hp@ii{#3}{P371-0}{P371}{In case of major fire and large quantities:}% -\mhchem@hp@ii{#3}{P371+P380+P375-0}{P371\,+\,\hskip\z@skip{}P380\,+\,\hskip\z@skip{}P375}{In case of major fire and large quantities: Evacuate area. Fight fire remotely due to the risk of explosion.}% +\mhchem@hp@ii{#3}{P371+P380+P375-0}{P371\,+\,P380\,+\,P375}{In case of major fire and large quantities: Evacuate area. Fight fire remotely due to the risk of explosion.}% \mhchem@hp@ii{#3}{P372-0}{P372}{Explosion risk in case of fire.}% \mhchem@hp@ii{#3}{P373-0}{P373}{DO NOT fight fire when fire reaches explosives.}% \mhchem@hp@ii{#3}{P374-0}{P374}{Fight fire with normal precautions from a reasonable distance.}% \mhchem@hp@ii{#3}{P375-0}{P375}{Fight fire remotely due to the risk of explosion.}% \mhchem@hp@ii{#3}{P376-0}{P376}{Stop leak if safe to do so.}% \mhchem@hp@ii{#3}{P377-0}{P377}{Leaking gas fire: Do not extinguish, unless leak can be stopped safely.}% -\mhchem@hp@ii{#3}{P378.0-0}{P378}{Use \textellipsis{} for extinction.}% +\mhchem@hp@ii{#3}{P378.0-0}{P378}{Use \textellipsis for extinction.}% \mhchem@hp@ii{#3}{P378-error}{P378}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% \mhchem@hp@ii{#3}{P378-1}{P378}{Use #1 for extinction.}% \mhchem@hp@ii{#3}{P380-0}{P380}{Evacuate area.}% \mhchem@hp@ii{#3}{P381-0}{P381}{Eliminate all ignition sources if safe to do so.}% \mhchem@hp@ii{#3}{P390-0}{P390}{Absorb spillage to prevent material damage.}% \mhchem@hp@ii{#3}{P391-0}{P391}{Collect spillage.}% -\mhchem@hp@ii{#3}{P401.0-0}{P401}{Store \textellipsis{}}% +\mhchem@hp@ii{#3}{P401.0-0}{P401}{Store \textellipsis}% \mhchem@hp@ii{#3}{P401-error}{P401}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% \mhchem@hp@ii{#3}{P401-1}{P401}{Store #1.}% \mhchem@hp@ii{#3}{P402-0}{P402}{Store in a dry place.}% -\mhchem@hp@ii{#3}{P402+P404-0}{P402\,+\,\hskip\z@skip{}P404}{Store in a dry place. Store in a closed container.}% +\mhchem@hp@ii{#3}{P402+P404-0}{P402\,+\,P404}{Store in a dry place. Store in a closed container.}% \mhchem@hp@ii{#3}{P403-0}{P403}{Store in a well-ventilated place.}% -\mhchem@hp@ii{#3}{P403+P233-0}{P403\,+\,\hskip\z@skip{}P233}{Store in a well-ventilated place. Keep container tightly closed.}% -\mhchem@hp@ii{#3}{P403+P235-0}{P403\,+\,\hskip\z@skip{}P235}{Store in a well-ventilated place. Keep cool.}% +\mhchem@hp@ii{#3}{P403+P233-0}{P403\,+\,P233}{Store in a well-ventilated place. Keep container tightly closed.}% +\mhchem@hp@ii{#3}{P403+P235-0}{P403\,+\,P235}{Store in a well-ventilated place. Keep cool.}% \mhchem@hp@ii{#3}{P404-0}{P404}{Store in a closed container.}% \mhchem@hp@ii{#3}{P405-0}{P405}{Store locked up.}% -\mhchem@hp@ii{#3}{P406.0-0}{P406}{Store in corrosive resistant/\textellipsis{} container with a resistant inner liner.}% +\mhchem@hp@ii{#3}{P406.0-0}{P406}{Store in corrosive resistant/\textellipsis container with a resistant inner liner.}% \mhchem@hp@ii{#3}{P406-error}{P406}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% \mhchem@hp@ii{#3}{P406-1}{P406}{Store in #1 container with a resistant inner liner.}% \mhchem@hp@ii{#3}{P406.1-0}{P406}{Store in corrosive resistant container with a resistant inner liner.}% \mhchem@hp@ii{#3}{P407-0}{P407}{Maintain air gap between stacks/pallets.}% \mhchem@hp@ii{#3}{P410-0}{P410}{Protect from sunlight.}% -\mhchem@hp@ii{#3}{P410+P403-0}{P410\,+\,\hskip\z@skip{}P403}{Protect from sunlight. Store in a well-ventilated place.}% -\mhchem@hp@ii{#3}{P410+P412-0}{P410\,+\,\hskip\z@skip{}P412}{Protect from sunlight. Do no expose to temperatures exceeding 50\textdegree{}C/122\textdegree{}F.}% -\mhchem@hp@ii{#3}{P411.0-0}{P411}{Store at temperatures not exceeding \textellipsis{}\textdegree{}C/\textellipsis{}\textdegree{}F.}% -\mhchem@hp@ii{#3}{P411-error}{P411}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P411-1}{P411}{Store at temperatures not exceeding #1.}% -\mhchem@hp@ii{#3}{P411+P235.0-0}{P411\,+\,\hskip\z@skip{}P235}{Store at temperatures not exceeding \textellipsis{}\textdegree{}C/\textellipsis{}\textdegree{}F. Keep cool.}% -\mhchem@hp@ii{#3}{P411+P235-error}{P411\,+\,\hskip\z@skip{}P235}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P411+P235-1}{P411\,+\,\hskip\z@skip{}P235}{Store at temperatures not exceeding #1. Keep cool.}% +\mhchem@hp@ii{#3}{P410+P403-0}{P410\,+\,P403}{Protect from sunlight. Store in a well-ventilated place.}% +\mhchem@hp@ii{#3}{P410+P412-0}{P410\,+\,P412}{Protect from sunlight. Do no expose to temperatures exceeding 50\textdegree{}C/122\textdegree{}F.}% +\mhchem@hp@ii{#3}{P411-0}{P411}{Store at temperatures not exceeding \textellipsis\textdegree{}C/\textellipsis\textdegree{}F.}% +\mhchem@hp@ii{#3}{P411+P235-0}{P411\,+\,P235}{Store at temperatures not exceeding \textellipsis\textdegree{}C/\textellipsis\textdegree{}F. Keep cool.}% \mhchem@hp@ii{#3}{P412-0}{P412}{Do not expose to temperatures exceeding 50\textdegree{}C/122\textdegree{}F.}% -\mhchem@hp@ii{#3}{P413.0-0}{P413}{Store bulk masses greater than \textellipsis{}\,kg/\textellipsis{}\,lbs at temperatures not exceeding \textellipsis{}\textdegree{}C/\textellipsis{}\textdegree{}F.}% -\mhchem@hp@ii{#3}{P413-error}{P413}{\PackageError{hpstatement}{This statement has two mandatory text arguments.\MessageBreak Please specify them with [][]}{}}% -\mhchem@hp@ii{#3}{P413-2}{P413}{Store bulk masses greater than #1 at temperatures not exceeding #2.}% +\mhchem@hp@ii{#3}{P413.0-0}{P413}{Store bulk masses greater than \textellipsis\,kg/\textellipsis\,lbs at temperatures not exceeding \textellipsis\textdegree{}C/\textellipsis\textdegree{}F.}% +\mhchem@hp@ii{#3}{P413-error}{P413}{\PackageError{hpstatement}{Selection and mandatory arguments missing.\MessageBreak This statement has a mandatory selection. Please\MessageBreak append .1 or .2 to the number (or use .0 for the\MessageBreak original form). Also, supply two arguments with\MessageBreak [][]}{}}% +\mhchem@hp@ii{#3}{P413.1-error}{P413}{\PackageError{hpstatement}{This statement has two mandatory text arguments.\MessageBreak Please specify them with [][]}{}}% +\mhchem@hp@ii{#3}{P413.1-2}{P413}{Store bulk masses greater than #1\,kg at temperatures not exceeding #2\textdegree{}C.}% +\mhchem@hp@ii{#3}{P413.2-error}{P413}{\PackageError{hpstatement}{This statement has two mandatory text arguments.\MessageBreak Please specify them with [][]}{}}% +\mhchem@hp@ii{#3}{P413.2-2}{P413}{Store bulk masses greater than #1\,lbs at temperatures not exceeding #2\textdegree{}F.}% \mhchem@hp@ii{#3}{P420-0}{P420}{Store away from other materials.}% -\mhchem@hp@ii{#3}{P422.0-0}{P422}{Store contents under \textellipsis{}}% +\mhchem@hp@ii{#3}{P422.0-0}{P422}{Store contents under \textellipsis}% \mhchem@hp@ii{#3}{P422-error}{P422}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% \mhchem@hp@ii{#3}{P422-1}{P422}{Store contents under #1.}% -\mhchem@hp@ii{#3}{P501.0.0-0}{P501}{Dispose of contents/container to \textellipsis{}}% +\mhchem@hp@ii{#3}{P501.0.0-0}{P501}{Dispose of contents/container to \textellipsis}% \mhchem@hp@ii{#3}{P501.0-error}{P501}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% \mhchem@hp@ii{#3}{P501.0-1}{P501}{Dispose of contents/container to #1.}% \mhchem@hp@ii{#3}{P501-error}{P501}{\PackageError{hpstatement}{Selection and mandatory argument missing.\MessageBreak This statement has a mandatory selection. Please\MessageBreak append .1 or .2 to the number (or use .0 for the\MessageBreak original form). Also, supply an argument with []\MessageBreak (or use an additional .0 for the original\MessageBreak form)}{}}% -\mhchem@hp@ii{#3}{P501.1.0-0}{P501}{Dispose of contents to \textellipsis{}}% +\mhchem@hp@ii{#3}{P501.1.0-0}{P501}{Dispose of contents to \textellipsis}% \mhchem@hp@ii{#3}{P501.1-error}{P501}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% \mhchem@hp@ii{#3}{P501.1-1}{P501}{Dispose of contents to #1.}% -\mhchem@hp@ii{#3}{P501.2.0-0}{P501}{Dispose of container to \textellipsis{}}% +\mhchem@hp@ii{#3}{P501.2.0-0}{P501}{Dispose of container to \textellipsis}% \mhchem@hp@ii{#3}{P501.2-error}{P501}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% \mhchem@hp@ii{#3}{P501.2-1}{P501}{Dispose of container to #1.}% } -\newcommand*\mhchem@hp@data@ngerman[3]{% -\mhchem@hp@ii{#3}{EUH001-0}{EUH001}{In trockenem Zustand explosionsgef\"a\allowhyphens{}hrlich.}% -\mhchem@hp@ii{#3}{EUH006-0}{EUH006}{Mit und ohne Luft explosionsf\"a\allowhyphens{}hig.}% -\mhchem@hp@ii{#3}{EUH014-0}{EUH014}{Reagiert heftig mit Wasser.}% -\mhchem@hp@ii{#3}{EUH018.0-0}{EUH018}{Kann bei Verwendung explosionsf\"a\allowhyphens{}hige/\hskip\z@skip{}entz\"u\allowhyphens{}ndbare Dampf/\hskip\z@skip{}Luft-Gemische bilden.}% -\mhchem@hp@ii{#3}{EUH018-error}{EUH018}{\PackageError{hpstatement}{Selection missing.\MessageBreak This statement requires a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{EUH018.1-0}{EUH018}{Kann bei Verwendung explosionsf\"a\allowhyphens{}hige Dampf/\hskip\z@skip{}Luft-Gemische bilden.}% -\mhchem@hp@ii{#3}{EUH018.2-0}{EUH018}{Kann bei Verwendung entz\"u\allowhyphens{}ndbare Dampf/\hskip\z@skip{}Luft-Gemische bilden.}% -\mhchem@hp@ii{#3}{EUH019-0}{EUH019}{Kann explosionsf\"a\allowhyphens{}hige Peroxide bilden.}% -\mhchem@hp@ii{#3}{EUH029-0}{EUH029}{Entwickelt bei Ber\"u\allowhyphens{}hrung mit Wasser giftige Gase.}% -\mhchem@hp@ii{#3}{EUH031-0}{EUH031}{Entwickelt bei Ber\"u\allowhyphens{}hrung mit S\"a\allowhyphens{}ure giftige Gase.}% -\mhchem@hp@ii{#3}{EUH032-0}{EUH032}{Entwickelt bei Ber\"u\allowhyphens{}hrung mit S\"a\allowhyphens{}ure sehr giftige Gase.}% -\mhchem@hp@ii{#3}{EUH044-0}{EUH044}{Explosionsgefahr bei Erhitzen unter Einschluss.}% -\mhchem@hp@ii{#3}{EUH059-0}{EUH059}{Die Ozonschicht sch\"a\allowhyphens{}digend.}% -\mhchem@hp@ii{#3}{EUH066-0}{EUH066}{Wiederholter Kontakt kann zu spr\"o\allowhyphens{}der oder rissiger Haut f\"u\allowhyphens{}hren.}% -\mhchem@hp@ii{#3}{EUH070-0}{EUH070}{Giftig bei Ber\"u\allowhyphens{}hrung mit den Augen.}% -\mhchem@hp@ii{#3}{EUH071-0}{EUH071}{Wirkt \"a\allowhyphens{}tzend auf die Atemwege.}% -\mhchem@hp@ii{#3}{EUH201-0}{EUH201}{Enth\"a\allowhyphens{}lt Blei. Nicht f\"u\allowhyphens{}r den Anstrich von Gegenst\"a\allowhyphens{}nden verwenden, die von Kindern gekaut oder gelutscht werden k\"o\allowhyphens{}nnten.}% -\mhchem@hp@ii{#3}{EUH201A-0}{EUH201A}{Achtung! Enth\"a\allowhyphens{}lt Blei.}% -\mhchem@hp@ii{#3}{EUH202-0}{EUH202}{Cyanacrylat. Gefahr. Klebt innerhalb von Sekunden Haut und Augenlider zusammen. Darf nicht in die H\"a\allowhyphens{}nde von Kindern gelangen.}% -\mhchem@hp@ii{#3}{EUH203-0}{EUH203}{Enth\"a\allowhyphens{}lt Chrom (VI). Kann allergische Reaktionen hervorrufen.}% -\mhchem@hp@ii{#3}{EUH204-0}{EUH204}{Enth\"a\allowhyphens{}lt Isocyanate. Kann allergische Reaktionen hervorrufen.}% -\mhchem@hp@ii{#3}{EUH205-0}{EUH205}{Enth\"a\allowhyphens{}lt epoxidhaltige Verbindungen. Kann allergische Reaktionen hervorrufen.}% -\mhchem@hp@ii{#3}{EUH206-0}{EUH206}{Achtung! Nicht zusammen mit anderen Produkten verwenden, da gef\"a\allowhyphens{}hrliche Gase (Chlor) freigesetzt werden k\"o\allowhyphens{}nnen.}% -\mhchem@hp@ii{#3}{EUH207-0}{EUH207}{Achtung! Enth\"a\allowhyphens{}lt Cadmium. Bei der Verwendung entstehen gef\"a\allowhyphens{}hrliche D\"a\allowhyphens{}mpfe. Hinweise des Herstellers beachten. Sicherheitsanweisungen einhalten.}% -\mhchem@hp@ii{#3}{EUH208.0-0}{EUH208}{Enth\"a\allowhyphens{}lt \textless{}Name des sensibilisierenden Stoffes\textgreater{}. Kann allergische Reaktionen hervorrufen.}% -\mhchem@hp@ii{#3}{EUH208-error}{EUH208}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{EUH208-1}{EUH208}{Enth\"a\allowhyphens{}lt #1. Kann allergische Reaktionen hervorrufen.}% -\mhchem@hp@ii{#3}{EUH209-0}{EUH209}{Kann bei Verwendung leicht entz\"u\allowhyphens{}ndbar werden.}% -\mhchem@hp@ii{#3}{EUH209A-0}{EUH209A}{Kann bei Verwendung entz\"u\allowhyphens{}ndbar werden.}% -\mhchem@hp@ii{#3}{EUH210-0}{EUH210}{Sicherheitsdatenblatt auf Anfrage erh\"a\allowhyphens{}ltlich.}% -\mhchem@hp@ii{#3}{EUH401-0}{EUH401}{Zur Vermeidung von Risiken f\"u\allowhyphens{}r Mensch und Umwelt die Gebrauchsanleitung einhalten.}% -\mhchem@hp@ii{#3}{H200-0}{H200}{Instabil, explosiv.}% -\mhchem@hp@ii{#3}{H201-0}{H201}{Explosiv, Gefahr der Massenexplosion.}% -\mhchem@hp@ii{#3}{H202-0}{H202}{Explosiv; gro\ss{}e Gefahr durch Splitter, Spreng- und Wurfst\"u\allowhyphens{}cke.}% -\mhchem@hp@ii{#3}{H203-0}{H203}{Explosiv; Gefahr durch Feuer, Luftdruck oder Splitter, Spreng- und Wurfst\"u\allowhyphens{}cke.}% -\mhchem@hp@ii{#3}{H204-0}{H204}{Gefahr durch Feuer oder Splitter, Spreng- und Wurfst\"u\allowhyphens{}cke.}% -\mhchem@hp@ii{#3}{H205-0}{H205}{Gefahr der Massenexplosion bei Feuer.}% -\mhchem@hp@ii{#3}{H220-0}{H220}{Extrem entz\"u\allowhyphens{}ndbares Gas.}% -\mhchem@hp@ii{#3}{H221-0}{H221}{Entz\"u\allowhyphens{}ndbares Gas.}% -\mhchem@hp@ii{#3}{H222-0}{H222}{Extrem entz\"u\allowhyphens{}ndbares Aerosol.}% -\mhchem@hp@ii{#3}{H223-0}{H223}{Entz\"u\allowhyphens{}ndbares Aerosol.}% -\mhchem@hp@ii{#3}{H224-0}{H224}{Fl\"u\allowhyphens{}ssigkeit und Dampf extrem entz\"u\allowhyphens{}ndbar.}% -\mhchem@hp@ii{#3}{H225-0}{H225}{Fl\"u\allowhyphens{}ssigkeit und Dampf leicht entz\"u\allowhyphens{}ndbar.}% -\mhchem@hp@ii{#3}{H226-0}{H226}{Fl\"u\allowhyphens{}ssigkeit und Dampf entz\"u\allowhyphens{}ndbar.}% -\mhchem@hp@ii{#3}{H228-0}{H228}{Entz\"u\allowhyphens{}ndbarer Feststoff.}% -\mhchem@hp@ii{#3}{H240-0}{H240}{Erw\"a\allowhyphens{}rmung kann Explosion verursachen.}% -\mhchem@hp@ii{#3}{H241-0}{H241}{Erw\"a\allowhyphens{}rmung kann Brand oder Explosion verursachen.}% -\mhchem@hp@ii{#3}{H242-0}{H242}{Erw\"a\allowhyphens{}rmung kann Brand verursachen.}% -\mhchem@hp@ii{#3}{H250-0}{H250}{Entz\"u\allowhyphens{}ndet sich in Ber\"u\allowhyphens{}hrung mit Luft von selbst.}% -\mhchem@hp@ii{#3}{H251-0}{H251}{Selbsterhitzungsf\"a\allowhyphens{}hig; kann in Brand geraten.}% -\mhchem@hp@ii{#3}{H252-0}{H252}{In gro\ss{}en Mengen selbsterhitzungsf\"a\allowhyphens{}hig; kann in Brand geraten.}% -\mhchem@hp@ii{#3}{H260-0}{H260}{In Ber\"u\allowhyphens{}hrung mit Wasser entstehen entz\"u\allowhyphens{}ndbare Gase, die sich spontan entz\"u\allowhyphens{}nden k\"o\allowhyphens{}nnen.}% -\mhchem@hp@ii{#3}{H261-0}{H261}{In Ber\"u\allowhyphens{}hrung mit Wasser entstehen entz\"u\allowhyphens{}ndbare Gase.}% -\mhchem@hp@ii{#3}{H270-0}{H270}{Kann Brand verursachen oder verst\"a\allowhyphens{}rken; Oxidationsmittel.}% -\mhchem@hp@ii{#3}{H271-0}{H271}{Kann Brand oder Explosion verursachen; starkes Oxidationsmittel.}% -\mhchem@hp@ii{#3}{H272-0}{H272}{Kann Brand verst\"a\allowhyphens{}rken; Oxidationsmittel.}% -\mhchem@hp@ii{#3}{H280-0}{H280}{Enth\"a\allowhyphens{}lt Gas unter Druck; kann bei Erw\"a\allowhyphens{}rmung explodieren.}% -\mhchem@hp@ii{#3}{H281-0}{H281}{Enth\"a\allowhyphens{}lt tiefkaltes Gas; kann K\"a\allowhyphens{}lteverbrennungen oder -Verletzungen verursachen.}% -\mhchem@hp@ii{#3}{H290-0}{H290}{Kann gegen\"u\allowhyphens{}ber Metallen korrosiv sein.}% -\mhchem@hp@ii{#3}{H300-0}{H300}{Lebensgefahr bei Verschlucken.}% -\mhchem@hp@ii{#3}{H301-0}{H301}{Giftig bei Verschlucken.}% -\mhchem@hp@ii{#3}{H302-0}{H302}{Gesundheitssch\"a\allowhyphens{}dlich bei Verschlucken.}% -\mhchem@hp@ii{#3}{H304-0}{H304}{Kann bei Verschlucken und Eindringen in die Atemwege t\"o\allowhyphens{}dlich sein.}% -\mhchem@hp@ii{#3}{H310-0}{H310}{Lebensgefahr bei Hautkontakt.}% -\mhchem@hp@ii{#3}{H311-0}{H311}{Giftig bei Hautkontakt.}% -\mhchem@hp@ii{#3}{H312-0}{H312}{Gesundheitssch\"a\allowhyphens{}dlich bei Hautkontakt.}% -\mhchem@hp@ii{#3}{H314-0}{H314}{Verursacht schwere Ver\"a\allowhyphens{}tzungen der Haut und schwere Augensch\"a\allowhyphens{}den.}% -\mhchem@hp@ii{#3}{H315-0}{H315}{Verursacht Hautreizungen.}% -\mhchem@hp@ii{#3}{H317-0}{H317}{Kann allergische Hautreaktionen verursachen.}% -\mhchem@hp@ii{#3}{H318-0}{H318}{Verursacht schwere Augensch\"a\allowhyphens{}den.}% -\mhchem@hp@ii{#3}{H319-0}{H319}{Verursacht schwere Augenreizung.}% -\mhchem@hp@ii{#3}{H330-0}{H330}{Lebensgefahr bei Einatmen.}% -\mhchem@hp@ii{#3}{H331-0}{H331}{Giftig bei Einatmen.}% -\mhchem@hp@ii{#3}{H332-0}{H332}{Gesundheitssch\"a\allowhyphens{}dlich bei Einatmen.}% -\mhchem@hp@ii{#3}{H334-0}{H334}{Kann bei Einatmen Allergie, asthmaartige Symptome oder Atembeschwerden verursachen.}% -\mhchem@hp@ii{#3}{H335-0}{H335}{Kann die Atemwege reizen.}% -\mhchem@hp@ii{#3}{H336-0}{H336}{Kann Schl\"a\allowhyphens{}frigkeit und Benommenheit verursachen.}% -\mhchem@hp@ii{#3}{H340.0-0}{H340}{Kann genetische Defekte verursachen \textless{}Expositionsweg angeben, sofern schl\"u\allowhyphens{}ssig belegt ist, dass diese Gefahr bei keinem anderen Expositionsweg besteht\textgreater{}.}% -\mhchem@hp@ii{#3}{H340-error}{H340}{\PackageError{hpstatement}{Too many arguments.\MessageBreak This statement has an optional text argument.\MessageBreak Please use no argument or exactly one with [].\MessageBreak Or use <number>.0 for the original form}{}}% -\mhchem@hp@ii{#3}{H340-0}{H340}{Kann genetische Defekte verursachen.}% -\mhchem@hp@ii{#3}{H340-1}{H340}{Kann genetische Defekte verursachen#1.}% -\mhchem@hp@ii{#3}{H341.0-0}{H341}{Kann vermutlich genetische Defekte verursachen \textless{}Expositionsweg angeben, sofern schl\"u\allowhyphens{}ssig belegt ist, dass diese Gefahr bei keinem anderen Expositionsweg besteht\textgreater{}.}% -\mhchem@hp@ii{#3}{H341-error}{H341}{\PackageError{hpstatement}{Too many arguments.\MessageBreak This statement has an optional text argument.\MessageBreak Please use no argument or exactly one with [].\MessageBreak Or use <number>.0 for the original form}{}}% -\mhchem@hp@ii{#3}{H341-0}{H341}{Kann vermutlich genetische Defekte verursachen.}% -\mhchem@hp@ii{#3}{H341-1}{H341}{Kann vermutlich genetische Defekte verursachen#1.}% -\mhchem@hp@ii{#3}{H350.0-0}{H350}{Kann Krebs erzeugen \textless{}Expositionsweg angeben, sofern schl\"u\allowhyphens{}ssig belegt ist, dass diese Gefahr bei keinem anderen Expositionsweg besteht\textgreater{}.}% -\mhchem@hp@ii{#3}{H350-error}{H350}{\PackageError{hpstatement}{Too many arguments.\MessageBreak This statement has an optional text argument.\MessageBreak Please use no argument or exactly one with [].\MessageBreak Or use <number>.0 for the original form}{}}% -\mhchem@hp@ii{#3}{H350-0}{H350}{Kann Krebs erzeugen.}% -\mhchem@hp@ii{#3}{H350-1}{H350}{Kann Krebs erzeugen#1.}% -\mhchem@hp@ii{#3}{H350i-0}{H350i}{Kann bei Einatmen Krebs erzeugen.}% -\mhchem@hp@ii{#3}{H351.0-0}{H351}{Kann vermutlich Krebs erzeugen \textless{}Expositionsweg angeben, sofern schl\"u\allowhyphens{}ssig belegt ist, dass diese Gefahr bei keinem anderen Expositionsweg besteht\textgreater{}.}% -\mhchem@hp@ii{#3}{H351-error}{H351}{\PackageError{hpstatement}{Too many arguments.\MessageBreak This statement has an optional text argument.\MessageBreak Please use no argument or exactly one with [].\MessageBreak Or use <number>.0 for the original form}{}}% -\mhchem@hp@ii{#3}{H351-0}{H351}{Kann vermutlich Krebs erzeugen.}% -\mhchem@hp@ii{#3}{H351-1}{H351}{Kann vermutlich Krebs erzeugen#1.}% -\mhchem@hp@ii{#3}{H360.0-0}{H360}{Kann die Fruchtbarkeit beeintr\"a\allowhyphens{}chtigen oder das Kind im Mutterleib sch\"a\allowhyphens{}digen \textless{}konkrete Wirkung angeben, sofern bekannt\textgreater{} \textless{}Expositionsweg angeben, sofern schl\"u\allowhyphens{}ssig belegt ist, dass die Gefahr bei keinem anderen Expositionsweg besteht\textgreater{}.}% -\mhchem@hp@ii{#3}{H360-error}{H360}{\PackageError{hpstatement}{Too many arguments.\MessageBreak This statement has an optional text argument.\MessageBreak Please use no argument or exactly one with [].\MessageBreak Or use <number>.0 for the original form}{}}% -\mhchem@hp@ii{#3}{H360-0}{H360}{Kann die Fruchtbarkeit beeintr\"a\allowhyphens{}chtigen oder das Kind im Mutterleib sch\"a\allowhyphens{}digen.}% -\mhchem@hp@ii{#3}{H360-1}{H360}{Kann die Fruchtbarkeit beeintr\"a\allowhyphens{}chtigen oder das Kind im Mutterleib sch\"a\allowhyphens{}digen#1.}% -\mhchem@hp@ii{#3}{H360F-0}{H360F}{Kann die Fruchtbarkeit beeintr\"a\allowhyphens{}chtigen.}% -\mhchem@hp@ii{#3}{H360D-0}{H360D}{Kann das Kind im Mutterleib sch\"a\allowhyphens{}digen.}% -\mhchem@hp@ii{#3}{H360f-0}{H360f}{Kann vermutlich die Fruchtbarkeit beeintr\"a\allowhyphens{}chtigen.}% -\mhchem@hp@ii{#3}{H360d-0}{H360d}{Kann vermutlich das Kind im Mutterleib sch\"a\allowhyphens{}digen.}% -\mhchem@hp@ii{#3}{H360FD-0}{H360FD}{Kann die Fruchtbarkeit beeintr\"a\allowhyphens{}chtigen. Kann das Kind im Mutterleib sch\"a\allowhyphens{}digen.}% -\mhchem@hp@ii{#3}{H360fd-0}{H360fd}{Kann vermutlich die Fruchtbarkeit beeintr\"a\allowhyphens{}chtigen. Kann vermutlich das Kind im Mutterleib sch\"a\allowhyphens{}digen.}% -\mhchem@hp@ii{#3}{H360Fd-0}{H360Fd}{Kann die Fruchtbarkeit beeintr\"a\allowhyphens{}chtigen. Kann vermutlich das Kind im Mutterleib sch\"a\allowhyphens{}digen.}% -\mhchem@hp@ii{#3}{H360Df-0}{H360Df}{Kann das Kind im Mutterleib sch\"a\allowhyphens{}digen. Kann vermutlich die Fruchtbarkeit beeintr\"a\allowhyphens{}chtigen.}% -\mhchem@hp@ii{#3}{H361.0-0}{H361}{Kann vermutlich die Fruchtbarkeit beeintr\"a\allowhyphens{}chtigen oder das Kind im Mutterleib sch\"a\allowhyphens{}digen \textless{} konkrete Wirkung angebe, n sofern bekannt \textgreater{} \textless{}Expositionsweg angeben, sofern schl\"u\allowhyphens{}ssig belegt ist, dass die Gefahr bei keinem anderen Expositionsweg besteht\textgreater{}.}% -\mhchem@hp@ii{#3}{H361-error}{H361}{\PackageError{hpstatement}{Too many arguments.\MessageBreak This statement has an optional text argument.\MessageBreak Please use no argument or exactly one with [].\MessageBreak Or use <number>.0 for the original form}{}}% -\mhchem@hp@ii{#3}{H361-0}{H361}{Kann vermutlich die Fruchtbarkeit beeintr\"a\allowhyphens{}chtigen oder das Kind im Mutterleib sch\"a\allowhyphens{}digen.}% -\mhchem@hp@ii{#3}{H361-1}{H361}{Kann vermutlich die Fruchtbarkeit beeintr\"a\allowhyphens{}chtigen oder das Kind im Mutterleib sch\"a\allowhyphens{}digen#1}% -\mhchem@hp@ii{#3}{H362-0}{H362}{Kann S\"a\allowhyphens{}uglinge \"u\allowhyphens{}ber die Muttermilch sch\"a\allowhyphens{}digen.}% -\mhchem@hp@ii{#3}{H370.0-0}{H370}{Sch\"a\allowhyphens{}digt die Organe \textless{}oder alle betroffenen Organe nennen, sofern bekannt\textgreater{} \textless{}Expositionsweg angeben, sofern schl\"u\allowhyphens{}ssig belegt ist, dass diese Gefahr bei keinem anderen Expositionsweg besteht\textgreater{}.}% -\mhchem@hp@ii{#3}{H370-error}{H370}{\PackageError{hpstatement}{This statement has two optional text arguments.\MessageBreak Please specify them with [][]. Or append .0\MessageBreak to the number for the original form}{}}% -\mhchem@hp@ii{#3}{H370-0}{H370}{Sch\"a\allowhyphens{}digt die Organe.}% -\mhchem@hp@ii{#3}{H370-1}{H370}{Sch\"a\allowhyphens{}digt #1.}% -\mhchem@hp@ii{#3}{H370-2}{H370}{Sch\"a\allowhyphens{}digt #1#2..}% -\mhchem@hp@ii{#3}{H371.0-0}{H371}{Kann die Organe sch\"a\allowhyphens{}digen \textless{}oder alle betroffenen Organe nennen, sofern bekann\textgreater{} \textless{}Expositionsweg angeben, sofern schl\"u\allowhyphens{}ssig belegt ist, dass diese Gefahr bei keinem anderen Expositionsweg besteht\textgreater{}.}% -\mhchem@hp@ii{#3}{H371-error}{H371}{\PackageError{hpstatement}{This statement has two optional text arguments.\MessageBreak Please specify them with [][]. Or append .0\MessageBreak to the number for the original form}{}}% -\mhchem@hp@ii{#3}{H371-0}{H371}{Kann die Organe sch\"a\allowhyphens{}digen.}% -\mhchem@hp@ii{#3}{H371-1}{H371}{Kann die Organe sch\"a\allowhyphens{}digen #1.}% -\mhchem@hp@ii{#3}{H371-2}{H371}{Kann die Organe sch\"a\allowhyphens{}digen #1#2.}% -\mhchem@hp@ii{#3}{H372.0-0}{H372}{Sch\"a\allowhyphens{}digt die Organe \textless{}alle betroffenen Organe nennen\textgreater{} bei l\"a\allowhyphens{}ngerer oder wiederholter Exposition \textless{}Expositionsweg angeben, wenn schl\"u\allowhyphens{}ssig belegt ist, dass diese Gefahr bei keinem anderen Expositionsweg besteht\textgreater{}.}% -\mhchem@hp@ii{#3}{H372-error}{H372}{\PackageError{hpstatement}{This statement has two optional text arguments.\MessageBreak Please specify them with [][]. Or append .0\MessageBreak to the number for the original form}{}}% -\mhchem@hp@ii{#3}{H372-0}{H372}{Sch\"a\allowhyphens{}digt die Organe bei l\"a\allowhyphens{}ngerer oder wiederholter Exposition.}% -\mhchem@hp@ii{#3}{H372-1}{H372}{Sch\"a\allowhyphens{}digt #1 bei l\"a\allowhyphens{}ngerer oder wiederholter Exposition.}% -\mhchem@hp@ii{#3}{H372-2}{H372}{Sch\"a\allowhyphens{}digt #1 bei l\"a\allowhyphens{}ngerer oder wiederholter Exposition#2.}% -\mhchem@hp@ii{#3}{H373.0-0}{H373}{Kann die Organe sch\"a\allowhyphens{}digen \textless{}alle betroffenen Organe nennen, sofern bekannt\textgreater{} bei l\"a\allowhyphens{}ngerer oder wiederholter Exposition \textless{}Expositionsweg angeben, wenn schl\"u\allowhyphens{}ssig belegt ist, dass diese Gefahr bei keinem anderen Expositionsweg besteht\textgreater{}.}% -\mhchem@hp@ii{#3}{H373-error}{H373}{\PackageError{hpstatement}{This statement has two optional text arguments.\MessageBreak Please specify them with [][]. Or append .0\MessageBreak to the number for the original form}{}}% -\mhchem@hp@ii{#3}{H373-0}{H373}{Kann die Organe sch\"a\allowhyphens{}digen bei l\"a\allowhyphens{}ngerer oder wiederholter Exposition.}% -\mhchem@hp@ii{#3}{H373-1}{H373}{Kann #1 sch\"a\allowhyphens{}digen bei l\"a\allowhyphens{}ngerer oder wiederholter Exposition.}% -\mhchem@hp@ii{#3}{H373-2}{H373}{Kann #1 sch\"a\allowhyphens{}digen bei l\"a\allowhyphens{}ngerer oder wiederholter Exposition#2.}% -\mhchem@hp@ii{#3}{H300+H310-0}{H300\,+\,\hskip\z@skip{}H310}{Lebensgefahr bei Verschlucken oder Hautkontakt}% -\mhchem@hp@ii{#3}{H300+H330-0}{H300\,+\,\hskip\z@skip{}H330}{Lebensgefahr bei Verschlucken oder Einatmen}% -\mhchem@hp@ii{#3}{H310+H330-0}{H310\,+\,\hskip\z@skip{}H330}{Lebensgefahr bei Hautkontakt oder Einatmen}% -\mhchem@hp@ii{#3}{H300+H310+H330-0}{H300\,+\,\hskip\z@skip{}H310\,+\,\hskip\z@skip{}H330}{Lebensgefahr bei Verschlucken, Hautkontakt oder Einatmen}% -\mhchem@hp@ii{#3}{H301+H311-0}{H301\,+\,\hskip\z@skip{}H311}{Giftig bei Verschlucken oder Hautkontakt}% -\mhchem@hp@ii{#3}{H301+H331-0}{H301\,+\,\hskip\z@skip{}H331}{Giftig bei Verschlucken oder Einatmen}% -\mhchem@hp@ii{#3}{H311+H331-0}{H311\,+\,\hskip\z@skip{}H331}{Giftig bei Hautkontakt oder Einatmen}% -\mhchem@hp@ii{#3}{H301+H311+H331-0}{H301\,+\,\hskip\z@skip{}H311\,+\,\hskip\z@skip{}H331}{Giftig bei Verschlucken, Hautkontakt oder Einatmen}% -\mhchem@hp@ii{#3}{H302+H312-0}{H302\,+\,\hskip\z@skip{}H312}{Gesundheitssch\"a\allowhyphens{}dlich bei Verschlucken oder Hautkontakt}% -\mhchem@hp@ii{#3}{H302+H332-0}{H302\,+\,\hskip\z@skip{}H332}{Gesundheitssch\"a\allowhyphens{}dlich bei Verschlucken oder Einatmen}% -\mhchem@hp@ii{#3}{H312+H332-0}{H312\,+\,\hskip\z@skip{}H332}{Gesundheitssch\"a\allowhyphens{}dlich bei Hautkontakt oder Einatmen}% -\mhchem@hp@ii{#3}{H301+H312+H332-0}{H301\,+\,\hskip\z@skip{}H312\,+\,\hskip\z@skip{}H332}{Gesundheitssch\"a\allowhyphens{}dlich bei Verschlucken, Hautkontakt oder Einatmen}% -\mhchem@hp@ii{#3}{H400-0}{H400}{Sehr giftig f\"u\allowhyphens{}r Wasserorganismen.}% -\mhchem@hp@ii{#3}{H410-0}{H410}{Sehr giftig f\"u\allowhyphens{}r Wasserorganismen mit langfristiger Wirkung.}% -\mhchem@hp@ii{#3}{H411-0}{H411}{Giftig f\"u\allowhyphens{}r Wasserorganismen, mit langfristiger Wirkung.}% -\mhchem@hp@ii{#3}{H412-0}{H412}{Sch\"a\allowhyphens{}dlich f\"u\allowhyphens{}r Wasserorganismen, mit langfristiger Wirkung.}% -\mhchem@hp@ii{#3}{H413-0}{H413}{Kann f\"u\allowhyphens{}r Wasserorganismen sch\"a\allowhyphens{}dlich sein, mit langfristiger Wirkung.}% -\mhchem@hp@ii{#3}{H420-0}{H420}{Sch\"a\allowhyphens{}digt die \"o\allowhyphens{}ffentliche Gesundheit und die Umwelt durch Ozonabbau in der \"a\allowhyphens{}u\ss{}eren Atmosph\"a\allowhyphens{}re.}% -\mhchem@hp@ii{#3}{P101-0}{P101}{Ist \"a\allowhyphens{}rztlicher Rat erforderlich, Verpackung oder Kennzeichnungsetikett bereithalten.}% -\mhchem@hp@ii{#3}{P101.nolabel-error}{P101}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P101.nolabel-1}{P101}{Ist \"a\allowhyphens{}rztlicher Rat erforderlich, Verpackung oder #1 bereithalten.}% -\mhchem@hp@ii{#3}{P102-0}{P102}{Darf nicht in die H\"a\allowhyphens{}nde von Kindern gelangen.}% -\mhchem@hp@ii{#3}{P103-0}{P103}{Vor Gebrauch Kennzeichnungsetikett lesen.}% -\mhchem@hp@ii{#3}{P103.nolabel-error}{P103}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P103.nolabel-1}{P103}{Vor Gebrauch #1 lesen.}% -\mhchem@hp@ii{#3}{P201-0}{P201}{Vor Gebrauch besondere Anweisungen einholen.}% -\mhchem@hp@ii{#3}{P202-0}{P202}{Vor Gebrauch alle Sicherheitshinweise lesen und verstehen.}% -\mhchem@hp@ii{#3}{P210.0-0}{P210}{Von Hitze/\hskip\z@skip{}Funken/\hskip\z@skip{}offener Flamme/\hskip\z@skip{}hei\ss{}en Oberfl\"a\allowhyphens{}chen fernhalten. Nicht rauchen.}% -\mhchem@hp@ii{#3}{P210-error}{P210}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{P210-1}{P210}{Von #1 fernhalten. Nicht rauchen.}% -\mhchem@hp@ii{#3}{P210.1-0}{P210}{Von Hitze fernhalten. Nicht rauchen.}% -\mhchem@hp@ii{#3}{P210.2-0}{P210}{Von Funken fernhalten. Nicht rauchen.}% -\mhchem@hp@ii{#3}{P210.3-0}{P210}{Von offener Flamme fernhalten. Nicht rauchen.}% -\mhchem@hp@ii{#3}{P210.4-0}{P210}{Von hei\ss{}en Oberfl\"a\allowhyphens{}chen fernhalten. Nicht rauchen.}% -\mhchem@hp@ii{#3}{P211-0}{P211}{Nicht gegen offene Flamme oder andere Z\"u\allowhyphens{}ndquelle spr\"u\allowhyphens{}hen.}% -\mhchem@hp@ii{#3}{P220.0.0-0}{P220}{Von Kleidung/\hskip\z@skip{}\textellipsis{}/\hskip\z@skip{}brennbaren Materialien fernhalten/\hskip\z@skip{}entfernt aufbewahren.}% -\mhchem@hp@ii{#3}{P220-error}{P220}{\PackageError{hpstatement}{Selection and selection/argument missing.\MessageBreak This statement has 1) a mandatory selection\MessageBreak and 2) a selection or text-argument.\MessageBreak Please append .1.1, ... to the number to make a\MessageBreak selection. Or append .1 or .2 with [].\MessageBreak Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{P220.0-error}{P220}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{P220.0.1-1}{P220}{Von #1 fernhalten/\hskip\z@skip{}entfernt aufbewahren.}% -\mhchem@hp@ii{#3}{P220.0.2-0}{P220}{Von Kleidung fernhalten/\hskip\z@skip{}entfernt aufbewahren.}% -\mhchem@hp@ii{#3}{P220.0.3-0}{P220}{Von brennbaren Materialien fernhalten/\hskip\z@skip{}entfernt aufbewahren.}% -\mhchem@hp@ii{#3}{P220.1.0-0}{P220}{Von Kleidung/\hskip\z@skip{}\textellipsis{}/\hskip\z@skip{}brennbaren Materialien fernhalten.}% -\mhchem@hp@ii{#3}{P220.1-error}{P220}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{P220.1-1}{P220}{Von #1 fernhalten.}% -\mhchem@hp@ii{#3}{P220.1.1-0}{P220}{Von Kleidung fernhalten.}% -\mhchem@hp@ii{#3}{P220.1.2-0}{P220}{Von brennbaren Materialien fernhalten.}% -\mhchem@hp@ii{#3}{P220.2.0-0}{P220}{Von Kleidung/\hskip\z@skip{}\textellipsis{}/\hskip\z@skip{}brennbaren Materialien entfernt aufbewahren.}% -\mhchem@hp@ii{#3}{P220.2-error}{P220}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{P220.2-1}{P220}{Von #1 entfernt aufbewahren.}% -\mhchem@hp@ii{#3}{P220.2.1-0}{P220}{Von Kleidung entfernt aufbewahren.}% -\mhchem@hp@ii{#3}{P220.2.2-0}{P220}{Von brennbaren Materialien entfernt aufbewahren.}% -\mhchem@hp@ii{#3}{P221.0-0}{P221}{Mischen mit brennbaren Stoffen/\hskip\z@skip{}\textellipsis{} unbedingt verhindern.}% -\mhchem@hp@ii{#3}{P221-error}{P221}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{P221-1}{P221}{Mischen mit #1 unbedingt verhindern.}% -\mhchem@hp@ii{#3}{P221.1-0}{P221}{Mischen mit brennbaren Stoffen unbedingt verhindern.}% -\mhchem@hp@ii{#3}{P222-0}{P222}{Kontakt mit Luft nicht zulassen.}% -\mhchem@hp@ii{#3}{P223-0}{P223}{Kontakt mit Wasser wegen heftiger Reaktion und m\"o\allowhyphens{}glichem Aufflammen unbedingt verhindern.}% -\mhchem@hp@ii{#3}{P230.0-0}{P230}{Feucht halten mit \textellipsis{}}% -\mhchem@hp@ii{#3}{P230-error}{P230}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P230-1}{P230}{Feucht halten mit #1.}% -\mhchem@hp@ii{#3}{P231-0}{P231}{Unter inertem Gas handhaben.}% -\mhchem@hp@ii{#3}{P231+P232-0}{P231\,+\,\hskip\z@skip{}P232}{Unter inertem Gas handhaben. Vor Feuchtigkeit sch\"u\allowhyphens{}tzen.}% -\mhchem@hp@ii{#3}{P232-0}{P232}{Vor Feuchtigkeit sch\"u\allowhyphens{}tzen.}% -\mhchem@hp@ii{#3}{P233-0}{P233}{Beh\"a\allowhyphens{}lter dicht verschlossen halten.}% -\mhchem@hp@ii{#3}{P234-0}{P234}{Nur im Originalbeh\"a\allowhyphens{}lter aufbewahren.}% -\mhchem@hp@ii{#3}{P235-0}{P235}{K\"u\allowhyphens{}hl halten.}% -\mhchem@hp@ii{#3}{P235+P410-0}{P235\,+\,\hskip\z@skip{}P410}{K\"u\allowhyphens{}hl halten. Vor Sonnenbestrahlung sch\"u\allowhyphens{}tzen.}% -\mhchem@hp@ii{#3}{P240-0}{P240}{Beh\"a\allowhyphens{}lter und zu bef\"u\allowhyphens{}llende Anlage erden.}% -\mhchem@hp@ii{#3}{P241.0-0}{P241}{Explosionsgesch\"u\allowhyphens{}tzte elektrische Betriebsmittel/\hskip\z@skip{}L\"u\allowhyphens{}ftungsanlagen/\hskip\z@skip{}Beleuchtung/\hskip\z@skip{}\textellipsis{} verwenden.}% -\mhchem@hp@ii{#3}{P241-error}{P241}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{P241-1}{P241}{Explosionsgesch\"u\allowhyphens{}tzte #1 verwenden.}% -\mhchem@hp@ii{#3}{P241.1-0}{P241}{Explosionsgesch\"u\allowhyphens{}tzte elektrische Betriebsmittel verwenden.}% -\mhchem@hp@ii{#3}{P241.2-0}{P241}{Explosionsgesch\"u\allowhyphens{}tzte L\"u\allowhyphens{}ftungsanlagen verwenden.}% -\mhchem@hp@ii{#3}{P241.3-0}{P241}{Explosionsgesch\"u\allowhyphens{}tzte Beleuchtung verwenden.}% -\mhchem@hp@ii{#3}{P242-0}{P242}{Nur funkenfreies Werkzeug verwenden.}% -\mhchem@hp@ii{#3}{P243-0}{P243}{Ma\ss{}nahmen gegen elektrostatische Auf{}ladungen treffen.}% -\mhchem@hp@ii{#3}{P244-0}{P244}{Druckminderer frei von Fett und \"O\allowhyphens{}l halten.}% -\mhchem@hp@ii{#3}{P250.0-0}{P250}{Nicht schleifen/\hskip\z@skip{}sto\ss{}en/\hskip\z@skip{}\textellipsis{}/\hskip\z@skip{}reiben.}% -\mhchem@hp@ii{#3}{P250-error}{P250}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{P250-1}{P250}{Nicht #1.}% -\mhchem@hp@ii{#3}{P250.1-0}{P250}{Nicht schleifen.}% -\mhchem@hp@ii{#3}{P250.2-0}{P250}{Nicht sto\ss{}en.}% -\mhchem@hp@ii{#3}{P250.3-0}{P250}{Nicht reiben.}% -\mhchem@hp@ii{#3}{P251-0}{P251}{Beh\"a\allowhyphens{}lter steht unter Druck: Nicht durchstechen oder verbrennen, auch nicht nach der Verwendung.}% -\mhchem@hp@ii{#3}{P260.0-0}{P260}{Staub/\hskip\z@skip{}Rauch/\hskip\z@skip{}Gas/\hskip\z@skip{}Nebel/\hskip\z@skip{}Dampf/\hskip\z@skip{}Aerosol nicht einatmen.}% -\mhchem@hp@ii{#3}{P260-error}{P260}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{P260-1}{P260}{#1 nicht einatmen.}% -\mhchem@hp@ii{#3}{P260.1-0}{P260}{Staub nicht einatmen.}% -\mhchem@hp@ii{#3}{P260.2-0}{P260}{Rauch nicht einatmen.}% -\mhchem@hp@ii{#3}{P260.3-0}{P260}{Gas nicht einatmen.}% -\mhchem@hp@ii{#3}{P260.4-0}{P260}{Nebel nicht einatmen.}% -\mhchem@hp@ii{#3}{P260.5-0}{P260}{Dampf nicht einatmen.}% -\mhchem@hp@ii{#3}{P260.6-0}{P260}{Aerosol nicht einatmen.}% -\mhchem@hp@ii{#3}{P261-0}{P261}{Einatmen von Staub/\hskip\z@skip{}Rauch/\hskip\z@skip{}Gas/\hskip\z@skip{}Nebel/\hskip\z@skip{}Dampf/\hskip\z@skip{}Aerosol vermeiden.}% -\mhchem@hp@ii{#3}{P262-0}{P262}{Nicht in die Augen, auf die Haut oder auf die Kleidung gelangen lassen.}% -\mhchem@hp@ii{#3}{P263.0-0}{P263}{Kontakt w\"a\allowhyphens{}hrend der Schwangerschaft/\hskip\z@skip{}und der Stillzeit vermeiden.}% -\mhchem@hp@ii{#3}{P263-error}{P263}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{P263-1}{P263}{Kontakt w\"a\allowhyphens{}hrend #1 vermeiden.}% -\mhchem@hp@ii{#3}{P263.1-0}{P263}{Kontakt w\"a\allowhyphens{}hrend der Schwangerschaft vermeiden.}% -\mhchem@hp@ii{#3}{P263.2-0}{P263}{P263}% -\mhchem@hp@ii{#3}{P264.0-0}{P264}{Nach Gebrauch \textellipsis{} gr\"u\allowhyphens{}ndlich waschen.}% -\mhchem@hp@ii{#3}{P264-error}{P264}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P264-1}{P264}{Nach Gebrauch #1 gr\"u\allowhyphens{}ndlich waschen.}% -\mhchem@hp@ii{#3}{P270-0}{P270}{Bei Gebrauch nicht essen, trinken oder rauchen.}% -\mhchem@hp@ii{#3}{P271-0}{P271}{Nur im Freien oder in gut bel\"u\allowhyphens{}fteten R\"a\allowhyphens{}umen verwenden.}% -\mhchem@hp@ii{#3}{P272-0}{P272}{Kontaminierte Arbeitskleidung nicht au\ss{}erhalb des Arbeitsplatzes tragen.}% -\mhchem@hp@ii{#3}{P273-0}{P273}{Freisetzung in die Umwelt vermeiden.}% -\mhchem@hp@ii{#3}{P280.0-0}{P280}{Schutzhandschuhe/\hskip\z@skip{}Schutzkleidung/\hskip\z@skip{}Augenschutz/\hskip\z@skip{}Gesichtsschutz tragen.}% -\mhchem@hp@ii{#3}{P280-error}{P280}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{P280-1}{P280}{#1 tragen.}% -\mhchem@hp@ii{#3}{P280.1-0}{P280}{Schutzhandschuhe tragen.}% -\mhchem@hp@ii{#3}{P280.2-0}{P280}{Schutzkleidung tragen.}% -\mhchem@hp@ii{#3}{P280.3-0}{P280}{Augenschutz tragen.}% -\mhchem@hp@ii{#3}{P280.4-0}{P280}{Gesichtsschutz tragen.}% -\mhchem@hp@ii{#3}{P281-0}{P281}{Vorgeschriebene pers\"o\allowhyphens{}nliche Schutzausr\"u\allowhyphens{}stung verwenden.}% -\mhchem@hp@ii{#3}{P282.0-0}{P282}{Schutzhandschuhe/\hskip\z@skip{}Gesichtsschild/\hskip\z@skip{}Augenschutz mit K\"a\allowhyphens{}lteisolierung tragen.}% -\mhchem@hp@ii{#3}{P282-error}{P282}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{P282-1}{P282}{#1 tragen.}% -\mhchem@hp@ii{#3}{P282.1-0}{P282}{Schutzhandschuhe mit K\"a\allowhyphens{}lteisolierung tragen.}% -\mhchem@hp@ii{#3}{P282.2-0}{P282}{Gesichtsschild mit K\"a\allowhyphens{}lteisolierung tragen.}% -\mhchem@hp@ii{#3}{P282.3-0}{P282}{Augenschutz mit K\"a\allowhyphens{}lteisolierung tragen.}% -\mhchem@hp@ii{#3}{P283.0-0}{P283}{Schwer entflammbare/\hskip\z@skip{}flammhemmende Kleidung tragen.}% -\mhchem@hp@ii{#3}{P283-error}{P283}{\PackageError{hpstatement}{Language-dependent argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak However, translations differ so much that you\MessageBreak have to state your selection as text argument [].\MessageBreak Read the manual for possible values.\MessageBreak Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{P283-1}{P283}{#1 tragen.}% -\mhchem@hp@ii{#3}{P284-0}{P284}{Atemschutz tragen.}% -\mhchem@hp@ii{#3}{P285-0}{P285}{Bei unzureichender Bel\"u\allowhyphens{}fung Atemschutz tragen.}% -\mhchem@hp@ii{#3}{P301-0}{P301}{BEI VERSCHLUCKEN:}% -\mhchem@hp@ii{#3}{P301+P310-0}{P301\,+\,\hskip\z@skip{}P310}{BEI VERSCHLUCKEN: Sofort GIFTINFORMATIONSZENTRUM oder Arzt anrufen.}% -\mhchem@hp@ii{#3}{P301+P312-0}{P301\,+\,\hskip\z@skip{}P312}{BEI VERSCHLUCKEN: Bei Unwohlsein GIFTINFORMATIONSZENTRUM oder Arzt anrufen.}% -\mhchem@hp@ii{#3}{P301+P330+P331-0}{P301\,+\,\hskip\z@skip{}P330\,+\,\hskip\z@skip{}P331}{BEI VERSCHLUCKEN: Mund aussp\"u\allowhyphens{}len. KEIN Erbrechen herbeif\"u\allowhyphens{}hren.}% -\mhchem@hp@ii{#3}{P302-0}{P302}{BEI BER\"U\allowhyphens{}HRUNG MIT DER HAUT:}% -\mhchem@hp@ii{#3}{P302+P334.0-0}{P302\,+\,\hskip\z@skip{}P334}{BEI KONTAKT MIT DER HAUT: In kaltes Wasser tauchen/\hskip\z@skip{}nassen Verband anlegen.}% -\mhchem@hp@ii{#3}{P302+P334-error}{P302\,+\,\hskip\z@skip{}P334}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{P302+P334-1}{P302\,+\,\hskip\z@skip{}P334}{BEI KONTAKT MIT DER HAUT: #1.}% -\mhchem@hp@ii{#3}{P302+P334.1-0}{P302\,+\,\hskip\z@skip{}P334}{BEI KONTAKT MIT DER HAUT: In kaltes Wasser tauchen.}% -\mhchem@hp@ii{#3}{P302+P334.2-0}{P302\,+\,\hskip\z@skip{}P334}{BEI KONTAKT MIT DER HAUT: Nassen Verband anlegen.}% -\mhchem@hp@ii{#3}{P302+P350-0}{P302\,+\,\hskip\z@skip{}P350}{BEI KONTAKT MIT DER HAUT: Behutsam mit viel Wasser und Seife waschen.}% -\mhchem@hp@ii{#3}{P302+P352-0}{P302\,+\,\hskip\z@skip{}P352}{BEI KONTAKT MIT DER HAUT: Mit viel Wasser und Seife waschen.}% -\mhchem@hp@ii{#3}{P303-0}{P303}{BEI BER\"U\allowhyphens{}HRUNG MIT DER HAUT (oder dem Haar):}% -\mhchem@hp@ii{#3}{P303+P361+P353-0}{P303\,+\,\hskip\z@skip{}P361\,+\,\hskip\z@skip{}P353}{BEI KONTAKT MIT DER HAUT (oder dem Haar): Alle beschmutzten, getr\"a\allowhyphens{}nkten Kleidungsst\"u\allowhyphens{}cke sofort ausziehen. Haut mit Wasser abwaschen/\hskip\z@skip{}duschen.}% -\mhchem@hp@ii{#3}{P304-0}{P304}{BEI EINATMEN:}% -\mhchem@hp@ii{#3}{P304+P340-0}{P304\,+\,\hskip\z@skip{}P340}{BEI EINATMEN: An die frische Luft bringen und in einer Position ruhigstellen, die das Atmen erleichtert.}% -\mhchem@hp@ii{#3}{P304+P341-0}{P304\,+\,\hskip\z@skip{}P341}{BEI EINATMEN: Bei Atembeschwerden an die frische Luft bringen und in einer Position ruhigstellen, die das Atmen erleichtert.}% -\mhchem@hp@ii{#3}{P305-0}{P305}{BEI KONTAKT MIT DEN AUGEN:}% -\mhchem@hp@ii{#3}{P305+P351+P338-0}{P305\,+\,\hskip\z@skip{}P351\,+\,\hskip\z@skip{}P338}{BEI KONTAKT MIT DEN AUGEN: Einige Minuten lang behutsam mit Wasser sp\"u\allowhyphens{}len. Vorhandene Kontaktlinsen nach M\"o\allowhyphens{}glichkeit entfernen. Weiter sp\"u\allowhyphens{}len.}% -\mhchem@hp@ii{#3}{P306-0}{P306}{BEI KONTAMINIERTER KLEIDUNG:}% -\mhchem@hp@ii{#3}{P306+P360-0}{P306\,+\,\hskip\z@skip{}P360}{BEI KONTAKT MIT DER KLEIDUNG: Kontaminierte Kleidung und Haut sofort mit viel Wasser abwaschen und danach Kleidung ausziehen.}% -\mhchem@hp@ii{#3}{P307-0}{P307}{BEI Exposition:}% -\mhchem@hp@ii{#3}{P307+P311-0}{P307\,+\,\hskip\z@skip{}P311}{BEI Exposition: GIFTINFORMATIONSZENTRUM oder Arzt anrufen.}% -\mhchem@hp@ii{#3}{P308-0}{P308}{BEI Exposition oder falls betroffen}% -\mhchem@hp@ii{#3}{P308+P313-0}{P308\,+\,\hskip\z@skip{}P313}{BEI Exposition oder falls betroffen: \"A\allowhyphens{}rztlichen Rat einholen/\hskip\z@skip{}\"a\allowhyphens{}rztliche Hilfe hinzuziehen.}% -\mhchem@hp@ii{#3}{P309-0}{P309}{BEI Exposition oder Unwohlsein:}% -\mhchem@hp@ii{#3}{P309+P311-0}{P309\,+\,\hskip\z@skip{}P311}{BEI Exposition oder Unwohlsein: GIFTINFORMATIONSZENTRUM oder Arzt anrufen.}% -\mhchem@hp@ii{#3}{P310-0}{P310}{Sofort GIFTINFORMATIONSZENTRUM oder Arzt anrufen.}% -\mhchem@hp@ii{#3}{P311-0}{P311}{GIFTINFORMATIONSZENTRUM oder Arzt anrufen.}% -\mhchem@hp@ii{#3}{P312-0}{P312}{Bei Unwohlsein GIFTINFORMATIONSZENTRUM oder Arzt anrufen.}% -\mhchem@hp@ii{#3}{P313-0}{P313}{\"A\allowhyphens{}rztlichen Rat einholen/\hskip\z@skip{}\"a\allowhyphens{}rztliche Hilfe hinzuziehen.}% -\mhchem@hp@ii{#3}{P314-0}{P314}{Bei Unwohlsein \"a\allowhyphens{}rztlichen Rat einholen/\hskip\z@skip{}\"a\allowhyphens{}rztliche Hilfe hinzuziehen.}% -\mhchem@hp@ii{#3}{P315-0}{P315}{Sofort \"a\allowhyphens{}rztlichen Rat einholen/\hskip\z@skip{}\"a\allowhyphens{}rztliche Hilfe hinzuziehen.}% -\mhchem@hp@ii{#3}{P320.0-0}{P320}{Besondere Behandlung dringend erforderlich (siehe \textellipsis{} auf diesem Kennzeichnungsetikett).}% -\mhchem@hp@ii{#3}{P320-error}{P320}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P320-1}{P320}{Besondere Behandlung dringend erforderlich (siehe #1 auf diesem Kennzeichnungsetikett).}% -\mhchem@hp@ii{#3}{P320.nolabel-error}{P320}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P320.nolabel-1}{P320}{Besondere Behandlung dringend erforderlich (siehe #1).}% -\mhchem@hp@ii{#3}{P321.0-0}{P321}{Besondere Behandlung (siehe \textellipsis{} auf diesem Kennzeichnungsetikett).}% -\mhchem@hp@ii{#3}{P321-error}{P321}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P321-1}{P321}{Besondere Behandlung (siehe #1 auf diesem Kennzeichnungsetikett).}% -\mhchem@hp@ii{#3}{P321.nolabel-error}{P321}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P321.nolabel-1}{P321}{Besondere Behandlung (siehe #1).}% -\mhchem@hp@ii{#3}{P322.0-0}{P322}{Gezielte Ma\ss{}nahmen (siehe \textellipsis{} auf diesem Kennzeichnungsetikett).}% -\mhchem@hp@ii{#3}{P322-error}{P322}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P322-1}{P322}{Gezielte Ma\ss{}nahmen (siehe #1 auf diesem Kennzeichnungsetikett).}% -\mhchem@hp@ii{#3}{P322.nolabel-error}{P322}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P322.nolabel-1}{P322}{Gezielte Ma\ss{}nahmen (siehe #1).}% -\mhchem@hp@ii{#3}{P330-0}{P330}{Mund aussp\"u\allowhyphens{}len.}% -\mhchem@hp@ii{#3}{P331-0}{P331}{KEIN Erbrechen herbeif\"u\allowhyphens{}hren.}% -\mhchem@hp@ii{#3}{P332-0}{P332}{Bei Hautreizung:}% -\mhchem@hp@ii{#3}{P332+P313-0}{P332\,+\,\hskip\z@skip{}P313}{Bei Hautreizung: \"A\allowhyphens{}rztlichen Rat einholen/\hskip\z@skip{}\"a\allowhyphens{}rztliche Hilfe hinzuziehen.}% -\mhchem@hp@ii{#3}{P333-0}{P333}{Bei Hautreizung oder \leavevmode\hbox{-}ausschlag:}% -\mhchem@hp@ii{#3}{P333+P313-0}{P333\,+\,\hskip\z@skip{}P313}{Bei Hautreizung oder \leavevmode\hbox{-}ausschlag: \"A\allowhyphens{}rztlichen Rat einholen/\hskip\z@skip{}\"a\allowhyphens{}rztliche Hilfe hinzuziehen.}% -\mhchem@hp@ii{#3}{P334.0-0}{P334}{In kaltes Wasser tauchen/\hskip\z@skip{}nassen Verband anlegen.}% -\mhchem@hp@ii{#3}{P334-error}{P334}{\PackageError{hpstatement}{Selection missing.\MessageBreak This statement requires a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{P334.1-0}{P334}{In kaltes Wasser tauchen.}% -\mhchem@hp@ii{#3}{P334.2-0}{P334}{Nassen Verband anlegen.}% -\mhchem@hp@ii{#3}{P335-0}{P335}{Lose Partikel von der Haut abb\"u\allowhyphens{}rsten.}% -\mhchem@hp@ii{#3}{P335+P334.0-0}{P335\,+\,\hskip\z@skip{}P334}{Lose Partikel von der Haut abb\"u\allowhyphens{}rsten. In kaltes Wasser tauchen/\hskip\z@skip{}nassen Verband anlegen.}% -\mhchem@hp@ii{#3}{P335+P334-error}{P335\,+\,\hskip\z@skip{}P334}{\PackageError{hpstatement}{Selection missing.\MessageBreak This statement requires a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{P335+P334.1-0}{P335\,+\,\hskip\z@skip{}P334}{Lose Partikel von der Haut abb\"u\allowhyphens{}rsten. In kaltes Wasser tauchen.}% -\mhchem@hp@ii{#3}{P335+P334.2-0}{P335\,+\,\hskip\z@skip{}P334}{Lose Partikel von der Haut abb\"u\allowhyphens{}rsten. Nassen Verband anlegen.}% -\mhchem@hp@ii{#3}{P336-0}{P336}{Vereiste Bereiche mit lauwarmem Wasser auftauen. Betroffenen Bereich nicht reiben.}% -\mhchem@hp@ii{#3}{P337-0}{P337}{Bei anhaltender Augenreizung:}% -\mhchem@hp@ii{#3}{P337+P313-0}{P337\,+\,\hskip\z@skip{}P313}{Bei anhaltender Augenreizung: \"A\allowhyphens{}rztlichen Rat einholen/\hskip\z@skip{}\"a\allowhyphens{}rztliche Hilfe hinzuziehen.}% -\mhchem@hp@ii{#3}{P338-0}{P338}{Eventuell Vorhandene Kontaktlinsen nach M\"o\allowhyphens{}glichkeit entfernen. Weiter aussp\"u\allowhyphens{}len.}% -\mhchem@hp@ii{#3}{P340-0}{P340}{Die betroffene Person an die frische Luft bringen und in einer Position ruhigstellen, die das Atmen erleichtert.}% -\mhchem@hp@ii{#3}{P341-0}{P341}{Bei Atembeschwerden an die frische Luft bringen und in einer Position ruhigstellen, die das Atmen erleichtert.}% -\mhchem@hp@ii{#3}{P342-0}{P342}{Bei Symptomen der Atemwege:}% -\mhchem@hp@ii{#3}{P342+P311-0}{P342\,+\,\hskip\z@skip{}P311}{Bei Symptomen der Atemwege: GIFTINFORMATIONSZENTRUM oder Arzt anrufen.}% -\mhchem@hp@ii{#3}{P350-0}{P350}{Behutsam mit viel Wasser und Seife waschen.}% -\mhchem@hp@ii{#3}{P351-0}{P351}{Einige Minuten lang behutsam mit Wasser aussp\"u\allowhyphens{}len.}% -\mhchem@hp@ii{#3}{P352-0}{P352}{Mit viel Wasser und Seife waschen.}% -\mhchem@hp@ii{#3}{P353-0}{P353}{Haut mit Wasser abwaschen/\hskip\z@skip{}duschen.}% -\mhchem@hp@ii{#3}{P360-0}{P360}{Kontaminierte Kleidung und Haut sofort mit viel Wasser abwaschen und danach Kleidung ausziehen.}% -\mhchem@hp@ii{#3}{P361-0}{P361}{Alle kontaminierten Kleidungsst\"u\allowhyphens{}cke sofort ausziehen.}% -\mhchem@hp@ii{#3}{P362-0}{P362}{Kontaminierte Kleidung ausziehen und vor erneutem Tragen waschen.}% -\mhchem@hp@ii{#3}{P363-0}{P363}{Kontaminierte Kleidung vor erneutem Tragen waschen.}% -\mhchem@hp@ii{#3}{P370-0}{P370}{Bei Brand:}% -\mhchem@hp@ii{#3}{P370+P376-0}{P370\,+\,\hskip\z@skip{}P376}{Bei Brand: Undichtigkeit beseitigen, wenn gefahrlos m\"o\allowhyphens{}glich.}% -\mhchem@hp@ii{#3}{P370+P378.0-0}{P370\,+\,\hskip\z@skip{}P378}{Bei Brand: \textellipsis{} zum L\"o\allowhyphens{}schen verwenden.}% -\mhchem@hp@ii{#3}{P370+P378-error}{P370\,+\,\hskip\z@skip{}P378}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P370+P378-1}{P370\,+\,\hskip\z@skip{}P378}{Bei Brand: #1 zum L\"o\allowhyphens{}schen verwenden.}% -\mhchem@hp@ii{#3}{P370+P380-0}{P370\,+\,\hskip\z@skip{}P380}{Bei Brand: Umgebung r\"a\allowhyphens{}umen.}% -\mhchem@hp@ii{#3}{P370+P380+P375-0}{P370\,+\,\hskip\z@skip{}P380\,+\,\hskip\z@skip{}P375}{Bei Brand: Umgebung r\"a\allowhyphens{}umen. Wegen Explosionsgefahr Brand aus der Entfernung bek\"a\allowhyphens{}mpfen.}% -\mhchem@hp@ii{#3}{P371-0}{P371}{Bei Gro\ss{}brand und gro\ss{}en Mengen:}% -\mhchem@hp@ii{#3}{P371+P380+P375-0}{P371\,+\,\hskip\z@skip{}P380\,+\,\hskip\z@skip{}P375}{Bei Gro\ss{}brand und gro\ss{}en Mengen: Umgebung r\"a\allowhyphens{}umen. Wegen Explosionsgefahr Brand aus der Entfernung bek\"a\allowhyphens{}mpfen.}% -\mhchem@hp@ii{#3}{P372-0}{P372}{Explosionsgefahr bei Brand.}% -\mhchem@hp@ii{#3}{P373-0}{P373}{KEINE Brandbek\"a\allowhyphens{}mpfung, wenn das Feuer explosive Stoffe/\hskip\z@skip{}Gemische/\hskip\z@skip{}Erzeugnisse erreicht.}% -\mhchem@hp@ii{#3}{P374-0}{P374}{Brandbek\"a\allowhyphens{}mpfung mit \"u\allowhyphens{}blichen Vorsichtsma\ss{}nahmen aus angemessener Entfernung.}% -\mhchem@hp@ii{#3}{P375-0}{P375}{Wegen Explosionsgefahr Brand aus der Entfernung bek\"a\allowhyphens{}mpfen.}% -\mhchem@hp@ii{#3}{P376-0}{P376}{Undichtigkeit beseitigen, wenn gefahrlos m\"o\allowhyphens{}glich.}% -\mhchem@hp@ii{#3}{P377-0}{P377}{Brand von ausstr\"o\allowhyphens{}mendem Gas: Nicht l\"o\allowhyphens{}schen, bis Undichtigkeit gefahrlos beseitigt werden kann.}% -\mhchem@hp@ii{#3}{P378.0-0}{P378}{\textellipsis{} zum L\"o\allowhyphens{}schen verwenden.}% -\mhchem@hp@ii{#3}{P378-error}{P378}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P378-1}{P378}{#1 zum L\"o\allowhyphens{}schen verwenden.}% -\mhchem@hp@ii{#3}{P380-0}{P380}{Umgebung r\"a\allowhyphens{}umen.}% -\mhchem@hp@ii{#3}{P381-0}{P381}{Alle Z\"u\allowhyphens{}ndquellen entfernen, wenn gefahrlos m\"o\allowhyphens{}glich.}% -\mhchem@hp@ii{#3}{P390-0}{P390}{Versch\"u\allowhyphens{}ttete Mengen aufnehmen, um Materialsch\"a\allowhyphens{}den zu vermeiden.}% -\mhchem@hp@ii{#3}{P391-0}{P391}{Versch\"u\allowhyphens{}ttete Mengen aufnehmen.}% -\mhchem@hp@ii{#3}{P401.0-0}{P401}{\textellipsis{} aufbewahren.}% -\mhchem@hp@ii{#3}{P401-error}{P401}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P401-1}{P401}{#1 aufbewahren.}% -\mhchem@hp@ii{#3}{P402-0}{P402}{An einem trockenen Ort aufbewahren.}% -\mhchem@hp@ii{#3}{P402+P404-0}{P402\,+\,\hskip\z@skip{}P404}{In einem geschlossenen Beh\"a\allowhyphens{}lter an einem trockenen Ort aufbewahren.}% -\mhchem@hp@ii{#3}{P403-0}{P403}{An einem gut bel\"u\allowhyphens{}fteten Ort aufbewahren.}% -\mhchem@hp@ii{#3}{P403+P233-0}{P403\,+\,\hskip\z@skip{}P233}{Beh\"a\allowhyphens{}lter dicht verschlossen an einem gut bel\"u\allowhyphens{}fteten Ort aufbewahren.}% -\mhchem@hp@ii{#3}{P403+P235-0}{P403\,+\,\hskip\z@skip{}P235}{K\"u\allowhyphens{}hl an einem gut bel\"u\allowhyphens{}fteten Ort aufgewahren.}% -\mhchem@hp@ii{#3}{P404-0}{P404}{In einem geschlossenen Beh\"a\allowhyphens{}lter aufbewahren.}% -\mhchem@hp@ii{#3}{P405-0}{P405}{Unter Verschluss aufbewahren.}% -\mhchem@hp@ii{#3}{P406.0-0}{P406}{In korrosionsbest\"a\allowhyphens{}ndigem/\hskip\z@skip{}\textellipsis{} Beh\"a\allowhyphens{}lter mit korrosionsbest\"a\allowhyphens{}ndiger Auskleidung aufbewah- ren.}% -\mhchem@hp@ii{#3}{P406-error}{P406}{\PackageError{hpstatement}{Selection or argument missing.\MessageBreak This statement has a mandatory selection.\MessageBreak Please append .1, .2, ... to the number to make a\MessageBreak selection. Or supply a text as argument with [].\MessageBreak Or use .0 for the original form}{}}% -\mhchem@hp@ii{#3}{P406-1}{P406}{In #1 Beh\"a\allowhyphens{}lter mit korrosionsbest\"a\allowhyphens{}ndiger Auskleidung aufbewah- ren.}% -\mhchem@hp@ii{#3}{P406.1-0}{P406}{In korrosionsbest\"a\allowhyphens{}ndigem Beh\"a\allowhyphens{}lter mit korrosionsbest\"a\allowhyphens{}ndiger Auskleidung aufbewah- ren.}% -\mhchem@hp@ii{#3}{P407-0}{P407}{Luftspalt zwischen Stapeln/\hskip\z@skip{}Paletten lassen.}% -\mhchem@hp@ii{#3}{P410-0}{P410}{Vor Sonnenbestrahlung sch\"u\allowhyphens{}tzen.}% -\mhchem@hp@ii{#3}{P410+P403-0}{P410\,+\,\hskip\z@skip{}P403}{Vor Sonnenbestrahlung gesch\"u\allowhyphens{}tzt an einem gut bel\"u\allowhyphens{}fteten Ort aufbewahren.}% -\mhchem@hp@ii{#3}{P410+P412-0}{P410\,+\,\hskip\z@skip{}P412}{Vor Sonnenbestrahlung sch\"u\allowhyphens{}tzen und nicht Temperaturen von mehr als 50\textdegree{}C aussetzen.}% -\mhchem@hp@ii{#3}{P411.0-0}{P411}{Bei Temperaturen von nicht mehr als \textellipsis{}\textdegree{}C/\hskip\z@skip{}\textellipsis{}aufbewahren.}% -\mhchem@hp@ii{#3}{P411-error}{P411}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P411-1}{P411}{Bei Temperaturen von nicht mehr als #1 aufbewahren.}% -\mhchem@hp@ii{#3}{P411+P235.0-0}{P411\,+\,\hskip\z@skip{}P235}{K\"u\allowhyphens{}hl und bei Temperaturen von nicht mehr als \textellipsis{}\textdegree{}C aufbewahren.}% -\mhchem@hp@ii{#3}{P411+P235-error}{P411\,+\,\hskip\z@skip{}P235}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P411+P235-1}{P411\,+\,\hskip\z@skip{}P235}{K\"u\allowhyphens{}hl und bei Temperaturen von nicht mehr als #1 aufbewahren.}% -\mhchem@hp@ii{#3}{P412-0}{P412}{Nicht Temperaturen von mehr als 50\textdegree{}C aussetzen.}% -\mhchem@hp@ii{#3}{P413.0-0}{P413}{Sch\"u\allowhyphens{}ttgut in Mengen von mehr als \textellipsis{}\,kg bei Temperaturen von nicht mehr als \textellipsis{}\textdegree{}C aufbewahren.}% -\mhchem@hp@ii{#3}{P413-error}{P413}{\PackageError{hpstatement}{This statement has two mandatory text arguments.\MessageBreak Please specify them with [][]}{}}% -\mhchem@hp@ii{#3}{P413-2}{P413}{Sch\"u\allowhyphens{}ttgut in Mengen von mehr als #1 bei Temperaturen von nicht mehr als #2 aufbewahren.}% -\mhchem@hp@ii{#3}{P420-0}{P420}{Von anderen Materialien entfernt aufbewahren.}% -\mhchem@hp@ii{#3}{P422.0-0}{P422}{Inhalt in/\hskip\z@skip{}unter \textellipsis{} aufbewahren}% -\mhchem@hp@ii{#3}{P422-error}{P422}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P422-1}{P422}{Inhalt #1 aufbewahren}% -\mhchem@hp@ii{#3}{P501.0.0-0}{P501}{Inhalt/\hskip\z@skip{}Beh\"a\allowhyphens{}lter \textellipsis{} zuf\"u\allowhyphens{}hren.}% -\mhchem@hp@ii{#3}{P501.0-error}{P501}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P501.0-1}{P501}{Inhalt/\hskip\z@skip{}Beh\"a\allowhyphens{}lter #1 zuf\"u\allowhyphens{}hren.}% -\mhchem@hp@ii{#3}{P501-error}{P501}{\PackageError{hpstatement}{Selection and mandatory argument missing.\MessageBreak This statement has a mandatory selection. Please\MessageBreak append .1 or .2 to the number (or use .0 for the\MessageBreak original form). Also, supply an argument with []\MessageBreak (or use an additional .0 for the original\MessageBreak form)}{}}% -\mhchem@hp@ii{#3}{P501.1.0-0}{P501}{Inhalt \textellipsis{} zuf\"u\allowhyphens{}hren.}% -\mhchem@hp@ii{#3}{P501.1-error}{P501}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P501.1-1}{P501}{Inhalt #1 zuf\"u\allowhyphens{}hren.}% -\mhchem@hp@ii{#3}{P501.2.0-0}{P501}{Beh\"a\allowhyphens{}lter \textellipsis{} zuf\"u\allowhyphens{}hren.}% -\mhchem@hp@ii{#3}{P501.2-error}{P501}{\PackageError{hpstatement}{One argument required.\MessageBreak This statement has a mandatory text argument.\MessageBreak Please specify one with []. Or use .0 for the\MessageBreak original form}{}}% -\mhchem@hp@ii{#3}{P501.2-1}{P501}{Beh\"a\allowhyphens{}lter #1 zuf\"u\allowhyphens{}hren.}% -} diff --git a/Master/texmf-dist/tex/latex/mhchem/mhchem.sty b/Master/texmf-dist/tex/latex/mhchem/mhchem.sty index 9f8d8f2fc34..949bd97f148 100644 --- a/Master/texmf-dist/tex/latex/mhchem/mhchem.sty +++ b/Master/texmf-dist/tex/latex/mhchem/mhchem.sty @@ -1,5 +1,5 @@ %% mhchem.sty -%% Copyright 2004-2013 Martin Hensel +%% Copyright 2004-2014 Martin Hensel % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c @@ -27,7 +27,7 @@ % This work consists of all files listed in manifest.txt. % % -\ProvidesPackage{mhchem}[2013/06/17 v3.12 for typesetting chemical formulae] +\ProvidesPackage{mhchem}[2014/02/01 v3.15 for typesetting chemical formulae] \RequirePackage{ifthen} \RequirePackage{calc}[1998/07/07] \RequirePackage{twoopt} @@ -35,6 +35,7 @@ \RequirePackage{keyval} \RequirePackage{graphics} \RequirePackage{pdftexcmds} +\RequirePackage{expl3} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%% misc %%%%%%%%%% @@ -52,7 +53,7 @@ \newcommand*{\cee}[1]{% \def\mhchem@ce@out{}% - {\mhchem@cee@i#1\mhchem@empty\\\mhchem@END\mhchem@ENDEND}% + {\mhchem@cee@i#1\\\mhchem@END\mhchem@ENDEND}% \ensuremath{% \mhchem@ce@out% }% @@ -793,10 +794,16 @@ \def\mhchem@bond#1{% \ifnum\pdf@strcmp{#1}{-}=0% \sbond% + \else\ifnum\pdf@strcmp{#1}{1}=0% + \sbond% \else\ifnum\pdf@strcmp{#1}{=}=0% \dbond% + \else\ifnum\pdf@strcmp{#1}{2}=0% + \dbond% \else\ifnum\pdf@strcmp{#1}{##}=0% \tbond% + \else\ifnum\pdf@strcmp{#1}{3}=0% + \tbond% \else\ifnum\pdf@strcmp{#1}{~}=0% \mhchem@setbondwidth% \mhchem@halfbond% @@ -829,944 +836,1039 @@ {\leftarrow}% \else \PackageError{mhchem}{Unknown bond type in \string\bond (#1)}% - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%% loop helper %%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ExplSyntaxOn + +\msg_new:nnn { mhchem } { cf / unexpected-input } { Assertion~failed:~Unexpected~input~character.~You~found~a~bug.~Please~contact~the~author. } +\msg_new:nnn { mhchem } { cf / unexpected-state } { Assertion~failed:~Unexpected~internal~state~'#1'.~You~found~a~bug.~Please~contact~the~author. } +\msg_new:nnn { mhchem } { cf / unexpected-two-superscripts } { Assertion~failed:~Two~superscripts.~You~entered~an~invalid~formula.~Or~you~found~a~bug,~in~which~case~you~should~contact~the~author. } + +\cs_generate_variant:Nn \peek_catcode_remove:NTF { oTF } +\cs_generate_variant:Nn \peek_catcode:NTF { oTF } +\cs_generate_variant:Nn \str_case:nnn { Vnn } + +\cs_new:Npn \__mhchem_loopHelper_appendNextToken:NNn #1#2#3 + { + \tl_put_right:Nn #1 { #3 } + #2 + } +\cs_new:Npn \__mhchem_loopHelper_appendNextGroup:NNn #1#2#3 + { + \tl_put_right:Nn #1 { { #3 } } + #2 + } +\cs_new:Npn \__mhchem_loopHelper_appendMath:NNw #1#2#3$ + { + \tl_put_right:Nn #1 { \text { \ensuremath { #3 } } } + #2 + } +\cs_new:Npn \__mhchem_loopHelper_appendMathAsGroup:NNw #1#2#3$ + { + \tl_put_right:Nn #1 { \text { \ensuremath { #3 } } } + #2 + } +\cs_new:Npn \__mhchem_loopHelper_appendNextTokenAsMathrm:NNn #1#2#3 + { + \tl_put_right:Nn #1 { \ensuremath { \mathrm{ #3 } } } + #2 + } +\cs_new:Npn \__mhchem_loopHelper_useNone:Nn #1#2 + { + #1 + } +\cs_new:Npn \__mhchem_loopHelper_outputAndReset_appendNextTokenToResult_setState:NNn #1#2#3 + { + \__mhchem_cf_outputAndReset: + \tl_put_right:Nn \__mhchem_cf_result_tl { \mhchem@mathOrText{#3} } + \tl_set:Nn \__mhchem_cf_state_tl { #1 } + #2 + } +\cs_new:Npn \__mhchem_loopHelper_outputAndReset_appendToResult_setState_useNone:NNn #1#2#3#4 + { + \__mhchem_cf_outputAndReset: + \tl_put_right:Nn \__mhchem_cf_result_tl { #1 } + \tl_set:Nn \__mhchem_cf_state_tl { #2 } + #3 + } + %%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%% \cf %%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newtoks\mhchem@cf@result% \newcommand*\mhchem@cf[2][]{% - \bgroup% - \def\sbond{{\ensuremath{-}}}% - \ifnum 2=\mhchem@option@version% - \let\bond\sbond% - \else\ifnum 2<\mhchem@option@version% - \DeclareRobustCommand*\bond{\mhchem@bond}% - \fi\fi% - \DeclareRobustCommand\dbond{\rlap{\protect\raisebox{.2ex}{\sbond}}\protect\raisebox{-.2ex}{\sbond}}% - \DeclareRobustCommand\tbond{\rlap{\protect\raisebox{.4ex}{\sbond}}% - \rlap{\sbond}\protect\raisebox{-.4ex}{\sbond}}% - \def\hyphen{\mhchem@hyphen}% - \ifmmode\else\def\mhchem@option@alwaystextmode{1}\fi% - \if 1\mhchem@option@alwaystextmode% - \edef\mhchem@mathOrText##1{\noexpand\text{##1}}% - \edef\mhchem@mathOrText@ii##1##2{##2}% - \else% - \ifnum 1<\mhchem@option@version% - \edef\mhchem@mathOrText##1{\ifmmode\noexpand\mhchem@option@mathFont{##1}\else\noexpand\text{##1}\fi}% - \edef\mhchem@mathOrText@ii##1##2{\ifmmode\noexpand\mhchem@option@mathFont{##1}\else ##2\fi}% - \else% - \edef\mhchem@mathOrText##1{\ifmmode ##1\else\noexpand\text{##1}\fi}% - \edef\mhchem@mathOrText@ii##1##2{\ifmmode ##1\else ##2\fi}% - \fi% - \fi% - \ifmmode\else\mhchem@option@textFont\fi% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@startedWithBond{0}% - \mhchem@cf@outputReset% - \mhchem@cf@result={}% - \mhchem@cf@continue#2\mhchem@END% - \ifthenelse{\equal{#1}{}}% - {% - \ensuremath{\the\mhchem@cf@result}% - }{% - \ensuremath{\overset{#1}{\the\mhchem@cf@result}}% - }% - \egroup% -}% -\def\mhchem@cf@i{% - \ifx\mhchem@END\mhchem@cf@lookahead% - \if -\mhchem@cf@state% - \ifnum 4>\mhchem@option@version% - \mhchem@appendToks{\mhchem@cf@sup}{-}% - \else% - \if 0\mhchem@cf@startedWithBond% - \mhchem@appendToks{\mhchem@cf@sup}{-}% - \else% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \mhchem@appendToks{\mhchem@cf@result}{\sbond}% - \fi% - \fi% - \else\if 1\mhchem@cf@state% - \def\mhchem@cf@state{9}% - \fi\fi% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \let\mhchem@cf@action\mhchem@gobble% - \else\ifx\relax\mhchem@cf@lookahead% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\ifx\protect\mhchem@cf@lookahead% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else% - \if -\mhchem@cf@state% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \mhchem@appendToks{\mhchem@cf@result}{\sbond}% - \def\mhchem@cf@state{+}% - \fi% - \if s\mhchem@cf@state% - \ifx \{\mhchem@cf@lookahead% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\ifx \}\mhchem@cf@lookahead% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\expandafter\ifx\mhchem@char@equal@other\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \mhchem@appendToks{\mhchem@cf@result}{\dbond}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\expandafter\ifx\mhchem@char@equal@active\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \mhchem@appendToks{\mhchem@cf@result}{\dbond}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if ##\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \mhchem@appendToks{\mhchem@cf@result}{\tbond}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\expandafter\ifx\mhchem@char@caret@super\mhchem@cf@lookahead% - \def\mhchem@cf@state{p}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\expandafter\ifx\mhchem@char@caret@active\mhchem@cf@lookahead% - \def\mhchem@cf@state{p}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if _\mhchem@cf@lookahead% - \def\mhchem@cf@state{q}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if `\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \def\mhchem@cf@state{P}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \fi% - \else\if ,\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \def\mhchem@cf@state{Q}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else% - \def\mhchem@cf@state{1}% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@amount}{{,}}}% - \fi% - \else\if .\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% - {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% - \else% - \def\mhchem@cf@state{1}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% - \fi% - \else\if +\mhchem@cf@lookahead% - \def\mhchem@cf@state{+}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@sup}}% - \else\expandafter\ifx\mhchem@char@hyphen@other\mhchem@cf@lookahead% - \ifnum 1<\mhchem@option@version% - \def\mhchem@cf@state{-}% - \def\mhchem@cf@startedWithBond{1}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else% - \def\mhchem@cf@state{+}% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@sup}{-}}% - \fi% - \else\expandafter\ifx\mhchem@char@hyphen@active\mhchem@cf@lookahead% - \ifnum 1<\mhchem@option@version% - \def\mhchem@cf@state{-}% - \def\mhchem@cf@startedWithBond{1}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else% - \def\mhchem@cf@state{+}% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@sup}{-}}% - \fi% - \else\if |\mhchem@cf@lookahead% - \let\mhchem@cf@action\mhchem@cf@switchState% - \else\if (\mhchem@cf@lookahead% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\if )\mhchem@cf@lookahead% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\if [\mhchem@cf@lookahead% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\if ]\mhchem@cf@lookahead% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\if *\mhchem@cf@lookahead% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% - {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% - \else\ifcat\noexpand\mhchem@macro\noexpand\mhchem@cf@lookahead% - \def\mhchem@cf@state{c}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% - \else\ifcat a\mhchem@cf@lookahead% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\ifcat 1\mhchem@cf@lookahead% - \def\mhchem@cf@state{1}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% - \else\if\mhchem@char@lbrace\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@result}}% - \else% - \def\mhchem@cf@state{1}% - \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@amount}}% - \fi% - \else\if $\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendMath{\mhchem@cf@element}}% - \else% - \def\mhchem@cf@state{1}% - \def\mhchem@cf@action{\mhchem@cf@appendMath{\mhchem@cf@amount}}% - \fi% - \else% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% - \else\if C\mhchem@cf@state% - \if\mhchem@char@lbrace\mhchem@cf@lookahead% - \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@result}}% - \else% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% - \fi% - \def\mhchem@cf@state{c}% - \else\if c\mhchem@cf@state% - \if\mhchem@char@lbrace\mhchem@cf@lookahead% - \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@result}}% - \else% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@continue}% - \fi% - \else\if 1\mhchem@cf@state% - \ifx \{\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\ifx \}\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\expandafter\ifx\mhchem@char@equal@other\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \mhchem@appendToks{\mhchem@cf@result}{\dbond}% - \def\mhchem@cf@state{+}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\expandafter\ifx\mhchem@char@equal@active\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \mhchem@appendToks{\mhchem@cf@result}{\dbond}% - \def\mhchem@cf@state{+}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if ##\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \mhchem@appendToks{\mhchem@cf@result}{\tbond}% - \def\mhchem@cf@state{+}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\expandafter\ifx\mhchem@char@caret@super\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{p}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\expandafter\ifx\mhchem@char@caret@active\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{p}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if _\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{q}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if `\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{E}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% - \fi% - \else\if ,\mhchem@cf@lookahead% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@amount}{{,}}}% - \else\if .\mhchem@cf@lookahead% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% - \else\if |\mhchem@cf@lookahead% - \PackageWarning{mhchem}{The symbol | is not allowed here}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if (\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\if )\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\if [\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\if ]\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\if *\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% - {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% - \else\ifcat\noexpand\mhchem@macro\noexpand\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{c}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% - \else\ifcat a\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\ifcat 1\mhchem@cf@lookahead% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% - \else\if\mhchem@char@lbrace\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@result}}% - \else% - \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@amount}}% - \fi% - \else\if $\mhchem@cf@lookahead% - \def\mhchem@cf@action{\mhchem@cf@appendMath{\mhchem@cf@amount}}% - \else% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% - \else\if a\mhchem@cf@state% - \ifx \{\mhchem@cf@lookahead% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\ifx \}\mhchem@cf@lookahead% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\expandafter\ifx\mhchem@char@equal@other\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \mhchem@appendToks{\mhchem@cf@result}{\dbond}% - \def\mhchem@cf@state{+}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\expandafter\ifx\mhchem@char@equal@active\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \mhchem@appendToks{\mhchem@cf@result}{\dbond}% - \def\mhchem@cf@state{+}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if ##\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \mhchem@appendToks{\mhchem@cf@result}{\tbond}% - \def\mhchem@cf@state{+}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\expandafter\ifx\mhchem@char@caret@super\mhchem@cf@lookahead% - \def\mhchem@cf@state{e}% - \expandafter\ifx\expandafter\@empty\the\mhchem@cf@sup\@empty\else% - \mhchem@appendToks{\mhchem@cf@sup}{,}% - \fi% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\expandafter\ifx\mhchem@char@caret@active\mhchem@cf@lookahead% - \def\mhchem@cf@state{e}% - \expandafter\ifx\expandafter\@empty\the\mhchem@cf@sup\@empty\else% - \mhchem@appendToks{\mhchem@cf@sup}{,}% - \fi% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if _\mhchem@cf@lookahead% - \def\mhchem@cf@state{f}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if `\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \def\mhchem@cf@state{E}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \fi% - \else\if ,\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@element}{,}}% - \fi% - \else\if .\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% - {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% - \else% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \fi% - \else\if +\mhchem@cf@lookahead% - \def\mhchem@cf@state{+}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@sup}}% - \else\expandafter\ifx\mhchem@char@hyphen@other\mhchem@cf@lookahead% - \ifnum 1<\mhchem@option@version% - \def\mhchem@cf@state{-}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else% - \def\mhchem@cf@state{+}% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@sup}{-}}% - \fi% - \else\expandafter\ifx\mhchem@char@hyphen@active\mhchem@cf@lookahead% - \ifnum 1<\mhchem@option@version% - \def\mhchem@cf@state{-}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else% - \def\mhchem@cf@state{+}% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@sup}{-}}% - \fi% - \else\if |\mhchem@cf@lookahead% - \PackageWarning{mhchem}{The symbol | is not allowed here}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if (\mhchem@cf@lookahead% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\if )\mhchem@cf@lookahead% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\if [\mhchem@cf@lookahead% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\if ]\mhchem@cf@lookahead% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\if *\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% - {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% - \else\ifcat\noexpand\mhchem@macro\noexpand\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{c}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% - \else\ifcat a\mhchem@cf@lookahead% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\ifcat 1\mhchem@cf@lookahead% - \def\mhchem@cf@state{2}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% - \else\if\mhchem@char@lbrace\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \def\mhchem@cf@action{\mhchem@cf@appendNextGroupAsMath{% - \mhchem@cf@element}}% - \else% - \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@element}}% - \fi% - \else\if $\mhchem@cf@lookahead% - \def\mhchem@cf@action{\mhchem@cf@appendMath{\mhchem@cf@element}}% - \else% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% - \else\if 2\mhchem@cf@state% - \ifx \{\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\ifx \}\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\expandafter\ifx\mhchem@char@equal@other\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \mhchem@appendToks{\mhchem@cf@result}{\dbond}% - \def\mhchem@cf@state{+}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\expandafter\ifx\mhchem@char@equal@active\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \mhchem@appendToks{\mhchem@cf@result}{\dbond}% - \def\mhchem@cf@state{+}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if ##\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \mhchem@appendToks{\mhchem@cf@result}{\tbond}% - \def\mhchem@cf@state{+}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\expandafter\ifx\mhchem@char@caret@super\mhchem@cf@lookahead% - \def\mhchem@cf@state{e}% - \expandafter\ifx\expandafter\@empty\the\mhchem@cf@sup\@empty\else% - \mhchem@appendToks{\mhchem@cf@sup}{,}% - \fi% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\expandafter\ifx\mhchem@char@caret@active\mhchem@cf@lookahead% - \def\mhchem@cf@state{e}% - \expandafter\ifx\expandafter\@empty\the\mhchem@cf@sup\@empty\else% - \mhchem@appendToks{\mhchem@cf@sup}{,}% - \fi% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if _\mhchem@cf@lookahead% - \def\mhchem@cf@state{f}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if `\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \def\mhchem@cf@state{E}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% - \fi% - \else\if ,\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \def\mhchem@cf@state{F}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@amount}{,}}% - \fi% - \else\if .\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% - {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% - \else% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% - \fi% - \else\if +\mhchem@cf@lookahead% - \def\mhchem@cf@state{+}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@sup}}% - \else\expandafter\ifx\mhchem@char@hyphen@other\mhchem@cf@lookahead% - \ifnum 1<\mhchem@option@version% - \def\mhchem@cf@state{-}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else% - \def\mhchem@cf@state{+}% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@sup}{-}}% - \fi% - \else\expandafter\ifx\mhchem@char@hyphen@active\mhchem@cf@lookahead% - \ifnum 1<\mhchem@option@version% - \def\mhchem@cf@state{-}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else% - \def\mhchem@cf@state{+}% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@sup}{-}}% - \fi% - \else\if |\mhchem@cf@lookahead% - \PackageWarning{mhchem}{The symbol | is not allowed here}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if (\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\if )\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\if [\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\if ]\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\if *\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% - {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% - \else\ifcat\noexpand\mhchem@macro\noexpand\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{c}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% - \else\ifcat a\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\ifcat 1\mhchem@cf@lookahead% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% - \else\if\mhchem@char@lbrace\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@result}}% - \else% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@element}}% - \fi% - \else\if $\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendMath{\mhchem@cf@element}}% - \else% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% - \else\if e\mhchem@cf@state% - \def\mhchem@cf@state{+}% - \if $\mhchem@cf@lookahead% - \def\mhchem@cf@action{\mhchem@cf@appendMathAsGroup{\mhchem@cf@sup}}% - \else% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@sup}}% - \fi% - \else\if f\mhchem@cf@state% - \def\mhchem@cf@state{+}% - \if $\mhchem@cf@lookahead% - \def\mhchem@cf@action{\mhchem@cf@appendMathAsGroup{\mhchem@cf@amount}}% - \else% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% - \fi% - \else\if p\mhchem@cf@state% - \def\mhchem@cf@state{*}% - \if $\mhchem@cf@lookahead% - \def\mhchem@cf@action{\mhchem@cf@appendMathAsGroup{\mhchem@cf@presup}}% - \else% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@presup}}% - \fi% - \else\if q\mhchem@cf@state% - \def\mhchem@cf@state{*}% - \if $\mhchem@cf@lookahead% - \def\mhchem@cf@action{\mhchem@cf@appendMathAsGroup{\mhchem@cf@presub}}% - \else% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@presub}}% - \fi% - \else\if E\mhchem@cf@state% - \def\mhchem@cf@state{+}% - \def\mhchem@cf@action{% - \mhchem@cf@appendNextTokenAsMathrm{\mhchem@cf@sup}}% - \else\if F\mhchem@cf@state% - \def\mhchem@cf@state{+}% - \def\mhchem@cf@action{% - \mhchem@cf@appendNextTokenAsMathrm{\mhchem@cf@amount}}% - \else\if P\mhchem@cf@state% - \def\mhchem@cf@state{*}% - \def\mhchem@cf@action{% - \mhchem@cf@appendNextTokenAsMathrm{\mhchem@cf@presup}}% - \else\if Q\mhchem@cf@state% - \def\mhchem@cf@state{*}% - \def\mhchem@cf@action{% - \mhchem@cf@appendNextTokenAsMathrm{\mhchem@cf@presub}}% - \else\if +\mhchem@cf@state% - \ifx \{\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\ifx \}\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\expandafter\ifx\mhchem@char@equal@other\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \mhchem@appendToks{\mhchem@cf@result}{\dbond}% - \def\mhchem@cf@state{+}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\expandafter\ifx\mhchem@char@equal@active\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \mhchem@appendToks{\mhchem@cf@result}{\dbond}% - \def\mhchem@cf@state{+}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if ##\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \mhchem@appendToks{\mhchem@cf@result}{\tbond}% - \def\mhchem@cf@state{+}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\expandafter\ifx\mhchem@char@caret@super\mhchem@cf@lookahead% - \def\mhchem@cf@state{e}% - \expandafter\ifx\expandafter\@empty\the\mhchem@cf@sup\@empty\else% - \mhchem@appendToks{\mhchem@cf@sup}{,}% - \fi% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\expandafter\ifx\mhchem@char@caret@active\mhchem@cf@lookahead% - \def\mhchem@cf@state{e}% - \expandafter\ifx\expandafter\@empty\the\mhchem@cf@sup\@empty\else% - \mhchem@appendToks{\mhchem@cf@sup}{,}% - \fi% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if _\mhchem@cf@lookahead% - \def\mhchem@cf@state{f}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if `\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \def\mhchem@cf@state{E}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \fi% - \else\if ,\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \def\mhchem@cf@state{F}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@element}{,}}% - \fi% - \else\if .\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% - {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% - \else% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \fi% - \else\if +\mhchem@cf@lookahead% - \def\mhchem@cf@state{+}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@sup}}% - \else\expandafter\ifx\mhchem@char@hyphen@other\mhchem@cf@lookahead% - \ifnum 1<\mhchem@option@version% - \def\mhchem@cf@state{-}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else% - \def\mhchem@cf@state{+}% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@sup}{-}}% - \fi% - \else\expandafter\ifx\mhchem@char@hyphen@active\mhchem@cf@lookahead% - \ifnum 1<\mhchem@option@version% - \def\mhchem@cf@state{-}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else% - \def\mhchem@cf@state{+}% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@sup}{-}}% - \fi% - \else\if |\mhchem@cf@lookahead% - \PackageWarning{mhchem}{The symbol | is not allowed here}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if (\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\if )\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\if [\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\if ]\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\if *\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% - {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% - \else\ifcat\noexpand\mhchem@macro\noexpand\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{c}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% - \else\ifcat a\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\ifcat 1\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\if\mhchem@char@lbrace\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@result}}% - \else% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@element}}% - \fi% - \else\if $\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendMath{\mhchem@cf@element}}% - \else% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% - \else\if *\mhchem@cf@state% - \ifx \{\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% - \else\ifx \}\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% - \else\expandafter\ifx\mhchem@char@equal@other\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \mhchem@appendToks{\mhchem@cf@result}{\dbond}% - \def\mhchem@cf@state{+}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\expandafter\ifx\mhchem@char@equal@active\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \mhchem@appendToks{\mhchem@cf@result}{\dbond}% - \def\mhchem@cf@state{+}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if ##\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \mhchem@appendToks{\mhchem@cf@result}{\tbond}% - \def\mhchem@cf@state{+}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\expandafter\ifx\mhchem@char@caret@super\mhchem@cf@lookahead% - \def\mhchem@cf@state{p}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\expandafter\ifx\mhchem@char@caret@active\mhchem@cf@lookahead% - \def\mhchem@cf@state{p}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if _\mhchem@cf@lookahead% - \def\mhchem@cf@state{q}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if `\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \def\mhchem@cf@state{P}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \fi% - \else\if ,\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \def\mhchem@cf@state{Q}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@element}{,}}% - \fi% - \else\if .\mhchem@cf@lookahead% - \ifnum 4>\mhchem@option@version% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% - {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% - \else% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \fi% - \else\if |\mhchem@cf@lookahead% - \PackageWarning{mhchem}{The symbol | is not allowed here}% - \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% - \else\if (\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% - \else\if )\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% - \else\if [\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% - \else\if ]\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% - \else\if *\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% - {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% - \else\ifcat\noexpand\mhchem@macro\noexpand\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{c}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% - \else\ifcat a\mhchem@cf@lookahead% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% - \else\ifcat 1\mhchem@cf@lookahead% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{1}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% - \else\if\mhchem@char@lbrace\mhchem@cf@lookahead% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@element}}% - \else\if $\mhchem@cf@lookahead% - \def\mhchem@cf@state{a}% - \def\mhchem@cf@action{\mhchem@cf@appendMath{\mhchem@cf@element}}% - \else% - \mhchem@cf@outputAndReset{\mhchem@cf@result}% - \def\mhchem@cf@state{s}% - \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% - \else% - \PackageWarning{mhchem}{Assertion failed: unknown internal state \mhchem@cf@state}% - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% - \fi\fi\fi% - \mhchem@cf@action% -}% -\def\mhchem@cf@continue{% - \futurelet\mhchem@cf@lookahead\mhchem@cf@i% -}% -\def\mhchem@cf@gobbleNextToken#1{% - \mhchem@cf@continue% -}% -\def\mhchem@cf@appendNextToken#1#2{% - \mhchem@appendToks{#1}{#2}% - \mhchem@cf@continue% + \__mhchem_cf{#1}{#2}% } -\def\mhchem@cf@appendNextTokenAsMathrm#1#2{% - \mhchem@appendToks{#1}{\ensuremath{\mathrm{#2}}}% - \mhchem@cf@continue% -} -\def\mhchem@cf@appendNextGroup#1#2{% - \mhchem@appendToks{#1}{{#2}}% - \mhchem@cf@continue% -} -\def\mhchem@cf@appendNextGroupAsMath#1#2{% - \mhchem@appendToks{#1}{\text{\ensuremath{#2}}}% - \mhchem@cf@continue% -} -\def\mhchem@cf@append#1#2#3{% - \mhchem@appendToks{#1}{#2}% - \mhchem@cf@continue% -}% -\def\mhchem@cf@appendMath#1#2#3${% - \mhchem@appendToks{#1}{\text{\ensuremath{#3}}}% - \mhchem@cf@continue% -}% -\def\mhchem@cf@appendMathAsGroup#1#2#3${% - \mhchem@appendToks{#1}{{\text{\ensuremath{#3}}}}% - \mhchem@cf@continue% -}% +\tl_new:N \__mhchem_cf_state_tl +\bool_new:N \__mhchem_cf_startedWithBond_bool +\bool_new:N \__mhchem_cf_cfActive_bool +\bool_set_false:N \__mhchem_cf_cfActive_bool +\int_new:N \__mhchem_option_version_int +\cs_new:Npn \__mhchem_cf #1#2 + { + \group_begin: + \int_set:Nn \__mhchem_option_version_int { \mhchem@option@version } + \def\sbond{{\ensuremath{-}}}% + \ifnum 2=\mhchem@option@version% + \let\bond\sbond% + \else\ifnum 2<\mhchem@option@version% + \DeclareRobustCommand*\bond{\mhchem@bond}% + \fi\fi% + \DeclareRobustCommand\dbond{\rlap{\protect\raisebox{.2ex}{\sbond}}\protect\raisebox{-.2ex}{\sbond}}% + \DeclareRobustCommand\tbond{\rlap{\protect\raisebox{.4ex}{\sbond}}% + \rlap{\sbond}\protect\raisebox{-.4ex}{\sbond}}% + \def\hyphen{\mhchem@hyphen}% + \bool_if:NF \__mhchem_cf_cfActive_bool + { + \bool_set_true:N \__mhchem_cf_cfActive_bool + \mode_if_math:F + { + \def\mhchem@option@alwaystextmode{1} + \mhchem@option@textFont + } + \str_if_eq:nnTF { 1 } { \mhchem@option@alwaystextmode } + { + \cs_set:Npx \mhchem@mathOrText ##1 { \exp_not:N \text{##1} } + \cs_set:Npx \mhchem@mathOrText@ii ##1##2 { ##2 } + } + { + \int_compare:nTF { 1 < \mhchem@option@version } + { + \cs_set:Npx \mhchem@mathOrText ##1 + { + \mode_if_math:TF { \exp_not:N \mhchem@option@mathFont{##1} } { \exp_not:N \text{##1} } + } + \cs_set:Npx \mhchem@mathOrText@ii ##1##2 + { + \mode_if_math:TF { \exp_not:N \mhchem@option@mathFont{##1} } { ##2 } + } + } + { + \cs_set:Npx \mhchem@mathOrText ##1 + { + \mode_if_math:TF { ##1 } { \exp_not:N \text{##1} } + } + \cs_set:Npx \mhchem@mathOrText@ii ##1##2 + { + \mode_if_math:TF { ##1 } { ##2 } + } + } + } + } + \tl_set:Nn \__mhchem_cf_state_tl { s } + \bool_set_false:N \__mhchem_cf_startedWithBond_bool + \__mhchem_cf_resetOutput: + \tl_clear_new:N \__mhchem_cf_result_tl + \__mhchem_cf_loop: #2 \q_recursion_stop + \str_if_eq:nnTF {#1} {} + { \ensuremath{\tl_use:N \__mhchem_cf_result_tl} } + { \ensuremath{\overset{#1}{\tl_use:N \__mhchem_cf_result_tl}} } + \bool_set_false:N \__mhchem_cf_cfActive_bool + \group_end: + } +\cs_new:Nn \__mhchem_cf_loop: + { + \peek_meaning_remove:NTF \q_recursion_stop + { + \str_case:Vnn { \__mhchem_cf_state_tl } + { + { - } + { + \bool_if:NTF \__mhchem_cf_startedWithBond_bool + { + \__mhchem_cf_outputAndReset: + \tl_put_right:Nn \__mhchem_cf_result_tl {\sbond} + } + { \tl_put_right:Nn \__mhchem_cf_sup_tl {-} } + } + { 1 } + { \tl_set:Nn \__mhchem_cf_state_tl {9} } + } + {} + \__mhchem_cf_outputAndReset: + }{ + \peek_meaning:NTF \relax + { \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: }{ + \peek_meaning:NTF \protect + { \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: }{ + \str_case:Vnn { \__mhchem_cf_state_tl } + { + { - } + { + \__mhchem_cf_outputAndReset: + \tl_put_right:Nn \__mhchem_cf_result_tl {\sbond} + \tl_set:Nn \__mhchem_cf_state_tl { + } + \__mhchem_cf_loop: + } + { s } + { + \peek_charcode:NTF - + { + \int_compare:nTF { 1 < \__mhchem_option_version_int } + { + \tl_set:Nn \__mhchem_cf_state_tl { - } + \bool_set_true:N \__mhchem_cf_startedWithBond_bool + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + } + { + \tl_set:Nn \__mhchem_cf_state_tl { + } + \tl_put_right:Nn \__mhchem_cf_sup_tl { - } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + } + }{ + \peek_charcode:NTF = + { + \__mhchem_loopHelper_outputAndReset_appendToResult_setState_useNone:NNn + { \dbond } + { s } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ## + { + \__mhchem_loopHelper_outputAndReset_appendToResult_setState_useNone:NNn + { \tbond } + { s } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ^ + { + \tl_set:Nn \__mhchem_cf_state_tl { p } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + }{ + \peek_charcode:NTF _ + { + \tl_set:Nn \__mhchem_cf_state_tl { q } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ` + { + \int_compare:nTF { 4 > \mhchem@option@version } + { + \tl_set:Nn \__mhchem_cf_state_tl { P } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + } + { + \tl_set:Nn \__mhchem_cf_state_tl { a } + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: + } + }{ + \peek_charcode:NTF , + { + \int_compare:nTF { 4 > \mhchem@option@version } + { + \tl_set:Nn \__mhchem_cf_state_tl { Q } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + } + { + \tl_set:Nn \__mhchem_cf_state_tl { 1 } + \tl_put_right:Nn \__mhchem_cf_sub_tl { {,} } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + } + }{ + \peek_charcode:NTF . + { + \__mhchem_loopHelper_outputAndReset_appendToResult_setState_useNone:NNn + { \mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot} } + { s } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF * + { + \__mhchem_loopHelper_outputAndReset_appendToResult_setState_useNone:NNn + { \mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot} } + { s } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF + + { + \tl_set:Nn \__mhchem_cf_state_tl { + } + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_sup_tl \__mhchem_cf_loop: + }{ + \peek_charcode:NTF | + { + \let\mhchem@cf@action\mhchem@cf@switchState + }{ + \peek_charcode:NTF ( + { + \__mhchem_loopHelper_outputAndReset_appendNextTokenToResult_setState:NNn + { s } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ) + { + \__mhchem_loopHelper_outputAndReset_appendNextTokenToResult_setState:NNn + { a } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF [ + { + \__mhchem_loopHelper_outputAndReset_appendNextTokenToResult_setState:NNn + { s } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ] + { + \__mhchem_loopHelper_outputAndReset_appendNextTokenToResult_setState:NNn + { a } + \__mhchem_cf_loop: + }{ + \peek_catcode:NTF \mhchem@macro + { + \tl_set:Nn \__mhchem_cf_state_tl { c } + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_result_tl \__mhchem_cf_loop: + }{ + \peek_catcode:NTF a + { + \tl_set:Nn \__mhchem_cf_state_tl { a } + \__mhchem_loopHelper_appendNextToken:NNn + \__mhchem_cf_element_tl \__mhchem_cf_loop: + }{ + \peek_catcode:NTF 1 + { + \tl_set:Nn \__mhchem_cf_state_tl { 1 } + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: + }{ + \peek_catcode:oTF \c_group_begin_token + { + \int_compare:nTF { 4 > \mhchem@option@version } + { + \__mhchem_loopHelper_appendNextGroup:NNn \__mhchem_cf_result_tl \__mhchem_cf_loop: + } + { + \tl_set:Nn \__mhchem_cf_state_tl { 1 } + \__mhchem_loopHelper_appendNextGroup:NNn \__mhchem_cf_sub_tl \__mhchem_cf_loop: + } + }{ + \peek_catcode_remove:oTF \c_math_toggle_token + { + \int_compare:nTF { 4 > \mhchem@option@version } + { + \tl_set:Nn \__mhchem_cf_state_tl { a } + \__mhchem_loopHelper_appendMath:NNw \__mhchem_cf_element_tl \__mhchem_cf_loop: + } + { + \tl_set:Nn \__mhchem_cf_state_tl { 1 } + \__mhchem_loopHelper_appendMath:NNw \__mhchem_cf_element_tl \__mhchem_cf_loop: + } + } + { + \msg_error:nnn { mhchem } { cf/unexpected-input } + } + }}}}}}}}}}}}}}}}}}} + } + { C } + { + \peek_catcode:oTF \c_group_begin_token + { + \__mhchem_loopHelper_appendNextGroup:NNn \__mhchem_cf_result_tl \__mhchem_cf_loop: + } + { + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_result_tl \__mhchem_cf_loop: + } + \tl_set:Nn \__mhchem_cf_state_tl { c } + } + { c } + { + \peek_catcode:oTF \c_group_begin_token + { + \__mhchem_loopHelper_appendNextGroup:NNn \__mhchem_cf_result_tl \__mhchem_cf_loop: + } + { + \tl_set:Nn \__mhchem_cf_state_tl { a } + \__mhchem_cf_loop: + } + } + { 1 } + { + \peek_charcode:NTF 1 + { \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: } + { + \peek_charcode:NTF 2 + { \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: } + { + \peek_charcode:NTF 3 + { \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: } + { + \peek_charcode:NTF 4 + { \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: } + { + \peek_charcode:NTF 5 + { \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: } + { + \peek_charcode:NTF 6 + { \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: } + { + \peek_charcode:NTF 7 + { \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: } + { + \peek_charcode:NTF 8 + { \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: } + { + \peek_charcode:NTF 9 + { \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: } + { + \peek_charcode:NTF 0 + { \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: } + { + \peek_charcode:NTF . + { \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: } + { + \peek_charcode:NTF , + { + \tl_put_right:Nn \__mhchem_cf_element_tl { {,} } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + } + { + \peek_charcode:NTF / + { \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: } + { + \__mhchem_cf_outputAndReset: + \tl_set:Nn \__mhchem_cf_state_tl { s } + \__mhchem_cf_loop: + }}}}}}}}}}}}} + } + { a } + { + \peek_charcode:NTF - + { + \tl_set:Nn \__mhchem_cf_state_tl { - } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + }{ + \peek_charcode:NTF = + { + \__mhchem_loopHelper_outputAndReset_appendToResult_setState_useNone:NNn + { \dbond } + { s } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ## + { + \__mhchem_loopHelper_outputAndReset_appendToResult_setState_useNone:NNn + { \tbond } + { s } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ^ + { + \tl_set:Nn \__mhchem_cf_state_tl { k } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + }{ + \peek_charcode:NTF _ + { + \tl_set:Nn \__mhchem_cf_state_tl { f } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ` + { + \int_compare:nTF { 4 > \mhchem@option@version } + { + \tl_set:Nn \__mhchem_cf_state_tl { E } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + } + { + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: + } + }{ + \peek_charcode:NTF , + { + \int_compare:nTF { 4 > \mhchem@option@version } + { + \tl_set:Nn \__mhchem_cf_state_tl { F } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + } + { + \tl_set:Nn \__mhchem_cf_state_tl { 1 } + \tl_put_right:Nn \__mhchem_cf_sub_tl { , } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + } + }{ + \peek_charcode:NTF . + { + \__mhchem_loopHelper_outputAndReset_appendToResult_setState_useNone:NNn + { \mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot} } + { s } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF * + { + \__mhchem_loopHelper_outputAndReset_appendToResult_setState_useNone:NNn + { \mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot} } + { s } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF + + { + \tl_set:Nn \__mhchem_cf_state_tl { + } + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_sup_tl \__mhchem_cf_loop: + }{ + \peek_charcode:NTF | + { + \PackageWarning{mhchem}{The symbol | is not allowed here} + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ( + { + \__mhchem_loopHelper_outputAndReset_appendNextTokenToResult_setState:NNn + { s } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ) + { + \__mhchem_loopHelper_outputAndReset_appendNextTokenToResult_setState:NNn + { a } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF [ + { + \__mhchem_loopHelper_outputAndReset_appendNextTokenToResult_setState:NNn + { s } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ] + { + \__mhchem_loopHelper_outputAndReset_appendNextTokenToResult_setState:NNn + { a } + \__mhchem_cf_loop: + }{ + \peek_catcode:NTF \mhchem@macro + { + \__mhchem_cf_outputAndReset: + \tl_set:Nn \__mhchem_cf_state_tl { c } + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_result_tl \__mhchem_cf_loop: + }{ + \peek_catcode:NTF a + { + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: + }{ + \peek_catcode:NTF 1 + { + \tl_set:Nn \__mhchem_cf_state_tl { 2 } + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_sub_tl \__mhchem_cf_loop: + }{ + \peek_catcode:oTF \c_group_begin_token + { + \__mhchem_cf_outputAndReset: + \__mhchem_loopHelper_appendNextGroup:NNn \__mhchem_cf_result_tl \__mhchem_cf_loop: + }{ + \peek_catcode_remove:oTF \c_math_toggle_token + { + \__mhchem_loopHelper_appendMath:NNw \__mhchem_cf_element_tl \__mhchem_cf_loop: + }{ + \msg_error:nnn { mhchem } { cf/unexpected-input } + }}}}}}}}}}}}}}}}}}}} + } + { 2 } + { + \peek_charcode:NTF - + { + \tl_set:Nn \__mhchem_cf_state_tl { - } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + }{ + \peek_charcode:NTF = + { + \__mhchem_cf_outputAndReset: + \tl_put_right:Nn \__mhchem_cf_result_tl {\dbond} + \tl_set:Nn \__mhchem_cf_state_tl { s } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ## + { + \__mhchem_cf_outputAndReset: + \tl_put_right:Nn \__mhchem_cf_result_tl {\tbond} + \tl_set:Nn \__mhchem_cf_state_tl { s } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ^ + { + \tl_set:Nn \__mhchem_cf_state_tl { e } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + }{ + \peek_charcode:NTF _ + { + \tl_set:Nn \__mhchem_cf_state_tl { f } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ` + { + \int_compare:nTF { 4 > \mhchem@option@version } + { + \tl_set:Nn \__mhchem_cf_state_tl { E } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + } + { + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_sub_tl \__mhchem_cf_loop: + } + }{ + \peek_charcode:NTF , + { + \int_compare:nTF { 4 > \mhchem@option@version } + { + \tl_set:Nn \__mhchem_cf_state_tl { F } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + } + { + \tl_put_right:Nn \__mhchem_cf_sub_tl { , } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + } + }{ + \peek_charcode:NTF . + { + \int_compare:nTF { 4 > \mhchem@option@version } + { + \__mhchem_loopHelper_outputAndReset_appendToResult_setState_useNone:NNn + { \mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot} } + { s } + \__mhchem_cf_loop: + } + { + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_sub_tl \__mhchem_cf_loop: + } + }{ + \peek_charcode:NTF * + { + \__mhchem_loopHelper_outputAndReset_appendToResult_setState_useNone:NNn + { \mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot} } + { s } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF + + { + \tl_set:Nn \__mhchem_cf_state_tl { + } + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_sup_tl \__mhchem_cf_loop: + }{ + \peek_charcode:NTF | + { + \PackageWarning{mhchem}{The symbol | is not allowed here} + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ( + { + \__mhchem_loopHelper_outputAndReset_appendNextTokenToResult_setState:NNn + { s } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ) + { + \__mhchem_loopHelper_outputAndReset_appendNextTokenToResult_setState:NNn + { a } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF [ + { + \__mhchem_loopHelper_outputAndReset_appendNextTokenToResult_setState:NNn + { s } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ] + { + \__mhchem_loopHelper_outputAndReset_appendNextTokenToResult_setState:NNn + { a } + \__mhchem_cf_loop: + }{ + \peek_catcode:NTF \mhchem@macro + { + \__mhchem_cf_outputAndReset: + \tl_set:Nn \__mhchem_cf_state_tl { c } + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_result_tl \__mhchem_cf_loop: + }{ + \peek_catcode:NTF a + { + \__mhchem_cf_outputAndReset: + \tl_set:Nn \__mhchem_cf_state_tl { a } + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: + }{ + \peek_catcode:NTF 1 + { + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_sub_tl \__mhchem_cf_loop: + }{ + \peek_catcode:oTF \c_group_begin_token + { + \int_compare:nTF { 4 > \mhchem@option@version } + { + \__mhchem_cf_outputAndReset: + \tl_set:Nn \__mhchem_cf_state_tl { s } + \__mhchem_loopHelper_appendNextGroup:NNn \__mhchem_cf_result_tl \__mhchem_cf_loop: + } + { + \__mhchem_cf_outputAndReset: + \tl_set:Nn \__mhchem_cf_state_tl { a } + \__mhchem_loopHelper_appendNextGroup:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: + } + }{ + \peek_catcode_remove:oTF \c_math_toggle_token + { + \__mhchem_cf_outputAndReset: + \tl_set:Nn \__mhchem_cf_state_tl { a } + \__mhchem_loopHelper_appendMath:NNw \__mhchem_cf_element_tl \__mhchem_cf_loop: + } + { + \__mhchem_cf_outputAndReset: + \tl_set:Nn \__mhchem_cf_state_tl { s } + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_result_tl \__mhchem_cf_loop: + }}}}}}}}}}}}}}}}}}}} + } + { e } + { + \tl_set:Nn \__mhchem_cf_state_tl { + } + \peek_catcode_remove:oTF \c_math_toggle_token + { + \__mhchem_loopHelper_appendMathAsGroup:NNw \__mhchem_cf_sup_tl \__mhchem_cf_loop: + } + { + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_sup_tl \__mhchem_cf_loop: + } + } + { k } + { + \tl_set:Nn \__mhchem_cf_state_tl { + } + \peek_catcode_remove:oTF \c_math_toggle_token + { + \__mhchem_loopHelper_appendMathAsGroup:NNw \__mhchem_cf_supA_tl \__mhchem_cf_loop: + } + { + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_supA_tl \__mhchem_cf_loop: + } + } + { f } + { + \tl_set:Nn \__mhchem_cf_state_tl { + } + \peek_catcode_remove:oTF \c_math_toggle_token + { + \__mhchem_loopHelper_appendMathAsGroup:NNw \__mhchem_cf_sub_tl \__mhchem_cf_loop: + } + { + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_sub_tl \__mhchem_cf_loop: + } + } + { p } + { + \tl_set:Nn \__mhchem_cf_state_tl { * } + \peek_catcode_remove:oTF \c_math_toggle_token + { + \__mhchem_loopHelper_appendMathAsGroup:NNw \__mhchem_cf_presup_tl \__mhchem_cf_loop: + } + { + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_presup_tl \__mhchem_cf_loop: + } + } + { q } + { + \tl_set:Nn \__mhchem_cf_state_tl { * } + \peek_catcode_remove:oTF \c_math_toggle_token + { + \__mhchem_loopHelper_appendMathAsGroup:NNw \__mhchem_cf_presub_tl \__mhchem_cf_loop: + } + { + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_presub_tl \__mhchem_cf_loop: + } + } + { E } + { + \tl_set:Nn \__mhchem_cf_state_tl { + } + \__mhchem_loopHelper_appendNextTokenAsMathrm:NNn \__mhchem_cf_sup_tl \__mhchem_cf_loop: + } + { F } + { + \tl_set:Nn \__mhchem_cf_state_tl { + } + \__mhchem_loopHelper_appendNextTokenAsMathrm:NNn \__mhchem_cf_sub_tl \__mhchem_cf_loop: + } + { P } + { + \tl_set:Nn \__mhchem_cf_state_tl { * } + \__mhchem_loopHelper_appendNextTokenAsMathrm:NNn \__mhchem_cf_presup_tl \__mhchem_cf_loop: + } + { Q } + { + \tl_set:Nn \__mhchem_cf_state_tl { * } + \__mhchem_loopHelper_appendNextTokenAsMathrm:NNn \__mhchem_cf_presub_tl \__mhchem_cf_loop: + } + { + } + { + \peek_charcode:NTF - + { + \tl_set:Nn \__mhchem_cf_state_tl { - } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + }{ + \peek_charcode:NTF = + { + \__mhchem_loopHelper_outputAndReset_appendToResult_setState_useNone:NNn + { \dbond } + { s } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ## + { + \__mhchem_loopHelper_outputAndReset_appendToResult_setState_useNone:NNn + { \tbond } + { s } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ^ + { + \tl_set:Nn \__mhchem_cf_state_tl { e } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + }{ + \peek_charcode:NTF _ + { + \tl_set:Nn \__mhchem_cf_state_tl { f } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ` + { + \int_compare:nTF { 4 > \mhchem@option@version } + { + \tl_set:Nn \__mhchem_cf_state_tl { E } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + } + { + \__mhchem_cf_outputAndReset: + \tl_set:Nn \__mhchem_cf_state_tl { a } + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: + } + }{ + \peek_charcode:NTF , + { + \int_compare:nTF { 4 > \mhchem@option@version } + { + \tl_set:Nn \__mhchem_cf_state_tl { F } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + } + { + \__mhchem_cf_outputAndReset: + \tl_set:Nn \__mhchem_cf_state_tl { a } + \tl_put_right:Nn \__mhchem_cf_element_tl { , } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + } + }{ + \peek_charcode:NTF . + { + \int_compare:nTF { 4 > \mhchem@option@version } + { + \__mhchem_loopHelper_outputAndReset_appendToResult_setState_useNone:NNn + { \mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot} } + { s } + \__mhchem_cf_loop: + } + { + \__mhchem_cf_outputAndReset: + \tl_set:Nn \__mhchem_cf_state_tl { a } + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: + } + }{ + \peek_charcode:NTF * + { + \__mhchem_loopHelper_outputAndReset_appendToResult_setState_useNone:NNn + { \mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot} } + { s } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF + + { + \tl_set:Nn \__mhchem_cf_state_tl { + } + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_sup_tl \__mhchem_cf_loop: + }{ + \peek_charcode:NTF | + { + \PackageWarning{mhchem}{The symbol | is not allowed here} + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ( + { + \__mhchem_loopHelper_outputAndReset_appendNextTokenToResult_setState:NNn + { s } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ) + { + \__mhchem_loopHelper_outputAndReset_appendNextTokenToResult_setState:NNn + { a } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF [ + { + \__mhchem_loopHelper_outputAndReset_appendNextTokenToResult_setState:NNn + { s } + \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ] + { + \__mhchem_loopHelper_outputAndReset_appendNextTokenToResult_setState:NNn + { a } + \__mhchem_cf_loop: + }{ + \peek_catcode:NTF \mhchem@macro + { + \__mhchem_cf_outputAndReset: + \tl_set:Nn \__mhchem_cf_state_tl { c } + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_result_tl \__mhchem_cf_loop: + }{ + \peek_catcode:NTF a + { + \__mhchem_cf_outputAndReset: + \tl_set:Nn \__mhchem_cf_state_tl { a } + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: + }{ + \peek_catcode:NTF 1 + { + \__mhchem_cf_outputAndReset: + \tl_set:Nn \__mhchem_cf_state_tl { a } + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: + }{ + \peek_catcode:oTF \c_group_begin_token + { + \int_compare:nTF { 4 > \mhchem@option@version } + { + \__mhchem_cf_outputAndReset: + \tl_set:Nn \__mhchem_cf_state_tl { s } + \__mhchem_loopHelper_appendNextGroup:NNn \__mhchem_cf_result_tl \__mhchem_cf_loop: + } + { + \__mhchem_cf_outputAndReset: + \tl_set:Nn \__mhchem_cf_state_tl { a } + \__mhchem_loopHelper_appendNextGroup:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: + } + }{ + \peek_catcode_remove:oTF \c_math_toggle_token + { + \__mhchem_cf_outputAndReset: + \tl_set:Nn \__mhchem_cf_state_tl { a } + \__mhchem_loopHelper_appendMath:NNw \__mhchem_cf_element_tl \__mhchem_cf_loop: + } + { + \__mhchem_cf_outputAndReset: + \tl_set:Nn \__mhchem_cf_state_tl { s } + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_result_tl \__mhchem_cf_loop: + }}}}}}}}}}}}}}}}}}}} + } + { * } + { + \peek_charcode:NTF ^ + { + \tl_set:Nn \__mhchem_cf_state_tl { p } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + }{ + \peek_charcode:NTF _ + { + \tl_set:Nn \__mhchem_cf_state_tl { q } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + }{ + \peek_charcode:NTF ` + { + \int_compare:nTF { 4 > \mhchem@option@version } + { + \tl_set:Nn \__mhchem_cf_state_tl { P } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + } + { + \tl_set:Nn \__mhchem_cf_state_tl { a } + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_element_tl \__mhchem_cf_loop: + } + }{ + \peek_charcode:NTF , + { + \int_compare:nTF { 4 > \mhchem@option@version } + { + \tl_set:Nn \__mhchem_cf_state_tl { Q } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + } + { + \tl_set:Nn \__mhchem_cf_state_tl { a } + \tl_put_right:Nn \__mhchem_cf_element_tl { , } + \__mhchem_loopHelper_useNone:Nn \__mhchem_cf_loop: + } + } + { + \__mhchem_cf_outputAndReset: + \tl_set:Nn \__mhchem_cf_state_tl { s } + \__mhchem_cf_loop: + }}}} + } + } + { + \msg_error:nnx { mhchem } { cf / unexpected-state } { \__mhchem_cf_state_tl } + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_result_tl \__mhchem_cf_loop: + } + }}} + } \def\mhchem@cf@switchState#1#2|{% \ifthenelse{\equal{1}{#2}}{% - \def\mhchem@cf@state{a}% + \tl_set:Nn \__mhchem_cf_state_tl { a }% }{% \PackageWarning{mhchem}{Command |#2| unknown}% }% \mhchem@cf@continue% }% -\newtoks\mhchem@cf@element% -\newtoks\mhchem@cf@amount% -\newtoks\mhchem@cf@sup% -\newtoks\mhchem@cf@presub% -\newtoks\mhchem@cf@presup% -\def\mhchem@cf@output{% - \if s\mhchem@cf@state% - \else\if 1\mhchem@cf@state% - \noexpand\mhchem@mathOrText{\noexpand\mhchem@cf@frac\the\mhchem@cf@amount/\noexpand\mhchem@END{\mhchem@option@skipAfterFracAmount}}% - \else\if 9\mhchem@cf@state% - \noexpand\mhchem@mathOrText{\noexpand\mhchem@cf@frac\the\mhchem@cf@amount/\noexpand\mhchem@END{}}% - \else% - \if\mhchem@option@usenonsimultaneoussubsuperscripts 0\relax% - \noexpand\mhchem@chemfive% - {\noexpand\mhchem@cf@replaceMath{\the\mhchem@cf@presup}}% - {\noexpand\mhchem@cf@replaceMath{\the\mhchem@cf@presub}}% - {\the\mhchem@cf@element}% - {\noexpand\mhchem@cf@replaceMath{\the\mhchem@cf@amount}}% - {\noexpand\mhchem@cf@replaceMathMinusDot{\the\mhchem@cf@sup}}% - {}% - \else% - \noexpand\mhchem@chemfive% - {\noexpand\mhchem@cf@replaceMath{\the\mhchem@cf@presup}}% - {\noexpand\mhchem@cf@replaceMath{\the\mhchem@cf@presub}}% - {\the\mhchem@cf@element}% - {\noexpand\mhchem@cf@replaceMath{\the\mhchem@cf@amount}}% - {}% - {\noexpand\mhchem@cf@replaceMathMinusDot{\the\mhchem@cf@sup}}% - \fi% - \fi\fi\fi% +\tl_new:N \__mhchem_cf_presup_tl +\tl_new:N \__mhchem_cf_presub_tl +\tl_new:N \__mhchem_cf_element_tl +\tl_new:N \__mhchem_cf_supA_tl +\tl_new:N \__mhchem_cf_sub_tl +\tl_new:N \__mhchem_cf_sup_tl +\cs_new:Nn \__mhchem_cf_output: + { + \str_case:Vnn { \__mhchem_cf_state_tl } + { + { s } { } + { 1 } + { + \tl_put_right:Nx \__mhchem_cf_result_tl + { \exp_not:N \mhchem@mathOrText { \exp_not:N \mhchem@cf@frac \exp_not:V \__mhchem_cf_element_tl / \exp_not:N \mhchem@END { \mhchem@option@skipAfterFracAmount } } } } + { 9 } + { + \tl_put_right:Nx \__mhchem_cf_result_tl + { \exp_not:N \mhchem@mathOrText { \exp_not:N \mhchem@cf@frac \exp_not:V \__mhchem_cf_element_tl / \exp_not:N \mhchem@END {} } } + } + } + { + \tl_if_empty:NTF \__mhchem_cf_sub_tl + { + \tl_put_right:NV \__mhchem_cf_supA_tl \__mhchem_cf_sup_tl + \tl_clear:N \__mhchem_cf_sup_tl + } + { + \tl_if_empty:NTF \__mhchem_cf_sup_tl + { } + { + \tl_if_empty:NTF \__mhchem_cf_supA_tl + { } + { + \msg_error:nnn { mhchem } { cf/unexpected-two-superscripts } + } + } + } + \tl_put_right:Nx \__mhchem_cf_result_tl + { + \exp_not:N \__mhchem_chemfive:nnnnnn + { \exp_not:N \__mhchem_cf_replaceMath:n { \exp_not:V \__mhchem_cf_presup_tl } } + { \exp_not:N \__mhchem_cf_replaceMath:n { \exp_not:V \__mhchem_cf_presub_tl } } + { \exp_not:V \__mhchem_cf_element_tl } + { \exp_not:N \__mhchem_cf_replaceMathMinusDot:n { \exp_not:V \__mhchem_cf_supA_tl } } + { \exp_not:N \__mhchem_cf_replaceMath:n { \exp_not:V \__mhchem_cf_sub_tl } } + { \exp_not:N \__mhchem_cf_replaceMathMinusDot:n { \exp_not:V \__mhchem_cf_sup_tl } } + } + } + } +\cs_new:Npn \__mhchem_cf_output_aux:NV #1#2 { + #1 { #2 } } -\def\mhchem@cf@outputReset{% - \mhchem@cf@element={}% - \mhchem@cf@amount={}% - \mhchem@cf@sup={}% - \mhchem@cf@presub={}% - \mhchem@cf@presup={}% -} -\def\mhchem@cf@outputAndReset#1{% - \edef\mhchem@cf@outputAndReset@i{#1={\the#1\mhchem@cf@output}}% - \mhchem@cf@outputAndReset@i% - \mhchem@cf@outputReset% -} - - +\cs_new:Nn \__mhchem_cf_resetOutput: + { + \tl_clear:N \__mhchem_cf_presup_tl + \tl_clear:N \__mhchem_cf_presub_tl + \tl_clear:N \__mhchem_cf_element_tl + \tl_clear:N \__mhchem_cf_supA_tl + \tl_clear:N \__mhchem_cf_sub_tl + \tl_clear:N \__mhchem_cf_sup_tl + } +\cs_new:Nn \__mhchem_cf_outputAndReset: + { + \__mhchem_cf_output: + \__mhchem_cf_resetOutput: + } %%% frac \def\mhchem@cf@frac#1/#2\mhchem@END#3{% @@ -1786,152 +1888,137 @@ \def\mhchem@getlastchars#1#2\mhchem@ENDgetlastchars{#2} %%% replaceMath -\newtoks\mhchem@cf@replaceMath@result -\newcommand\mhchem@cf@replaceMath[1]{% - \mhchem@cf@replaceMath@result={}% - \mhchem@cf@replaceMath@continue#1\mhchem@END% - \the\mhchem@cf@replaceMath@result% -} -\def\mhchem@cf@replaceMath@i{% - \ifx\mhchem@END\mhchem@cf@replaceMath@lookahead% - \let\mhchem@cf@replaceMath@action\mhchem@gobble% - \else\if\mhchem@char@lbrace\mhchem@cf@replaceMath@lookahead% - \let\mhchem@cf@replaceMath@action\mhchem@cf@replaceMath@appendNextGroup% - \else\if $\mhchem@cf@replaceMath@lookahead% - \let\mhchem@cf@replaceMath@action\mhchem@cf@replaceMath@appendMath% - \else% - \let\mhchem@cf@replaceMath@action\mhchem@cf@replaceMath@appendNextToken% - \fi\fi\fi% - \mhchem@cf@replaceMath@action% -} -\def\mhchem@cf@replaceMath@continue{% - \futurelet\mhchem@cf@replaceMath@lookahead\mhchem@cf@replaceMath@i% -} -\def\mhchem@cf@replaceMath@appendNextGroup#1{% - \mhchem@appendToks{\mhchem@cf@replaceMath@result}{{#1}}% - \mhchem@cf@replaceMath@continue% -} -\def\mhchem@cf@replaceMath@appendNextToken#1{% - \mhchem@appendToks{\mhchem@cf@replaceMath@result}{#1}% - \mhchem@cf@replaceMath@continue% -} -\def\mhchem@cf@replaceMath@appendMath#1#2${% - \mhchem@appendToks{\mhchem@cf@replaceMath@result}{\text{\ensuremath{#2}}}% - \mhchem@cf@replaceMath@continue% -} +\tl_new:N \__mhchem_cf_replaceMath_result_tl +\cs_new:Npn \__mhchem_cf_replaceMath:n #1 + { + \tl_clear:N \__mhchem_cf_replaceMath_result_tl + \__mhchem_cf_replaceMath_loop: #1 \q_recursion_stop + \__mhchem_cf_replaceMath_result_tl + } +\cs_new:Nn \__mhchem_cf_replaceMath_loop: + { + \peek_meaning:NTF \q_recursion_stop + { \use_none:n } + { + \peek_catcode_remove:oTF \c_math_toggle_token % math $ + { \__mhchem_loopHelper_appendMath:NNw \__mhchem_cf_replaceMath_result_tl \__mhchem_cf_replaceMath_loop: } + { + \peek_catcode:oTF \c_group_begin_token + { \__mhchem_loopHelper_appendNextGroup:NNn \__mhchem_cf_replaceMath_result_tl \__mhchem_cf_replaceMath_loop: } + { + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_replaceMath_result_tl \__mhchem_cf_replaceMath_loop: + }}} + } %%% replaceMathMinusDot -\newtoks\mhchem@cf@replaceMathMinusDot@result -\newcommand\mhchem@cf@replaceMathMinusDot[1]{% - \mhchem@cf@replaceMathMinusDot@result={}% - \mhchem@cf@replaceMathMinusDot@continue#1\mhchem@END% - \the\mhchem@cf@replaceMathMinusDot@result% -} -\def\mhchem@cf@replaceMathMinusDot@i{% - \ifx\mhchem@END\mhchem@cf@replaceMathMinusDot@lookahead% - \let\mhchem@cf@replaceMathMinusDot@action\mhchem@gobble% - \else\expandafter\ifx\mhchem@char@hyphen@other\mhchem@cf@replaceMathMinusDot@lookahead\relax% - \def\mhchem@cf@replaceMathMinusDot@action{\mhchem@cf@replaceMathMinusDot@append{\mhchem@mathOrText@ii{-}{\mhchem@option@textminus}}}% - \else\expandafter\ifx\mhchem@char@hyphen@active\mhchem@cf@replaceMathMinusDot@lookahead\relax% - \def\mhchem@cf@replaceMathMinusDot@action{\mhchem@cf@replaceMathMinusDot@append{\mhchem@mathOrText@ii{-}{\mhchem@option@textminus}}}% - \else\if .\mhchem@cf@replaceMathMinusDot@lookahead\relax% - \def\mhchem@cf@replaceMathMinusDot@action{\mhchem@cf@replaceMathMinusDot@append{\ensuremath{\textbf{\fontfamily{cmr}\selectfont\textperiodcentered}}}}% - \else\if\mhchem@char@lbrace\mhchem@cf@replaceMathMinusDot@lookahead% - \let\mhchem@cf@replaceMathMinusDot@action\mhchem@cf@replaceMathMinusDot@appendNextGroup% - \else\if $\mhchem@cf@replaceMathMinusDot@lookahead% - \let\mhchem@cf@replaceMathMinusDot@action\mhchem@cf@replaceMathMinusDot@appendMath% - \else% - \let\mhchem@cf@replaceMathMinusDot@action\mhchem@cf@replaceMathMinusDot@appendNextToken% - \fi\fi\fi\fi\fi\fi% - \mhchem@cf@replaceMathMinusDot@action% -} -\def\mhchem@cf@replaceMathMinusDot@continue{% - \futurelet\mhchem@cf@replaceMathMinusDot@lookahead\mhchem@cf@replaceMathMinusDot@i% -} -\def\mhchem@cf@replaceMathMinusDot@append#1#2{% - \mhchem@appendToks{\mhchem@cf@replaceMathMinusDot@result}{#1}% - \mhchem@cf@replaceMathMinusDot@continue% -} -\def\mhchem@cf@replaceMathMinusDot@appendNextGroup#1{% - \mhchem@appendToks{\mhchem@cf@replaceMathMinusDot@result}{{#1}}% - \mhchem@cf@replaceMathMinusDot@continue% -} -\def\mhchem@cf@replaceMathMinusDot@appendNextToken#1{% - \mhchem@appendToks{\mhchem@cf@replaceMathMinusDot@result}{#1}% - \mhchem@cf@replaceMathMinusDot@continue% -} -\def\mhchem@cf@replaceMathMinusDot@appendMath#1#2${% - \mhchem@appendToks{\mhchem@cf@replaceMathMinusDot@result}{\text{\ensuremath{#2}}}% - \mhchem@cf@replaceMathMinusDot@continue% -}% +\tl_new:N \__mhchem_cf_replaceMathMinusDot_result_tl +\cs_new:Npn \__mhchem_cf_replaceMathMinusDot:n #1 + { + \tl_clear:N \__mhchem_cf_replaceMathMinusDot_result_tl + \__mhchem_cf_replaceMathMinusDot_loop: #1 \q_recursion_stop + \__mhchem_cf_replaceMathMinusDot_result_tl + } +\cs_new:Nn \__mhchem_cf_replaceMathMinusDot_loop: + { + \peek_meaning:NTF \q_recursion_stop + { \use_none:n } + { + \peek_charcode_remove:NTF - + { + \tl_put_right:Nn \__mhchem_cf_replaceMathMinusDot_result_tl + { \mhchem@mathOrText@ii{-}{\mhchem@option@textminus} } + \__mhchem_cf_replaceMathMinusDot_loop: + }{ + \peek_charcode_remove:NTF . + { + \tl_put_right:Nn \__mhchem_cf_replaceMathMinusDot_result_tl + { \ensuremath{\textbf{\fontfamily{cmr}\selectfont\textperiodcentered}} } + \__mhchem_cf_replaceMathMinusDot_loop: + }{ + \peek_catcode_remove:oTF \c_math_toggle_token % math $ + { \__mhchem_loopHelper_appendMath:NNw \__mhchem_cf_replaceMathMinusDot_result_tl \__mhchem_cf_replaceMathMinusDot_loop: } + { + \peek_catcode:oTF \c_group_begin_token + { \__mhchem_loopHelper_appendNextGroup:NNn \__mhchem_cf_replaceMathMinusDot_result_tl \__mhchem_cf_replaceMathMinusDot_loop: } + { + \__mhchem_loopHelper_appendNextToken:NNn \__mhchem_cf_replaceMathMinusDot_result_tl \__mhchem_cf_replaceMathMinusDot_loop: + }}}}} + } %%%%%%%%%%%%%%%%%%%%% %%% @chemfive %%% %%%%%%%%%%%%%%%%%%%%% -\newcommand*\mhchem@chemfive[6]{% - {% +\cs_new:Npn \__mhchem_chemfive:nnnnnn #1#2#3#4#5#6 + { \mhchem@prepostscript% - [\mhchem@mathOrText{\smash[t]{2+}}]% + {\mhchem@mathOrText{\smash[t]{2+}}}% + {\mhchem@mathOrText{\smash[t]{2}}}% {\mhchem@mathOrText{#1}}% {\mhchem@mathOrText{#2}}% {\mhchem@mathOrText@ii{\mhchem@option@mathFont{#3}}{\text{#3}}}% {\mhchem@mathOrText{#4}}% {\mhchem@mathOrText{#5}}% {\mhchem@mathOrText{#6}}% - }% -} + } +\ExplSyntaxOff + %%% @prepostscript \newlength\mhchem@prepostscript@tmp@i% \newlength\mhchem@prepostscript@tmp@ii% -\newcommand*\mhchem@prepostscript[7][]{% +\newcommand*\mhchem@prepostscript[8]{% \m@th% \ensuremath{% - \setlength{\mhchem@prepostscript@tmp@i}{\widthof{$#2#3$}}% + \setlength{\mhchem@prepostscript@tmp@i}{\widthof{$#3#4$}}% \ifdim\mhchem@prepostscript@tmp@i>0pt% - \setlength{\mhchem@prepostscript@tmp@i}{\widthof{${}^{#2}$}}% - \setlength{\mhchem@prepostscript@tmp@ii}{\widthof{${}_{#3}$}}% + \setlength{\mhchem@prepostscript@tmp@i}{\widthof{${}^{#3}$}}% + \setlength{\mhchem@prepostscript@tmp@ii}{\widthof{${}_{#4}$}}% \ifdim\mhchem@prepostscript@tmp@i<\mhchem@prepostscript@tmp@ii% \setlength{\mhchem@prepostscript@tmp@i}{\mhchem@prepostscript@tmp@ii}\fi% - \vphantom{#4}% + \vphantom{#5}% {}% ^{% \mhchem@mathboxright{\mhchem@prepostscript@tmp@i}{% - \vphantom{#6#7}% + \vphantom{#6#8}% \vphantom{#1}% - #2% + #3% }% }% _{% \mhchem@mathboxright{\mhchem@prepostscript@tmp@i}{% - \vphantom{#5}% - #3% + \vphantom{#7}% + \vphantom{#2}% + #4% }% }% \mhchem@minispace% \fi% - #4% - \setlength{\mhchem@prepostscript@tmp@i}{\widthof{$#5#6$}}% + #5% + \setlength{\mhchem@prepostscript@tmp@i}{\widthof{$#7#6$}}% \ifdim\mhchem@prepostscript@tmp@i>0pt% _{% - \vphantom{#3}% - #5% + \vphantom{#4}% + \vphantom{#2}% + #7% }% ^{% - \vphantom{#2#7}% + \vphantom{#3#8}% \vphantom{#1}% #6% }% \fi% - \setlength{\mhchem@prepostscript@tmp@i}{\widthof{$#7$}}% + \setlength{\mhchem@prepostscript@tmp@i}{\widthof{$#8$}}% \ifdim\mhchem@prepostscript@tmp@i>0pt% \mhchem@minispace% {}% - _{\vphantom{#3#5}}% + _{% + \vphantom{#4#7}% + \vphantom{#2}% + }% ^{% - \vphantom{#2#6}% + \vphantom{#3#6}% \vphantom{#1}% - #7% + #8% }% \fi% }% @@ -2009,10 +2096,6 @@ \define@key{mhchem}{minus-sidebearing-right}{\setlength\mhchem@option@minussidebearingright{#1}} -% Replicate layout of MS Word (superscript after subscript, not over) -\def\mhchem@option@usenonsimultaneoussubsuperscripts{0}% -% There is no key defined for this option, as to promote good typographic conventions. - \mhchem@definearrows{font} \define@key{mhchem}{arrows}{% \ifthenelse{\equal{pgf}{#1} \or \equal{pgf-filled}{#1}}{% @@ -2072,7 +2155,7 @@ \def\mhchem@option@version{3}% \else\ifnum 4=\mhchem@option@version% \PackageWarningNoLine{mhchem}{% - You are using version 3.09 of mhchem. You entered\MessageBreak + You are using version 3.xx of mhchem. You entered\MessageBreak the parameter version=4. This means, you are using\MessageBreak some beta features of mhchem that are subject\MessageBreak to change without notice}% @@ -2086,4 +2169,4 @@ \newcommand*\mhchem@cmath[1]{\ensuremath{\text{\ensuremath{#1}}}}% \newcommand*\cmath[1]{\mhchem@cmath{#1}} \DeclareRobustCommand\cf[2][]{\mhchem@cf[#1]{#2}} -\fi +\fi
\ No newline at end of file |