summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/mhchem
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-02-12 00:21:10 +0000
committerKarl Berry <karl@freefriends.org>2016-02-12 00:21:10 +0000
commit81f06c493f1d8ad12ee9b5e9af968dad444138e7 (patch)
tree3538fb8847b8b74097f0e122488224016eda986d /Master/texmf-dist/tex/latex/mhchem
parent057df000f18ca5aa989a2a547c00fe2507f5613d (diff)
mhchem (11feb16)
git-svn-id: svn://tug.org/texlive/trunk@39676 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/mhchem')
-rw-r--r--Master/texmf-dist/tex/latex/mhchem/hpstatement.sty475
-rw-r--r--Master/texmf-dist/tex/latex/mhchem/mhchem.sty509
2 files changed, 713 insertions, 271 deletions
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}}
}