diff options
author | Karl Berry <karl@freefriends.org> | 2013-10-28 22:44:38 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-10-28 22:44:38 +0000 |
commit | 2d51c9ecf81c2731d82fb9c7973c5c143e8960af (patch) | |
tree | c0a61de895f3c09b2d3f78ae23de07153c178c8c /Master/texmf-dist/doc/latex/chemmacros/ghsystem_en.tex | |
parent | 1cede05dc55dbfc5b1087d336d45984b2e595ac3 (diff) |
chemmacros (28oct13)
git-svn-id: svn://tug.org/texlive/trunk@32026 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/chemmacros/ghsystem_en.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/chemmacros/ghsystem_en.tex | 819 |
1 files changed, 398 insertions, 421 deletions
diff --git a/Master/texmf-dist/doc/latex/chemmacros/ghsystem_en.tex b/Master/texmf-dist/doc/latex/chemmacros/ghsystem_en.tex index e96adeea541..f4a2c54f7d3 100644 --- a/Master/texmf-dist/doc/latex/chemmacros/ghsystem_en.tex +++ b/Master/texmf-dist/doc/latex/chemmacros/ghsystem_en.tex @@ -1,48 +1,130 @@ -% arara: xelatex +% arara: pdflatex % !arara: biber -% !arara: xelatex -% !arara: xelatex -\documentclass[DIV11,toc=index,toc=bib]{cnpkgdoc} -\docsetup{ - pkg = {[greek=newtx]chemmacros} , - language = en, - title = the \Chemmacros\ bundle, - subtitle = { - packages \Chemmacros\ (v\csname chemmacros@version\endcsname), - \Chemformula\ (v\csname chemformula@version\endcsname), - \Ghsystem\ (v\csname ghsystem@version\endcsname) and - \Chemgreek\ (v\csname chemgreek@version\endcsname)\\[2ex] - {\Large documentation for the \Ghsystem\ package}}, - modules = true, - code-box = {skipabove=1ex,skipbelow=1ex}, - label = {}, - name = ghsystem , - url = https://bitbucket.org/cgnieder/chemmacros/ +% !arara: pdflatex +% arara: pdflatex +% -------------------------------------------------------------------------- +% the CHEMMACROS bundle +% ghsystem_en.tex +% macros and commands for chemists +% -------------------------------------------------------------------------- +% Clemens Niederberger +% -------------------------------------------------------------------------- +% https://bitbucket.org/cgnieder/chemmacros/ +% contact@mychemistry.eu +% -------------------------------------------------------------------------- +% If you have any ideas, questions, suggestions or bugs to report, please +% feel free to contact me. +% -------------------------------------------------------------------------- +% Copyright 2011-2013 Clemens Niederberger +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Clemens Niederberger. +% -------------------------------------------------------------------------- +\documentclass[load-preamble+]{cnltx-doc} +\usepackage[greek=newtx]{chemmacros} +\setcnltx{ + package = {ghsystem}, + date = \csname ghsystem@date\endcsname , + version = v\csname ghsystem@version\endcsname , + title = \huge the \chemmacros\ bundle, + url = https://bitbucket.org/cgnieder/chemmacros/ , + authors = Clemens Niederberger , + email = contact@mychemistry.eu , + info = { + packages \chemmacros\ (v\csname chemmacros@version\endcsname), + \chemformula\ (v\csname chemformula@version\endcsname), + \ghsystem\ (v\csname ghsystem@version\endcsname) and + \chemgreek\ (v\csname chemgreek@version\endcsname)\\[2ex] + {\Large documentation for the \ghsystem\ package}} , + abstract = {% + \centering + \includegraphics{chemmacros-logo.pdf} + \par + } , + add-cmds = { + abinitio, activatechemgreekmapping, AddRxnDesc, anti, aq, aqi, + ba, bond, bridge, + cd, ch, changechemgreeksymbol, charrow, chcpd, chemabove, Chemalpha, + Chembeta, Chemgamma, Chemdelta, ChemDelta, chemformula@bondlength, + Chemomega, Chemphi, ChemPhi, chemsetup, chlewis, chname , cip, cis, ch, + CNMR, + data, DeclareChemArrow, DeclareChemBond, DeclareChemBondAlias, + declarechemgreekmapping, DeclareChemIUPAC, DeclareChemLatin, + DeclareChemNMR, DeclareChemParticle, DeclareChemPhase, + DeclareChemReaction, DeclareChemState, delm, delp, Delta, Dfi, + el, ElPot, endo, Enthalpy, enthalpy, Entropy, + fmch, fpch, fscrm, fscrp, + gas, ghs, ghslistall, ghspic, Gibbs, gram, + hapto, HNMR, Helmholtz, + insitu, invacuo, iupac, + Ka, Kb, Kw, + Lfi, listofreactions, lqd, ltn, + mch, mega, meta, mhName, + newchemgreekmapping, + newman, NMR, Nu, Nuc, + orbital, ortho, ox, OX, + para, pch, per, pH, phase, photon, pKa, pKb, pOH, pos, positron, + Pot, prt, + Rad, redox, RenewChemArrow, RenewChemBond, renewchemgreekmapping, + RenewChemIUPAC, RenewChemLatin, RenewChemNMR, RenewChemParticle, + RenewChemPhase, RenewChemState, + Sf, scrm, scrp, second, selectchemgreekmapping, setchemformula, + ShowChemArrow, ShowChemBond, sld, Sod, State, + trans, + val + } , + add-silent-cmds = { + addplot, + bottomrule, + cancel, cdot, ce, cee, celsius, centering, chemfig, chemname, clap, + cnsetup, color, cstack, cstsetup, + DeclareInstance, DeclareSIUnit, definecolor, draw, + electronvolt, + footnotesize, + glqq, grqq, + hertz, hspace, + includegraphics, intertext, IUPAC, + joule, + kilo, + latin, lewis, Lewis, + metre, midrule, milli, mmHg, mole, + nano, nicefrac, num, numrange, + ominus, oplus, + percent, pgfarrowsdeclarealias, pgfarrowsrenewalias, + renewtagform, rightarrow, + sample, scriptscriptstyle, setatomsep, setbondoffset, sfrac, shorthandoff, + si, SI, sisetup, square, subsection, + textcolor, textendash, textsuperscript, tiny, toprule, + upbeta, upeta, upgamma, usetikzlibrary, + volt, vphantom, vspave, + xspace + } } -\usepackage{booktabs,cancel} -\usepackage{fontspec} -\usepackage[oldstyle,proportional]{libertine} -\usepackage[libertine]{newtxmath} -\usepackage{libertinehologopatch} -\setmonofont[Scale=MatchLowercase]{Bitstream Vera Sans Mono} -\cnpkgusecolorscheme{friendly} -\renewcommand*\othersectionlevelsformat[3]{% - \textcolor{main}{#3\autodot}\enskip} -\renewcommand*\partformat{% - \textcolor{main}{\partname~\thepart\autodot}} +\usepackage{chemfig,booktabs,cancel,varioref} +\usepackage[version=3]{mhchem} + +\expandafter\def\csname libertine@figurestyle\endcsname{LF} +\usepackage[libertine]{newtxmath} +\expandafter\def\csname libertine@figurestyle\endcsname{OsF} -\usepackage{fnpct} \usepackage[biblatex]{embrac} \ChangeEmph{[}[,.02em]{]}[.055em,-.08em] \ChangeEmph{(}[-.01em,.04em]{)}[.04em,-.05em] -\pagestyle{headings} - \usepackage[accsupp]{acro} \acsetup{ - long-format=\scshape, - short-format=\scshape + long-format = \scshape , + short-format = \scshape } \DeclareAcronym{ghs}{ short = ghs , @@ -52,10 +134,10 @@ accsupp = GHS } \DeclareAcronym{eu}{ - short = eu , + short = EU , long = European Union , pdfstring = EU , - accsupp = EU , + accsupp = EU } \DeclareAcronym{iupac}{ short = iupac , @@ -84,71 +166,59 @@ \chemsetup{ option/synchronize , - chemformula/font-spec={[Numbers=Lining]Linux Libertine O} + chemformula/format = \libertineLF } -\colorlet{chemformula}{darkgray} +% \colorlet{chemformula}{black!90} \sisetup{ detect-mode=false, mode=text, - text-rm=\addfontfeatures{Numbers={Proportional,Lining}} + text-rm=\libertineLF } \usepackage{filecontents} -\begin{filecontents*}{\jobname.ist} - preamble "\\begin{theindex}\n Section titles are indicated \\textbf{bold}, - packages \\textsf{sans serif}, commands \\code{\\textbackslash\\textcolor{code}{brown}}, - options \\textcolor{key}{\\code{yellow}} and modules (only \\chemmacros) - \\textcolor{module}{\\code{blue}}.\\newline\n\n" - heading_prefix "{\\bfseries " - heading_suffix "\\hfil}\\nopagebreak\n" - headings_flag 1 - delim_0 "\\dotfill\\hyperpage{" - delim_1 "\\dotfill\\hyperpage{" - delim_2 "\\dotfill\\hyperpage{" - delim_r "}\\textendash\\hyperpage{" - delim_t "}" - suffix_2p "\\nohyperpage{\\,f.}" - suffix_3p "\\nohyperpage{\\,ff.}" -\end{filecontents*} - -\usepackage[backend=biber,style=alphabetic,maxbibnames=20]{biblatex} \addbibresource{\jobname.bib} \begin{filecontents*}{\jobname.bib} @book{iupac:greenbook, author = {E. Richard Cohan and Tomislav Cvita\v{s} and Jeremy G. Frey and - Bertil Holmström and Kozo Kuchitsu and Roberto Marquardt and Ian Mills and - Franco Pavese and Martin Quack and Jürgen Stohner and Herbert L. Strauss and - Michio Takami and Anders J Thor}, - title = {“Quantities, Symbols and Units in Physical Chemistry”, \acs{iupac} - Green Book}, - edition = {3rd Edition. 2nd Printing}, - year = {2008}, + Bertil Holmstr\"om and Kozo Kuchitsu and Roberto Marquardt and Ian Mills and + Franco Pavese and Martin Quack and J\"urgen Stohner and Herbert L. Strauss and + Michio Takami and Anders J Thor} , + title = {``Quantities, Symbols and Units in Physical Chemistry'', \acs{iupac} + Green Book} , + sorttitle = {Quantities, Symbols and Units in Physical Chemistry} , + indexsorttitle = {Quantities, Symbols and Units in Physical Chemistry} , + edition = {3rd Edition. 2nd Printing} , + year = {2008} , publisher = {\acs{iupac} \&\ RSC Publishing, Cambridge} } @book{iupac:redbook, author = {Neil G. Connelly and Ture Damhus and Richard M. Hartshorn and - Alan T. Hutton}, - title = {“Nomenclature of Inorganic Chemistry”, \acs{iupac} Red Book}, - year = {2005}, - publisher = { \acs{iupac} \&\ RSC Publishing, Cambridge}, + Alan T. Hutton} , + title = {``Nomenclature of Inorganic Chemistry'', \acs{iupac} Red Book} , + sorttitle = {Nomenclature of Inorganic Chemistry} , + indexsorttitle = {Nomenclature of Inorganic Chemistry} , + year = {2005} , + publisher = { \acs{iupac} \&\ RSC Publishing, Cambridge} , isbn = {0-85404-438-8} } @misc{eu:ghsystem_regulation, author = {{The European Parliament and The Council of the European Union}}, - title = {Regulation (EC) No 1272/2008 of the European Parliament and of the Council}, - subtitle = {on classification, labelling and packaging of substances and mixtures, - amending and repealing Directives 67/548/EEC and 1999/45/EC, and amending - Regulation (EC) No 1907/2006}, - journal = {Official Journal of the European Union}, + title = {Regulation (EC) No 1272/2008 of the European Parliament and of + the Council} , + subtitle = {on classification, labelling and packaging of substances and + mixtures, amending and repealing Directives 67/548/EEC and 1999/45/EC, and + amending Regulation (EC) No 1907/2006} , + journal = {Official Journal of the European Union} , date = {2008-12-16} } @online{unece:ghsystem_implementation, - author = {United Nations Economic Commission for Europe}, - title = {GHS Implementation}, - url = {http://www.unece.org/trans/danger/publi/ghs/implementation_e.html}, - urldate = {2012-03-20}, + author = {{United Nations Economic Commission for Europe}} , + title = {GHS Implementation} , + url = + {http://www.unece.org/trans/danger/publi/ghs/implementation_e.html} , + urldate = {2012-03-20} , date = {2012-03-20} } \end{filecontents*} @@ -166,126 +236,25 @@ \usetikzlibrary{calc,positioning,decorations.pathmorphing,patterns} -\pgfdeclaredecoration{penciline}{initial}{ - \state{initial}[ - width=+\pgfdecoratedinputsegmentremainingdistance, - auto corner on length=1mm - ]{ - \pgfpathcurveto% - {% From - \pgfqpoint - {\pgfdecoratedinputsegmentremainingdistance} - {\pgfdecorationsegmentamplitude} - } - {% Control 1 - \pgfmathrand - \pgfpointadd - {\pgfqpoint{\pgfdecoratedinputsegmentremainingdistance}{0pt}} - {% - \pgfqpoint - {-\pgfdecorationsegmentaspect\pgfdecoratedinputsegmentremainingdistance}% - {\pgfmathresult\pgfdecorationsegmentamplitude} - } - } - {%TO - \pgfpointadd - {\pgfpointdecoratedinputsegmentlast} - {\pgfpoint{1pt}{1pt}} - } - } - \state{final}{} -} -\tikzset{pencil/.style={decorate,decoration=penciline}} - -\TitlePicture{% - \ch[font-spec={Augie}]{ - 2 "\OX{o1,\ox{0,Na}}" + "\OX{r1,\ox{0,Cl}}" {}2 - -> - 2 "\OX{o2,\ox{+1,Na}}" {}+ + 2 "\OX{r2,\ox{-1,Cl}}" {}- - } - \redox(o1,o2)[red,pencil,-cf]{\small\ch[font-spec={[Color=red]Augie},math-space=.3em]{$-$ 2 e-}} - \redox(r1,r2)[blue,pencil,-cf][-1]{\small\ch[font-spec={[Color=blue]Augie},math-space=.3em]{$+$ 2 e-}}} - -\addcmds{ - a, abinitio, AddRxnDesc, anti, aq, aqi, - b, ba, bond, bottomrule, bridge, - cancel, cd, cdot, ce, cee, celsius, centering, changechemgreeksymbol, - chemabove, Chemalpha, Chembeta, Chemgamma, ChemGamma, Chemdelta, - ChemDelta, chemfig, chemname, Chemomega, Chemphi, ChemPhi, chemsetup, cip, - cis, ch, clap, cnsetup, CNMR, color, cstack, - cstsetup, - d, D, data, DeclareChemArrow, DeclareChemBond, DeclareChemBondAlias, - DeclareChemIUPAC, DeclareChemLatin, DeclareChemNMR, DeclareChemParticle, - DeclareChemPhase, DeclareChemReaction, DeclareChemState, DeclareInstance, - DeclareSIUnit, definecolor, delm, delp, Delta, Dfi, draw, - E, el, electronvolt, ElPot, endo, Enthalpy, enthalpy, Entropy, - footnotesize, fmch, fpch, fscrm, fscrp, - g, gas, ghs, ghslistall, ghspic, Gibbs, glqq, gram, grqq, - H, hapto, HNMR, Helmholtz, hertz, hspace, - includegraphics, insitu, intertext, invacuo, iupac, IUPAC, - J, joule, - Ka, Kb, kilo, Kw, - L, latin, lewis, Lewis, Lfi, listofreactions, lqd, ltn, - mch, mega, meta, metre, mhName, midrule, milli, mmHg, mole, - N, nano, nicefrac, newchemgreekmapping, newman, NMR, Nu, Nuc, num, numrange, - O, ominus, orbital, ortho, oplus, ox, OX, - p, P, para, pch, per, percent, pgfarrowsdeclarealias, pgfarrowsrenewalias, - pH, phase, phi, Phi, photon, pKa, pKb, pOH, pos, positron, Pot, prt, - R, Rad, redox, RenewChemArrow, RenewChemBond, RenewChemIUPAC, - RenewChemLatin, RenewChemNMR, RenewChemParticle, RenewChemPhase, - RenewChemState, renewtagform, rightarrow, - S, Sf, sample, scriptscriptstyle, scrm, scrp, second, - selectchemgreekmapping, setatomsep, setbondoffset, setchemformula, sfrac, - shorthandoff, ShowChemArrow, ShowChemBond, si, SI, sisetup, sld, Sod, - square, State, subsection, - textcolor, textendash, textsuperscript, tiny, toprule, trans, - upbeta, upeta, upgamma, upphi, upPhi, Upphi, - val, volt, vphantom, vspave, - w, xspace, Z -} - -\usepackage{imakeidx} -\indexsetup{othercode=\footnotesize} -\makeindex[columns=3,intoc,options={-sl \jobname.ist}] - -\newcommand*\Chemmacros{% - {% - \fontspec[Color=main,Scale=1.2] - {Linux Biolinum Shadow O}% - chemmacros% - }% -} -\providecommand*\chemmacros{{\scshape\textcolor{main}{chemmacros}}\xspace} +\newpackagename\chemmacros{chemmacros} +\newpackagename\chemformula{chemformula} +% \newpackagename\ghsystem{ghsystem} +\newpackagename\chemgreek{chemgreek} -\newcommand*\Chemformula{% - {% - \fontspec[Color=main,Scale=1.2] - {Linux Biolinum Shadow O}% - chemformula% - }% -} -\providecommand*\chemformula{{\scshape\textcolor{main}{chemformula}}\xspace} -\newcommand*\Ghsystem{% - {% - \fontspec[Color=main,Scale=1.2] - {Linux Biolinum Shadow O}% - ghsystem% - }% -} -\providecommand*\ghsystem{{\scshape\textcolor{main}{ghsystem}}\xspace} +\newidxcmd\manual{\textsf{#1}}[\ (manual)] -\newcommand*\Chemgreek{% +\newenvironment{codedesc} {% - \fontspec[Color=main,Scale=1.2] - {Linux Biolinum Shadow O}% - chemgreek% - }% -} -\providecommand*\chemgreek{{\scshape\textcolor{main}{chemgreek}}\xspace} + \def\Code##1{\item\code{##1}\hfill\newline}% + \cnltxlist + } + {\endcnltxlist} \renewcommand*\AmS{\hologo{AmS}} +\newcommand*\TikZ{Ti\textit{k}Z} + \newcommand*\tablehead[1]{\textrm{\bfseries#1}} \begin{document} @@ -297,224 +266,234 @@ systems in different countries. While it has not been implemented by all countries yet~\cite{unece:ghsystem_implementation}, it is only a matter of time. -The package \ghsystem now enables you to typeset all the hazard and +The package \ghsystem\ now enables you to typeset all the hazard and precautionary statements and pictograms in a very easy way. The statements are taken from \acs{eu} regulation 1272/2008~\cite{eu:ghsystem_regulation}. \section{Licence and Requirements} -Permission is granted to copy, distribute and/or modify this software under -the terms of the \LaTeX\ project public license (lppl) version 1.3 or later -(\url{http://www.latex-project.org/lppl.txt}). The package has the status -``maintained.'' +\license \ghsystem\ loads the following packages: -\paket*{expl3}\footnote{\CTANurl{l3kernel}}, \paket*{xparse} and -\paket*{l3keys2e}\footnote{\CTANurl{l3packages}}, \paket*{translations} (from -the \paket{exsheets} bundle), \paket{siunitx}, \paket{graphicx}, -\paket{longtable} and \paket{ifpdf}. +\pkg{expl3}\footnote{\CTANurl{l3kernel}}~\cite{bnd:l3kernel}, \pkg{xparse} and +\pkg{l3keys2e}\footnote{\CTANurl{l3packages}}~\cite{bnd:l3packages}, +\needpackage{translations}~\cite{pkg:translations}, +\needpackage{siunitx}~\cite{pkg:siunitx}, +\needpackage{graphicx}~\cite{pkg:graphicx}, +\needpackage{longtable}~\cite{pkg:longtable} and +\needpackage{ifpdf}~\cite{pkg:ifpdf}. \section{Setup} The simplest way is to load \chemmacros\ which loads \ghsystem\ implicitily. -All of \ghsystem's options belong to the module -\textcolor{module}{\code{ghsystem}}. This means they can be setup with -\begin{beispiel}[code only] - \chemsetup[ghsystem]{<options>} or - \chemsetup{ghsystem/<option1>,ghsystem/<option2>} -\end{beispiel} +All of \ghsystem's options belong to the module \module{ghsystem}. This means +they can be setup with +\begin{sourcecode} + \chemsetup[ghsystem]{<options>} or + \chemsetup{ghsystem/<option1>,ghsystem/<option2>} +\end{sourcecode} \sinceversion{4.0}However, \ghsystem\ can be loaded as a standalone package and thus provides its own setup command: -\begin{beschreibung} - \Befehl{ghssystem}{<options>} -\end{beschreibung} +\begin{commands} + \command{ghssetup}[\marg{options}] + Setup command for \ghsystem. +\end{commands} -\section{Get Hazard and Precautionary Statements}\secidx{Hazard and Precautionary Statements} -\subsection{Simple Statements}\secidx[get statements]{GHSYSTEM} +\section{Get Hazard and Precautionary Statements} +\subsection{Simple Statements} The general usage is simple: you use the command -\begin{beschreibung} - \Befehl{ghs}*[<options>]{<type>}\ma{<number>} -\end{beschreibung} +\begin{commands} + \command{ghs}[\sarg\oarg{options}\marg{type}\marg{number}] + Get statement number \meta{number} of type \meta{type}. +\end{commands} There are three types available: \code{h}, \code{euh} and \code{p}. The -\ma{<type>} argument is case insensitive, so just type them in as you like. -\begin{beispiel} - \ghs{h}{200} \\ - \ghs{H}{224} \\ - \ghs{euh}{001} \\ - \ghs{Euh}{202} \\ - \ghs{p}{201} -\end{beispiel} +\meta{type} argument is case insensitive, so just type them in as you like. +\begin{example}[side-by-side] + \ghs{h}{200} \par + \ghs{H}{224} \par + \ghs{euh}{001} \par + \ghs{Euh}{202} \par + \ghs{p}{201} +\end{example} The starred version hides the identifier and only gives the statement. If you want to hide the statement itself instead you can use the option: -\begin{beschreibung} - \Option{hide}{\default{true}|false}\Default{false} - Hide the statement. -\end{beschreibung} +\begin{options} + \keybool{hide}\Default{false} + Hide the statement. +\end{options} There is an option to customize the output, too. -\begin{beschreibung} - \Option{space}{<space command>}\Default{} - Space between \code{<type>} and \code{<number>}. -\end{beschreibung} -\begin{beispiel} - \ghs{h}{200} \\ - \ghs[space=\,]{h}{200} \\ - \ghs*{h}{200} \\ - \ghs[hide]{h}{200} -\end{beispiel} - -\subsection{Statements with Placeholders}\secidx[statements with placeholders]{GHSYSTEM} +\begin{options} + \keyval{space}{space command}\Default + Space between \meta{type} and \meta{number}. +\end{options} +\begin{example}[side-by-side] + \ghs{h}{200} \par + \ghs[space=\,]{h}{200} \par + \ghs*{h}{200} \par + \ghs[hide]{h}{200} +\end{example} + +\subsection{Statements with Placeholders} Some of the statements contain placeholders. They can be one of the following: \begin{itemize} - \item \textit{\textless state route of exposure if it is conclusively proven that - no other routes of exposure cause the hazard\textgreater} - \item \textit{\textless state specific effect if known\textgreater} - \item \textit{\textless or state all organs affected, if known\textgreater} - \item \textit{\textless name of sensitising substance\textgreater} + \item \textit{\textless state route of exposure if it is conclusively proven + that no other routes of exposure cause the hazard\textgreater} + \item \textit{\textless state specific effect if known\textgreater} + \item \textit{\textless or state all organs affected, if known\textgreater} + \item \textit{\textless name of sensitising substance\textgreater} \end{itemize} Except the last one which needs to be filled in, they are hidden per default. They can be made visible with the option -\begin{beschreibung} - \Option{fill-in}{\default{true}|false}\Default{false} - Show placeholders. -\end{beschreibung} -\begin{beispiel}[below] - \ghs{h}{340} \\ - \ghs[fill-in]{h}{340} \\ - \ghs{h}{360} \\ - \ghs[fill-in]{h}{360} \\ - \ghs{h}{370} \\ - \ghs[fill-in]{h}{370} \\ - \ghs{euh}{208} \\ - \ghs[fill-in]{euh}{208} -\end{beispiel} +\begin{options} + \keybool{fill-in}\Default{false} + Show placeholders. +\end{options} +\begin{example} + \ghs{h}{340} \par + \ghs[fill-in]{h}{340} \par + \ghs{h}{360} \par + \ghs[fill-in]{h}{360} \par + \ghs{h}{370} \par + \ghs[fill-in]{h}{370} \par + \ghs{euh}{208} \par + \ghs[fill-in]{euh}{208} +\end{example} These placeholders can be replaced with one of these options: -\begin{beschreibung} - \Option{exposure}{<text>}\Default{} - exposure placeholder - \Option{effect}{<text>}\Default{} - effect placeholder - \Option{organs}{<text>}\Default{} - organ placeholder - \Option{substance}{<text>}\Default{} - substance placeholder -\end{beschreibung} -\begin{beispiel} - \ghs[exposure=This is how you get exposed.]{h}{340} \\ - \ghs[effect=These are the effects.]{h}{360} \\ - \ghs[organs=to this organ]{h}{370} \\ - \ghs[substance=substance]{euh}{208} -\end{beispiel} - -\subsection{Statements with Gaps}\secidx[statements with gaps]{GHSYSTEM} +\begin{options} + \keyval{exposure}{text}\Default + exposure placeholder + \keyval{effect}{text}\Default + effect placeholder + \keyval{organs}{text}\Default + organ placeholder + \keyval{substance}{text}\Default + substance placeholder +\end{options} +\begin{example} + \ghs[exposure=This is how you get exposed.]{h}{340} \par + \ghs[effect=These are the effects.]{h}{360} \par + \ghs[organs=to this organ]{h}{370} \par + \ghs[substance=substance]{euh}{208} +\end{example} + +\subsection{Statements with Gaps} Some of the statements have gaps that can be filled. -\begin{beispiel} - \ghs{p}{301} \\ - \ghs{p}{401} \\ - \ghs{p}{411} \\ - \ghs{p}{413} -\end{beispiel} +\begin{example}[side-by-side] + \ghs{p}{301} \par + \ghs{p}{401} \par + \ghs{p}{411} \par + \ghs{p}{413} +\end{example} These gaps can be filled using these options: -\begin{beschreibung} - \Option{text}{<text>} - \Option{dots}{<text>} - \Option{C-temperature}{<num>} - \Option{F-temperature}{<num>} - \Option{kg-mass}{<num>} - \Option{lbs-mass}{<num>} -\end{beschreibung} -\begin{beispiel} - \ghs[text=contact physician!]{p}{301} \\ - \ghs[dots=here]{p}{401} \\ - \ghs[C-temperature=50, F-temperature=122]{p}{411} \\ - \ghs[kg-mass=5.0, lbs-mass=11, C-temperature=50, F-temperature=122]{p}{413} -\end{beispiel} - -\subsection{Combined Statements}\secidx[combined statements]{GHSYSTEM} +\begin{options} + \keyval{text}{text} + Fill the \code{text} gap. + \keyval{dots}{text} + Fill the \code{dots} gap. + \keyval{C-temperature}{num} + Fill the Celsius temperature gap. + \keyval{F-temperature}{num} + Fill the Fahrenheit temperature gap. + \keyval{kg-mass}{num} + Fill the \si{\GHSkilogram} mass gap. + \keyval{lbs-mass}{num} + Fill the \si{\GHSpounds} mass gap. +\end{options} +\begin{example} + \ghs[text=contact physician!]{p}{301} \par + \ghs[dots=here]{p}{401} \par + \ghs[C-temperature=50, F-temperature=122]{p}{411} \par + \ghs[kg-mass=5.0, lbs-mass=11, C-temperature=50, F-temperature=122]{p}{413} +\end{example} + +\subsection{Combined Statements} There are some combinations of statements. They are input with a \code{+} between the numbers: -\begin{beispiel}[below] - \ghs{p}{235+410} \\ - \ghs{p}{301+330+331} -\end{beispiel} +\begin{example} + \ghs{p}{235+410} \\ + \ghs{p}{301+330+331} +\end{example} Note that you can only get combinations that officially exist. \emph{You can't combine freely}. -\secidx*{Hazard and Precautionary Statements} -\section{Pictograms}\secidx{Pictograms} +\section{Pictograms} \subsection{The Pictures} The \ac{ghs} defines a number of pictograms: \ghspic{explos} \ghspic{flame} \ghspic{flame-O} \ghspic{bottle} \ghspic{acid} \ghspic{skull} \ghspic{exclam} \ghspic{health} \ghspic{aqpol} -The command -\begin{beschreibung} - \Befehl{ghspic}[<options>]{<name>} -\end{beschreibung} -loads them. Table~\ref{tab:ghs_pictograms} shows all available pictograms and -their names. To be more precise: it shows the names to use with the -\cmd{ghspic} command. The file names are -\lstinline=ghsystem_<name>.<filetype>= where \code{<filetype>} is \code{eps}, -\code{pdf}, \code{jpg} or \code{png}, see also +\begin{commands} + \command{ghspic}[\oarg{options}\marg{name}] + Load pictogram \meta{name}. +\end{commands} +Table~\ref{tab:ghs_pictograms} shows all available pictograms and their names. +To be more precise: it shows the names to use with the \cs{ghspic} command. +The file names are \code{ghsystem\_\meta{name}.\meta{filetype}} where +\meta{filetype} is \code{eps}, \code{pdf}, \code{jpg} or \code{png}, see also section~\ref{ssec:picture_type}. -\begin{beispiel} - \ghspic{skull} -\end{beispiel} +\begin{example}[side-by-side] + \ghspic{skull} +\end{example} If you don't like the default size you can change it using this option: -\begin{beschreibung} - \Option{scale}{<factor>}\Default{1} - Scales the pictogram. -\end{beschreibung} +\begin{options} + \keyval{scale}{factor}\Default{1} + Scales the pictogram. +\end{options} The pictures are actually quite large. The default setting scales them by a -factor -of $\frac{1}{20}$. -\begin{beispiel} - \ghspic[scale=2]{skull} -\end{beispiel} +factor of $\frac{1}{20}$. +\begin{example}[side-by-side] + \ghspic[scale=2]{skull} +\end{example} -If you want to use some specific \lstinline=\includegraphics= options, \eg, if +If you want to use some specific \cs*{includegraphics} options, \eg, if you want to rotate the pictogram for some reason, use this option: -\begin{beschreibung} - \Option{includegraphics}{\{<includegraphics keyvals>\}} -\end{beschreibung} -\begin{beispiel} - \ghspic[includegraphics={angle=90}]{skull} -\end{beispiel} +\begin{options} + \keyval{includegraphics}{includegraphics keyvals} + Pass options to the underlying \cs*{includegraphics} command. +\end{options} +\begin{example} + \ghspic[includegraphics={angle=90}]{skull} +\end{example} \begin{longtable}{>{\ttfamily}ll>{\ttfamily}ll} \caption{All available \ac{ghs} pictograms.\label{tab:ghs_pictograms}} \\ \toprule - \normalfont\bfseries name & \bfseries pictogram & \normalfont\bfseries name & \bfseries pictogram \\ + \normalfont\bfseries name & \bfseries pictogram & + \normalfont\bfseries name & \bfseries pictogram \\ \midrule\endfirsthead \toprule - \normalfont\bfseries name & \bfseries pictogram & \normalfont\bfseries name & \bfseries pictogram \\ + \normalfont\bfseries name & \bfseries pictogram & + \normalfont\bfseries name & \bfseries pictogram \\ \midrule\endhead \bottomrule\endfoot - explos & \ghspic{explos} & explos-1 & \ghspic{explos-1} \\ - explos-2 & \ghspic{explos-2} & explos-3 & \ghspic{explos-3} \\ - explos-4 & \ghspic{explos-4} & explos-5 & \ghspic{explos-5} \\ - explos-6 & \ghspic{explos-6} & & \\ - flame & \ghspic{flame} & flame-2-white & \ghspic{flame-2-white} \\ - flame-2-black & \ghspic{flame-2-black} & flame-3-white & \ghspic{flame-3-white} \\ - flame-3-black & \ghspic{flame-3-black} & flame-4-1 & \ghspic{flame-4-1} \\ - flame-4-2 & \ghspic{flame-4-2} & flame-4-3-white & \ghspic{flame-4-3-white} \\ - flame-4-3-black & \ghspic{flame-4-3-black} & flame-5-2-white & \ghspic{flame-5-2-white} \\ - flame-5-2-black & \ghspic{flame-5-2-black} & & \\ - flame-O & \ghspic{flame-O} & flame-O-5-1 & \ghspic{flame-O-5-1} \\ - bottle & \ghspic{bottle} & bottle-2-black & \ghspic{bottle-2-white} \\ - bottle-2-white & \ghspic{bottle-2-black} & & \\ - acid & \ghspic{acid} & acid-8 & \ghspic{acid-8} \\ - skull & \ghspic{skull} & skull-2 & \ghspic{skull-2} \\ - skull-6 & \ghspic{skull-6} & & \\ - exclam & \ghspic{exclam} & & \\ - health & \ghspic{health} & & \\ - aqpol & \ghspic{aqpol} & & \\ + explos & \ghspic{explos} & explos-1 & \ghspic{explos-1} \\ + explos-2 & \ghspic{explos-2} & explos-3 & \ghspic{explos-3} \\ + explos-4 & \ghspic{explos-4} & explos-5 & \ghspic{explos-5} \\ + explos-6 & \ghspic{explos-6} & & \\ + flame & \ghspic{flame} & flame-2-white & \ghspic{flame-2-white} \\ + flame-2-black & \ghspic{flame-2-black} & flame-3-white & \ghspic{flame-3-white} \\ + flame-3-black & \ghspic{flame-3-black} & flame-4-1 & \ghspic{flame-4-1} \\ + flame-4-2 & \ghspic{flame-4-2} & + flame-4-3-white & \ghspic{flame-4-3-white} \\ + flame-4-3-black & \ghspic{flame-4-3-black} & + flame-5-2-white & \ghspic{flame-5-2-white} \\ + flame-5-2-black & \ghspic{flame-5-2-black} & & \\ + flame-O & \ghspic{flame-O} & flame-O-5-1 & \ghspic{flame-O-5-1} \\ + bottle & \ghspic{bottle} & bottle-2-black & \ghspic{bottle-2-white} \\ + bottle-2-white & \ghspic{bottle-2-black} & & \\ + acid & \ghspic{acid} & acid-8 & \ghspic{acid-8} \\ + skull & \ghspic{skull} & skull-2 & \ghspic{skull-2} \\ + skull-6 & \ghspic{skull-6} & & \\ + exclam & \ghspic{exclam} & & \\ + health & \ghspic{health} & & \\ + aqpol & \ghspic{aqpol} & & \\ \end{longtable} \subsection{Picture Type Depending on Engine}\label{ssec:picture_type} @@ -527,37 +506,40 @@ directory the pictures are saved in. However, the latter can include \code{jpg} and \code{png} without any problems, while \pdfTeX{} in \acs{dvi} mode can't. -To resolve this \ghsystem tests which engine is used and if \pdfTeX{} which +To resolve this \ghsystem\ tests which engine is used and if \pdfTeX{} which mode is used and then chooses either \code{eps} or \code{pdf} for the pictograms. You are free to choose the picture type yourself with the option -\begin{beschreibung} - \Option{pic-type}{eps|pdf|jpg|png} -\end{beschreibung} -\secidx*{Pictograms} +\begin{options} + \keychoice{pic-type}{eps,pdf,jpg,png} + Choose the picture type. +\end{options} \section{Available Languages}\label{sec:ghsystem_language} Right now the H and P statements are only available in English, German or -Italian. The package adapts \chemmacros' option \key[option]{language} or if -the option hasn't been used recognizes the language settings made with -\paket{babel} or \paket{polyglossia}. To be more precise: the language -selected at begin document is recognized. Later changes won't affect -\ghsystem. If you want to use different languages you have to use -\ghsystem's language option then. +Italian. The package adapts \chemmacros' option \option{language} or if the +option hasn't been used recognizes the language settings made with \pkg{babel} +or \pkg{polyglossia}. To be more precise: the language selected at begin +document is recognized. Later changes won't affect \ghsystem. If you want to +use different languages you have to use \ghsystem's language option then. You can also choose the language explicitly. -\begin{beschreibung} - \Option{language}{english|german|italian}\Default{english} - Selects and loads language file. Falls back to \code{english} if the - chosen file doesn't exist. -\end{beschreibung} -\begin{beispiel} - \ghs{h}{201} - - \chemsetup[ghsystem]{language=german} - \ghs{h}{201} -\end{beispiel} - -% TODO: \loadghsystemlanguage +\begin{options} + \keychoice{language}{english,german,italian}\Default{english} + Selects and loads language file. Falls back to \code{english} if the + chosen file doesn't exist. +\end{options} +\begin{example}[side-by-side] + \ghs{h}{201} + + \chemsetup[ghsystem]{language=german} + \ghs{h}{201} +\end{example} + +There is another alternative: +\begin{commands} + \command{loadghsystemlanguage}[\marg{language}] + \sinceversion{4.0}Load the language used by \ghsystem. +\end{commands} I will add other languages some time in future. This may take a while, though. If you would be willing to contribute and write the statements of @@ -566,55 +548,50 @@ me\footnote{\href{mailto:contact@mychemistry.eu}{contact@mychemistry.eu}}. I would provide you with a template file, a \acs{pdf} containing the official translations, and help to all your questions. -\section{List of All Statements}\secidx{List of All Statements} +\section{List of All Statements} If for some reason you want to list all sentences you can use -\begin{beschreibung} - \Befehl{ghslistall}[<options>] -\end{beschreibung} - -This command has a number of options to customize the table, which is created with -the \lstinline=longtable= environment of the \paket{longtable} package. -\begin{beschreibung} - \Option{table-head-number}{<text>}\Default{Identifier} - \Option{table-head-text}{<text>}\Default{Statement} - \Option{table-next-page}{<text>}\Default{continues on next page} - \Option{table-caption}{<text>}\Default{All H, EUH, and P Statements.} - As \code{<text>} in \lstinline=\caption{<text>}=. - \Option{table-caption-short}{<text>}\Default{} - As \code{<short>} in \lstinline=\caption[<short>]{<text>}=. - \Option{table-label}{<text>}\Default{tab:ghs-hp-statements} - The label to refer to the table with \lstinline=\ref= and similar - commands. - \Option{table-row-sep}{<dim>}\Default{3pt} - The separation of the table rows. A \TeX\ dimension. - \Option{table-rules}{\default{default}|booktabs|none}\Default{default} - The style of the horizontal rules in the table. \code{default} uses - \lstinline=\hline=, \code{booktabs} uses \lstinline=\toprule=, - \lstinline=\midrule= or \lstinline=\bottomrule=, resp. This option needs - the \paket{booktabs} package which you have to load yourself then. - \Option{table-top-head-rule}{\default{default}|booktabs|none}\Default{default} - Change top rule explicitly. - \Option{table-head-rule}{\default{default}|booktabs|none}\Default{default} - Change rule below head explicitly. - \Option{table-foot-rule}{\default{default}|booktabs|none}\Default{default} - Change foot rule explicitly. - \Option{table-last-foot-rule}{\default{default}|booktabs|none}\Default{default} - Change last foot rule explicitly. -\end{beschreibung} +\begin{commands} + \command{ghslistall}[\oarg{options}] + Print a table with all defined statements. +\end{commands} + +This command has a number of options to customize the table, which is created +with the \env{longtable} environment of the \pkg{longtable} package. +\begin{options} + \keyval{table-head-number}{text}\Default{Identifier} + The table head for the number. + \keyval{table-head-text}{text}\Default{Statement} + The table head for the statement. + \keyval{table-next-page}{text}\Default{continues on next page} + The hint for a next page. + \keyval{table-caption}{text}\Default{All H, EUH, and P Statements.} + The \meta{text} in \cs*{caption}\marg{text}. + \keyval{table-caption-short}{short text}\Default + The \meta{short text} in \cs*{caption}\oarg{short text}\marg{text}. + \keyval{table-label}{text}\Default{tab:ghs-hp-statements} + The label to refer to the table with \cs*{ref} and similar commands. + \keyval{table-row-sep}{dim}\Default{3pt} + The separation of the table rows. A \TeX\ dimension. + \keychoice{table-rules}{\default{default},booktabs,none}\Default{default} + The style of the horizontal rules in the table. \code{default} uses + \cs*{hline}, \code{booktabs} uses \cs*{toprule}, \cs*{midrule} and + \cs*{bottomrule}, resp. This option needs the \pkg{booktabs} package + which you have to load yourself then. + \keychoice{table-top-head-rule}{\default{default},booktabs,none}\Default{default} + Change top rule explicitly. + \keychoice{table-head-rule}{\default{default},booktabs,none}\Default{default} + Change rule below head explicitly. + \keychoice{table-foot-rule}{\default{default},booktabs,none}\Default{default} + Change foot rule explicitly. + \keychoice{table-last-foot-rule}{\default{default},booktabs,none}\Default{default} + Change last foot rule explicitly. +\end{options} The code below shows how table~\ref{tab:ghs-hp-statements} was created: -\begin{beispiel}[code only] - \ghslistall[fill-in,table-rules=booktabs] -\end{beispiel} +\begin{sourcecode} + \ghslistall[fill-in,table-rules=booktabs] +\end{sourcecode} \ghslistall[fill-in,table-rules=booktabs] -\secidx*{List of All Statements} - -\appendix - -\printbibliography - -{\catcode`\^=11 \catcode`\#=11 -\printindex} \end{document} |