texlive[53822] Master: ghsystem (17feb20)
commits+karl at tug.org
commits+karl at tug.org
Mon Feb 17 23:17:09 CET 2020
Revision: 53822
http://tug.org/svn/texlive?view=revision&revision=53822
Author: karl
Date: 2020-02-17 23:17:09 +0100 (Mon, 17 Feb 2020)
Log Message:
-----------
ghsystem (17feb20)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/ghsystem/README
trunk/Master/texmf-dist/tex/latex/ghsystem/ghsystem.sty
trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_english.def
trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_french.def
trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_german.def
trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_italian.def
trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_langtemplate.def
trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_spanish.def
trunk/Master/tlpkg/libexec/ctan2tds
Added Paths:
-----------
trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem-manual.cls
trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem-manual.pdf
trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem-manual.tex
Removed Paths:
-------------
trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem_en.pdf
trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem_en.tex
Modified: trunk/Master/texmf-dist/doc/latex/ghsystem/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ghsystem/README 2020-02-17 22:15:57 UTC (rev 53821)
+++ trunk/Master/texmf-dist/doc/latex/ghsystem/README 2020-02-17 22:17:09 UTC (rev 53822)
@@ -1,5 +1,5 @@
--------------------------------------------------------------------------
-the GHSYSTEM package v4.8b 2020/01/16
+the GHSYSTEM package v4.8c 2020/02/17
globally harmonized system
@@ -34,7 +34,7 @@
- ghsystem_italian.def
- ghsystem_langtemplate.def
documentation and README:
- - ghsystem_en.tex, ghsystem_en.pdf,
+ - ghsystem-manual.tex, ghsystem-manual.cls, ghsystem-manual.pdf,
- README
--------------------------------------------------------------------------
If you have any ideas, questions, suggestions or bugs to report, please
Added: trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem-manual.cls
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem-manual.cls (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem-manual.cls 2020-02-17 22:17:09 UTC (rev 53822)
@@ -0,0 +1,272 @@
+% --------------------------------------------------------------------------
+% the GHSYSTEM package
+%
+% globally harmonised system
+%
+% --------------------------------------------------------------------------
+% Clemens Niederberger
+% --------------------------------------------------------------------------
+% https://github.org/cgnieder/ghsystem/
+% contact at mychemistry.eu
+% --------------------------------------------------------------------------
+% If you have any ideas, questions, suggestions or bugs to report, please
+% feel free to contact me.
+% --------------------------------------------------------------------------
+% Copyright 2011--2020 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.
+% --------------------------------------------------------------------------
+\ProvidesClass{ghsystem-manual}[2020/02/17]
+
+\LoadClass[load-preamble,add-index]{cnltx-doc}
+\RequirePackage{imakeidx}
+\RequirePackage[utf8]{inputenc}
+
+\RequirePackage{ghsystem,chemmacros}
+
+\setcnltx{
+ package = {ghsystem},
+ info = \acl*{ghs} ,
+ url = https://github.com/cgnieder/ghsystem/ ,
+ authors = Clemens Niederberger ,
+ email = contact at mychemistry.eu ,
+ abstract = {%
+ \centering
+ \includegraphics{chemmacros-logo.pdf}
+ \par
+ } ,
+ add-cmds = {
+ chemsetup,
+ ghs, ghslistall, ghspic, ghssetup
+ } ,
+ index-setup = { noclearpage , level = \addsec }
+}
+
+\RequirePackage{booktabs}
+
+\def\libertine at figurestyle{LF}
+\RequirePackage{amsmath}
+\undef\lvert \undef\lVert
+\undef\rvert \undef\rVert
+\RequirePackage[libertine]{newtxmath}
+\def\libertine at figurestyle{OsF}
+
+\RequirePackage[biblatex]{embrac}
+\ChangeEmph{[}[,.02em]{]}[.055em,-.08em]
+\ChangeEmph{(}[-.01em,.04em]{)}[.04em,-.05em]
+
+\RequirePackage[accsupp]{acro}
+\acsetup{
+ long-format = \scshape ,
+ short-format = \scshape
+}
+
+\chemsetup{
+ greek = newtx ,
+ formula = chemformula ,
+ chemformula/format = \libertineLF
+}
+
+\ghssetup{
+ language = {german,english}
+}
+
+\sisetup{
+ detect-mode=false,
+ mode=text,
+ text-rm=\libertineLF
+}
+
+\RequirePackage{fontawesome}
+\RequirePackage{datetime2}
+\DTMsetup{useregional=numeric,datesep=/}
+\newrobustcmd*\ghsystem at add@version[2]{%
+ \csdef{ghsystem at ver@#2}{%
+ \DTMdate{#1}%
+ \csgdef{ghsystem at ver@#2used}{}%
+ \csdef{ghsystem at ver@#2}{\DTMdate{#1}}%
+ }%
+}
+
+\newrobustcmd*\ghsystem at date[1]{%
+ \ifcsdef{ghsystem at ver@#1used}{}{ (\csuse{ghsystem at ver@#1})}}
+\newrobustcmd*\ghsystem at ifnew[1]{\ifcsstring{c_ghsystem_version_tl}{#1}}
+\newrobustcmd*\ghsystem at NEW{\faStarO\ New}
+
+\renewrobustcmd*\sinceversion[1]{%
+ \ghsystem at ifnew{#1}%
+ {\cnltx at version@note{\textcolor{red}{\ghsystem at NEW}}}%
+ {\cnltx at version@note{\GetTranslation{cnltx-introduced}~#1\ghsystem at date{#1}}}%
+}
+\renewrobustcmd*\changedversion[1]{%
+ \cnltx at version@note{\GetTranslation{cnltx-changed}~#1\ghsystem at date{#1}}%
+}
+
+\newnote*\sincechanged[2]{%
+ \GetTranslation{cnltx-introduced}~#1\ghsystem at date{#1},
+ changed with version~#2\ghsystem at date{#2}\ghsystem at ifnew{#2}{ \ghsystem at NEW}{}%
+}
+
+\RenewDocumentEnvironment{commands}{}
+ {%
+ \cnltx at set@catcode_{12}%
+ \let\command\cnltx at command
+ \cnltxlist
+ }
+ {\endcnltxlist}
+
+\RequirePackage{tcolorbox,xsimverb}
+\tcbuselibrary{skins,breakable}
+\tcbset{enhanced,enhanced jigsaw}
+
+\newtcolorbox{bewareofthedog}{
+ colback = white ,
+ colframe = red ,
+ underlay={%
+ \path[draw=none]
+ (interior.south west)
+ rectangle node[red]{\Huge\bfseries !}
+ ([xshift=-4mm]interior.north west);
+ }%
+}
+
+\newtcolorbox{cnltxcode}[1][]{
+ boxrule = 1pt ,
+ colback = cnltxbg ,
+ colframe = cnltx ,
+ arc = 5pt ,
+ beforeafter skip = .5\baselineskip ,%
+ #1%
+}
+
+\newcommand*\ghsystem at readoptions[1]{%
+ \catcode`\^^M=13
+ \ghsystem at read@options{#1}%
+}
+
+\begingroup
+\catcode`\^^M=13
+\gdef\ghsystem at read@options#1#2^^M{%
+ \endgroup
+ \ifblank{#2}{}{\ghsystem at read@options@#2}%
+ #1%
+ \XSIMfilewritestart*{\jobname.tmp}%
+}%
+\endgroup
+\def\ghsystem at read@options@[#1]{\pgfqkeys{/cnltx}{#1}}
+
+\RenewDocumentEnvironment{sourcecode}{}
+ {%
+ \begingroup
+ \ghsystem at readoptions{%
+ \setlength\cnltx at sidebysidewidth
+ {\dimexpr .45\columnwidth -\lst at xleftmargin -\lst at xrightmargin\relax}%
+ \expanded{%
+ \noexpand\lstset{
+ style=cnltx,
+ \ifboolexpe{ bool {cnltx at sidebyside} and not bool {cnltx at codeonly} }
+ {linewidth=\cnltx at sidebysidewidth,}{}%
+ \expandonce\cnltx at local@listings at options
+ }%
+ }%
+ \XSIMgobblechars{2}%
+ }%
+ }
+ {%
+ \XSIMfilewritestop
+ \cnltxcode[breakable]%
+ \lstinputlisting[style=cnltx]{\jobname.tmp}%
+ \endcnltxcode
+ }
+
+\RenewDocumentEnvironment{example}{}
+ {%
+ \begingroup
+ \ghsystem at readoptions{%
+ \setlength\cnltx at sidebysidewidth
+ {\dimexpr .45\columnwidth -\lst at xleftmargin -\lst at xrightmargin\relax}%
+ \expanded{%
+ \noexpand\lstset{
+ style=cnltx,
+ \ifboolexpe{ bool {cnltx at sidebyside} and not bool {cnltx at codeonly} }
+ {linewidth=\cnltx at sidebysidewidth,}{}%
+ \expandonce\cnltx at local@listings at options
+ }%
+ }%
+ \XSIMgobblechars{2}%
+ }%
+ }
+ {%
+ \XSIMfilewritestop
+ \ifbool{cnltx at sidebyside}
+ {%
+ \cnltxcode
+ \noindent
+ \minipage[c]{\cnltx at sidebysidewidth}%
+ \cnltx at pre@source at hook
+ \lstinputlisting[style=cnltx] {\jobname.tmp}%
+ \cnltx at after@source at hook
+ \endminipage\hfill
+ \minipage[c]{\cnltx at sidebysidewidth}%
+ \cnltx at pre@example at hook
+ \input {\jobname.tmp}%
+ \cnltx at after@example at hook
+ \endminipage
+ }
+ {%
+ \cnltxcode[breakable]%
+ \cnltx at pre@source at hook
+ \lstinputlisting{\jobname.tmp}%
+ \cnltx at after@source at hook
+ \tcblower
+ \cnltx at pre@example at hook
+ \input {\jobname.tmp}%
+ \cnltx at after@example at hook
+ }%
+ \endcnltxcode
+ }
+
+\RequirePackage[
+ backend=biber,
+ style=cnltx,
+ sortlocale=en_US,
+ indexing=cite]{biblatex}
+\RequirePackage{csquotes,varioref}
+\defbibheading{bibliography}{\section{References}}
+
+\RequirePackage[biblatex]{embrac}[2012/06/29]
+\ChangeEmph{[}[,.02em]{]}[.055em,-.08em]
+\ChangeEmph{(}[-.01em,.04em]{)}[.04em,-.05em]
+
+\ghsystem at add@version{2012-01-28}{3.0}
+\ghsystem at add@version{2012/01/30}{3.0a}
+\ghsystem at add@version{2012/02/05}{3.0c}
+\ghsystem at add@version{2012/05/13}{3.3a}
+\ghsystem at add@version{2012/05/18}{3.3b}
+\ghsystem at add@version{2012/05/18}{3.3c}
+\ghsystem at add@version{2012/07/24}{3.3d}
+\ghsystem at add@version{2013/02/19}{3.5a}
+\ghsystem at add@version{2013/07/06}{4.0}
+\ghsystem at add@version{2013/12/13}{4.0a}
+\ghsystem at add@version{2014/01/09}{4.2e}
+\ghsystem at add@version{2014/04/08}{4.5}
+\ghsystem at add@version{2014/04/13}{4.5a}
+\ghsystem at add@version{2014/06/30}{4.5b}
+\ghsystem at add@version{2014/08/08}{4.6}
+\ghsystem at add@version{2016/01/15}{4.7}
+\ghsystem at add@version{2016/07/16}{4.8}
+\ghsystem at add@version{2019/09/30}{4.8a}
+\ghsystem at add@version{2020/01/16}{4.8b}
+\ghsystem at add@version{2020/02/17}{4.8c}
+
+\endinput
Property changes on: trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem-manual.cls
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem-manual.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem-manual.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem-manual.pdf 2020-02-17 22:15:57 UTC (rev 53821)
+++ trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem-manual.pdf 2020-02-17 22:17:09 UTC (rev 53822)
Property changes on: trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem-manual.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem-manual.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem-manual.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem-manual.tex 2020-02-17 22:17:09 UTC (rev 53822)
@@ -0,0 +1,445 @@
+% arara: pdflatex
+% arara: biber
+% arara: pdflatex
+% arara: pdflatex
+% --------------------------------------------------------------------------
+% the GHSYSTEM package
+%
+% globally harmonized system
+%
+% --------------------------------------------------------------------------
+% Clemens Niederberger
+% --------------------------------------------------------------------------
+% https://github.com/cgnieder/ghsystem/
+% contact at mychemistry.eu
+% --------------------------------------------------------------------------
+% If you have any ideas, questions, suggestions or bugs to report, please
+% feel free to contact me.
+% --------------------------------------------------------------------------
+% Copyright 2011--2020 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{ghsystem-manual}
+
+\DeclareAcronym{ghs}{
+ short = ghs ,
+ long = Globally Harmonized System of Classification and Labelling of
+ Chemicals ,
+ pdfstring = GHS ,
+ accsupp = GHS
+}
+\DeclareAcronym{eu}{
+ short = EU ,
+ long = European Union ,
+ pdfstring = EU ,
+ accsupp = EU
+}
+\DeclareAcronym{UN}{
+ short = un ,
+ long = United Nations ,
+ pdfstring = UN ,
+ accsupp = UN
+}
+\DeclareAcronym{dvi}{
+ short = dvi ,
+ long = device independent file format ,
+ pdfstring = DVI ,
+ accsupp = DVO
+}
+\DeclareAcronym{pdf}{
+ short = pdf ,
+ long = portable document file ,
+ pdfstring = PDF ,
+ accsupp = PDF
+}
+
+
+\defbibheading{bibliography}{\addsec{References}}
+\addbibresource{cnltx.bib}
+\addbibresource{\jobname.bib}
+\begin{filecontents*}[overwrite]{\jobname.bib}
+ at 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} ,
+ shorthand = {EuP} ,
+ 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}
+}
+ at 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} ,
+ date = {2012-03-20}
+}
+\end{filecontents*}
+
+\newcommand*\tablehead[1]{\textrm{\bfseries#1}}
+
+\begin{document}
+
+\section{Introduction}
+As a chemist you are probably aware of the fact that the \acl{UN} have
+developed the \ac{ghs} as a global replacement for the various different
+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
+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}
+\license
+
+\ghsystem\ loads the following packages:
+\pkg{expl3}\footnote{\CTANurl{l3kernel}}~\cite{bnd:l3kernel}, \pkg{xparse} and
+\pkg{l3keys2e}\footnote{\CTANurl{l3packages}}~\cite{bnd:l3packages},
+\needpackage{chemmacros}~\cite{pkg:translations},
+\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}
+% TODO
+% The simplest way is to load \pkg{chemmacros}~\cite{pkg:chemmacros} which loads
+% \ghsystem{} implicitily. All of \ghsystem's options belong to
+% \pkg{chemmacros}' 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{commands}
+% \command{ghssetup}[\marg{options}]
+% Setup command for \ghsystem.
+% \end{commands}
+
+\section{Get Hazard and Precautionary Statements}
+\subsection{Simple Statements}
+The general usage is simple: you use the command
+\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
+\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{options}
+ \keybool{hide}\Default{false}
+ Hide the statement.
+\end{options}
+
+There is an option to customize the output, too.
+\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}
+\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{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{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{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{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{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}.
+
+\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}
+
+\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{example}[side-by-side]
+ \ghspic{skull}
+\end{example}
+
+If you don't like the default size you can change it using this option:
+\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{example}[side-by-side]
+ \ghspic[scale=2]{skull}
+\end{example}
+
+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{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 \\
+ \midrule\endfirsthead
+ \toprule
+ \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} & & \\
+\end{longtable}
+
+\subsection{Picture Type Depending on Engine}\label{ssec:picture_type}
+As you probably know you can't use every picture type with every compiler
+engine. \pdfTeX{} in \acs{dvi} mode \emph{needs} \code{eps} pictures while
+\pdfTeX{} in \acs{pdf} mode, \XeTeX{} and \LuaTeX{} convert \code{eps}
+pictures into \code{pdf} files, given they have the rights to write in the
+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
+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{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 available in English,
+French\footnote{Thanks to Bréal Frédéric and Beaude Aurélien!}, German,
+Italian\footnote{Thanks to Jonas Rivetti!} and Spanish\footnote{Thanks to
+ Ignacio Fernández Galván!}. The package adapts \pkg{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{options}
+ \keyval{language}{lang}\Default{english}
+ Selects a language and if called in the preamble also loads the necessary
+ language file if it hasn't been loaded, yet. If the chosen file doesn't
+ exist it falls back to \code{english}. Currently available choices are
+ English, French, German, Italian, and Spanish. \meta{lang} can be a comma
+ separated list. Then the last language in the list will be the active
+ one. If you plan to switch languages within the document then you should
+ make sure to load all needed languages in the preamble first.
+\end{options}
+\begin{example}[side-by-side]
+ \ghs{h}{201}
+
+ \ghssetup{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
+another language please feel free to contact
+me\footnote{\href{mailto:contact at mychemistry.eu}{contact at mychemistry.eu}}.
+Your \TeX\ distribution should contain a file
+\code{ghsystem\_langtemplate.def} which \emph{should} explain all immediate
+questions and can be used as a basis for a new language file.
+
+\section{List of All Statements}
+If for some reason you want to list all sentences you can use
+\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{sourcecode}
+ \ghslistall[fill-in,table-rules=booktabs]
+\end{sourcecode}
+
+\ghslistall[fill-in,table-rules=booktabs]
+
+\printbibliography
+
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem-manual.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem_en.pdf
===================================================================
(Binary files differ)
Deleted: trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem_en.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem_en.tex 2020-02-17 22:15:57 UTC (rev 53821)
+++ trunk/Master/texmf-dist/doc/latex/ghsystem/ghsystem_en.tex 2020-02-17 22:17:09 UTC (rev 53822)
@@ -1,494 +0,0 @@
-% arara: pdflatex
-% arara: biber
-% arara: pdflatex
-% arara: pdflatex
-% --------------------------------------------------------------------------
-% the GHSYSTEM package
-%
-% globally harmonized system
-%
-% --------------------------------------------------------------------------
-% Clemens Niederberger
-% --------------------------------------------------------------------------
-% https://github.com/cgnieder/ghsystem/
-% contact at mychemistry.eu
-% --------------------------------------------------------------------------
-% If you have any ideas, questions, suggestions or bugs to report, please
-% feel free to contact me.
-% --------------------------------------------------------------------------
-% Copyright 2011--2020 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[utf8]{inputenc}
-% \usepackage[greek=newtx]{chemmacros}
-\usepackage{ghsystem}
-\setcnltx{
- package = {ghsystem},
- info = \acl*{ghs} ,
- url = https://github.com/cgnieder/ghsystem/ ,
- authors = Clemens Niederberger ,
- email = contact at mychemistry.eu ,
- abstract = {%
- \centering
- \includegraphics{chemmacros-logo.pdf}
- \par
- } ,
- add-cmds = {
- chemsetup,
- ghs, ghslistall, ghspic, ghssetup
- } ,
- index-setup = noclearpage
-}
-
-\usepackage{booktabs}
-
-\expandafter\def\csname libertine at figurestyle\endcsname{LF}
-\usepackage[libertine]{newtxmath}
-\expandafter\def\csname libertine at figurestyle\endcsname{OsF}
-
-\usepackage[biblatex]{embrac}
-\ChangeEmph{[}[,.02em]{]}[.055em,-.08em]
-\ChangeEmph{(}[-.01em,.04em]{)}[.04em,-.05em]
-
-\usepackage[accsupp]{acro}
-\acsetup{
- long-format = \scshape ,
- short-format = \scshape
-}
-\DeclareAcronym{ghs}{
- short = ghs ,
- long = Globally Harmonized System of Classification and Labelling of
- Chemicals ,
- pdfstring = GHS ,
- accsupp = GHS
-}
-\DeclareAcronym{eu}{
- short = EU ,
- long = European Union ,
- pdfstring = EU ,
- accsupp = EU
-}
-\DeclareAcronym{UN}{
- short = un ,
- long = United Nations ,
- pdfstring = UN ,
- accsupp = UN
-}
-\DeclareAcronym{dvi}{
- short = dvi ,
- long = device independent file format ,
- pdfstring = DVI ,
- accsupp = DVO
-}
-\DeclareAcronym{pdf}{
- short = pdf ,
- long = portable document file ,
- pdfstring = PDF ,
- accsupp = PDF
-}
-
-\chemsetup{
- greek = newtx ,
- formula = chemformula ,
- chemformula/format = \libertineLF
-}
-
-\ghssetup{
- language = {german,english}
-}
-
-\sisetup{
- detect-mode=false,
- mode=text,
- text-rm=\libertineLF
-}
-
-\usepackage{filecontents}
-
-\defbibheading{bibliography}{\addsec{References}}
-\addbibresource{\jobname.bib}
-\begin{filecontents*}{\jobname.bib}
- at 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} ,
- shorthand = {EuP} ,
- 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}
-}
- at 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} ,
- date = {2012-03-20}
-}
-\end{filecontents*}
-
-\newcommand*\tablehead[1]{\textrm{\bfseries#1}}
-
-\begin{document}
-
-\section{Introduction}
-As a chemist you are probably aware of the fact that the \acl{UN} have
-developed the \ac{ghs} as a global replacement for the various different
-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
-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}
-\license
-
-\ghsystem\ loads the following packages:
-\pkg{expl3}\footnote{\CTANurl{l3kernel}}~\cite{bnd:l3kernel}, \pkg{xparse} and
-\pkg{l3keys2e}\footnote{\CTANurl{l3packages}}~\cite{bnd:l3packages},
-\needpackage{chemmacros}~\cite{pkg:translations},
-\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}
-% TODO
-% The simplest way is to load \pkg{chemmacros}~\cite{pkg:chemmacros} which loads
-% \ghsystem{} implicitily. All of \ghsystem's options belong to
-% \pkg{chemmacros}' 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{commands}
-% \command{ghssetup}[\marg{options}]
-% Setup command for \ghsystem.
-% \end{commands}
-
-\section{Get Hazard and Precautionary Statements}
-\subsection{Simple Statements}
-The general usage is simple: you use the command
-\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
-\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{options}
- \keybool{hide}\Default{false}
- Hide the statement.
-\end{options}
-
-There is an option to customize the output, too.
-\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}
-\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{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{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{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{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{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}.
-
-\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}
-
-\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{example}[side-by-side]
- \ghspic{skull}
-\end{example}
-
-If you don't like the default size you can change it using this option:
-\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{example}[side-by-side]
- \ghspic[scale=2]{skull}
-\end{example}
-
-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{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 \\
- \midrule\endfirsthead
- \toprule
- \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} & & \\
-\end{longtable}
-
-\subsection{Picture Type Depending on Engine}\label{ssec:picture_type}
-As you probably know you can't use every picture type with every compiler
-engine. \pdfTeX{} in \acs{dvi} mode \emph{needs} \code{eps} pictures while
-\pdfTeX{} in \acs{pdf} mode, \XeTeX{} and \LuaTeX{} convert \code{eps}
-pictures into \code{pdf} files, given they have the rights to write in the
-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
-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{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 available in English,
-French\footnote{Thanks to Bréal Frédéric and Beaude Aurélien!}, German,
-Italian\footnote{Thanks to Jonas Rivetti!} and Spanish\footnote{Thanks to
- Ignacio Fernández Galván!}. The package adapts \pkg{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{options}
- \keyval{language}{lang}\Default{english}
- Selects a language and if called in the preamble also loads the necessary
- language file if it hasn't been loaded, yet. If the chosen file doesn't
- exist it falls back to \code{english}. Currently available choices are
- English, French, German, Italian, and Spanish. \meta{lang} can be a comma
- separated list. Then the last language in the list will be the active
- one. If you plan to switch languages within the document then you should
- make sure to load all needed languages in the preamble first.
-\end{options}
-\begin{example}[side-by-side]
- \ghs{h}{201}
-
- \ghssetup{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
-another language please feel free to contact
-me\footnote{\href{mailto:contact at mychemistry.eu}{contact at mychemistry.eu}}.
-Your \TeX\ distribution should contain a file
-\code{ghsystem\_langtemplate.def} which \emph{should} explain all immediate
-questions and can be used as a basis for a new language file.
-
-\section{List of All Statements}
-If for some reason you want to list all sentences you can use
-\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{sourcecode}
- \ghslistall[fill-in,table-rules=booktabs]
-\end{sourcecode}
-
-\ghslistall[fill-in,table-rules=booktabs]
-
-\end{document}
Modified: trunk/Master/texmf-dist/tex/latex/ghsystem/ghsystem.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ghsystem/ghsystem.sty 2020-02-17 22:15:57 UTC (rev 53821)
+++ trunk/Master/texmf-dist/tex/latex/ghsystem/ghsystem.sty 2020-02-17 22:17:09 UTC (rev 53822)
@@ -29,8 +29,8 @@
\RequirePackage{ expl3, xparse, chemmacros }
\ExplSyntaxOn
-\tl_const:Nn \c_ghsystem_version_tl {4.8b}
-\tl_const:Nn \c_ghsystem_date_tl {2020/01/16}
+\tl_const:Nn \c_ghsystem_version_tl {4.8c}
+\tl_const:Nn \c_ghsystem_date_tl {2020/02/17}
\tl_const:Nn \c_ghsystem_info_tl {globally~ harmonised~ system}
\ProvidesExplPackage
@@ -525,7 +525,7 @@
\caption [ \l_ghsystem_table_caption_short_tl ]
{
\l_ghsystem_table_caption_tl
- \exp_args:No \label { \l__ghsystem_table_label_tl }
+ \exp_args:NV \label \l__ghsystem_table_label_tl
} \\
\l__ghsystem_table_top_head_rule_tl
\textbf { \l_ghsystem_identifier_tl } &
@@ -714,3 +714,4 @@
2019/09/30 - version 4.8a - add \l_ghsystem_table_next_page_tl to the template
and the French translations
2020/01/16 - version 4.8b - adapt to renaming of case changing functions
+2020/02/17 - version 4.8c - resolve bug with French and Lua- or XeLaTeX
Modified: trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_english.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_english.def 2020-02-17 22:15:57 UTC (rev 53821)
+++ trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_english.def 2020-02-17 22:17:09 UTC (rev 53822)
@@ -26,7 +26,7 @@
% - The Current Maintainer of this work is Clemens Niederberger.
% --------------------------------------------------------------------------
% ENGLISH DEFINITIONS
-\ghsystemlanguagefile{english}{2016/01/16}
+\ghsystemlanguagefile {english} {2020/02/17}
% table head and foot:
\tl_set:Nn \l_ghsystem_identifier_tl { Identifier }
@@ -61,7 +61,9 @@
% <or state all organs affected, if known>
\cs_set:Npn \ghsystem_organs:
{
- \bool_if:nT { \l_ghsystem_fill_in_bool && !\l_ghsystem_organs_bool }
+ \bool_lazy_and:nnT
+ { \l_ghsystem_fill_in_bool }
+ { !\l_ghsystem_organs_bool }
{
\c_space_tl
\ghsystem_filler:n { or~ state~ all~ organs~ affected,~ if~ known }
Modified: trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_french.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_french.def 2020-02-17 22:15:57 UTC (rev 53821)
+++ trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_french.def 2020-02-17 22:17:09 UTC (rev 53822)
@@ -29,7 +29,7 @@
% - Aurélien. Many thanks!
% FRENCH DEFINITIONS
-\ghsystemlanguagefile{french}{2019/09/30}
+\ghsystemlanguagefile {french} {2020/02/17}
% table head:
\tl_set:Nn \l_ghsystem_identifier_tl { num\'ero }
@@ -37,13 +37,20 @@
\tl_set:Nn \l_ghsystem_table_caption_tl { Toutes~ les~ phrases~ H,~ EUH~ et~ P }
\tl_set:Nn \l_ghsystem_table_next_page_tl { suite~ sur~ la~ prochaine~ page }
-\group_begin:
-\char_set_catcode_active:N \^^@
-\char_set_lccode:nn { `^^@ } { `: }
-\tex_lowercase:D
+% with pdflatex babel sets the colon active:
+\bool_lazy_or:nnTF
+ { \sys_if_engine_luatex_p: }
+ { \sys_if_engine_xetex_p: }
+ { \tl_const:Nn \c_ghsystem_french_colon_tl { \c_colon_str } }
{
- \group_end:
- \tl_const:Nn \c_ghsystem_french_colon_tl { ^^@ }
+ \group_begin:
+ \char_set_catcode_active:N \^^~
+ \char_set_lccode:nn { `^^~ } { `: }
+ \tex_lowercase:D
+ {
+ \group_end:
+ \tl_const:Nn \c_ghsystem_french_colon_tl { ^^~ }
+ }
}
% fill-in functions:
@@ -76,7 +83,9 @@
% <or state all organs affected, if known>
\cs_set:Npn \ghsystem_organs:
{
- \bool_if:nT { \l_ghsystem_fill_in_bool && !\l_ghsystem_organs_bool }
+ \bool_lazy_and:nnT
+ { \l_ghsystem_fill_in_bool }
+ { !\l_ghsystem_organs_bool }
{
\c_space_tl
\ghsystem_filler:n
Modified: trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_german.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_german.def 2020-02-17 22:15:57 UTC (rev 53821)
+++ trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_german.def 2020-02-17 22:17:09 UTC (rev 53822)
@@ -26,7 +26,7 @@
% - The Current Maintainer of this work is Clemens Niederberger.
% --------------------------------------------------------------------------
% GERMAN DEFINITIONS
-\ghsystemlanguagefile{german}{2016/01/16}
+\ghsystemlanguagefile {german} {2016/01/16}
% table head and foot:
\tl_set:Nn \l_ghsystem_identifier_tl { Nummer }
@@ -62,7 +62,9 @@
% <or state all organs affected, if known>
\cs_set:Npn \ghsystem_organs:
{
- \bool_if:nT { \l_ghsystem_fill_in_bool && !\l_ghsystem_organs_bool }
+ \bool_lazy_and:nnT
+ { \l_ghsystem_fill_in_bool }
+ { !\l_ghsystem_organs_bool }
{
\c_space_tl
\ghsystem_filler:n
Modified: trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_italian.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_italian.def 2020-02-17 22:15:57 UTC (rev 53821)
+++ trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_italian.def 2020-02-17 22:17:09 UTC (rev 53822)
@@ -28,7 +28,7 @@
% - the Italian translation was kindly provided by Jonas Rivetti. Many thanks!
% ITALIAN DEFINITIONS
-\ghsystemlanguagefile{italian}{2016/01/16}
+\ghsystemlanguagefile {italian} {2020/02/17}
% table head and foot:
\tl_set:Nn \l_ghsystem_identifier_tl { Numero }
@@ -66,7 +66,9 @@
% <or state all organs affected, if known>
\cs_set:Npn \ghsystem_organs:
{
- \bool_if:nT { \l_ghsystem_fill_in_bool && !\l_ghsystem_organs_bool }
+ \bool_lazy_and:nnT
+ { \l_ghsystem_fill_in_bool }
+ { !\l_ghsystem_organs_bool }
{
\c_space_tl
\ghsystem_filler:n
Modified: trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_langtemplate.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_langtemplate.def 2020-02-17 22:15:57 UTC (rev 53821)
+++ trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_langtemplate.def 2020-02-17 22:17:09 UTC (rev 53822)
@@ -70,7 +70,7 @@
% -----------------------------------------------------------------------------
%
% <LANGUAGE> DEFINITIONS
-\ghsystemlanguagefile{language}{date}
+\ghsystemlanguagefile {language} {date}
% table head:
\tl_set:Nn \l_ghsystem_identifier_tl { ... }
@@ -100,7 +100,9 @@
% <or state all organs affected, if known>
\cs_set:Npn \ghsystem_organs:
{
- \bool_if:nT { \l_ghsystem_fill_in_bool && !\l_ghsystem_organs_bool }
+ \bool_lazy_and:nnT
+ { \l_ghsystem_fill_in_bool }
+ { !\l_ghsystem_organs_bool }
{
\c_space_tl \ghsystem_filler:n { ... }
}
Modified: trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_spanish.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_spanish.def 2020-02-17 22:15:57 UTC (rev 53821)
+++ trunk/Master/texmf-dist/tex/latex/ghsystem/language/ghsystem_spanish.def 2020-02-17 22:17:09 UTC (rev 53822)
@@ -29,7 +29,7 @@
% - Galván. Many thanks!
% SPANISH DEFINITIONS
-\ghsystemlanguagefile{spanish}{2016/01/16}
+\ghsystemlanguagefile {spanish} {2020/02/17}
% table head:
\tl_set:Nn \l_ghsystem_identifier_tl { Identificador }
@@ -67,7 +67,9 @@
% <or state all organs affected, if known>
\cs_set:Npn \ghsystem_organs:
{
- \bool_if:nT { \l_ghsystem_fill_in_bool && !\l_ghsystem_organs_bool }
+ \bool_lazy_and:nnT
+ { \l_ghsystem_fill_in_bool }
+ { !\l_ghsystem_organs_bool }
{
\c_space_tl
\ghsystem_filler:n
Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds 2020-02-17 22:15:57 UTC (rev 53821)
+++ trunk/Master/tlpkg/libexec/ctan2tds 2020-02-17 22:17:09 UTC (rev 53822)
@@ -1834,6 +1834,7 @@
'german', '\.sty',
'getoptk', '\.tex',
'gfnotation', 'notation\.tex',
+ 'ghsystem', '\.sty', # not manual.cls
'ginpenc', '\.gie|\.sty',
'gobble', 'gobble\.tex|' . $standardtex,
'graphics-pln','^[^e].*\.tex|.*\.sty', # not exmpl*
More information about the tex-live-commits
mailing list.