diff options
author | Karl Berry <karl@freefriends.org> | 2016-02-12 00:21:10 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-02-12 00:21:10 +0000 |
commit | 81f06c493f1d8ad12ee9b5e9af968dad444138e7 (patch) | |
tree | 3538fb8847b8b74097f0e122488224016eda986d /Master | |
parent | 057df000f18ca5aa989a2a547c00fe2507f5613d (diff) |
mhchem (11feb16)
git-svn-id: svn://tug.org/texlive/trunk@39676 c570f23f-e606-0410-a88d-b1316a301751
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 | 391695 -> 420336 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/mhchem/mhchem.tex | 283 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mhchem/hpstatement.sty | 475 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mhchem/mhchem.sty | 509 |
5 files changed, 884 insertions, 391 deletions
diff --git a/Master/texmf-dist/doc/latex/mhchem/README b/Master/texmf-dist/doc/latex/mhchem/README index e42689586dc..52466398541 100644 --- a/Master/texmf-dist/doc/latex/mhchem/README +++ b/Master/texmf-dist/doc/latex/mhchem/README @@ -1,8 +1,8 @@ -The mhchem Bundle 2015-11-29 +The mhchem Bundle 2016-02-09 containing -- mhchem v4.03 -- hpstatement v1.01 +- mhchem v4.04 +- hpstatement v1.02 - 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-2015 Martin Hensel +Copyright 2004-2016 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 e1c3f804191..92a486c4403 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 ecb0197521c..432ce388b24 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-2015 Martin Hensel +%% Copyright 2004-2016 Martin Hensel % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c @@ -66,9 +66,9 @@ \title{% The mhchem Bundle\\[0.3em] \Large\textmd{% - Documentation for the Packages\\ - mhchem v4.03,\\% check - hpstatement v1.01 and\\ + Documentation for the \LaTeX{} Packages\\ + mhchem v4.04,\\% check + hpstatement v1.02 and\\ rsphrase v3.11}% } \author{% @@ -76,7 +76,7 @@ mhchem\makebox[0pt][l]{\textcolor{white}{NOSPAM}}@MartinHensel\makebox[1pt][l]{\textcolor{white}{.}}.de% } \date{% - 2015-11-29% check + 2016-02-09% check } \maketitle @@ -190,8 +190,9 @@ This will work in text mode and math mode. For text, the en-dash will be used as \section{Oxidation States} -\ce{Fe^{II}Fe^{III}2O4} - +\begin{SideBySideExample}[xrightmargin=2.5cm] + \ce{Fe^{II}Fe^{III}2O4} +\end{SideBySideExample} \section{Stoichiometric Numbers} @@ -233,25 +234,21 @@ This works in text mode and math mode. (The fraction line always comes from math \end{SideBySideExample} \begin{SideBySideExample}[xrightmargin=2.5cm] - \ce{H{}^3HO} + \ce{^{0}_{-1}n^{-}} \end{SideBySideExample} -Of course, this works in text mode and math mode. - - -\section{Greek Letters} - -Just write \macro{alpha} etc. - -\begin{SideBySideExample}[xrightmargin=4cm] - \ce{\mu-Cl} +\begin{SideBySideExample}[xrightmargin=2.5cm] + \ce{^0_-1n-} \end{SideBySideExample} -\begin{SideBySideExample}[xrightmargin=4cm] - \ce{[Pt(\eta^2-C2H4)Cl3]-} +It might be ambiguous whether a superscript belongs to the left or right letter. You can make sure by hand (using \verb|{}|) or leave it to the automatic detection (digits only~= mass number~= belongs to right side). + +\begin{SideBySideExample}[xrightmargin=2.5cm] + \ce{H{}^3HO}\\ + \ce{H^3HO} \end{SideBySideExample} -It is recommended to load a package for upright Greek letters, which will automatically be used. For more control, see the section \nameref{sec:GreekFont}. This works in text mode and math mode. +Of course, all of this works in text mode and math mode. \section{Parenthesis, Brackets, Braces} @@ -291,23 +288,6 @@ $\displaystyle\ce{CH4 + 2 $\left( \ce{O2 + 79/21 N2} \right)$}$\par This works in text mode and math mode. -\section{Addition Compounds} - -\begin{SideBySideExample}[xrightmargin=5cm] - \ce{KCr(SO4)2*12H2O} -\end{SideBySideExample} - -\begin{SideBySideExample}[xrightmargin=5cm] - \ce{KCr(SO4)2.12H2O} -\end{SideBySideExample} - -\begin{SideBySideExample}[xrightmargin=5cm] - \ce{KCr(SO4)2 * 12 H2O} -\end{SideBySideExample} - -The centered dot is taken from math font. - - \section{Unpaired Electrons, Radical Dots} \begin{SideBySideExample}[xrightmargin=3cm] @@ -321,58 +301,48 @@ The centered dot is taken from math font. This superscript-only feature works in text mode and math mode. A math bullet is used. -\section{Bonds} +\section {Variables like x, n, 2n+1} -\begin{SideBySideExample}[xrightmargin=3cm] - \ce{C6H5-CHO} -\end{SideBySideExample} +Typographical conventions say that variables are typeset in italic font, while othes (like chemical element) are typeset in an upright font. -\begin{SideBySideExample}[xrightmargin=3cm] - \ce{A-B=C#D} +mhchem tries to recognize common patterns and use the correct (italic) font, like the $x$ and $2n$ in the following examples. + +\begin{SideBySideExample}[xrightmargin=4cm] + $\ce{NO_x}$ \sffamily\bfseries \ce{NO_x} \end{SideBySideExample} -\begin{SideBySideExample}[xrightmargin=3cm] - \sffamily\bfseries - \ce{A-B=C#D} +\begin{SideBySideExample}[xrightmargin=4cm] + $\ce{Fe^n+}$ \sffamily\bfseries \ce{Fe^n+} \end{SideBySideExample} -mhchem tries to differentiate if \verb|\ce{-}| should be a bond, a charge or even a hyphen. +$\ce{x Na(NH4)HPO4 ->[\Delta] (NaPO3)_x + x NH3 ^ + x H2O}$\par +{\raggedleft\verb|$\ce{x Na(NH4)HPO4 ->[\Delta] (NaPO3)_x + x NH3 ^ + x H2O}$|\par} -The \verb|#| bond might not work if you pass it through other commands. In this case, use \verb|\bond{3}| instead. +If a more complex term is not properly recognized, you can switch to math mode (= italics) explicitly. -\begin{SideBySideExample}[xrightmargin=3cm] - \ce{A\bond{-}B\bond{=}C\bond{#}D} -\end{SideBySideExample} -\begin{SideBySideExample}[xrightmargin=3cm] - \ce{A\bond{1}B\bond{2}C\bond{3}D} -\end{SideBySideExample} +\section{Greek Characters} -\mhchemoptions{minus-text-sidebearing-left=0.1em,minus-text-sidebearing-right=0.18em} -\begin{SideBySideExample}[xrightmargin=3cm] - \ce{A\bond{~}B\bond{~-}C} -\end{SideBySideExample} +Just write \macro{alpha} etc. This works in text mode and math mode. -\begin{SideBySideExample}[xrightmargin=3cm] - \ce{A\bond{~--}B\bond{~=}C\bond{-~-}D} -\end{SideBySideExample} +Typographical conventions say that variables are typeset in italic font, while othes (like chemical element) are typeset in an upright font. -\begin{SideBySideExample}[xrightmargin=3cm] - \ce{A\bond{...}B\bond{....}C} -\end{SideBySideExample} +Here, the Greek character is \emph{not} a variable that stands for a number, therefore an unright-font is used. -\begin{SideBySideExample}[xrightmargin=3cm] - \ce{A\bond{->}B\bond{<-}C} +\begin{SideBySideExample}[xrightmargin=4cm] + \ce{\mu-Cl} \end{SideBySideExample} -Text mode: Line-based bonds are based on the text-font's en-dash. For all the others, math glyphs are used. +\begin{SideBySideExample}[xrightmargin=4cm] + \ce{[Pt(\eta^2-C2H4)Cl3]-} +\end{SideBySideExample} -Math mode: Bonds are based on the math-font minus sign. All bonds are vertically aligned on the math axis. For most math fonts, this is slightly lower than half the height of a capital letter. +\textbf{By defaut, \LaTeX{} does not come with upright Greek characters.} Therefore, it is recommended to load a package for that, that visually fits to your font. For more details, see the section \nameref{sec:GreekFont}. -If you switch to another font, the sidebearing of the minus sign may vary, which would cause the dashed bonds to align badly. In that case, adjust the alignment by using the following command with slightly changed values. Use \verb|\mhchemoptions{minus-text-sidebearing-left=0.10em,| \verb|minus-text-sidebearing-right=0.16em}| for text font adjustment and \verb|\mhchemoptions{minus-math-sidebearing-left=0.06em,| \verb|minus-math-sidebearing-right=0.11em}| for math font. +If you need an italic Greek character (i.\,e. a variable that stands for a number), use math mode like \verb|$\alpha$|. -\section{Using Math} +\section{(Italic) Math} By using \verb|$...$|, you can esacpe to `font-corrected math mode'. @@ -395,7 +365,7 @@ It is a full math mode. $\ce{NO_$x$}$ \sffamily\bfseries \ce{NO_$x$} \end{SideBySideExample} -You can force `full math mode' to math with \verb|${...}$|. +You can force `full math mode' with \verb|${...}$|. \begin{SideBySideExample}[xrightmargin=4cm] $\ce{NO_${x}$}$ \sffamily\bfseries \ce{NO_${x}$} @@ -417,32 +387,84 @@ Spaces will be ignored. Use a \verb|~| when you need to typeset a space. This works for the text mode as long as you use latin characters. It also works for the math font. -\section {Variables like x, n, 2n+1} +\section{Escape Parsing, Upright Text} -mhchem tries to recognize common patterns and use the correct font. It does that for superscripts, subscripts and in `font-corrected math mode'. +If you want to escape parsing, for instance for a simple hyphen (that should not become a bond), use \verb|{...}|. \begin{SideBySideExample}[xrightmargin=4cm] - $\ce{NO_x}$ \sffamily\bfseries \ce{NO_x} + \ce{{(+)}_589{-}[Co(en)3]Cl3}\\ + \sffamily\bfseries + \ce{{(+)}_589{-}[Co(en)3]Cl3} \end{SideBySideExample} -\begin{SideBySideExample}[xrightmargin=4cm] - $\ce{Fe^n+}$ \sffamily\bfseries \ce{Fe^n+} + +\section{Addition Compounds} + +\begin{SideBySideExample}[xrightmargin=5cm] + \ce{KCr(SO4)2*12H2O} \end{SideBySideExample} -$\ce{x Na(NH4)HPO4 ->[\Delta] (NaPO3)_x + x NH3 ^ + x H2O}$\par -{\raggedleft\verb|$\ce{x Na(NH4)HPO4 ->[\Delta] (NaPO3)_x + x NH3 ^ + x H2O}$|\par} +\begin{SideBySideExample}[xrightmargin=5cm] + \ce{KCr(SO4)2.12H2O} +\end{SideBySideExample} +\begin{SideBySideExample}[xrightmargin=5cm] + \ce{KCr(SO4)2 * 12 H2O} +\end{SideBySideExample} -\section{Escape Parsing, Upright Text} +The centered dot is taken from math font. -If you want to escape parsing, for instance for a simple hyphen, use \verb|{...}|. -\begin{SideBySideExample}[xrightmargin=4cm] - \ce{{(+)}_589{-}[Co(en)3]Cl3}\\ +\section{Bonds} + +\begin{SideBySideExample}[xrightmargin=3cm] + \ce{C6H5-CHO} +\end{SideBySideExample} + +\begin{SideBySideExample}[xrightmargin=3cm] + \ce{A-B=C#D} +\end{SideBySideExample} + +\begin{SideBySideExample}[xrightmargin=3cm] \sffamily\bfseries - \ce{{(+)}_589{-}[Co(en)3]Cl3} + \ce{A-B=C#D} +\end{SideBySideExample} + +mhchem tries to differentiate if \verb|\ce{-}| should be a bond, a charge or even a hyphen. + +The \verb|#| bond might not work if you pass it through other commands. In this case, use \verb|\bond{3}| instead. + +\begin{SideBySideExample}[xrightmargin=3cm] + \ce{A\bond{-}B\bond{=}C\bond{#}D} +\end{SideBySideExample} + +\begin{SideBySideExample}[xrightmargin=3cm] + \ce{A\bond{1}B\bond{2}C\bond{3}D} \end{SideBySideExample} +\mhchemoptions{minus-text-sidebearing-left=0.1em,minus-text-sidebearing-right=0.18em} +\begin{SideBySideExample}[xrightmargin=3cm] + \ce{A\bond{~}B\bond{~-}C} +\end{SideBySideExample} + +\begin{SideBySideExample}[xrightmargin=3cm] + \ce{A\bond{~--}B\bond{~=}C\bond{-~-}D} +\end{SideBySideExample} + +\begin{SideBySideExample}[xrightmargin=3cm] + \ce{A\bond{...}B\bond{....}C} +\end{SideBySideExample} + +\begin{SideBySideExample}[xrightmargin=3cm] + \ce{A\bond{->}B\bond{<-}C} +\end{SideBySideExample} + +Text mode: Line-based bonds are based on the text-font's en-dash. For all the others, math glyphs are used. + +Math mode: Bonds are based on the math-font minus sign. All bonds are vertically aligned on the math axis. For most math fonts, this is slightly lower than half the height of a capital letter. + +If you switch to another font, the sidebearing of the minus sign may vary, which would cause the dashed bonds to align badly. In that case, adjust the alignment by using the following command with slightly changed values. Use \verb|\mhchemoptions{minus-text-sidebearing-left=0.10em,| \verb|minus-text-sidebearing-right=0.16em}| for text font adjustment and \verb|\mhchemoptions{minus-math-sidebearing-left=0.06em,| \verb|minus-math-sidebearing-right=0.11em}| for math font. + \section{Reaction Arrows} @@ -530,6 +552,10 @@ This works in text mode and math mode. The respective font is used, except for \ \end{Example} \begin{Example}[xrightmargin=5cm] + $K = \ce{\frac{[Hg^2+][Hg]}{[Hg2^2+]}}$ +\end{Example} + +\begin{Example}[xrightmargin=5cm] \ce{Hg^2+ ->[I-] $\underset{\mathrm{red}}{\ce{HgI2}}$ ->[I-] @@ -779,10 +805,8 @@ switches back to the default, which is equivalent to \subsection{Greek Font} \label{sec:GreekFont} -If you load a package for upright Greek letters, this will automatically be used. This was possible by the very neat chemgreek package of Clemens Niederberger. If you want to have different Greek fonts for text mode and math mode, you can specify these `mappings', e.\,g. by \verb|\mhchemoptions{text-greek=upgreek,| \verb|math-greek=default}|. You can use any of +If you load a package for upright Greek characters, this will automatically be used. You can load any of the following packages (e.g. \verb|\usepackage{textgreek}| in the preamble). Choose the one that visually fits your font. \begin{compactitem}[--] - \item default, - \item var-default, \item textgreek, \item upgreek, \item newtx, @@ -792,7 +816,7 @@ If you load a package for upright Greek letters, this will automatically be used \item textalpha, \item fontspec. \end{compactitem} -Of course, you have to load the appropriate packages in the preamble. Refer to the \href{http://mirrors.ctan.org/macros/latex/contrib/chemgreek/chemgreek_en.pdf}{chemgreek manual} for details (in particular its Appendix `Overviews Over the Mappings'). +This functionality was possible by the very neat chemgreek package of Clemens Niederberger. If you want to have different Greek fonts for text mode and math mode, you can specify these `mappings' by (for instance) \verb|\mhchemoptions{text-greek=upgreek,| \verb|math-greek=default}|. You can use any of the package names from above, or \verb|default| or \verb|var-default|. Refer to the \href{http://mirrors.ctan.org/macros/latex/contrib/chemgreek/chemgreek_en.pdf}{chemgreek manual} for details (in particular its Appendix `Overviews Over the Mappings'). \subsection{Arrows} @@ -870,11 +894,18 @@ Meaning and usage of \macro{bond} changed. \subsection{Migrating from version 3} -\verb|{...}| does escape to text now, not math. \verb|$...$| does only `half-escape' to math---check the results. Additional spaces will be inserted: A \verb|$x\,$H2O| should be changed to \verb|$x$ H2O|. Appearance of bonds, radical dot, $x$, single-letter variables, \verb|-| in subscripts etc. slightly changed---check if this fits with your font, in particular your text font. Check all complex subscripts and superscripts (more than just number or a charge). The arrow arguments are set with the same syntax as the \macro{ce} command---use \verb|$...$| or \verb|${...}$| for math. Deprecated commands like \macro{cf}, \verb|,| and \verb|`| and \macro{hyphen} and \macro{cmath} were removed completely. \macro{cee} was removed---just use \macro{ce}. +\verb|{...}| does escape to text now, not math. \verb|$...$| does only escape to `font-corrected math mode'---check the results. Additional spaces will be inserted: A \verb|$x\,$H2O| should be changed to \verb|$x$ H2O|. Appearance of bonds, radical dot, $x$, single-letter variables, \verb|-| in subscripts etc. slightly changed---check if this fits with your font, in particular your text font. Check all complex subscripts and superscripts (more than just number or a charge). The arrow arguments are set with the same syntax as the \macro{ce} command---use \verb|$...$| or \verb|${...}$| for math. Deprecated commands like \macro{cf}, \verb|,| and \verb|`| and \macro{hyphen} and \macro{cmath} were removed completely. \macro{cee} was removed---just use \macro{ce}. \section{Most Recent Changes}% check +\minisec{2016-02-07 mhchem v4.04} +\begin{compactitem} +\item support for negative subscripts, \verb|\ce{^0_-1n-}| +\item \verb|\frac{}{}| added +\item \verb|$\alpha$| fixed (math Greek) +\end{compactitem} + \minisec{2015-11-29 mhchem v4.03} \begin{compactitem} \item reworked arrows and provided option for custom pgf arrows @@ -935,7 +966,9 @@ Globally Harmonized System of Classification and Labelling of Chemicals (GHS) and of the CLP Regulation of the European Union. The statements are available in - English + English, + French, + and German. If you are a native speaker of either Bulgarian, @@ -944,7 +977,6 @@ Danish, Dutch, Estonian, Finnish, -French, Greek, Hungarian, Irish, @@ -959,7 +991,8 @@ Slovak, Slovenian, Spanish or Swedish, -and would like to help offering the statements in those languages, please contact me. +and would like to help offering the statements in those languages, please +contact the author. \bigskip @@ -967,18 +1000,20 @@ The \textbf{rsphrase} package contains the text of all official Risk and Safety (R and S) Phrases that were used to label chemicals. These phrases are -available in Danish, Englisch, French, German (current spelling), Spanish, and Italian. +available in Danish, Englisch, French, German (current spelling), Spanish, and +Italian. \bigskip -Please be advised that, as stated in the license, the authors provide no warranty of correctness. +Please be advised that, as stated in the license, the authors provide no +warranty of correctness. \section{Usage} The \textbf{hpstatement} package provides two commands: \verb|\hpstatement| and \verb|\hpnumber|. \verb|\hpstatement| inserts the statement's text, -\verb|\hpnumber| it's formatted number.\bigskip +\verb|\hpnumber| its formatted number.\bigskip \begin{addmargin}[1em]{0em} \begin{SideBySideExample}[xrightmargin=7cm] @@ -1004,14 +1039,6 @@ assumed that the argument is equivalent to the one used previously. \bigskip \end{addmargin} \bigskip -\begin{addmargin}[1em]{0em} -\begin{SideBySideExample}[xrightmargin=7cm] - The statement \hpnumber{H200}\\ - is `\hpstatement{}' -\end{SideBySideExample} -\end{addmargin} -\bigskip - \noindent The commands add text in your currently selected language. \bigskip @@ -1026,7 +1053,8 @@ assumed that the argument is equivalent to the one used previously. \bigskip \noindent Some phrases allow you to choose between certain alternatives. In these cases, special numbers (<number>.1, <number>.2, \textellipsis) are -available. Of course, the official number is typeset. \bigskip +available for \verb|\hpstatement|. Of course, the official number is typeset if +you call \verb|\hpnumber| with a special number. \bigskip \begin{addmargin}[1em]{0em} \begin{SideBySideExample}[xrightmargin=7cm] @@ -1041,11 +1069,21 @@ that refers to the original version as stated in the regulations: <number>.0 (e.\,g. P210.0). \bigskip -\noindent Some statements refer to `this label'. If you are creating other -documents than labels, you might want to rephrase this. You can do so, by using -the <number>.nolabel statement (e.\,g. P321.nolabel). +\begin{addmargin}[1em]{0em} +\begin{SideBySideExample}[xrightmargin=7cm] + \hpnumber{P210.0}: + \hpstatement{} +\end{SideBySideExample} +\end{addmargin} \bigskip +\noindent Some statements refer to `this label'. If you are creating documents +that are not labels, you might want to rephrase this. You can do so, by using +the <number>.nolabel statement (e.\,g. P321.nolabel). \bigskip + +See the appendix for a complete list of all implemented statements, including +all options. + \begin{annotation}\RaggedRight Sources for the H and P statements are: Regulation (EC) No 1272/2008 of the European Parliament and of the Council of 16 December 2008 on classification, labelling and packaging of substances and @@ -1073,14 +1111,22 @@ turn were linked from \clearpage \section{Most Recent Changes}% check +\minisec{2016-02-09 hpstatement v1.02} +\begin{compactitem} + \item added French statements + \item all languages: H360f, H360f, H360fd became H361f, H361d, H361fd + \item German: updated EUH001, P222, P241, P243, P263, P305+P351+P338, P306, P402+P404, P403+P233, P403+P235, P406, P410, P411, P411+P235, P412, P413 according to new official translations. +\end{compactitem} + \minisec{2013-07-02 hpstatement v1.01} \begin{compactitem} \item added German statements -\item removed spaces around arguments of H340[a], H341[a], H350[a], H351[a], H360[a], H361[a], H370[a][b], H371[a][b], H372[a][b], H373[a][b], because arguments might need punctuation, e.g. a commas in several languages +\item removed spaces around arguments of H340[a], H341[a], H350[a], H351[a], + H360[a], H361[a], H370[a][b], H371[a][b], H372[a][b], H373[a][b], because + arguments might need punctuation, e.g. a commas in several languages \item fixed H420 \item added variants for P220.x, P411.x, P411+P235.x \item removed variants for P413.x - \end{compactitem} \minisec{2013-06-17 hpstatement v1.00} @@ -1196,10 +1242,10 @@ turn were linked from \hpmanual{H360[a]}{[{[a]}]{H360}} \hpmanual{H360F}{{H360F}} \hpmanual{H360D}{{H360D}} -\hpmanual{H360f}{{H360f}} -\hpmanual{H360d}{{H360d}} +\hpmanual{H361f}{{H361f}} +\hpmanual{H361d}{{H361d}} \hpmanual{H360FD}{{H360FD}} -\hpmanual{H360fd}{{H360fd}} +\hpmanual{H361fd}{{H361fd}} \hpmanual{H360Fd}{{H360Fd}} \hpmanual{H360Df}{{H360Df}} \hpmanual{H361.0}{{H361.0}} @@ -1457,11 +1503,16 @@ turn were linked from } \subsection{English} -\bigskip +\medskip +\allhpstatements + +\subsection{French} +\medskip +\selectlanguage{french} \allhpstatements \subsection{German} -\bigskip +\medskip \selectlanguage{ngerman} \allhpstatements \selectlanguage{UKenglish} @@ -1472,9 +1523,9 @@ turn were linked from \newenvironment{RandS}{\bigskip\bgroup\footnotesize\noindent}{\par\egroup} \newcommand{\rs}[2][]{\textbf{\rsnumber[#1]{#2}}: \rsphrase{}} \newcommand{\rsskip}{\par\medskip} -\newcommand{\allrsphrases}[1][]{ - \par - \begin{RandS} +\newcommand{\allrsphrases}[1][]{% + \par% + \begin{RandS}\noindent% \rs{R1} \rs{R2} \rs{R3} diff --git a/Master/texmf-dist/tex/latex/mhchem/hpstatement.sty b/Master/texmf-dist/tex/latex/mhchem/hpstatement.sty index 0f58459ecfa..e405ecab27a 100644 --- a/Master/texmf-dist/tex/latex/mhchem/hpstatement.sty +++ b/Master/texmf-dist/tex/latex/mhchem/hpstatement.sty @@ -1,5 +1,5 @@ %% hpstatement.sty -%% Copyright 2004-2013 Martin Hensel +%% Copyright 2004-2016 Martin Hensel % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c @@ -46,10 +46,10 @@ % substances and mixtures % http://new.eur-lex.europa.eu/legal-content/EN/TXT/?qid=1369907325497\&uri=CELEX:32011R0286 % -% The statements themselves therefore are not subject to the LPPL. +% The statements themselves, therefore, are not subject to the LPPL. % % -\ProvidesPackage{hpstatement}[2013/07/02 v1.01 H and P statements (mhchem bundle)] +\ProvidesPackage{hpstatement}[2016/02/09 v1.02 H and P statements (mhchem bundle)] \RequirePackage{babel} \RequirePackage{twoopt} \RequirePackage{ifthen} @@ -139,9 +139,14 @@ \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{french}{\mhchem@hp@data@french{#1}{#2}{#3}}{% + \mhchem@hp@iflanguagename{francais}{\mhchem@hp@data@french{#1}{#2}{#3}}{% + \mhchem@hp@iflanguagename{canadien}{\mhchem@hp@data@french{#1}{#2}{#3}}{% + \mhchem@hp@iflanguagename{acadian}{\mhchem@hp@data@french{#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]{% @@ -256,10 +261,10 @@ \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.}% -\mhchem@hp@ii{#3}{H360d-0}{H360d}{Suspected of damaging the unborn child.}% +\mhchem@hp@ii{#3}{H361f-0}{H361f}{Suspected of damaging fertility.}% +\mhchem@hp@ii{#3}{H361d-0}{H361d}{Suspected of damaging the unborn child.}% \mhchem@hp@ii{#3}{H360FD-0}{H360FD}{May damage fertility. May damage the unborn child.}% -\mhchem@hp@ii{#3}{H360fd-0}{H360fd}{Suspected of damaging fertility. Suspected of damaging the unborn child.}% +\mhchem@hp@ii{#3}{H361fd-0}{H361fd}{Suspected of damaging fertility. Suspected of damaging the unborn child.}% \mhchem@hp@ii{#3}{H360Fd-0}{H360Fd}{May damage fertility. Suspected of damaging the unborn child.}% \mhchem@hp@ii{#3}{H360Df-0}{H360Df}{May damage the unborn child. Suspected of damaging fertility.}% \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{}.}% @@ -557,8 +562,410 @@ \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@french[3]{% +\mhchem@hp@ii{#3}{EUH001-0}{EUH001}{Explosif \`a\allowhyphens{} l'\'e\allowhyphens{}tat sec.}% +\mhchem@hp@ii{#3}{EUH006-0}{EUH006}{Danger d'explosion en contact ou sans contact avec l'air.}% +\mhchem@hp@ii{#3}{EUH014-0}{EUH014}{R\'e\allowhyphens{}agit violemment au contact de l'eau.}% +\mhchem@hp@ii{#3}{EUH018.0-0}{EUH018}{Lors de l'utilisation, formation possible de m\'e\allowhyphens{}lange vapeur\allowhyphens{}-air inflammable/\hskip\z@skip{}explosif.}% +\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}{Lors de l'utilisation, formation possible de m\'e\allowhyphens{}lange vapeur\allowhyphens{}-air inflammable.}% +\mhchem@hp@ii{#3}{EUH018.2-0}{EUH018}{Lors de l'utilisation, formation possible de m\'e\allowhyphens{}lange vapeur\allowhyphens{}-air explosif.}% +\mhchem@hp@ii{#3}{EUH019-0}{EUH019}{Peut former des peroxydes explosifs.}% +\mhchem@hp@ii{#3}{EUH029-0}{EUH029}{Au contact de l'eau, d\'e\allowhyphens{}gage des gaz toxiques.}% +\mhchem@hp@ii{#3}{EUH031-0}{EUH031}{Au contact d'un acide, d\'e\allowhyphens{}gage un gaz toxique.}% +\mhchem@hp@ii{#3}{EUH032-0}{EUH032}{Au contact d'un acide, d\'e\allowhyphens{}gage un gaz tr\`e\allowhyphens{}s toxique.}% +\mhchem@hp@ii{#3}{EUH044-0}{EUH044}{Risque d'explosion si chauff\'e\allowhyphens{} en ambiance confin\'e\allowhyphens{}e.}% +\mhchem@hp@ii{#3}{EUH059-0}{EUH059}{Dangereux pour la couche d'ozone.}% +\mhchem@hp@ii{#3}{EUH066-0}{EUH066}{L'exposition r\'e\allowhyphens{}p\'e\allowhyphens{}t\'e\allowhyphens{}e peut provoquer dess\`e\allowhyphens{}chement ou ger\c{c}\allowhyphens{}ures de la peau.}% +\mhchem@hp@ii{#3}{EUH070-0}{EUH070}{Toxique par contact oculaire.}% +\mhchem@hp@ii{#3}{EUH071-0}{EUH071}{Corrosif pour les voies respiratoires.}% +\mhchem@hp@ii{#3}{EUH201-0}{EUH201}{Contient du plomb. Ne pas utiliser sur les objets susceptibles d'\^e\allowhyphens{}tre m\^a\allowhyphens{}ch\'e\allowhyphens{}s ou suc\'e\allowhyphens{}s par des enfants.}% +\mhchem@hp@ii{#3}{EUH201A-0}{EUH201A}{Attention\thinspace ! Contient du plomb.}% +\mhchem@hp@ii{#3}{EUH202-0}{EUH202}{Cyanoacrylate. Danger. Colle \`a\allowhyphens{} la peau et aux yeux en quelques secondes. \`A\allowhyphens{} conserver hors de port\'e\allowhyphens{}e des enfants.}% +\mhchem@hp@ii{#3}{EUH203-0}{EUH203}{Contient du chrome (VI). Peut produire une r\'e\allowhyphens{}action allergique.}% +\mhchem@hp@ii{#3}{EUH204-0}{EUH204}{Contient des isocyanates. Peut produire une r\'e\allowhyphens{}action allergique.}% +\mhchem@hp@ii{#3}{EUH205-0}{EUH205}{Contient des compos\'e\allowhyphens{}s \'e\allowhyphens{}poxydiques. Peut produire une r\'e\allowhyphens{}action allergique.}% +\mhchem@hp@ii{#3}{EUH206-0}{EUH206}{Attention\thinspace ! Ne pas utiliser en combinaison avec d'autres produits. Peut lib\'e\allowhyphens{}rer des gaz dangereux (chlore).}% +\mhchem@hp@ii{#3}{EUH207-0}{EUH207}{Attention\thinspace ! Contient du cadmium. Des fum\'e\allowhyphens{}es dangereuses se d\'e\allowhyphens{}veloppent pendant l'utilisation. Voir les informations fournies par le fabricant. Respectez les consignes de s\'e\allowhyphens{}curit\'e\allowhyphens{}.}% +\mhchem@hp@ii{#3}{EUH208.0-0}{EUH208}{Contient \textless{}nom de la substance sensibilisante\textgreater{}. Peut produire une r\'e\allowhyphens{}action allergique.}% +\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}{Contient #1. Peut produire une r\'e\allowhyphens{}action allergique.}% +\mhchem@hp@ii{#3}{EUH209-0}{EUH209}{Peut devenir facilement inflammable en cours d'utilisation.}% +\mhchem@hp@ii{#3}{EUH209A-0}{EUH209A}{Peut devenir inflammable en cours d'utilisation.}% +\mhchem@hp@ii{#3}{EUH210-0}{EUH210}{Fiche de donn\'e\allowhyphens{}es de s\'e\allowhyphens{}curit\'e\allowhyphens{} disponible sur demande.}% +\mhchem@hp@ii{#3}{EUH401-0}{EUH401}{Respectez les instructions d'utilisation pour \'e\allowhyphens{}viter les risques pour la sant\'e\allowhyphens{} humaine et l'environnement.}% +\mhchem@hp@ii{#3}{H200-0}{H200}{Explosif instable.}% +\mhchem@hp@ii{#3}{H201-0}{H201}{Explosif\thinspace ; danger d'explosion en masse.}% +\mhchem@hp@ii{#3}{H202-0}{H202}{Explosif\thinspace ; danger s\'e\allowhyphens{}rieux de projection.}% +\mhchem@hp@ii{#3}{H203-0}{H203}{Explosif\thinspace ; danger d'incendie, d'effet de souffle ou de projection.}% +\mhchem@hp@ii{#3}{H204-0}{H204}{Danger d'incendie ou de projection.}% +\mhchem@hp@ii{#3}{H205-0}{H205}{Danger d'explosion en masse en cas d'incendie.}% +\mhchem@hp@ii{#3}{H220-0}{H220}{Gaz extr\^e\allowhyphens{}mement inflammable.}% +\mhchem@hp@ii{#3}{H221-0}{H221}{Gaz inflammable.}% +\mhchem@hp@ii{#3}{H222-0}{H222}{A\'e\allowhyphens{}rosol extr\^e\allowhyphens{}mement inflammable.}% +\mhchem@hp@ii{#3}{H223-0}{H223}{A\'e\allowhyphens{}rosol inflammable.}% +\mhchem@hp@ii{#3}{H224-0}{H224}{Liquide et vapeurs extr\^e\allowhyphens{}mement inflammables.}% +\mhchem@hp@ii{#3}{H225-0}{H225}{Liquide et vapeurs tr\`e\allowhyphens{}s inflammables.}% +\mhchem@hp@ii{#3}{H226-0}{H226}{Liquide et vapeurs inflammables.}% +\mhchem@hp@ii{#3}{H228-0}{H228}{Mati\`e\allowhyphens{}re solide inflammable.}% +\mhchem@hp@ii{#3}{H240-0}{H240}{Peut exploser sous l'effet de la chaleur.}% +\mhchem@hp@ii{#3}{H241-0}{H241}{Peut s'enflammer ou exploser sous l'effet de la chaleur.}% +\mhchem@hp@ii{#3}{H242-0}{H242}{Peut s'enflammer sous l'effet de la chaleur.}% +\mhchem@hp@ii{#3}{H250-0}{H250}{S'enflamme spontan\'e\allowhyphens{}ment au contact de l'air.}% +\mhchem@hp@ii{#3}{H251-0}{H251}{Mati\`e\allowhyphens{}re auto-\'e\allowhyphens{}chauffante\thinspace ; peut s'enflammer.}% +\mhchem@hp@ii{#3}{H252-0}{H252}{Mati\`e\allowhyphens{}re auto-\'e\allowhyphens{}chauffante en grandes quantit\'e\allowhyphens{}s\thinspace ; peut s'enflammer.}% +\mhchem@hp@ii{#3}{H260-0}{H260}{D\'e\allowhyphens{}gage au contact de l'eau des gaz inflammables qui peuvent s'enflammer spontan\'e\allowhyphens{}ment.}% +\mhchem@hp@ii{#3}{H261-0}{H261}{D\'e\allowhyphens{}gage au contact de l'eau des gaz inflammables.}% +\mhchem@hp@ii{#3}{H270-0}{H270}{Peut provoquer ou aggraver un incendie\thinspace ; comburant.}% +\mhchem@hp@ii{#3}{H271-0}{H271}{Peut provoquer un incendie ou une explosion\thinspace ; comburant puissant.}% +\mhchem@hp@ii{#3}{H272-0}{H272}{Peut aggraver un incendie\thinspace ; comburant.}% +\mhchem@hp@ii{#3}{H280-0}{H280}{Contient un gaz sous pression\thinspace ; peut exploser sous l'effet de la chaleur.}% +\mhchem@hp@ii{#3}{H281-0}{H281}{Contient un gaz r\'e\allowhyphens{}frig\'e\allowhyphens{}r\'e\allowhyphens{}\thinspace ; peut causer des br\^u\allowhyphens{}lures ou blessures cryog\'e\allowhyphens{}niques.}% +\mhchem@hp@ii{#3}{H290-0}{H290}{Peut \^e\allowhyphens{}tre corrosif pour les m\'e\allowhyphens{}taux.}% +\mhchem@hp@ii{#3}{H300-0}{H300}{Mortel en cas d'ingestion.}% +\mhchem@hp@ii{#3}{H301-0}{H301}{Toxique en cas d'ingestion.}% +\mhchem@hp@ii{#3}{H302-0}{H302}{Nocif en cas d'ingestion.}% +\mhchem@hp@ii{#3}{H304-0}{H304}{Peut \^e\allowhyphens{}tre mortel en cas d'ingestion et de p\'e\allowhyphens{}n\'e\allowhyphens{}tration dans les voies respiratoires.}% +\mhchem@hp@ii{#3}{H310-0}{H310}{Mortel par contact cutan\'e\allowhyphens{}.}% +\mhchem@hp@ii{#3}{H311-0}{H311}{Toxique par contact cutan\'e\allowhyphens{}.}% +\mhchem@hp@ii{#3}{H312-0}{H312}{Nocif par contact cutan\'e\allowhyphens{}.}% +\mhchem@hp@ii{#3}{H314-0}{H314}{Provoque des br\^u\allowhyphens{}lures de la peau et des l\'e\allowhyphens{}sions oculaires graves.}% +\mhchem@hp@ii{#3}{H315-0}{H315}{Provoque une irritation cutan\'e\allowhyphens{}e.}% +\mhchem@hp@ii{#3}{H317-0}{H317}{Peut provoquer une allergie cutan\'e\allowhyphens{}e.}% +\mhchem@hp@ii{#3}{H318-0}{H318}{Provoque des l\'e\allowhyphens{}sions oculaires graves.}% +\mhchem@hp@ii{#3}{H319-0}{H319}{Provoque une s\'e\allowhyphens{}v\`e\allowhyphens{}re irritation des yeux.}% +\mhchem@hp@ii{#3}{H330-0}{H330}{Mortel par inhalation.}% +\mhchem@hp@ii{#3}{H331-0}{H331}{Toxique par inhalation.}% +\mhchem@hp@ii{#3}{H332-0}{H332}{Nocif par inhalation.}% +\mhchem@hp@ii{#3}{H334-0}{H334}{Peut provoquer des sympt\^o\allowhyphens{}mes allergiques ou d'asthme ou des difficult\'e\allowhyphens{}s respiratoires par inhalation.}% +\mhchem@hp@ii{#3}{H335-0}{H335}{Peut irriter les voies respiratoires.}% +\mhchem@hp@ii{#3}{H336-0}{H336}{Peut provoquer somnolence ou vertiges.}% +\mhchem@hp@ii{#3}{H340.0-0}{H340}{Peut induire des anomalies g\'e\allowhyphens{}n\'e\allowhyphens{}tiques \textless{}indiquer la voie d'exposition s'il est formellement prouv\'e\allowhyphens{} qu'aucune autre voie d'exposition ne conduit au m\^e\allowhyphens{}me danger\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}{Peut induire des anomalies g\'e\allowhyphens{}n\'e\allowhyphens{}tiques.}% +\mhchem@hp@ii{#3}{H340-1}{H340}{Peut induire des anomalies g\'e\allowhyphens{}n\'e\allowhyphens{}tiques#1.}% +\mhchem@hp@ii{#3}{H341.0-0}{H341}{Susceptible d'induire des anomalies g\'e\allowhyphens{}n\'e\allowhyphens{}tiques \textless{}indiquer la voie d'exposition s'il est formellement prouv\'e\allowhyphens{} qu'aucune autre voie d'exposition ne conduit au m\^e\allowhyphens{}me danger\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}{Susceptible d'induire des anomalies g\'e\allowhyphens{}n\'e\allowhyphens{}tiques.}% +\mhchem@hp@ii{#3}{H341-1}{H341}{Susceptible d'induire des anomalies g\'e\allowhyphens{}n\'e\allowhyphens{}tiques#1.}% +\mhchem@hp@ii{#3}{H350.0-0}{H350}{Peut provoquer le cancer \textless{}indiquer la voie d'exposition s'il est formellement prouv\'e\allowhyphens{} qu'aucune autre voie d'exposition ne conduit au m\^e\allowhyphens{}me danger\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}{Peut provoquer le cancer.}% +\mhchem@hp@ii{#3}{H350-1}{H350}{Peut provoquer le cancer#1.}% +\mhchem@hp@ii{#3}{H350i-0}{H350i}{Peut provoquer le cancer par inhalation.}% +\mhchem@hp@ii{#3}{H351.0-0}{H351}{Susceptible de provoquer le cancer \textless{}indiquer la voie d'exposition s'il est formellement prouv\'e\allowhyphens{} qu'aucune autre voie d'exposition ne conduit au m\^e\allowhyphens{}me danger\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}{Susceptible de provoquer le cancer.}% +\mhchem@hp@ii{#3}{H351-1}{H351}{Susceptible de provoquer le cancer#1.}% +\mhchem@hp@ii{#3}{H360.0-0}{H360}{Peut nuire \`a\allowhyphens{} la fertilit\'e\allowhyphens{} ou au f\oe\allowhyphens{}tus \textless{}indiquer l'effet sp\'e\allowhyphens{}cifique s'il est connu\textgreater{} \textless{}indiquer la voie d'exposition s'il est formellement prouv\'e\allowhyphens{} qu'aucune autre voie d'exposition ne conduit au m\^e\allowhyphens{}me danger\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}{Peut nuire \`a\allowhyphens{} la fertilit\'e\allowhyphens{} ou au f\oe\allowhyphens{}tus.}% +\mhchem@hp@ii{#3}{H360-1}{H360}{Peut nuire \`a\allowhyphens{} la fertilit\'e\allowhyphens{} ou au f\oe\allowhyphens{}tus#1.}% +\mhchem@hp@ii{#3}{H360F-0}{H360F}{Peut nuire \`a\allowhyphens{} la fertilit\'e\allowhyphens{}.}% +\mhchem@hp@ii{#3}{H360D-0}{H360D}{Peut nuire au f\oe\allowhyphens{}tus.}% +\mhchem@hp@ii{#3}{H361f-0}{H361f}{Susceptible de nuire \`a\allowhyphens{} la fertilit\'e\allowhyphens{}.}% +\mhchem@hp@ii{#3}{H361d-0}{H361d}{Susceptible de nuire au f\oe\allowhyphens{}tus.}% +\mhchem@hp@ii{#3}{H360FD-0}{H360FD}{Peut nuire \`a\allowhyphens{} la fertilit\'e\allowhyphens{}. Peut nuire au f\oe\allowhyphens{}tus.}% +\mhchem@hp@ii{#3}{H361fd-0}{H361fd}{Susceptible de nuire \`a\allowhyphens{} la fertilit\'e\allowhyphens{}. Susceptible de nuire au f\oe\allowhyphens{}tus.}% +\mhchem@hp@ii{#3}{H360Fd-0}{H360Fd}{Peut nuire \`a\allowhyphens{} la fertilit\'e\allowhyphens{}. Susceptible de nuire au f\oe\allowhyphens{}tus.}% +\mhchem@hp@ii{#3}{H360Df-0}{H360Df}{Peut nuire au f\oe\allowhyphens{}tus. Susceptible de nuire \`a\allowhyphens{} la fertilit\'e\allowhyphens{}.}% +\mhchem@hp@ii{#3}{H361.0-0}{H361}{Susceptible de nuire \`a\allowhyphens{} la fertilit\'e\allowhyphens{} ou au f\oe\allowhyphens{}tus \textless{}indiquer l'effet s'il est connu\textgreater{} \textless{}indiquer la voie d'exposition s'il est formellement prouv\'e\allowhyphens{} qu'aucune autre voie d'exposition ne conduit au m\^e\allowhyphens{}me danger\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}{Susceptible de nuire \`a\allowhyphens{} la fertilit\'e\allowhyphens{} ou au f\oe\allowhyphens{}tus.}% +\mhchem@hp@ii{#3}{H361-1}{H361}{Susceptible de nuire \`a\allowhyphens{} la fertilit\'e\allowhyphens{} ou au f\oe\allowhyphens{}tus#1.}% +\mhchem@hp@ii{#3}{H362-0}{H362}{Peut \^e\allowhyphens{}tre nocif pour les b\'e\allowhyphens{}b\'e\allowhyphens{}s nourris au lait maternel.}% +\mhchem@hp@ii{#3}{H370.0-0}{H370}{Risque av\'e\allowhyphens{}r\'e\allowhyphens{} d'effets graves pour les organes \textless{}ou indiquer tous les organes affect\'e\allowhyphens{}s, s'ils sont connus\textgreater{} \textless{}indiquer la voie d'exposition s'il est formellement prouv\'e\allowhyphens{} qu'aucune autre voie d'exposition ne conduit au m\^e\allowhyphens{}me danger\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}{Risque av\'e\allowhyphens{}r\'e\allowhyphens{} d'effets graves pour les organes.}% +\mhchem@hp@ii{#3}{H370-1}{H370}{Risque av\'e\allowhyphens{}r\'e\allowhyphens{} d'effets graves pour #1.}% +\mhchem@hp@ii{#3}{H370-2}{H370}{Risque av\'e\allowhyphens{}r\'e\allowhyphens{} d'effets graves pour #1#2.}% +\mhchem@hp@ii{#3}{H371.0-0}{H371}{Risque pr\'e\allowhyphens{}sum\'e\allowhyphens{} d'effets graves pour les organes \textless{}ou indiquer tous les organes affect\'e\allowhyphens{}s, s'ils sont connus\textgreater{} \textless{}indiquer la voie d'exposition s'il est formellement prouv\'e\allowhyphens{} qu'aucune autre voie d'exposition ne conduit au m\^e\allowhyphens{}me danger\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}{Risque pr\'e\allowhyphens{}sum\'e\allowhyphens{} d'effets graves pour les organes.}% +\mhchem@hp@ii{#3}{H371-1}{H371}{Risque pr\'e\allowhyphens{}sum\'e\allowhyphens{} d'effets graves pour #1.}% +\mhchem@hp@ii{#3}{H371-2}{H371}{Risque pr\'e\allowhyphens{}sum\'e\allowhyphens{} d'effets graves pour #1#2.}% +\mhchem@hp@ii{#3}{H372.0-0}{H372}{Risque av\'e\allowhyphens{}r\'e\allowhyphens{} d'effets graves pour les organes \textless{}indiquer tous les organes affect\'e\allowhyphens{}s, s'ils sont connus\textgreater{} \`a\allowhyphens{} la suite d'expositions r\'e\allowhyphens{}p\'e\allowhyphens{}t\'e\allowhyphens{}es ou d'une exposition prolong\'e\allowhyphens{}e \textless{}indiquer la voie d'exposition s'il est formellement prouv\'e\allowhyphens{} qu'aucune autre voie d'exposition ne conduit au m\^e\allowhyphens{}me danger\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}{Risque av\'e\allowhyphens{}r\'e\allowhyphens{} d'effets graves pour les organes \`a\allowhyphens{} la suite d'expositions r\'e\allowhyphens{}p\'e\allowhyphens{}t\'e\allowhyphens{}es ou d'une exposition prolong\'e\allowhyphens{}e.}% +\mhchem@hp@ii{#3}{H372-1}{H372}{Risque av\'e\allowhyphens{}r\'e\allowhyphens{} d'effets graves pour #1 \`a\allowhyphens{} la suite d'expositions r\'e\allowhyphens{}p\'e\allowhyphens{}t\'e\allowhyphens{}es ou d'une exposition prolong\'e\allowhyphens{}e.}% +\mhchem@hp@ii{#3}{H372-2}{H372}{Risque av\'e\allowhyphens{}r\'e\allowhyphens{} d'effets graves pour #1 \`a\allowhyphens{} la suite d'expositions r\'e\allowhyphens{}p\'e\allowhyphens{}t\'e\allowhyphens{}es ou d'une exposition prolong\'e\allowhyphens{}e#2.}% +\mhchem@hp@ii{#3}{H373.0-0}{H373}{Risque pr\'e\allowhyphens{}sum\'e\allowhyphens{} d'effets graves pour les organes \textless{}ou indiquer tous les organes affect\'e\allowhyphens{}s, s'ils sont connus\textgreater{} \`a\allowhyphens{} la suite d'expositions r\'e\allowhyphens{}p\'e\allowhyphens{}t\'e\allowhyphens{}es ou d'une exposition prolong\'e\allowhyphens{}e \textless{}indiquer la voie d'exposition s'il est formellement prouv\'e\allowhyphens{} qu'aucune autre voie d'exposition ne conduit au m\^e\allowhyphens{}me danger\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}{Risque pr\'e\allowhyphens{}sum\'e\allowhyphens{} d'effets graves pour les organes \`a\allowhyphens{} la suite d'expositions r\'e\allowhyphens{}p\'e\allowhyphens{}t\'e\allowhyphens{}es ou d'une exposition prolong\'e\allowhyphens{}e.}% +\mhchem@hp@ii{#3}{H373-1}{H373}{Risque pr\'e\allowhyphens{}sum\'e\allowhyphens{} d'effets graves pour #1 \`a\allowhyphens{} la suite d'expositions r\'e\allowhyphens{}p\'e\allowhyphens{}t\'e\allowhyphens{}es ou d'une exposition prolong\'e\allowhyphens{}e.}% +\mhchem@hp@ii{#3}{H373-2}{H373}{Risque pr\'e\allowhyphens{}sum\'e\allowhyphens{} d'effets graves pour #1 \`a\allowhyphens{} la suite d'expositions r\'e\allowhyphens{}p\'e\allowhyphens{}t\'e\allowhyphens{}es ou d'une exposition prolong\'e\allowhyphens{}e#2.}% +\mhchem@hp@ii{#3}{H300+H310-0}{H300\,+\,\hskip\z@skip{}H310}{Mortel par ingestion ou par contact cutan\'e\allowhyphens{}}% +\mhchem@hp@ii{#3}{H300+H330-0}{H300\,+\,\hskip\z@skip{}H330}{Mortel par ingestion ou par inhalation}% +\mhchem@hp@ii{#3}{H310+H330-0}{H310\,+\,\hskip\z@skip{}H330}{Mortel par contact cutan\'e\allowhyphens{} ou par inhalation}% +\mhchem@hp@ii{#3}{H300+H310+H330-0}{H300\,+\,\hskip\z@skip{}H310\,+\,\hskip\z@skip{}H330}{Mortel par ingestion, par contact cutan\'e\allowhyphens{} ou par inhalation}% +\mhchem@hp@ii{#3}{H301+H311-0}{H301\,+\,\hskip\z@skip{}H311}{Toxique par ingestion ou par contact cutan\'e\allowhyphens{}}% +\mhchem@hp@ii{#3}{H301+H331-0}{H301\,+\,\hskip\z@skip{}H331}{Toxique par ingestion ou par inhalation}% +\mhchem@hp@ii{#3}{H311+H331-0}{H311\,+\,\hskip\z@skip{}H331}{Toxique par contact cutan\'e\allowhyphens{} ou par inhalation}% +\mhchem@hp@ii{#3}{H301+H311+H331-0}{H301\,+\,\hskip\z@skip{}H311\,+\,\hskip\z@skip{}H331}{Toxique par ingestion, par contact cutan\'e\allowhyphens{} ou par inhalation}% +\mhchem@hp@ii{#3}{H302+H312-0}{H302\,+\,\hskip\z@skip{}H312}{Nocif en cas d'ingestion ou de contact cutan\'e\allowhyphens{}}% +\mhchem@hp@ii{#3}{H302+H332-0}{H302\,+\,\hskip\z@skip{}H332}{Nocif en cas d'ingestion ou d'inhalation}% +\mhchem@hp@ii{#3}{H312+H332-0}{H312\,+\,\hskip\z@skip{}H332}{Nocif en cas de contact cutan\'e\allowhyphens{} ou d'inhalation}% +\mhchem@hp@ii{#3}{H301+H312+H332-0}{H301\,+\,\hskip\z@skip{}H312\,+\,\hskip\z@skip{}H332}{Nocif en cas d'ingestion, de contact cutan\'e\allowhyphens{} ou d'inhalation}% +\mhchem@hp@ii{#3}{H400-0}{H400}{Tr\`e\allowhyphens{}s toxique pour les organismes aquatiques.}% +\mhchem@hp@ii{#3}{H410-0}{H410}{Tr\`e\allowhyphens{}s toxique pour les organismes aquatiques, entra\^i\allowhyphens{}ne des effets n\'e\allowhyphens{}fastes \`a\allowhyphens{} long terme.}% +\mhchem@hp@ii{#3}{H411-0}{H411}{Toxique pour les organismes aquatiques, entra\^i\allowhyphens{}ne des effets n\'e\allowhyphens{}fastes \`a\allowhyphens{} long terme.}% +\mhchem@hp@ii{#3}{H412-0}{H412}{Nocif pour les organismes aquatiques, entra\^i\allowhyphens{}ne des effets n\'e\allowhyphens{}fastes \`a\allowhyphens{} long terme.}% +\mhchem@hp@ii{#3}{H413-0}{H413}{Peut \^e\allowhyphens{}tre nocif \`a\allowhyphens{} long terme pour les organismes aquatiques.}% +\mhchem@hp@ii{#3}{H420-0}{H420}{Nuit \`a\allowhyphens{} la sant\'e\allowhyphens{} publique et \`a\allowhyphens{} l'environnement en d\'e\allowhyphens{}truisant l'ozone dans la haute atmosph\`e\allowhyphens{}re.}% +\mhchem@hp@ii{#3}{P101-0}{P101}{En cas de consultation d'un m\'e\allowhyphens{}decin, garder \`a\allowhyphens{} disposition le r\'e\allowhyphens{}cipient ou l'\'e\allowhyphens{}tiquette.}% +\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}{En cas de consultation d'un m\'e\allowhyphens{}decin, garder \`a\allowhyphens{} disposition le r\'e\allowhyphens{}cipient ou #1.}% +\mhchem@hp@ii{#3}{P102-0}{P102}{Tenir hors de port\'e\allowhyphens{}e des enfants.}% +\mhchem@hp@ii{#3}{P103-0}{P103}{Lire l'\'e\allowhyphens{}tiquette avant utilisation.}% +\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}{Lire #1 avant utilisation.}% +\mhchem@hp@ii{#3}{P201-0}{P201}{Se procurer les instructions avant utilisation.}% +\mhchem@hp@ii{#3}{P202-0}{P202}{Ne pas manipuler avant d'avoir lu et compris toutes les pr\'e\allowhyphens{}cautions de s\'e\allowhyphens{}curit\'e\allowhyphens{}.}% +\mhchem@hp@ii{#3}{P210.0-0}{P210}{Tenir \`a\allowhyphens{} l'\'e\allowhyphens{}cart de la chaleur/\hskip\z@skip{}des \'e\allowhyphens{}tincelles/\hskip\z@skip{}des flammes nues/\hskip\z@skip{}des surfaces chaudes. -- Ne pas fumer.}% +\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}{Tenir \`a\allowhyphens{} l'\'e\allowhyphens{}cart #1. -- Ne pas fumer.}% +\mhchem@hp@ii{#3}{P210.1-0}{P210}{Tenir \`a\allowhyphens{} l'\'e\allowhyphens{}cart de la chaleur. -- Ne pas fumer.}% +\mhchem@hp@ii{#3}{P210.2-0}{P210}{Tenir \`a\allowhyphens{} l'\'e\allowhyphens{}cart des \'e\allowhyphens{}tincelles. -- Ne pas fumer.}% +\mhchem@hp@ii{#3}{P210.3-0}{P210}{Tenir \`a\allowhyphens{} l'\'e\allowhyphens{}cart des flammes nues. -- Ne pas fumer.}% +\mhchem@hp@ii{#3}{P210.4-0}{P210}{Tenir \`a\allowhyphens{} l'\'e\allowhyphens{}cart des surfaces chaudes. -- Ne pas fumer.}% +\mhchem@hp@ii{#3}{P211-0}{P211}{Ne pas vaporiser sur une flamme nue ou sur toute autre source d'ignition.}% +\mhchem@hp@ii{#3}{P220.0.0-0}{P220}{Tenir/\hskip\z@skip{}stocker \`a\allowhyphens{} l'\'e\allowhyphens{}cart des v\^e\allowhyphens{}tements/\hskip\z@skip{}\textellipsis{}/\hskip\z@skip{}mati\`e\allowhyphens{}res combustibles}% +\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}{Tenir/\hskip\z@skip{}stocker \`a\allowhyphens{} l'\'e\allowhyphens{}cart #1}% +\mhchem@hp@ii{#3}{P220.0.2-0}{P220}{Tenir/\hskip\z@skip{}stocker \`a\allowhyphens{} l'\'e\allowhyphens{}cart des v\^e\allowhyphens{}tements}% +\mhchem@hp@ii{#3}{P220.0.3-0}{P220}{Tenir/\hskip\z@skip{}stocker \`a\allowhyphens{} l'\'e\allowhyphens{}cart des mati\`e\allowhyphens{}res combustibles}% +\mhchem@hp@ii{#3}{P220.1.0-0}{P220}{Tenir \`a\allowhyphens{} l'\'e\allowhyphens{}cart des v\^e\allowhyphens{}tements/\hskip\z@skip{}\textellipsis{}/\hskip\z@skip{}mati\`e\allowhyphens{}res combustibles}% +\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}{Tenir \`a\allowhyphens{} l'\'e\allowhyphens{}cart #1}% +\mhchem@hp@ii{#3}{P220.1.1-0}{P220}{Tenir \`a\allowhyphens{} l'\'e\allowhyphens{}cart des v\^e\allowhyphens{}tements}% +\mhchem@hp@ii{#3}{P220.1.2-0}{P220}{Tenir \`a\allowhyphens{} l'\'e\allowhyphens{}cart des mati\`e\allowhyphens{}res combustibles}% +\mhchem@hp@ii{#3}{P220.2.0-0}{P220}{Stocker \`a\allowhyphens{} l'\'e\allowhyphens{}cart des v\^e\allowhyphens{}tements/\hskip\z@skip{}\textellipsis{}/\hskip\z@skip{}mati\`e\allowhyphens{}res combustibles}% +\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}{Stocker \`a\allowhyphens{} l'\'e\allowhyphens{}cart #1}% +\mhchem@hp@ii{#3}{P220.2.1-0}{P220}{Stocker \`a\allowhyphens{} l'\'e\allowhyphens{}cart des v\^e\allowhyphens{}tements}% +\mhchem@hp@ii{#3}{P220.2.2-0}{P220}{Stocker \`a\allowhyphens{} l'\'e\allowhyphens{}cart des mati\`e\allowhyphens{}res combustibles}% +\mhchem@hp@ii{#3}{P221.0-0}{P221}{Prendre toutes pr\'e\allowhyphens{}cautions pour \'e\allowhyphens{}viter de m\'e\allowhyphens{}langer avec des mati\`e\allowhyphens{}res 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}{Prendre toutes pr\'e\allowhyphens{}cautions pour \'e\allowhyphens{}viter de m\'e\allowhyphens{}langer avec #1.}% +\mhchem@hp@ii{#3}{P221.1-0}{P221}{Prendre toutes pr\'e\allowhyphens{}cautions pour \'e\allowhyphens{}viter de m\'e\allowhyphens{}langer avec des mati\`e\allowhyphens{}res combustibles\textellipsis{}}% +\mhchem@hp@ii{#3}{P222-0}{P222}{Ne pas laisser au contact de l'air.}% +\mhchem@hp@ii{#3}{P223-0}{P223}{\'E\allowhyphens{}viter tout contact avec l'eau, \`a\allowhyphens{} cause du risque de r\'e\allowhyphens{}action violente et d'inflammation spontan\'e\allowhyphens{}e.}% +\mhchem@hp@ii{#3}{P230.0-0}{P230}{Maintenir humidifi\'e\allowhyphens{} avec\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}{Maintenir humidifi\'e\allowhyphens{} avec #1.}% +\mhchem@hp@ii{#3}{P231-0}{P231}{Manipuler sous gaz inerte.}% +\mhchem@hp@ii{#3}{P231+P232-0}{P231\,+\,\hskip\z@skip{}P232}{Manipuler sous gaz inerte. Prot\'e\allowhyphens{}ger de l'humidit\'e\allowhyphens{}.}% +\mhchem@hp@ii{#3}{P232-0}{P232}{Prot\'e\allowhyphens{}ger de l'humidit\'e\allowhyphens{}.}% +\mhchem@hp@ii{#3}{P233-0}{P233}{Maintenir le r\'e\allowhyphens{}cipient ferm\'e\allowhyphens{} de mani\`e\allowhyphens{}re \'e\allowhyphens{}tanche.}% +\mhchem@hp@ii{#3}{P234-0}{P234}{Conserver uniquement dans le r\'e\allowhyphens{}cipient d'origine.}% +\mhchem@hp@ii{#3}{P235-0}{P235}{Tenir au frais.}% +\mhchem@hp@ii{#3}{P235+P410-0}{P235\,+\,\hskip\z@skip{}P410}{Tenir au frais. Prot\'e\allowhyphens{}ger du rayonnement solaire.}% +\mhchem@hp@ii{#3}{P240-0}{P240}{Mise \`a\allowhyphens{} la terre/\hskip\z@skip{}liaison \'e\allowhyphens{}quipotentielle du r\'e\allowhyphens{}cipient et du mat\'e\allowhyphens{}riel de r\'e\allowhyphens{}ception.}% +\mhchem@hp@ii{#3}{P241.0-0}{P241}{Utiliser du mat\'e\allowhyphens{}riel \'e\allowhyphens{}lectrique/\hskip\z@skip{}de ventilation/\hskip\z@skip{}d'\'e\allowhyphens{}clairage/\hskip\z@skip{}\textellipsis{}/\hskip\z@skip{}antid\'e\allowhyphens{}flagrant.}% +\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}{Utiliser du mat\'e\allowhyphens{}riel #1 antid\'e\allowhyphens{}flagrant.}% +\mhchem@hp@ii{#3}{P241.1-0}{P241}{Utiliser du mat\'e\allowhyphens{}riel \'e\allowhyphens{}lectrique antid\'e\allowhyphens{}flagrant.}% +\mhchem@hp@ii{#3}{P241.2-0}{P241}{Utiliser de ventilation antid\'e\allowhyphens{}flagrant.}% +\mhchem@hp@ii{#3}{P241.3-0}{P241}{Utiliser d'\'e\allowhyphens{}clairage antid\'e\allowhyphens{}flagrant.}% +\mhchem@hp@ii{#3}{P242-0}{P242}{Ne pas utiliser d'outils produisant des \'e\allowhyphens{}tincelles.}% +\mhchem@hp@ii{#3}{P243-0}{P243}{Prendre des mesures de pr\'e\allowhyphens{}caution contre les d\'e\allowhyphens{}charges \'e\allowhyphens{}lectrostatiques.}% +\mhchem@hp@ii{#3}{P244-0}{P244}{S'assurer de l'absence de graisse ou d'huile sur les soupapes de r\'e\allowhyphens{}duction.}% +\mhchem@hp@ii{#3}{P250.0-0}{P250}{\'E\allowhyphens{}viter les abrasions/\hskip\z@skip{}les chocs/\hskip\z@skip{}\textellipsis{}/\hskip\z@skip{}les frottements.}% +\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}{\'E\allowhyphens{}viter #1.}% +\mhchem@hp@ii{#3}{P250.1-0}{P250}{\'E\allowhyphens{}viter les abrasions.}% +\mhchem@hp@ii{#3}{P250.2-0}{P250}{\'E\allowhyphens{}viter les chocs.}% +\mhchem@hp@ii{#3}{P250.3-0}{P250}{\'E\allowhyphens{}viter les frottements.}% +\mhchem@hp@ii{#3}{P251-0}{P251}{R\'e\allowhyphens{}cipient sous pression\space : ne pas perforer, ni br\^u\allowhyphens{}ler, m\^e\allowhyphens{}me apr\`e\allowhyphens{}s usage.}% +\mhchem@hp@ii{#3}{P260.0-0}{P260}{Ne pas respirer les poussi\`e\allowhyphens{}res/\hskip\z@skip{}fum\'e\allowhyphens{}es/\hskip\z@skip{}gaz/\hskip\z@skip{}brouillards/\hskip\z@skip{}vapeurs/\hskip\z@skip{}a\'e\allowhyphens{}rosols.}% +\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}{Ne pas respirer les #1.}% +\mhchem@hp@ii{#3}{P260.1-0}{P260}{Ne pas respirer les poussi\`e\allowhyphens{}res.}% +\mhchem@hp@ii{#3}{P260.2-0}{P260}{Ne pas respirer les fum\'e\allowhyphens{}es.}% +\mhchem@hp@ii{#3}{P260.3-0}{P260}{Ne pas respirer les gaz.}% +\mhchem@hp@ii{#3}{P260.4-0}{P260}{Ne pas respirer les brouillards.}% +\mhchem@hp@ii{#3}{P260.5-0}{P260}{Ne pas respirer les vapeurs.}% +\mhchem@hp@ii{#3}{P260.6-0}{P260}{Ne pas respirer les a\'e\allowhyphens{}rosols.}% +\mhchem@hp@ii{#3}{P261-0}{P261}{\'E\allowhyphens{}viter de respirer les poussi\`e\allowhyphens{}res/\hskip\z@skip{}fum\'e\allowhyphens{}es/\hskip\z@skip{}gaz/\hskip\z@skip{}brouillards/\hskip\z@skip{}vapeurs/\hskip\z@skip{}a\'e\allowhyphens{}rosols.}% +\mhchem@hp@ii{#3}{P262-0}{P262}{\'E\allowhyphens{}viter tout contact avec les yeux, la peau ou les v\^e\allowhyphens{}tements.}% +\mhchem@hp@ii{#3}{P263.0-0}{P263}{\'E\allowhyphens{}viter tout contact avec la substance au cours de la grossesse/\hskip\z@skip{}pendant l'allaitement.}% +\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}{\'E\allowhyphens{}viter tout contact avec la substance #1.}% +\mhchem@hp@ii{#3}{P263.1-0}{P263}{\'E\allowhyphens{}viter tout contact avec la substance au cours de la grossesse.}% +\mhchem@hp@ii{#3}{P263.2-0}{P263}{\'E\allowhyphens{}viter tout contact avec la substance pendant l'allaitement.}% +\mhchem@hp@ii{#3}{P264.0-0}{P264}{Se laver \textellipsis{} soigneusement apr\`e\allowhyphens{}s manipulation.}% +\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}{Se laver #1 soigneusement apr\`e\allowhyphens{}s manipulation.}% +\mhchem@hp@ii{#3}{P270-0}{P270}{Ne pas manger, boire ou fumer en manipulant ce produit.}% +\mhchem@hp@ii{#3}{P271-0}{P271}{Utiliser seulement en plein air ou dans un endroit bien ventil\'e\allowhyphens{}.}% +\mhchem@hp@ii{#3}{P272-0}{P272}{Les v\^e\allowhyphens{}tements de travail contamin\'e\allowhyphens{}s ne devraient pas sortir du lieu de travail.}% +\mhchem@hp@ii{#3}{P273-0}{P273}{\'E\allowhyphens{}viter le rejet dans l'environnement.}% +\mhchem@hp@ii{#3}{P280.0-0}{P280}{Porter des gants de protection/\hskip\z@skip{}des v\^e\allowhyphens{}tements de protection/\hskip\z@skip{}un \'e\allowhyphens{}quipement de protection des yeux/\hskip\z@skip{}du visage.}% +\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}{Porter #1.}% +\mhchem@hp@ii{#3}{P280.1-0}{P280}{Porter des gants de protection.}% +\mhchem@hp@ii{#3}{P280.2-0}{P280}{Porter des v\^e\allowhyphens{}tements de protection.}% +\mhchem@hp@ii{#3}{P280.3-0}{P280}{Porter un \'e\allowhyphens{}quipement de protection des yeux.}% +\mhchem@hp@ii{#3}{P280.4-0}{P280}{Porter un \'e\allowhyphens{}quipement de protection du visage.}% +\mhchem@hp@ii{#3}{P281-0}{P281}{Utiliser l'\'e\allowhyphens{}quipement de protection individuel requis.}% +\mhchem@hp@ii{#3}{P282.0-0}{P282}{Porter des gants isolants contre le froid/\hskip\z@skip{}un \'e\allowhyphens{}quipement de protection du visage/\hskip\z@skip{}des yeux.}% +\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}{Porter #1.}% +\mhchem@hp@ii{#3}{P282.1-0}{P282}{Porter des gants isolants contre le froid.}% +\mhchem@hp@ii{#3}{P282.2-0}{P282}{Porter un \'e\allowhyphens{}quipement de protection du visage.}% +\mhchem@hp@ii{#3}{P282.3-0}{P282}{Porter un \'e\allowhyphens{}quipement de protection des yeux.}% +\mhchem@hp@ii{#3}{P283.0-0}{P283}{Porter des v\^e\allowhyphens{}tements r\'e\allowhyphens{}sistant au feu/\hskip\z@skip{}aux flammes/\hskip\z@skip{}ignifuges.}% +\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}{Porter des v\^e\allowhyphens{}tements #1.}% +\mhchem@hp@ii{#3}{P284-0}{P284}{Porter un \'e\allowhyphens{}quipement de protection respiratoire.}% +\mhchem@hp@ii{#3}{P285-0}{P285}{Lorsque la ventilation du local est insuffisante, porter un \'e\allowhyphens{}quipement de protection respiratoire.}% +\mhchem@hp@ii{#3}{P301-0}{P301}{EN CAS D'INGESTION\space :}% +\mhchem@hp@ii{#3}{P301+P310-0}{P301\,+\,\hskip\z@skip{}P310}{EN CAS D'INGESTION\space : appeler imm\'e\allowhyphens{}diatement un CENTRE ANTIPOISON ou un m\'e\allowhyphens{}decin.}% +\mhchem@hp@ii{#3}{P301+P312-0}{P301\,+\,\hskip\z@skip{}P312}{EN CAS D'INGESTION\space : appeler un CENTRE ANTIPOISON ou un m\'e\allowhyphens{}decin en cas de malaise.}% +\mhchem@hp@ii{#3}{P301+P330+P331-0}{P301\,+\,\hskip\z@skip{}P330\,+\,\hskip\z@skip{}P331}{EN CAS D'INGESTION\space : rincer la bouche. NE PAS faire vomir.}% +\mhchem@hp@ii{#3}{P302-0}{P302}{EN CAS DE CONTACT AVEC LA PEAU\space :}% +\mhchem@hp@ii{#3}{P302+P334.0-0}{P302\,+\,\hskip\z@skip{}P334}{EN CAS DE CONTACT AVEC LA PEAU\space : rincer \`a\allowhyphens{} l'eau fra\^i\allowhyphens{}che/\hskip\z@skip{}poser une compresse humide.}% +\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}{EN CAS DE CONTACT AVEC LA PEAU\space : #1.}% +\mhchem@hp@ii{#3}{P302+P334.1-0}{P302\,+\,\hskip\z@skip{}P334}{EN CAS DE CONTACT AVEC LA PEAU\space : rincer \`a\allowhyphens{} l'eau fra\^i\allowhyphens{}che/\hskip\z@skip{}poser une compresse humide.}% +\mhchem@hp@ii{#3}{P302+P334.2-0}{P302\,+\,\hskip\z@skip{}P334}{EN CAS DE CONTACT AVEC LA PEAU\space : poser une compresse humide.}% +\mhchem@hp@ii{#3}{P302+P350-0}{P302\,+\,\hskip\z@skip{}P350}{EN CAS DE CONTACT AVEC LA PEAU\space : laver avec pr\'e\allowhyphens{}caution et abondamment \`a\allowhyphens{} l'eau et au savon.}% +\mhchem@hp@ii{#3}{P302+P352-0}{P302\,+\,\hskip\z@skip{}P352}{EN CAS DE CONTACT AVEC LA PEAU\space : laver abondamment \`a\allowhyphens{} l'eau et au savon.}% +\mhchem@hp@ii{#3}{P303-0}{P303}{EN CAS DE CONTACT AVEC LA PEAU (ou les cheveux)\space :}% +\mhchem@hp@ii{#3}{P303+P361+P353-0}{P303\,+\,\hskip\z@skip{}P361\,+\,\hskip\z@skip{}P353}{EN CAS DE CONTACT AVEC LA PEAU (ou les cheveux)\space : enlever imm\'e\allowhyphens{}diatement les v\^e\allowhyphens{}tements contamin\'e\allowhyphens{}s. Rincer la peau \`a\allowhyphens{} l'eau/\hskip\z@skip{}se doucher.}% +\mhchem@hp@ii{#3}{P304-0}{P304}{EN CAS D'INHALATION\space :}% +\mhchem@hp@ii{#3}{P304+P340-0}{P304\,+\,\hskip\z@skip{}P340}{EN CAS D'INHALATION\space : transporter la victime \`a\allowhyphens{} l'ext\'e\allowhyphens{}rieur et la maintenir au repos dans une position o\`u\allowhyphens{} elle peut confortablement respirer.}% +\mhchem@hp@ii{#3}{P304+P341-0}{P304\,+\,\hskip\z@skip{}P341}{EN CAS D'INHALATION\space : s'il y a difficult\'e\allowhyphens{} \`a\allowhyphens{} respirer, transporter la victime \`a\allowhyphens{} l'ext\'e\allowhyphens{}rieur et la maintenir au repos dans une position o\`u\allowhyphens{} elle peut confortablement respirer.}% +\mhchem@hp@ii{#3}{P305-0}{P305}{EN CAS DE CONTACT AVEC LES YEUX\space :}% +\mhchem@hp@ii{#3}{P305+P351+P338-0}{P305\,+\,\hskip\z@skip{}P351\,+\,\hskip\z@skip{}P338}{EN CAS DE CONTACT AVEC LES YEUX\space : rincer avec pr\'e\allowhyphens{}caution \`a\allowhyphens{} l'eau pendant plusieurs minutes. Enlever les lentilles de contact si la victime en porte et si elles peuvent \^e\allowhyphens{}tre facilement enlev\'e\allowhyphens{}es. Continuer \`a\allowhyphens{} rincer.}% +\mhchem@hp@ii{#3}{P306-0}{P306}{EN CAS DE CONTACT AVEC LES V\^E\allowhyphens{}TEMENTS\space :}% +\mhchem@hp@ii{#3}{P306+P360-0}{P306\,+\,\hskip\z@skip{}P360}{EN CAS DE CONTACT AVEC LES V\^E\allowhyphens{}TEMENTS\space : rincer imm\'e\allowhyphens{}diatement et abondamment avec de l'eau les v\^e\allowhyphens{}tements contamin\'e\allowhyphens{}s et la peau avant de les enlever.}% +\mhchem@hp@ii{#3}{P307-0}{P307}{EN CAS d'exposition\space :}% +\mhchem@hp@ii{#3}{P307+P311-0}{P307\,+\,\hskip\z@skip{}P311}{EN CAS d'exposition\space : appeler un CENTRE ANTIPOISON ou un m\'e\allowhyphens{}decin.}% +\mhchem@hp@ii{#3}{P308-0}{P308}{EN CAS d'exposition prouv\'e\allowhyphens{}e ou suspect\'e\allowhyphens{}e\space :}% +\mhchem@hp@ii{#3}{P308+P313-0}{P308\,+\,\hskip\z@skip{}P313}{EN CAS d'exposition prouv\'e\allowhyphens{}e ou suspect\'e\allowhyphens{}e\space : consulter un m\'e\allowhyphens{}decin.}% +\mhchem@hp@ii{#3}{P309-0}{P309}{EN CAS d'exposition ou d'un malaise\space :}% +\mhchem@hp@ii{#3}{P309+P311-0}{P309\,+\,\hskip\z@skip{}P311}{EN CAS d'exposition ou de malaise\space : appeler un CENTRE ANTIPOISON ou un m\'e\allowhyphens{}decin.}% +\mhchem@hp@ii{#3}{P310-0}{P310}{Appeler imm\'e\allowhyphens{}diatement un CENTRE ANTIPOISON ou un m\'e\allowhyphens{}decin.}% +\mhchem@hp@ii{#3}{P311-0}{P311}{Appeler un CENTRE ANTIPOISON ou un m\'e\allowhyphens{}decin.}% +\mhchem@hp@ii{#3}{P312-0}{P312}{Appeler un CENTRE ANTIPOISON ou un m\'e\allowhyphens{}decin en cas de malaise.}% +\mhchem@hp@ii{#3}{P313-0}{P313}{Consulter un m\'e\allowhyphens{}decin.}% +\mhchem@hp@ii{#3}{P314-0}{P314}{Consulter un m\'e\allowhyphens{}decin en cas de malaise.}% +\mhchem@hp@ii{#3}{P315-0}{P315}{Consulter imm\'e\allowhyphens{}diatement un m\'e\allowhyphens{}decin.}% +\mhchem@hp@ii{#3}{P320.0-0}{P320}{Un traitement sp\'e\allowhyphens{}cifique est urgent (voir \textellipsis{} sur cette \'e\allowhyphens{}tiquette).}% +\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}{Un traitement sp\'e\allowhyphens{}cifique est urgent (voir #1 sur cette \'e\allowhyphens{}tiquette).}% +\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}{Un traitement sp\'e\allowhyphens{}cifique est urgent (voir #1).}% +\mhchem@hp@ii{#3}{P321.0-0}{P321}{Traitement sp\'e\allowhyphens{}cifique (voir \textellipsis{} sur cette \'e\allowhyphens{}tiquette).}% +\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}{Traitement sp\'e\allowhyphens{}cifique (voir #1 sur cette \'e\allowhyphens{}tiquette).}% +\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}{Traitement sp\'e\allowhyphens{}cifique (voir #1).}% +\mhchem@hp@ii{#3}{P322.0-0}{P322}{Mesures sp\'e\allowhyphens{}cifiques (voir \textellipsis{} sur cette \'e\allowhyphens{}tiquette).}% +\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}{Mesures sp\'e\allowhyphens{}cifiques (voir #1 sur cette \'e\allowhyphens{}tiquette).}% +\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}{Mesures sp\'e\allowhyphens{}cifiques (voir #1).}% +\mhchem@hp@ii{#3}{P330-0}{P330}{Rincer la bouche.}% +\mhchem@hp@ii{#3}{P331-0}{P331}{NE PAS faire vomir.}% +\mhchem@hp@ii{#3}{P332-0}{P332}{En cas d'irritation cutan\'e\allowhyphens{}e\space :}% +\mhchem@hp@ii{#3}{P332+P313-0}{P332\,+\,\hskip\z@skip{}P313}{En cas d'irritation cutan\'e\allowhyphens{}e\space : consulter un m\'e\allowhyphens{}decin.}% +\mhchem@hp@ii{#3}{P333-0}{P333}{En cas d'irritation ou d'\'e\allowhyphens{}ruption cutan\'e\allowhyphens{}e\space :}% +\mhchem@hp@ii{#3}{P333+P313-0}{P333\,+\,\hskip\z@skip{}P313}{En cas d'irritation ou d'\'e\allowhyphens{}ruption cutan\'e\allowhyphens{}e\space : consulter un m\'e\allowhyphens{}decin.}% +\mhchem@hp@ii{#3}{P334.0-0}{P334}{Rincer \`a\allowhyphens{} l'eau fra\^i\allowhyphens{}che/\hskip\z@skip{}poser une compresse humide.}% +\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}{Rincer \`a\allowhyphens{} l'eau fra\^i\allowhyphens{}che.}% +\mhchem@hp@ii{#3}{P334.2-0}{P334}{Poser une compresse humide.}% +\mhchem@hp@ii{#3}{P335-0}{P335}{Enlever avec pr\'e\allowhyphens{}caution les particules d\'e\allowhyphens{}pos\'e\allowhyphens{}es sur la peau.}% +\mhchem@hp@ii{#3}{P335+P334.0-0}{P335\,+\,\hskip\z@skip{}P334}{Enlever avec pr\'e\allowhyphens{}caution les particules d\'e\allowhyphens{}pos\'e\allowhyphens{}es sur la peau. Rincer \`a\allowhyphens{} l'eau fra\^i\allowhyphens{}che/\hskip\z@skip{}poser une compresse humide.}% +\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}{Enlever avec pr\'e\allowhyphens{}caution les particules d\'e\allowhyphens{}pos\'e\allowhyphens{}es sur la peau. Rincer \`a\allowhyphens{} l'eau fra\^i\allowhyphens{}che.}% +\mhchem@hp@ii{#3}{P335+P334.2-0}{P335\,+\,\hskip\z@skip{}P334}{Enlever avec pr\'e\allowhyphens{}caution les particules d\'e\allowhyphens{}pos\'e\allowhyphens{}es sur la peau. Poser une compresse humide.}% +\mhchem@hp@ii{#3}{P336-0}{P336}{D\'e\allowhyphens{}geler les parties gel\'e\allowhyphens{}es avec de l'eau ti\`e\allowhyphens{}de. Ne pas frotter les zones touch\'e\allowhyphens{}es.}% +\mhchem@hp@ii{#3}{P337-0}{P337}{Si l'irritation oculaire persiste\space :}% +\mhchem@hp@ii{#3}{P337+P313-0}{P337\,+\,\hskip\z@skip{}P313}{Si l'irritation oculaire persiste\space : consulter un m\'e\allowhyphens{}decin.}% +\mhchem@hp@ii{#3}{P338-0}{P338}{Enlever les lentilles de contact si la victime en porte et si elles peuvent \^e\allowhyphens{}tre facilement enlev\'e\allowhyphens{}es. Continuer \`a\allowhyphens{} rincer.}% +\mhchem@hp@ii{#3}{P340-0}{P340}{Transporter la victime \`a\allowhyphens{} l'ext\'e\allowhyphens{}rieur et la maintenir au repos dans une position o\`u\allowhyphens{} elle peut confortablement respirer.}% +\mhchem@hp@ii{#3}{P341-0}{P341}{S'il y a difficult\'e\allowhyphens{} \`a\allowhyphens{} respirer, transporter la victime \`a\allowhyphens{} l'ext\'e\allowhyphens{}rieur et la maintenir au repos dans une position o\`u\allowhyphens{} elle peut confortablement respirer.}% +\mhchem@hp@ii{#3}{P342-0}{P342}{En cas de sympt\^o\allowhyphens{}mes respiratoires\space :}% +\mhchem@hp@ii{#3}{P342+P311-0}{P342\,+\,\hskip\z@skip{}P311}{En cas de sympt\^o\allowhyphens{}mes respiratoires\space : appeler un CENTRE ANTIPOISON ou un m\'e\allowhyphens{}decin.}% +\mhchem@hp@ii{#3}{P350-0}{P350}{Laver avec pr\'e\allowhyphens{}caution et abondamment \`a\allowhyphens{} l'eau et au savon.}% +\mhchem@hp@ii{#3}{P351-0}{P351}{Rincer avec pr\'e\allowhyphens{}caution \`a\allowhyphens{} l'eau pendant plusieurs minutes.}% +\mhchem@hp@ii{#3}{P352-0}{P352}{Laver abondamment \`a\allowhyphens{} l'eau et au savon.}% +\mhchem@hp@ii{#3}{P353-0}{P353}{Rincer la peau \`a\allowhyphens{} l'eau/\hskip\z@skip{}se doucher.}% +\mhchem@hp@ii{#3}{P360-0}{P360}{Rincer imm\'e\allowhyphens{}diatement et abondamment avec de l'eau les v\^e\allowhyphens{}tements contamin\'e\allowhyphens{}s et la peau avant de les enlever.}% +\mhchem@hp@ii{#3}{P361-0}{P361}{Enlever imm\'e\allowhyphens{}diatement les v\^e\allowhyphens{}tements contamin\'e\allowhyphens{}s.}% +\mhchem@hp@ii{#3}{P362-0}{P362}{Enlever les v\^e\allowhyphens{}tements contamin\'e\allowhyphens{}s et les laver avant r\'e\allowhyphens{}utilisation}% +\mhchem@hp@ii{#3}{P363-0}{P363}{Laver les v\^e\allowhyphens{}tements contamin\'e\allowhyphens{}s avant r\'e\allowhyphens{}utilisation.}% +\mhchem@hp@ii{#3}{P370-0}{P370}{En cas d'incendie\space :}% +\mhchem@hp@ii{#3}{P370+P376-0}{P370\,+\,\hskip\z@skip{}P376}{En cas d'incendie\space : obturer la fuite si cela peut se faire sans danger.}% +\mhchem@hp@ii{#3}{P370+P378.0-0}{P370\,+\,\hskip\z@skip{}P378}{En cas d'incendie\space : utiliser \textellipsis{} pour l'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}{En cas d'incendie\space : utiliser #1 pour l'extinction.}% +\mhchem@hp@ii{#3}{P370+P380-0}{P370\,+\,\hskip\z@skip{}P380}{En cas d'incendie\space : \'e\allowhyphens{}vacuer la zone.}% +\mhchem@hp@ii{#3}{P370+P380+P375-0}{P370\,+\,\hskip\z@skip{}P380\,+\,\hskip\z@skip{}P375}{En cas d'incendie\space : \'e\allowhyphens{}vacuer la zone. Combattre l'incendie \`a\allowhyphens{} distance \`a\allowhyphens{} cause du risque d'explosion.}% +\mhchem@hp@ii{#3}{P371-0}{P371}{En cas d'incendie important et s'il s'agit de grandes quantit\'e\allowhyphens{}s\space :}% +\mhchem@hp@ii{#3}{P371+P380+P375-0}{P371\,+\,\hskip\z@skip{}P380\,+\,\hskip\z@skip{}P375}{En cas d'incendie important et s'il s'agit de grandes quantit\'e\allowhyphens{}s\space : \'e\allowhyphens{}vacuer la zone. Combattre l'incendie \`a\allowhyphens{} distance \`a\allowhyphens{} cause du risque d'explosion.}% +\mhchem@hp@ii{#3}{P372-0}{P372}{Risque d'explosion en cas d'incendie.}% +\mhchem@hp@ii{#3}{P373-0}{P373}{NE PAS combattre l'incendie lorsque le feu atteint les explosifs.}% +\mhchem@hp@ii{#3}{P374-0}{P374}{Combattre l'incendie \`a\allowhyphens{} distance en prenant les pr\'e\allowhyphens{}cautions normales.}% +\mhchem@hp@ii{#3}{P375-0}{P375}{Combattre l'incendie \`a\allowhyphens{} distance \`a\allowhyphens{} cause du risque d'explosion.}% +\mhchem@hp@ii{#3}{P376-0}{P376}{Obturer la fuite si cela peut se faire sans danger.}% +\mhchem@hp@ii{#3}{P377-0}{P377}{Fuite de gaz enflamm\'e\allowhyphens{}\space : Ne pas \'e\allowhyphens{}teindre si la fuite ne peut pas \^e\allowhyphens{}tre arr\^e\allowhyphens{}t\'e\allowhyphens{}e sans danger.}% +\mhchem@hp@ii{#3}{P378.0-0}{P378}{Utiliser \textellipsis{} pour l'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}{Utiliser #1 pour l'extinction.}% +\mhchem@hp@ii{#3}{P380-0}{P380}{\'E\allowhyphens{}vacuer la zone.}% +\mhchem@hp@ii{#3}{P381-0}{P381}{\'E\allowhyphens{}liminer toutes les sources d'ignition si cela est faisable sans danger.}% +\mhchem@hp@ii{#3}{P390-0}{P390}{Absorber toute substance r\'e\allowhyphens{}pandue pour \'e\allowhyphens{}viter qu'elle attaque les mat\'e\allowhyphens{}riaux environnants.}% +\mhchem@hp@ii{#3}{P391-0}{P391}{Recueillir le produit r\'e\allowhyphens{}pandu.}% +\mhchem@hp@ii{#3}{P401.0-0}{P401}{Stocker \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}{Stocker #1.}% +\mhchem@hp@ii{#3}{P402-0}{P402}{Stocker dans un endroit sec.}% +\mhchem@hp@ii{#3}{P402+P404-0}{P402\,+\,\hskip\z@skip{}P404}{Stocker dans un endroit sec. Stocker dans un r\'e\allowhyphens{}cipient ferm\'e\allowhyphens{}.}% +\mhchem@hp@ii{#3}{P403-0}{P403}{Stocker dans un endroit bien ventil\'e\allowhyphens{}.}% +\mhchem@hp@ii{#3}{P403+P233-0}{P403\,+\,\hskip\z@skip{}P233}{Stocker dans un endroit bien ventil\'e\allowhyphens{}. Maintenir le r\'e\allowhyphens{}cipient ferm\'e\allowhyphens{} de mani\`e\allowhyphens{}re \'e\allowhyphens{}tanche.}% +\mhchem@hp@ii{#3}{P403+P235-0}{P403\,+\,\hskip\z@skip{}P235}{Stocker dans un endroit bien ventil\'e\allowhyphens{}. Tenir au frais.}% +\mhchem@hp@ii{#3}{P404-0}{P404}{Stocker dans un r\'e\allowhyphens{}cipient ferm\'e\allowhyphens{}.}% +\mhchem@hp@ii{#3}{P405-0}{P405}{Garder sous clef.}% +\mhchem@hp@ii{#3}{P406.0-0}{P406}{Stocker dans un r\'e\allowhyphens{}cipient r\'e\allowhyphens{}sistant \`a\allowhyphens{} la corrosion/\hskip\z@skip{}r\'e\allowhyphens{}cipient en \textellipsis{} avec doublure int\'e\allowhyphens{}rieure r\'e\allowhyphens{}sistant \`a\allowhyphens{} la corrosion.}% +\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}{Stocker dans un r\'e\allowhyphens{}cipient #1 avec doublure int\'e\allowhyphens{}rieure r\'e\allowhyphens{}sistant \`a\allowhyphens{} la corrosion.}% +\mhchem@hp@ii{#3}{P406.1-0}{P406}{Stocker dans un r\'e\allowhyphens{}cipient r\'e\allowhyphens{}sistant \`a\allowhyphens{} la corrosion avec doublure int\'e\allowhyphens{}rieure r\'e\allowhyphens{}sistant \`a\allowhyphens{} la corrosion.}% +\mhchem@hp@ii{#3}{P407-0}{P407}{Maintenir un intervalle d'air entre les piles/\hskip\z@skip{}palettes.}% +\mhchem@hp@ii{#3}{P410-0}{P410}{Prot\'e\allowhyphens{}ger du rayonnement solaire.}% +\mhchem@hp@ii{#3}{P410+P403-0}{P410\,+\,\hskip\z@skip{}P403}{Prot\'e\allowhyphens{}ger du rayonnement solaire. Stocker dans un endroit bien ventil\'e\allowhyphens{}.}% +\mhchem@hp@ii{#3}{P410+P412-0}{P410\,+\,\hskip\z@skip{}P412}{Prot\'e\allowhyphens{}ger du rayonnement solaire. Ne pas exposer \`a\allowhyphens{} une temp\'e\allowhyphens{}rature sup\'e\allowhyphens{}rieure \`a\allowhyphens{} 50\textdegree{}C/\hskip\z@skip{} 122 \textdegree{}F.}% +\mhchem@hp@ii{#3}{P411.0-0}{P411}{Stocker \`a\allowhyphens{} une temp\'e\allowhyphens{}rature ne d\'e\allowhyphens{}passant pas \textellipsis{}\textdegree{}C/\hskip\z@skip{}\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}{Stocker \`a\allowhyphens{} une temp\'e\allowhyphens{}rature ne d\'e\allowhyphens{}passant pas #1.}% +\mhchem@hp@ii{#3}{P411+P235.0-0}{P411\,+\,\hskip\z@skip{}P235}{Stocker \`a\allowhyphens{} une temp\'e\allowhyphens{}rature ne d\'e\allowhyphens{}passant pas \textellipsis{}\textdegree{}C/\hskip\z@skip{}\textellipsis{} \textdegree{}F. Tenir au frais.}% +\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}{Stocker \`a\allowhyphens{} une temp\'e\allowhyphens{}rature ne d\'e\allowhyphens{}passant pas #1. Tenir au frais.}% +\mhchem@hp@ii{#3}{P412-0}{P412}{Ne pas exposer \`a\allowhyphens{} une temp\'e\allowhyphens{}rature sup\'e\allowhyphens{}rieure \`a\allowhyphens{} 50\textdegree{}C/\hskip\z@skip{}122 \textdegree{}F.}% +\mhchem@hp@ii{#3}{P413.0-0}{P413}{Stocker les quantit\'e\allowhyphens{}s en vrac de plus de \textellipsis{}\,kg/\hskip\z@skip{}\textellipsis{} lb \`a\allowhyphens{} une temp\'e\allowhyphens{}rature ne d\'e\allowhyphens{}passant pas \textellipsis{}\textdegree{}C/\hskip\z@skip{}\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}{Stocker les quantit\'e\allowhyphens{}s en vrac de plus de #1 \`a\allowhyphens{} une temp\'e\allowhyphens{}rature ne d\'e\allowhyphens{}passant pas #2.}% +\mhchem@hp@ii{#3}{P420-0}{P420}{Stocker \`a\allowhyphens{} l'\'e\allowhyphens{}cart des autres mati\`e\allowhyphens{}res.}% +\mhchem@hp@ii{#3}{P422.0-0}{P422}{Stocker le contenu sous \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}{Stocker le contenu sous #1.}% +\mhchem@hp@ii{#3}{P501.0.0-0}{P501}{\'E\allowhyphens{}liminer le contenu/\hskip\z@skip{}r\'e\allowhyphens{}cipient dans \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}{\'E\allowhyphens{}liminer le contenu/\hskip\z@skip{}r\'e\allowhyphens{}cipient dans #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}{\'E\allowhyphens{}liminer le contenu dans \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}{\'E\allowhyphens{}liminer le contenu dans #1.}% +\mhchem@hp@ii{#3}{P501.2.0-0}{P501}{\'E\allowhyphens{}liminer le r\'e\allowhyphens{}cipient dans \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}{\'E\allowhyphens{}liminer le r\'e\allowhyphens{}cipient dans #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}{EUH001-0}{EUH001}{In trockenem Zustand explosiv.}% \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.}% @@ -658,10 +1065,10 @@ \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}{H361f-0}{H361f}{Kann vermutlich die Fruchtbarkeit beeintr\"a\allowhyphens{}chtigen.}% +\mhchem@hp@ii{#3}{H361d-0}{H361d}{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}{H361fd-0}{H361fd}{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{}.}% @@ -744,7 +1151,7 @@ \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}{P222-0}{P222}{Keinen Kontakt mit Luft 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}{}}% @@ -757,14 +1164,14 @@ \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.0-0}{P241}{Explosionsgesch\"u\allowhyphens{}tzte elektrische Ger\"a\allowhyphens{}te/\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.1-0}{P241}{Explosionsgesch\"u\allowhyphens{}tzte elektrische Ger\"a\allowhyphens{}te 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}{P243-0}{P243}{Ma\ss{}nahmen gegen elektrostatische Entladungen 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}{}}% @@ -784,11 +1191,11 @@ \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.0-0}{P263}{Kontakt w\"a\allowhyphens{}hrend der Schwangerschaft/\hskip\z@skip{}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}{P263.2-0}{P263}{Kontakt w\"a\allowhyphens{}hrend der Stillzeit vermeiden.}% \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.}% @@ -833,8 +1240,8 @@ \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}{P305+P351+P338-0}{P305\,+\,\hskip\z@skip{}P351\,+\,\hskip\z@skip{}P338}{BEI KONTAKT MIT DEN AUGEN: Einige Minuten lang behutsam mit Wasser aussp\"u\allowhyphens{}len. Eventuell vorhandene Kontaktlinsen nach M\"o\allowhyphens{}glichkeit entfernen. Weiter aussp\"u\allowhyphens{}len.}% +\mhchem@hp@ii{#3}{P306-0}{P306}{BEI KONTAKT MIT DER 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.}% @@ -920,30 +1327,30 @@ \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}{P402+P404-0}{P402\,+\,\hskip\z@skip{}P404}{An einem trockenen Ort aufbewahren. In einem geschlossenen Beh\"a\allowhyphens{}lter 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}{P403+P233-0}{P403\,+\,\hskip\z@skip{}P233}{An einem gut bel\"u\allowhyphens{}fteten Ort aufbewahren. Beh\"a\allowhyphens{}lter dicht verschlossen halten.}% +\mhchem@hp@ii{#3}{P403+P235-0}{P403\,+\,\hskip\z@skip{}P235}{An einem gut bel\"u\allowhyphens{}fteten Ort aufbewahren. K\"u\allowhyphens{}hl halten.}% \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.0-0}{P406}{In korrosionsbest\"a\allowhyphens{}ndigem/\hskip\z@skip{}\textellipsis{} Beh\"a\allowhyphens{}lter mit widerstandsf\"a\allowhyphens{}higer Innenauskleidung aufbewahren.}% \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}{P406-1}{P406}{In #1 Beh\"a\allowhyphens{}lter mit widerstandsf\"a\allowhyphens{}higer Innenauskleidung aufbewahren.}% +\mhchem@hp@ii{#3}{P406.1-0}{P406}{In korrosionsbest\"a\allowhyphens{}ndigem Beh\"a\allowhyphens{}lter mit widerstandsf\"a\allowhyphens{}higer Innenauskleidung aufbewahren.}% \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}{P410+P403-0}{P410\,+\,\hskip\z@skip{}P403}{Vor Sonnenbestrahlung sch\"u\allowhyphens{}tzen. 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 \"u\allowhyphens{}ber 50\textdegree{}C/\hskip\z@skip{}122 \textdegree{}F aussetzen.}% +\mhchem@hp@ii{#3}{P411.0-0}{P411}{Bei Temperaturen nicht \"u\allowhyphens{}ber \textellipsis{}\textdegree{}C/\hskip\z@skip{}\textellipsis{}\textdegree{}F 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-1}{P411}{Bei Temperaturen nicht \"u\allowhyphens{}ber #1 aufbewahren.}% +\mhchem@hp@ii{#3}{P411+P235.0-0}{P411\,+\,\hskip\z@skip{}P235}{Bei Temperaturen nicht \"u\allowhyphens{}ber \textellipsis{}\textdegree{}C/\hskip\z@skip{}\textellipsis{} \textdegree{}F aufbewahren. K\"u\allowhyphens{}hl halten.}% \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}{P411+P235-1}{P411\,+\,\hskip\z@skip{}P235}{Bei Temperaturen nicht \"u\allowhyphens{}ber #1 aufbewahren. K\"u\allowhyphens{}hl halten.}% +\mhchem@hp@ii{#3}{P412-0}{P412}{Nicht Temperaturen \"u\allowhyphens{}ber 50\textdegree{}C/\hskip\z@skip{}122 \textdegree{}F aussetzen.}% +\mhchem@hp@ii{#3}{P413.0-0}{P413}{Sch\"u\allowhyphens{}ttgut in Mengen von mehr als \textellipsis{}\,kg/\hskip\z@skip{} \textellipsis{}\,lbs bei Temperaturen nicht \"u\allowhyphens{}ber \textellipsis{}\textdegree{}C/\hskip\z@skip{}\textellipsis{}\textdegree{}F 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}{P413-2}{P413}{Sch\"u\allowhyphens{}ttgut in Mengen von mehr als #1 bei Temperaturen nicht \"u\allowhyphens{}ber #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}{}}% diff --git a/Master/texmf-dist/tex/latex/mhchem/mhchem.sty b/Master/texmf-dist/tex/latex/mhchem/mhchem.sty index 2bb6a5041e8..8a1879aafc0 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-2015 Martin Hensel +%% Copyright 2004-2016 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}[2015/11/29 v4.03 for typesetting chemical formulae] +\ProvidesPackage{mhchem}[2016/02/07 v4.04 for typesetting chemical formulae] \RequirePackage{expl3} \RequirePackage{l3keys2e} \RequirePackage{l3regex} @@ -35,7 +35,6 @@ \RequirePackage{amsmath} \RequirePackage{chemgreek}[2015/04/09] \RequirePackage{graphics} -\RequirePackage{ifthen} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%% misc %%%%%%%%%% @@ -77,41 +76,42 @@ } \regex_const:Nn \l__mhchem_regex_digitCommaDigit_regex { \d\,\d } -\regex_const:Nn \l__mhchem_regex_oneLetter_regex { [nmpx] } +\regex_const:Nn \l__mhchem_regex_oneLetter_regex { [nmptx] } \regex_const:Nn \l__mhchem_regex_hyphen_regex { - } \regex_const:Nn \l__mhchem_regex_letters_regex { [a-zA-Z]+ } \regex_const:Nn \l__mhchem_regex_spaces_regex { [\ ]+ } \regex_const:Nn \l__mhchem_regex_digits_fregex { \A [0-9]+ \Z} \regex_const:Nn \l__mhchem_regex_oneToThreeLetters_fregex { \A (.+) (\([a-z]{1,3}\)) \Z } -\regex_const:Nn \l__mhchem_regex_oneLetter_fregex { \A [nmpx] \Z } +\regex_const:Nn \l__mhchem_regex_oneLetter_fregex { \A [nmptx] \Z } \regex_const:Nn \l__mhchem_regex_oneLetterPlus_fregex - { \A ([nmpx]|\c{eta}|\c{mu}|\c{kappa}|\c{__mhchem_cg_withinMathTokens:n}\cB.[nmpx]\cE.|\d+) \Z } -\regex_const:Nn \l__mhchem_regex_oneGreekLetter_fregex { \A (\c{eta}|\c{mu}|\c{kappa}) \Z } + { \A ([nmptx]|\c{eta|mu|kappa}|\c{__mhchem_cg_withinMathTokens:n}\cB.[nmptx]\cE.|[0-9]+|[0-9]+\/[0-9]+) \Z } \regex_const:Nn \l__mhchem_regex_romanNumeral_fregex { \A [IVX]+ \Z } \regex_const:Nn \l__mhchem_regex_bracedGroup_fregex { \A \cB. [^\cE.]* \cE. \Z } -\regex_const:Nn \l__mhchem_regex_greekLetter_fregex - { \A [\c{alpha}\c{beta}\c{gamma}\c{delta}\c{epsilon}\c{zeta}\c{eta}\c{theta}\c{iota}\c{kappa}\c{lambda}\c{mu}\c{nu}\c{xi}\c{omicron}\c{pi}\c{rho}\c{sigma}\c{tau}\c{upsilon}\c{phi}\c{chi}\c{psi}\c{omega}\c{Alpha}\c{Beta}\c{Gamma}\c{Delta}\c{Epsilon}\c{Zeta}\c{Eta}\c{Theta}\c{Iota}\c{Kappa}\c{Lambda}\c{Mu}\c{Nu}\c{Xi}\c{Omicron}\c{Pi}\c{Rho}\c{Sigma}\c{Tau}\c{Upsilon}\c{Phi}\c{Chi}\c{Psi}\c{Omega}] \Z } +\regex_const:Nn \l__mhchem_regex_oneGreekLetter_fregex + { \A \c{alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Alpha|Beta|Gamma|Delta|Epsilon|Zeta|Eta|Theta|Iota|Kappa|Lambda|Mu|Nu|Xi|Omicron|Pi|Rho|Sigma|Tau|Upsilon|Phi|Chi|Psi|Omega} \Z } \regex_const:Nn \l__mhchem_regex_digitOrLetterOrGreek_fregex - { \A [1-9a-zA-Z\ \~\+\-\,\.\(\)\c{alpha}\c{beta}\c{gamma}\c{delta}\c{epsilon}\c{zeta}\c{eta}\c{theta}\c{iota}\c{kappa}\c{lambda}\c{mu}\c{nu}\c{xi}\c{omicron}\c{pi}\c{rho}\c{sigma}\c{tau}\c{upsilon}\c{phi}\c{chi}\c{psi}\c{omega}\c{Alpha}\c{Beta}\c{Gamma}\c{Delta}\c{Epsilon}\c{Zeta}\c{Eta}\c{Theta}\c{Iota}\c{Kappa}\c{Lambda}\c{Mu}\c{Nu}\c{Xi}\c{Omicron}\c{Pi}\c{Rho}\c{Sigma}\c{Tau}\c{Upsilon}\c{Phi}\c{Chi}\c{Psi}\c{Omega}]+ \Z } + { \A [1-9a-zA-Z\ \~\+\-\,\.\(\)\c{alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Alpha|Beta|Gamma|Delta|Epsilon|Zeta|Eta|Theta|Iota|Kappa|Lambda|Mu|Nu|Xi|Omicron|Pi|Rho|Sigma|Tau|Upsilon|Phi|Chi|Psi|Omega}]+ \Z } \regex_const:Nn \l__mhchem_regex_formula_fregex - { \A ( [nmpx] | ([0-9\ \+\-\,\.\(\)]+ [nmpx] [0-9\ \+\-\,\.\(\)]*)+ | ([0-9\ \+\-\,\.\(\)]* [nmpx] [0-9\ \+\-\,\.\(\)]+)+ ) \Z } + { \A ([0-9\ \+\-\,\.\(\)]* [nmptx] [0-9\ \+\-\,\.\(\)]*)+ \Z } \regex_const:Nn \l__mhchem_regex_formulaAmount_fregex - { \A \c{__mhchem_cg_withinMathTokens:n}\cB. (([0-9nmpx]+ [\+\-])? [nmpx] ([\+\-] [0-9nmpx]+)?) \cE. \Z } + { \A \c{__mhchem_cg_withinMathTokens:n}\cB. (([0-9nmptx]+ [\+\-])? [nmptx] ([\+\-] [0-9nmptx]+)?) \cE. \Z } \regex_const:Nn \l__mhchem_regex_fraction_fregex { \A ([0-9]+)\/([0-9]+) \Z } +\regex_const:Nn \l__mhchem_regex_fracMacro_fregex { \A \c{frac} \Z } \__mhchem_regex_peek_compile:Nn \l__mhchem_regex_digit_pregex { [ 0-9 ] } \__mhchem_regex_peek_compile:Nn \l__mhchem_regex_digitOrPlus_pregex { [ 0-9 \+ ] } +\__mhchem_regex_peek_compile:Nn \l__mhchem_regex_digitOrMinus_pregex { [ 0-9 \-] } \__mhchem_regex_peek_compile:Nn \l__mhchem_regex_digitOrDot_pregex { [ 0-9 . ] } \__mhchem_regex_peek_compile:Nn \l__mhchem_regex_digitOrSlash_pregex { [ 0-9 \/ ] } \__mhchem_regex_peek_compile:Nn \l__mhchem_regex_digitOrDotPlus_pregex { [ 0-9 \) \. \/ ] } \__mhchem_regex_peek_compile:Nn \l__mhchem_regex_dotOrAsterisk_pregex { [ \. \* ] } \__mhchem_regex_peek_compile:Nn \l__mhchem_regex_letter_pregex { [ a-zA-Z ] } -\__mhchem_regex_peek_compile:Nn \l__mhchem_regex_uppercaseLetter_pregex { [ A-Z ] } -\__mhchem_regex_peek_compile:Nn \l__mhchem_regex_openingBrace_pregex { [ \( \[ ] } -\__mhchem_regex_peek_compile:Nn \l__mhchem_regex_closingBrace_pregex { [ \) \] \/ ] } -\__mhchem_regex_peek_compile:Nn \l__mhchem_regex_oneLetter_pregex { [ nmpx ] } +\__mhchem_regex_peek_compile:Nn \l__mhchem_regex_uppercaseLetterOrParenthesis_pregex { [ A-Z( ] } +\__mhchem_regex_peek_compile:Nn \l__mhchem_regex_openingBracket_pregex { [ \( \[ ] } +\__mhchem_regex_peek_compile:Nn \l__mhchem_regex_closingBracket_pregex { [ \) \] \/ ] } +\__mhchem_regex_peek_compile:Nn \l__mhchem_regex_oneLetter_pregex { [ nmptx ] } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%% loop helpers %%%%%%%%%% @@ -127,7 +127,12 @@ \tl_put_right:Nn #1 { { #3 } } #2 } -\cs_new_protected:Npn \__mhchem_loopHelper_appendNextGroup_prefix_ifEmpty:NnnNn #1#2#3#4#5 +\cs_new_protected:Npn \__mhchem_loopHelper_appendNextGroupAsCe:NNn #1#2#3 + { + \tl_put_right:Nn #1 { { \ce{#3} } } + #2 + } +\cs_new_protected:Npn \__mhchem_loopHelper_appendNextGroup_prefix_doIfEmpty:NnnNn #1#2#3#4#5 { \tl_if_empty:nTF {#5} { #3 } @@ -350,54 +355,54 @@ \cs_set_eq:NN \__mhchem_output_greek_orig_Chi \Chi \cs_set_eq:NN \__mhchem_output_greek_orig_Psi \Psi \cs_set_eq:NN \__mhchem_output_greek_orig_Omega \Omega - \def \alpha { \__mhchem_output_greek:n { alpha } } - \def \beta { \__mhchem_output_greek:n { beta } } - \def\gamma { \__mhchem_output_greek:n { gamma } } - \def\delta { \__mhchem_output_greek:n { delta } } - \def\epsilon { \__mhchem_output_greek:n { epsilon } } - \def\zeta { \__mhchem_output_greek:n { zeta } } - \def\eta { \__mhchem_output_greek:n { eta } } - \def\theta { \__mhchem_output_greek:n { theta } } - \def\iota { \__mhchem_output_greek:n { iota } } - \def\kappa { \__mhchem_output_greek:n { kappa } } - \def\lambda { \__mhchem_output_greek:n { lambda } } - \def\mu { \__mhchem_output_greek:n { mu } } - \def\nu { \__mhchem_output_greek:n { nu } } - \def\xi { \__mhchem_output_greek:n { xi } } - \def\omicron { \__mhchem_output_greek:n { omicron } } - \def\pi { \__mhchem_output_greek:n { pi } } - \def\rho { \__mhchem_output_greek:n { rho } } - \def\sigma { \__mhchem_output_greek:n { sigma } } - \def\tau { \__mhchem_output_greek:n { tau } } - \def\upsilon { \__mhchem_output_greek:n { upsilon } } - \def\phi { \__mhchem_output_greek:n { phi } } - \def\chi { \__mhchem_output_greek:n { chi } } - \def\psi { \__mhchem_output_greek:n { psi } } - \def\omega { \__mhchem_output_greek:n { omega } } - \def\Alpha { \__mhchem_output_greek:n { Alpha } } - \def\Beta { \__mhchem_output_greek:n { Beta } } - \def\Gamma { \__mhchem_output_greek:n { Gamma } } - \def\Delta { \__mhchem_output_greek:n { Delta } } - \def\Epsilon { \__mhchem_output_greek:n { Epsilon } } - \def\Zeta { \__mhchem_output_greek:n { Zeta } } - \def\Eta { \__mhchem_output_greek:n { Eta } } - \def\Theta { \__mhchem_output_greek:n { Theta } } - \def\Iota { \__mhchem_output_greek:n { Iota } } - \def\Kappa { \__mhchem_output_greek:n { Kappa } } - \def\Lambda { \__mhchem_output_greek:n { Lambda } } - \def\Mu { \__mhchem_output_greek:n { Mu } } - \def\Nu { \__mhchem_output_greek:n { Nu } } - \def\Xi { \__mhchem_output_greek:n { Xi } } - \def\Omicron { \__mhchem_output_greek:n { Omicron } } - \def\Pi { \__mhchem_output_greek:n { Pi } } - \def\Rho { \__mhchem_output_greek:n { Rho } } - \def\Sigma { \__mhchem_output_greek:n { Sigma } } - \def\Tau { \__mhchem_output_greek:n { Tau } } - \def\Upsilon { \__mhchem_output_greek:n { Upsilon } } - \def\Phi { \__mhchem_output_greek:n { Phi } } - \def\Chi { \__mhchem_output_greek:n { Chi } } - \def\Psi { \__mhchem_output_greek:n { Psi } } - \def\Omega { \__mhchem_output_greek:n { Omega } } + \cs_set_protected:Npn \alpha { \__mhchem_output_greek:n { alpha } } + \cs_set_protected:Npn \beta { \__mhchem_output_greek:n { beta } } + \cs_set_protected:Npn \gamma { \__mhchem_output_greek:n { gamma } } + \cs_set_protected:Npn \delta { \__mhchem_output_greek:n { delta } } + \cs_set_protected:Npn \epsilon { \__mhchem_output_greek:n { epsilon } } + \cs_set_protected:Npn \zeta { \__mhchem_output_greek:n { zeta } } + \cs_set_protected:Npn \eta { \__mhchem_output_greek:n { eta } } + \cs_set_protected:Npn \theta { \__mhchem_output_greek:n { theta } } + \cs_set_protected:Npn \iota { \__mhchem_output_greek:n { iota } } + \cs_set_protected:Npn \kappa { \__mhchem_output_greek:n { kappa } } + \cs_set_protected:Npn \lambda { \__mhchem_output_greek:n { lambda } } + \cs_set_protected:Npn \mu { \__mhchem_output_greek:n { mu } } + \cs_set_protected:Npn \nu { \__mhchem_output_greek:n { nu } } + \cs_set_protected:Npn \xi { \__mhchem_output_greek:n { xi } } + \cs_set_protected:Npn \omicron { \__mhchem_output_greek:n { omicron } } + \cs_set_protected:Npn \pi { \__mhchem_output_greek:n { pi } } + \cs_set_protected:Npn \rho { \__mhchem_output_greek:n { rho } } + \cs_set_protected:Npn \sigma { \__mhchem_output_greek:n { sigma } } + \cs_set_protected:Npn \tau { \__mhchem_output_greek:n { tau } } + \cs_set_protected:Npn \upsilon { \__mhchem_output_greek:n { upsilon } } + \cs_set_protected:Npn \phi { \__mhchem_output_greek:n { phi } } + \cs_set_protected:Npn \chi { \__mhchem_output_greek:n { chi } } + \cs_set_protected:Npn \psi { \__mhchem_output_greek:n { psi } } + \cs_set_protected:Npn \omega { \__mhchem_output_greek:n { omega } } + \cs_set_protected:Npn \Alpha { \__mhchem_output_greek:n { Alpha } } + \cs_set_protected:Npn \Beta { \__mhchem_output_greek:n { Beta } } + \cs_set_protected:Npn \Gamma { \__mhchem_output_greek:n { Gamma } } + \cs_set_protected:Npn \Delta { \__mhchem_output_greek:n { Delta } } + \cs_set_protected:Npn \Epsilon { \__mhchem_output_greek:n { Epsilon } } + \cs_set_protected:Npn \Zeta { \__mhchem_output_greek:n { Zeta } } + \cs_set_protected:Npn \Eta { \__mhchem_output_greek:n { Eta } } + \cs_set_protected:Npn \Theta { \__mhchem_output_greek:n { Theta } } + \cs_set_protected:Npn \Iota { \__mhchem_output_greek:n { Iota } } + \cs_set_protected:Npn \Kappa { \__mhchem_output_greek:n { Kappa } } + \cs_set_protected:Npn \Lambda { \__mhchem_output_greek:n { Lambda } } + \cs_set_protected:Npn \Mu { \__mhchem_output_greek:n { Mu } } + \cs_set_protected:Npn \Nu { \__mhchem_output_greek:n { Nu } } + \cs_set_protected:Npn \Xi { \__mhchem_output_greek:n { Xi } } + \cs_set_protected:Npn \Omicron { \__mhchem_output_greek:n { Omicron } } + \cs_set_protected:Npn \Pi { \__mhchem_output_greek:n { Pi } } + \cs_set_protected:Npn \Rho { \__mhchem_output_greek:n { Rho } } + \cs_set_protected:Npn \Sigma { \__mhchem_output_greek:n { Sigma } } + \cs_set_protected:Npn \Tau { \__mhchem_output_greek:n { Tau } } + \cs_set_protected:Npn \Upsilon { \__mhchem_output_greek:n { Upsilon } } + \cs_set_protected:Npn \Phi { \__mhchem_output_greek:n { Phi } } + \cs_set_protected:Npn \Chi { \__mhchem_output_greek:n { Chi } } + \cs_set_protected:Npn \Psi { \__mhchem_output_greek:n { Psi } } + \cs_set_protected:Npn \Omega { \__mhchem_output_greek:n { Omega } } } \tl_clear:N \l__mhchem_ce_result_tl \tl_clear:N \l__mhchem_ce_part_tl @@ -406,11 +411,9 @@ \int_set:Nn \l__mhchem_ce_distanceFromLastComma_int { 9 } \tl_clear:N \l__mhchem_cf_lastElement_tl \__mhchem_ce_loop: #1 \q_recursion_stop - \__mhchem_output_begin_ce: \int_compare:nTF { \l__mhchem_option_version_int > 1 } { \tl_use:N \l__mhchem_ce_result_tl } { \ensuremath{\tl_use:N \l__mhchem_ce_result_tl} } - \__mhchem_output_end_ce: \mhchem@hook@afterCe \group_end: } @@ -996,7 +999,6 @@ \ExplSyntaxOn \cs_new:Npn \__mhchem_arrow_options_minLength:n { {2em} } \tl_new:N \mhchem@option@arrow@pgf@tip -\tl_new:N \mhchem@option@arrow@pgf@halftip \tl_new:N \mhchem@option@arrow@pgf@linewidth \msg_new:nnn { mhchem } { error-arrow-type } @@ -1023,7 +1025,7 @@ { \bool_if:NTF { \l__mhchem_option_inPreamble_bool } { - \RequirePackage{pgf} %. for finding the tikz package more easily + \RequirePackage{pgf} \RequirePackage{tikz} \AtBeginDocument { \usetikzlibrary{arrows.meta} @@ -1051,7 +1053,7 @@ } { \regex_extract_once:nnNTF - { \A pgf \cB. (.+?) \cE. \cB. (.+?) \cE. \Z } %. pgf{arrowname}{linewidth} + { \A pgf \cB. (.+?) \cE. \cB. (.+?) \cE. \Z } {#1} \l__mhchem_tmp_arrow_seq { @@ -1294,7 +1296,7 @@ { Assertion~failed:~Unexpected~input~character.~ In~case~you~think~this~is~a~bug,~ - lease~contact~the~package~author. + please~contact~the~package~author. } \msg_new:nnn { mhchem } { cf / unexpected-state } { @@ -1407,11 +1409,9 @@ \tl_clear:N \l__mhchem_cf_result_tl \__mhchem_cf_loop: #2 \q_recursion_stop } - \__mhchem_output_begin_cf: \tl_if_empty:nTF {#1} { \ensuremath{\tl_use:N \l__mhchem_cf_result_tl} } { \ensuremath{\overset{#1}{\tl_use:N \l__mhchem_cf_result_tl}} } - \__mhchem_output_end_cf: \group_end: } \tl_new:N \l__mhchem_cf_loop_tmpa_l @@ -1427,14 +1427,13 @@ { - } { \bool_if:NTF \l__mhchem_cf_startedWithBond_bool - { - \__mhchem_cf_outputAndReset: - \__mhchem_cf_outputRawElementAndReset:n { \__mhchem_output_bond_single: } - } + { \__mhchem_cf_outputRaw:n { \__mhchem_output_bond_single: } } { \tl_put_right:Nn \l__mhchem_cf_sup_tl { - } } } { 1 } { \tl_set:Nn \l__mhchem_cf_state_tl {9} } + { frac2 } + { \__mhchem_cf_outputRawElementAndReset: } } {} \__mhchem_cf_outputAndReset: @@ -1452,12 +1451,11 @@ \l__mhchem_regex_oneLetterPlus_fregex \l__mhchem_cf_lastElement_tl { - \__mhchem_cf_outputRawElementAndReset:n + \__mhchem_cf_outputRaw:n { \__mhchem_cg_escapeFromMathToTextOrFaketext:n { - } } } { - \__mhchem_cf_outputRawElementAndReset:n - { \__mhchem_output_bond_single: } + \__mhchem_cf_outputRaw:n { \__mhchem_output_bond_single: } } \tl_set:Nn \l__mhchem_cf_state_tl { s } \__mhchem_cf_loop: @@ -1481,7 +1479,7 @@ { ps } { \__mhchem_cf_outputAndReset: - \__mhchem_regex_peek:NTF \l__mhchem_regex_uppercaseLetter_pregex + \__mhchem_regex_peek:NTF \l__mhchem_regex_uppercaseLetterOrParenthesis_pregex { \regex_match:NVTF \l__mhchem_regex_formulaAmount_fregex @@ -1522,7 +1520,7 @@ % else { \tl_set:Nn \l__mhchem_cf_state_tl { a } - \__mhchem_loopHelper_appendNextGroup_prefix_ifEmpty:NnnNn + \__mhchem_loopHelper_appendNextGroup_prefix_doIfEmpty:NnnNn \l__mhchem_cf_element_tl { \__mhchem_cg_escapeFromMathToTextOrFaketext:n } { \tl_set:Nn \l__mhchem_cf_state_tl { s } } @@ -1650,7 +1648,7 @@ { s } \__mhchem_cf_loop: }{ - \__mhchem_regex_peek:NTF \l__mhchem_regex_closingBrace_pregex + \__mhchem_regex_peek:NTF \l__mhchem_regex_closingBracket_pregex { \__mhchem_loopHelper_outputAndReset_appendNextTokenToResult_setState:nNn { a } @@ -1668,34 +1666,62 @@ \__mhchem_cf_outputAndReset: \tl_set:Nn \l__mhchem_cf_state_tl { 1 } \__mhchem_cf_loop: + }{ + \peek_charcode:NTF | + { + \__mhchem_loopHelper_outputAndReset_appendToResult_setState_useNone:nnNn + { \__mhchem_output_verticalBar: } + { s } + \__mhchem_cf_loop: } % else { \msg_error:nnn { mhchem } { cf / unexpected-input } } - }}}}}}}}}}}}}}}} + }}}}}}}}}}}}}}}}} } { c } { \regex_match:NVTF - \l__mhchem_regex_greekLetter_fregex + \l__mhchem_regex_oneGreekLetter_fregex \l__mhchem_cf_element_tl { \tl_set:Nn \l__mhchem_cf_state_tl { a } \__mhchem_cf_loop: - } + }{ + \regex_match:NVTF + \l__mhchem_regex_fracMacro_fregex + \l__mhchem_cf_element_tl { - \peek_catcode:NTF \c_group_begin_token - { - \__mhchem_loopHelper_appendNextGroup:NNn - \l__mhchem_cf_element_tl - \__mhchem_cf_loop: - } - % else - { - \__mhchem_cf_outputAndReset: - \tl_set:Nn \l__mhchem_cf_state_tl { a } - \__mhchem_cf_loop: - } + \tl_set:Nn \l__mhchem_cf_state_tl { frac1 } + \__mhchem_loopHelper_appendNextGroupAsCe:NNn + \l__mhchem_cf_element_tl + \__mhchem_cf_loop: + }{ + \peek_catcode:NTF \c_group_begin_token + { + \__mhchem_loopHelper_appendNextGroup:NNn + \l__mhchem_cf_element_tl + \__mhchem_cf_loop: } + % else + { + \__mhchem_cf_outputRawElementAndReset: + \tl_set:Nn \l__mhchem_cf_state_tl { a } + \__mhchem_cf_loop: + } + }} + } + { frac1 } + { + \tl_set:Nn \l__mhchem_cf_state_tl { frac2 } + \__mhchem_loopHelper_appendNextGroupAsCe:NNn + \l__mhchem_cf_element_tl + \__mhchem_cf_loop: + } + { frac2 } + { + \__mhchem_cf_outputRawElementAndReset: + \tl_set:Nn \l__mhchem_cf_state_tl { a } + \__mhchem_cf_loop: } { 1 } { @@ -1712,6 +1738,8 @@ }{ \peek_charcode:NTF - { + \tl_set:Nn \l__mhchem_cf_state_tl { 9 } + \__mhchem_cf_outputAndReset: \tl_set:Nn \l__mhchem_cf_state_tl { - } \__mhchem_loopHelper_ignoreNextToken:Nn \__mhchem_cf_loop: } @@ -1744,7 +1772,7 @@ } % else { - \__mhchem_loopHelper_appendNextGroup_prefix_ifEmpty:NnnNn + \__mhchem_loopHelper_appendNextGroup_prefix_doIfEmpty:NnnNn \l__mhchem_cf_element_tl { \__mhchem_cg_escapeFromMathToTextOrFaketext:n } {} @@ -1831,8 +1859,7 @@ } % else { - \__mhchem_cf_outputAndReset: - \__mhchem_cf_outputRawElementAndReset:n + \__mhchem_cf_outputRaw:n { \__mhchem_output_commaEnumeration: } \__mhchem_loopHelper_ignoreNextToken:Nn \__mhchem_cf_loop: } @@ -1850,13 +1877,13 @@ \tl_set:Nn \l__mhchem_cf_state_tl { e } \__mhchem_cf_loop: }{ - \__mhchem_regex_peek:NTF \l__mhchem_regex_openingBrace_pregex + \__mhchem_regex_peek:NTF \l__mhchem_regex_openingBracket_pregex { \__mhchem_loopHelper_outputAndReset_appendNextTokenToResult_setState:nNn { s } \__mhchem_cf_loop: }{ - \__mhchem_regex_peek:NTF \l__mhchem_regex_closingBrace_pregex + \__mhchem_regex_peek:NTF \l__mhchem_regex_closingBracket_pregex { \__mhchem_loopHelper_outputAndReset_appendNextTokenToResult_setState:nNn { a } @@ -1906,9 +1933,7 @@ { \__mhchem_cf_outputAndReset: \tl_set:Nn \l__mhchem_cf_state_tl { s } - \__mhchem_loopHelper_appendNextToken:NNn - \l__mhchem_cf_result_tl - \__mhchem_cf_loop: + \__mhchem_cf_loop: } }}}}}}}}}}}}}}} } @@ -1948,7 +1973,7 @@ \peek_charcode:NTF - { \regex_match:NVTF - \l__mhchem_regex_oneGreekLetter_fregex + \l__mhchem_regex_oneLetterPlus_fregex \l__mhchem_cf_element_tl { \tl_set:Nn \l__mhchem_cf_state_tl { - } @@ -2016,7 +2041,7 @@ { l__mhchem_cf_presup_tl } { __mhchem_cf_loop: } }{ - \__mhchem_regex_peek:NTF \l__mhchem_regex_digit_pregex + \__mhchem_regex_peek:NTF \l__mhchem_regex_digitOrMinus_pregex { \tl_set:Nn \l__mhchem_cf_state_tl { p+ } \__mhchem_loopHelper_appendNextToken:NNn @@ -2055,7 +2080,7 @@ { l__mhchem_cf_presub_tl } { __mhchem_cf_loop: } }{ - \__mhchem_regex_peek:NTF \l__mhchem_regex_digit_pregex + \__mhchem_regex_peek:NTF \l__mhchem_regex_digitOrMinus_pregex { \tl_set:Nn \l__mhchem_cf_state_tl { q+ } \__mhchem_loopHelper_appendNextToken:NNn @@ -2152,11 +2177,14 @@ \str_if_eq:VnTF \l__mhchem_cf_supState_tl { rm } { \tl_set:Nx \l__mhchem_cf_sup_tl { \exp_not:N \__mhchem_output_escapeToRomanMath:n { \exp_not:V \l__mhchem_cf_sup_tl } } } { \__mhchem_cg_replaceForSuperscript:N \l__mhchem_cf_sup_tl } - \regex_match:NVTF - \l__mhchem_regex_romanNumeral_fregex - \l__mhchem_cf_sup_tl - { \tl_set:Nn \l__mhchem_cf_supState_tl { ox } } - {} + \str_if_eq:VnT \l__mhchem_cf_supState_tl { kv } + { + \regex_match:NVTF + \l__mhchem_regex_romanNumeral_fregex + \l__mhchem_cf_sup_tl + { \tl_set:Nn \l__mhchem_cf_supState_tl { ox } } + {} + } \bool_if:nT { \str_if_eq_p:Vn \l__mhchem_cf_supState_tl { kv } && @@ -2225,8 +2253,9 @@ \__mhchem_cf_outputRawElement: \__mhchem_cf_resetOutput: } -\cs_new_protected:Npn \__mhchem_cf_outputRawElementAndReset:n #1 +\cs_new_protected:Npn \__mhchem_cf_outputRaw:n #1 { + \__mhchem_cf_outputAndReset: \tl_put_right:Nn \l__mhchem_cf_element_tl {#1} \__mhchem_cf_outputRawElementAndReset: } @@ -2236,8 +2265,12 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%% \tl_new:N \l__mhchem_cg_withinMathTokens_tmpa_tl +\bool_new:N \l__mhchem_cg_withinMathTokens_bool +\bool_set_false:N \l__mhchem_cg_withinMathTokens_bool \cs_new_protected:Npn \__mhchem_cg_withinMathTokens:n #1 { + \group_begin: + \bool_set_true:N \l__mhchem_cg_withinMathTokens_bool \int_compare:nTF { \l__mhchem_option_version_int > 3 } { \regex_match:NnTF @@ -2289,12 +2322,7 @@ { \__mhchem_output_escapeFromMathToItalicMath:n {#1} } - } -\tl_new:N \g__mhchem_cg_potentialSpaceAfterWithinMath_tl -\cs_new_protected:Npn \__mhchem_cg_potentialSpaceAfterWithinMath: - { - \tl_use:N \g__mhchem_cg_potentialSpaceAfterWithinMath_tl - \tl_gclear:N \g__mhchem_cg_potentialSpaceAfterWithinMath_tl + \group_end: } \cs_new_protected:Npn \__mhchem_cg_itshape:n #1 { @@ -2421,7 +2449,7 @@ \peek_meaning:NTF \q_recursion_stop { \use_none:n } { - \peek_catcode_remove:NTF \c_math_toggle_token + \peek_catcode_remove:NTF \c_math_toggle_token { \tl_set:Nn \l__mhchem_cg_replaceForSubscript_state_tl { s } \__mhchem_loopHelper_appendWithinMathTokens:nn @@ -2647,11 +2675,6 @@ } } -\cs_new_protected:Npn \__mhchem_output_begin_ce: {} -\cs_new_protected:Npn \__mhchem_output_end_ce: {} -\cs_new_protected:Npn \__mhchem_output_begin_cf: {} -\cs_new_protected:Npn \__mhchem_output_end_cf: {} - \cs_new_protected:Npn \__mhchem_output_amount:n #1 { \__mhchem_output_withFont:n {#1} @@ -2671,18 +2694,19 @@ \hphantom { {}^{\__mhchem_output_withFont:n{#1}}\c_math_subscript_token{\__mhchem_output_withFont:n{#2}} } { \vphantom { \__mhchem_output_withFont:n { X } } } ^ { - \mhchem@mathboxrightt + \__mhchem_output_coreFive_llap:n { - \vphantom { \__mhchem_output_scriptWithFont:n { 2+ } } + \vphantom { \smash[t] { \__mhchem_output_scriptWithFont:n { 2 } } } \__mhchem_output_scriptWithFont:n {#1} } } \tl_if_empty:nF {#2} { \c_math_subscript_token { - \mhchem@mathboxrightt + \__mhchem_output_coreFive_llap:n { - \smash{\__mhchem_output_scriptWithFont:n {#2}} + \vphantom { \__mhchem_output_scriptWithFont:n { 2 } } + \smash[t] { \__mhchem_output_scriptWithFont:n {#2} } } } } @@ -2703,7 +2727,7 @@ } } ^ { - \vphantom { \smash[t] { \__mhchem_output_scriptWithFont:n { 2+ } } } + \vphantom { \smash[t] { \__mhchem_output_scriptWithFont:n { 2 } } } \__mhchem_output_scriptWithFont:n {#4#5#7} } } @@ -2715,7 +2739,7 @@ { { \vphantom { \__mhchem_output_withFont:n { X } } } ^ { - \vphantom { \smash[t] { \__mhchem_output_scriptWithFont:n { 2+ } } } + \vphantom { \smash[t] { \__mhchem_output_scriptWithFont:n { 2 } } } \__mhchem_output_scriptWithFont:n {#4} } \c_math_subscript_token @@ -2735,7 +2759,7 @@ } } ^ { - \vphantom { \smash[t] { \__mhchem_output_scriptWithFont:n { 2+ } } } + \vphantom { \smash[t] { \__mhchem_output_scriptWithFont:n { 2 } } } \hphantom { \__mhchem_output_scriptWithFont:n {#6} } \__mhchem_output_scriptWithFont:n {#5#7} } @@ -2754,7 +2778,6 @@ { \vphantom { \__mhchem_output_withFont:n { X } } } \c_math_subscript_token { - \vphantom { \__mhchem_output_scriptWithFont:n { 2 } } \smash[t] { \__mhchem_output_scriptWithFont:n {#6} } } } @@ -2771,6 +2794,28 @@ } \group_end: } +\cs_new_protected:Npn \__mhchem_output_coreFive_llap:n #1 + { + \mathchoice + {\llap{\ensuremath{\displaystyle#1}}} + {\llap{\ensuremath{\textstyle#1}}} + {\llap{\ensuremath{\scriptstyle#1}}} + {\llap{\ensuremath{\scriptscriptstyle#1}}} + } +%%% @minispace +\newlength\mhchem@minispace@tmp +\newcommand*\mhchem@minispace{% + \setlength{\mhchem@minispace@tmp}{0pt-\widthof{${}^8\c_math_subscript_token8$}+% + \widthof{$\text{C}^8\c_math_subscript_token8$}-\widthof{$\text{C}^{}\c_math_subscript_token{}$}}% + \kern\mhchem@minispace@tmp% +} +%%% @minibackspace +\newlength\mhchem@minibackspace@tmp +\newcommand*\mhchem@minibackspace{% + \setlength{\mhchem@minibackspace@tmp}{0pt-\widthof{${}\c_math_subscript_token{2}{}\c_math_subscript_token{2}$}+\widthof{${}\c_math_subscript_token{22}$}}% + \kern\mhchem@minibackspace@tmp% +} + \cs_new_protected:Npn \__mhchem_output_withFont:n #1 { \bool_if:NTF \l__mhchem_output_isMathMode_bool @@ -2811,7 +2856,9 @@ { \group_begin: \itshape \mhchem@hook@beforeItalicText #1 \group_end: \/ } \cs_new_protected:Npn \__mhchem_output_escapeToItalicMath:n #1 { - \ensuremath { \__mhchem_output_escapeFromMathToItalicMath:n {#1} } + \bool_if:NTF \l__mhchem_output_isMathMode_bool + { \__mhchem_output_escapeFromMathToItalicMath:n {#1} } + { \__mhchem_output_escapeFromTextToItalicMath:n {#1} } } \cs_new_protected:Npn \__mhchem_output_escapeFromMathToItalicMath:n #1 { @@ -2822,6 +2869,12 @@ \ensuremath { \mhchem@hook@beforeItalicMath + \bool_if:NT \l__mhchem_cg_isScript_bool + { + \medmuskip=0mu + \thinmuskip=0mu + \thickmuskip=0mu + } #1 } } @@ -2882,6 +2935,12 @@ { \ensuremath { \,{\mhchem@option@cdot}\, } } +\cs_new_protected:Npn \__mhchem_output_verticalBar: + { + \bool_if:NTF \l__mhchem_output_isMathMode_bool + { | } + { \text{\textbar} } + } \cs_new_protected:Npn \__mhchem_output_excited: { \bool_if:NTF \l__mhchem_output_isMathMode_bool @@ -2907,61 +2966,6 @@ { \__mhchem_output_commaEnumerationSmall: } } -\cs_new_protected:Npn \__mhchem_output_bond_single: - { - \int_compare:nTF { \l__mhchem_option_version_int < 4 } - { {\ensuremath{-}} } - { - \bool_if:NTF \l__mhchem_output_isMathMode_bool - { {\ensuremath{-}} } - { \text{\mhchem@option@textminus} } - } - } -\cs_new_protected:Npn \__mhchem_output_bond_double: - { - \rlap { \protect \raisebox { .2ex }{ \__mhchem_output_bond_single: } } - \protect \raisebox { -.2ex }{ \__mhchem_output_bond_single: } - } -\cs_new_protected:Npn \__mhchem_output_bond_triple: - { - \rlap { \protect \raisebox { .4ex } { \__mhchem_output_bond_single: } } - \rlap{ \__mhchem_output_bond_single: } - \protect \raisebox { -.4ex } { \__mhchem_output_bond_single: } - } -\cs_new_protected:Npn \__mhchem_output_bond_half: - { - \mhchem@setbondwidth - \mhchem@halfbond - } -\cs_new_protected:Npn \__mhchem_output_bond_oneAndHalf: - { - \mhchem@setbondwidth - \rlap{\protect\raisebox{.2ex}{\mhchem@halfbond}} - \protect\raisebox{-.2ex}{\__mhchem_output_bond_single:} - } -\cs_new_protected:Npn \__mhchem_output_bond_twoAndHalf: - { - \mhchem@setbondwidth - \rlap{\protect\raisebox{.4ex}{\mhchem@halfbond}} - \rlap{\__mhchem_output_bond_single:} - \protect\raisebox{-.4ex}{\__mhchem_output_bond_single:} - } -\cs_new_protected:Npn \__mhchem_output_bond_twoAndHalff: - { - \mhchem@setbondwidth - \rlap{\protect\raisebox{.4ex}{\__mhchem_output_bond_single:}} - \rlap{\mhchem@halfbond} - \protect\raisebox{-.4ex}{\__mhchem_output_bond_single:} - } -\cs_new_protected:Npn \__mhchem_output_bond_dotdotdot: - { {\cdot}{\cdot}{\cdot} } -\cs_new_protected:Npn \__mhchem_output_bond_dotdotdotdot: - { {\cdot}{\cdot}{\cdot}{\cdot} } -\cs_new_protected:Npn \__mhchem_output_bond_rightArrow: - { {\rightarrow} } -\cs_new_protected:Npn \__mhchem_output_bond_leftArrow: - { {\leftarrow} } - \cs_new_protected:Npn \__mhchem_output_greek:n #1 { \group_begin: @@ -3013,9 +3017,15 @@ \cs_set_eq:NN \Chi \__mhchem_output_greek_orig_Chi \cs_set_eq:NN \Psi \__mhchem_output_greek_orig_Psi \cs_set_eq:NN \Omega \__mhchem_output_greek_orig_Omega - \mode_if_math:TF - { \chemgreek_get_from_mapping:nn { mhchem-math } {#1} } - { \chemgreek_get_from_mapping:nn { mhchem-text } {#1} } + \bool_if:NTF \l__mhchem_cg_withinMathTokens_bool + { + { \chemgreek_get_from_mapping:nn { default } {#1} } + } + { + \mode_if_math:TF + { \chemgreek_get_from_mapping:nn { mhchem-math } {#1} } + { \chemgreek_get_from_mapping:nn { mhchem-text } {#1} } + } \group_end: } @@ -3023,6 +3033,61 @@ %%%%%%%%%% bonds %%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\cs_new_protected:Npn \__mhchem_output_bond_single: + { + \int_compare:nTF { \l__mhchem_option_version_int < 4 } + { {\ensuremath{-}} } + { + \bool_if:NTF \l__mhchem_output_isMathMode_bool + { {\ensuremath{-}} } + { \text{\mhchem@option@textminus} } + } + } +\cs_new_protected:Npn \__mhchem_output_bond_double: + { + \rlap { \protect \raisebox { .2ex }{ \__mhchem_output_bond_single: } } + \protect \raisebox { -.2ex }{ \__mhchem_output_bond_single: } + } +\cs_new_protected:Npn \__mhchem_output_bond_triple: + { + \rlap { \protect \raisebox { .4ex } { \__mhchem_output_bond_single: } } + \rlap{ \__mhchem_output_bond_single: } + \protect \raisebox { -.4ex } { \__mhchem_output_bond_single: } + } +\cs_new_protected:Npn \__mhchem_output_bond_half: + { + \mhchem@setbondwidth + \mhchem@halfbond + } +\cs_new_protected:Npn \__mhchem_output_bond_oneAndHalf: + { + \mhchem@setbondwidth + \rlap{\protect\raisebox{.2ex}{\mhchem@halfbond}} + \protect\raisebox{-.2ex}{\__mhchem_output_bond_single:} + } +\cs_new_protected:Npn \__mhchem_output_bond_twoAndHalf: + { + \mhchem@setbondwidth + \rlap{\protect\raisebox{.4ex}{\mhchem@halfbond}} + \rlap{\__mhchem_output_bond_single:} + \protect\raisebox{-.4ex}{\__mhchem_output_bond_single:} + } +\cs_new_protected:Npn \__mhchem_output_bond_twoAndHalff: + { + \mhchem@setbondwidth + \rlap{\protect\raisebox{.4ex}{\__mhchem_output_bond_single:}} + \rlap{\mhchem@halfbond} + \protect\raisebox{-.4ex}{\__mhchem_output_bond_single:} + } +\cs_new_protected:Npn \__mhchem_output_bond_dotdotdot: + { {\cdot}{\cdot}{\cdot} } +\cs_new_protected:Npn \__mhchem_output_bond_dotdotdotdot: + { {\cdot}{\cdot}{\cdot}{\cdot} } +\cs_new_protected:Npn \__mhchem_output_bond_rightArrow: + { {\rightarrow} } +\cs_new_protected:Npn \__mhchem_output_bond_leftArrow: + { {\leftarrow} } + \newlength\mhchem@bondwidth% \newlength\mhchem@bondheight% \newlength\mhchem@smallbondwidth@tmpA% @@ -3066,6 +3131,7 @@ \msg_new:nnn { mhchem } { bond / unknown } { Unknown~bond~type~in~\string\bond~(#1) } + \ExplSyntaxOff \ExplSyntaxOn % with special tilde \char_set_catcode_letter:n { 126 } % tilde @@ -3098,32 +3164,6 @@ } \ExplSyntaxOff % end of Expl with tilde -%%% @mathboxright -\newcommand*\mhchem@mathboxright[2]{\mathchoice% - {\makebox[#1][r]{\ensuremath{\displaystyle#2}}}% - {\makebox[#1][r]{\ensuremath{\textstyle#2}}}% - {\makebox[#1][r]{\ensuremath{\scriptstyle#2}}}% - {\makebox[#1][r]{\ensuremath{\scriptscriptstyle#2}}}} -\newcommand*\mhchem@mathboxrightt[1]{\mathchoice% - {\ensuremath{\displaystyle\llap{\ensuremath{\displaystyle#1}}}}% - {\ensuremath{\textstyle\llap{\ensuremath{\textstyle#1}}}}% - {\ensuremath{\scriptstyle\llap{\ensuremath{\scriptstyle#1}}}}% - {\ensuremath{\scriptscriptstyle\llap{\ensuremath{\scriptscriptstyle#1}}}}}% - -%%% @minispace -\newlength\mhchem@minispace@tmp -\newcommand*\mhchem@minispace{% - \setlength{\mhchem@minispace@tmp}{0pt-\widthof{${}^8_8$}+% - \widthof{$\text{C}^8_8$}-\widthof{$\text{C}^{}_{}$}}% - \kern\mhchem@minispace@tmp% -} -%%% @minibackspace -\newlength\mhchem@minibackspace@tmp -\newcommand*\mhchem@minibackspace{% - \setlength{\mhchem@minibackspace@tmp}{0pt-\widthof{${}_{2}{}_{2}$}+\widthof{${}_{22}$}}% - \kern\mhchem@minibackspace@tmp% -} - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%% Package Options %%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3131,21 +3171,10 @@ \ExplSyntaxOn \tl_new:N \l__mhchem_option_tmpa_tl -\msg_new:nnn { mhchem } { options / no-version } - { - You~did~not~specify~a~'version'~option~for~the~mhchem~package.~ - Please~write~ - \string\usepackage[version=4]{mhchem}~in~your~preamble~ - (or~any~lower~number~for~compatibility~mode),~ - because~you~might~get~different~output~with~the~same~input~ - in~future~versions. - } \msg_new:nnn { mhchem } { options / version-too-high } { You~are~using~version~4.xx~of~mhchem, - but~you~entered~a~higher~version~number.~ - This~means,~you~are~using~some~beta~features~of~mhchem~ - that~are~subject~to~change~without~notice. + but~you~entered~a~higher~version~number~that~is~not~supported~yet. } \def\mhchem@option@mathFont{\mathrm} @@ -3167,7 +3196,7 @@ \bool_new:N \l__mhchem_option_mathgreekSelectedByUser_bool \bool_set_false:N \l__mhchem_option_mathgreekSelectedByUser_bool -\keys_define:nn {mhchem} +\keys_define:nn { mhchem } { version .int_set:N = \l__mhchem_option_version_int, version .value_required:, @@ -3275,14 +3304,21 @@ \int_compare:nT { -1 = \l__mhchem_option_version_int } { - \msg_warning:nn { mhchem } { options / no-version } + \PackageWarningNoLine { mhchem } + { + You~did~not~specify~a~'version'~option~for~the~mhchem\MessageBreak + package.~Please~write~\string\usepackage[version=4]{mhchem}\MessageBreak + in~your~preamble~(or~any~lower~number~for\MessageBreak + compatibility~mode),~because~you~might~get~slightly\MessageBreak + different~output~with~the~same~input~in~future~versions + } \int_set:Nn \l__mhchem_option_version_int { 4 } } % else { \int_compare:nT { \l__mhchem_option_version_int > 4 } { - \msg_warning:nn { mhchem } { options / version-too-high } + \msg_error:nn { mhchem } { options / version-too-high } } } \bool_if:NF \l__mhchem_option_layoutWasSet_bool @@ -3310,8 +3346,7 @@ \int_compare:nT { \l__mhchem_option_version_int < 4 } { - \newcommand*\mhchem@cmath[1]{\__mhchem_output_escapeFromMathToItalicMath:n{#1}} - \newcommand*\cmath[1]{\mhchem@cmath{#1}} + \newcommand*\cmath[1]{\__mhchem_output_escapeFromMathToItalicMath:n{#1}} \DeclareRobustCommand\cf[2][]{\mhchem@cf[#1]{#2}} \DeclareRobustCommand\cee[1]{\mhchem@cee{#1}} } |