1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
% --------------------------------------------------------------------------
% the SUBSTANCES package
%
% A Chemical Database
%
% --------------------------------------------------------------------------
% Clemens Niederberger
% Web: https://bitbucket.org/cgnieder/substances/
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
% Copyright 2012--2016 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.
% --------------------------------------------------------------------------
% The substances package consists of the files
% - substances.sty, substances-default.def, substances-examples.sub,
% substances_en.tex, substances_en.pdf, README
% --------------------------------------------------------------------------
% If you have any ideas, questions, suggestions or bugs to report, please
% feel free to contact me.
% --------------------------------------------------------------------------
% substances: default style
\SubstancesStyle*{default}
\RequirePackage {chemfig,siunitx}
% ----------------------------------------------------------------------------
% helper functions for the GHS properties:
\cs_new_protected:Npn \substances_get_pics:n #1
{
\seq_set_split:Nnn \l_tmpa_seq {,} {#1}
\seq_set_map:NNn \l_tmpa_seq \l_tmpa_seq { \ghspic {##1} }
\seq_use:Nn \l_tmpa_seq {~}
}
\cs_new_protected:Npn \substances_get_ghs:nn #1#2
{
\seq_set_split:Nnn \l_tmpa_seq {,} {#2}
\seq_set_map:NNn \l_tmpa_seq \l_tmpa_seq { \ghs {#1} {##1} }
\seq_use:Nn \l_tmpa_seq
{ \bool_if:NT \l__ghsystem_hide_statement_bool {,} ~ }
}
\NewDocumentCommand \ghspictograms {m}
{ \substances_get_pics:n {#1} }
\NewDocumentCommand \ghsstatements {mm}
{ \substances_get_ghs:nn {#1} {#2} }
% ----------------------------------------------------------------------------
\DeclareSubstanceProperty {formula} [\ch]
\DeclareSubstanceProperty {structure} [\chemfig]
\DeclareSubstanceProperty {mass} [\SI][{\MolMass}]
\DeclareSubstanceProperty {bp} [\SI][{\celsius}]
\DeclareSubstanceProperty {mp} [\SI][{\celsius}]
\DeclareSubstanceProperty {density} [\SI][{{\gram\per\cubic\centi\metre}}]
\DeclareSubstanceProperty {phase}
\DeclareSubstanceProperty {pKa} [\num]
\DeclareSubstanceProperty {pKa1} [\num]
\DeclareSubstanceProperty {pKa2} [\num]
\DeclareSubstanceProperty {pKb} [\num]
\DeclareSubstanceProperty {pKb1} [\num]
\DeclareSubstanceProperty {pKb2} [\num]
\DeclareSubstanceProperty {pictograms} [\ghspictograms]
\DeclareSubstanceProperty {H} [\ghsstatements{H}]
\DeclareSubstanceProperty {P} [\ghsstatements{P}]
\DeclareSubstanceProperty {EUH} [\ghsstatements{EUH}]
\DeclareSubstanceProperty {LD50} [\SI][{{\milli\gram\per\kilo\gram}}]
\tex_endinput:D
|