Sebastian Walz 860d31cee1
Tohu vaBohu
2023-04-21 00:22:52 +02:00

703 lines
35 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

includeCode ( "hazardous/iso7010" )
hazardousADR = false
hazardousADRplate = false
hazardousGHS = true
hazardousISO7010 = false
hazardousNFPA704 = false
hazardous = { }
hazardous [ "blueprint" ]
= {
name =
{
deu = "",
eng = "",
},
-- empty values like "" and {} are all optional and should be either removed or filled
label = "",
physical
= {
formula = {}, -- Formula
density = 0, -- g·ml⁻¹
nD20 = 0, --
melting = 0, -- °C
boiling = 0, -- °C
decompose = 0, -- °C
},
ghs
= {
hazards = {},
euHazards = {},
precautions = {},
pictograms = { ghsExplosive, ghsFlame, ghsOFlame, ghsBottle, ghsAcid, ghsSkull, ghsExclam, ghsHealth, ghsPollu, },
-- not optional:
signal = ghsDanger,
},
iso7010
= {
warnings = { 10, },
},
nfpa
= {
fire = 0,
health = 0,
reaction = 0,
other = nfpaNone,
},
ecNumber = "", -- either European Community number
ufIdentifier = "XXXX-XXXX-XXXX-XXXX", -- or Unique Formula Identifier
casNumber = "", -- and Chemical Abstracts Service identifier
-- Accord européen relatif au transport international des marchandises Dangereuses par Route (ADR)
-- Règlement concernant le transport international ferroviaire de marchandises Dangereuses (RID)
unNumber = 1337,
kemler = -123,
hazardClass
= {
{
class = hazardClassExplosive,
subClass = 1, -- only if applicable, e.g. not 3 or 8
compatibility = hazardCompatibilityX, -- compatibility group, only for explosives
contents = "", -- material, only radioactive material
activity = 0, -- Bq·kg⁻¹, only radioactive material, use \hazardousMassAndIndex
index = 0, -- transport index, only radioactive material, use \hazardousMassAndIndex
},
},
source = "gestis", -- replace with actual source or list of sources: { "one", "two", … }
update = "2020-02-17",
}
function getHazardous ( name )
local result
= hazardous [ name ]
or {
name =
{
deu = "Unbekannter Gefahrenstoff: »"..name.."«",
eng = "Unknown Hazardous Substance: »"..name.."«",
},
ghs = {},
iso7010 = {},
nfpa = {},
source = {},
update = "never",
unknown = true
}
-- name
if result.name ~= nil
and result.name.deu ~= nil
and result.name.deu ~= ""
then
result.title = result.name.deu
elseif result.name ~= nil
and result.name.eng ~= nil
and result.name.eng ~= ""
then
result.title = result.name.eng
else
result.title = "Unnamed Hazardous Substance"
end
result.label = result.label or ""
result.physical = result.physical or {}
if result.ufIdentifier == nil
or result.ufIdentifier == ""
then
-- European Community number
if result.ecNumber == nil
or result.ecNumber == ""
then
result.ecNumber = ""
end
-- Chemical Abstracts Service identifier
if result.casNumber == nil
or result.casNumber == ""
then
result.casNumber = ""
end
end
-- source
if result.source == nil
then
log.warn
(
"gethazardousData",
"" .. result.name .. " does not have a source!"
)
result.source = {}
end
-- date of last update
if result.update == nil
then
log.warn
(
"gethazardousData",
"please update " .. result.name .. "!"
)
result.update = "never"
end
result = adrData ( result )
result.ghs = ghsData ( result )
result.iso7010 = iso7010data ( result )
result.nfpa = nfpaData ( result )
return result
end
function hazardousMolar ( list )
local formula = ""
local mass = 0
local previous = 0
for index, value in ipairs ( list )
do
if type ( value ) == "number"
then
formula = formula .. tostring ( value )
if previous ~= 0
then
mass = mass + previous * value
previous = 0
end
elseif type ( value ) == "string"
then
mass = mass + previous
if chemicalElements [ value ] ~= nil
then
formula = formula .. value
previous = chemicalElements [ value ].mass
elseif value == "."
or value == "-"
then
formula = formula .. value
previous = 0
else
log.error
(
"hazardousMolar",
"Unknown Chemical Element " .. value .. ""
)
end
elseif type ( value ) == "table"
then
mass = mass + previous
local resultFormula, resultMass = hazardousMolar(value)
formula = formula .. "(" .. resultFormula .. ")"
previous = resultMass
else
log.error
(
"hazardousMolar",
"Unexpected value " .. tostring ( value ) .. " of type " .. type ( value ) .. ""
)
end
end
return formula, mass + previous
end
function hazardousPhysicals(hazPurity, hazardousData)
local result = ""
if hazPurity
then
result = ", "
end
if hazardousData.physical.formula ~= nil
and type ( hazardousData.physical.formula ) == "table"
and #hazardousData.physical.formula > 0
then
local formula, mass = hazardousMolar(hazardousData.physical.formula)
result = result .. "\\ch{"..formula.."}, "
result = result .. "\\Physical[2]{"..tostring(mass).."}{}{gram}{}"
result = result .. "\\Unit{mol}{-1}"
end
if hazardousData.physical.density ~= nil
then
if result ~= ""
then
result = result .. ", "
end
result = result .. "\\Physical[2]{"..tostring(hazardousData.physical.density).."}{}{gram}{}"
result = result .. "\\Unit{millilitre}{-1}"
end
if hazardousData.physical.nD20 ~= nil
then
if result ~= ""
then
result = result .. ", "
end
result = result .. "\\acrshort{nD20}~"
result = result .. "\\Physical[4]{"..tostring(hazardousData.physical.nD20).."}{}{}{}"
end
if hazardousData.physical.pH ~= nil
and tostring(hazardousData.physical.pH) ~= nil
then
if result ~= ""
then
result = result .. ", "
end
result = result .. "pH~"
result = result .. "\\Physical[2]{"..tostring(hazardousData.physical.pH).."}{}{}{}"
end
if hazardousData.physical.melting ~= nil
then
if result ~= ""
then
result = result .. ", "
end
result = result .. "\\acrshort{meltingTemperature}~"
result = result .. "\\Physical[0]{"..tostring(hazardousData.physical.melting).."}{}{celsius}{}"
end
if hazardousData.physical.boiling ~= nil
then
if result ~= ""
then
result = result .. ", "
end
result = result .. "\\acrshort{boilingTemperature}~"
result = result .. "\\Physical[0]{"..tostring(hazardousData.physical.boiling).."}{}{celsius}{}"
end
if hazardousData.physical.decompose ~= nil
then
if result ~= ""
then
result = result .. ", "
end
result = result .. "\\acrshort{decompositionTemperature}~"
result = result .. "\\Physical[0]{"..tostring(hazardousData.physical.decompose).."}{}{celsius}{}"
end
if result ~= ""
then
log.trace
(
"hazardousPhysicals",
"Result: " .. result
)
tex.print(result)
end
end
function hazardousPictograms ( hazardousData, width )
local result = ""
local width = tonumber ( width ) or 0
local pictograms = {}
if hazardousGHS
then
ghsPictograms ( hazardousData.ghs, pictograms )
end
if hazardousNFPA704
then
nfpaPictograms ( hazardousData.nfpa, pictograms )
end
if hazardousADR
then
adrPlate = adrPictograms ( hazardousData, pictograms )
end
if hazardousISO7010
then
iso7010Pictrograms ( hazardousData.iso7010, pictograms )
end
if width == 1.5
and #pictograms >= 1
and #pictograms <= 16
then
result = pictograms [ 1 ]
result = result .. hazardousPictogramsFill ( pictograms, 2 )
result = result .. hazardousPictogramsSkip ( pictograms, 3 )
result = result .. hazardousPictogramsFill ( pictograms, 4 )
result = result .. hazardousPictogramsSkip ( pictograms, 5 )
result = result .. hazardousPictogramsFill ( pictograms, 6 )
result = result .. hazardousPictogramsSkip ( pictograms, 7 )
result = result .. hazardousPictogramsFill ( pictograms, 8 )
result = result .. hazardousPictogramsSkip ( pictograms, 9 )
result = result .. hazardousPictogramsFill ( pictograms, 10 )
result = result .. hazardousPictogramsSkip ( pictograms, 11 )
result = result .. hazardousPictogramsFill ( pictograms, 12 )
result = result .. hazardousPictogramsSkip ( pictograms, 13 )
result = result .. hazardousPictogramsFill ( pictograms, 14 )
result = result .. hazardousPictogramsSkip ( pictograms, 15 )
if ( #pictograms % 2 ) == 1
then
result
= result
.. "\\hspace{.5\\@HazardousPictogramSep}"
.. "\\hspace{.5\\@HazardousPictogramSize}"
.. "\\mbox{}"
end
elseif width == 2.0
and #pictograms >= 1
and #pictograms <= 15
then
result = pictograms [ 1 ]
if ( #pictograms % 3 ) ~= 1
then
result = result .. hazardousPictogramsStep ( pictograms, 2 )
result = result .. hazardousPictogramsSkip ( pictograms, 3 )
result = result .. hazardousPictogramsSkip ( pictograms, 4 )
result = result .. hazardousPictogramsStep ( pictograms, 5 )
result = result .. hazardousPictogramsSkip ( pictograms, 6 )
result = result .. hazardousPictogramsSkip ( pictograms, 7 )
result = result .. hazardousPictogramsStep ( pictograms, 8 )
result = result .. hazardousPictogramsSkip ( pictograms, 9 )
result = result .. hazardousPictogramsSkip ( pictograms, 10 )
result = result .. hazardousPictogramsStep ( pictograms, 11 )
result = result .. hazardousPictogramsSkip ( pictograms, 12 )
result = result .. hazardousPictogramsStep ( pictograms, 13 )
result = result .. hazardousPictogramsStep ( pictograms, 14 )
result = result .. hazardousPictogramsStep ( pictograms, 15 )
else
result = result .. hazardousPictogramsSkip ( pictograms, 2 )
result = result .. hazardousPictogramsStep ( pictograms, 3 )
result = result .. hazardousPictogramsSkip ( pictograms, 4 )
result = result .. hazardousPictogramsSkip ( pictograms, 5 )
result = result .. hazardousPictogramsStep ( pictograms, 6 )
result = result .. hazardousPictogramsSkip ( pictograms, 7 )
result = result .. hazardousPictogramsSkip ( pictograms, 8 )
result = result .. hazardousPictogramsStep ( pictograms, 9 )
result = result .. hazardousPictogramsSkip ( pictograms, 10 )
result = result .. hazardousPictogramsSkip ( pictograms, 11 )
result = result .. hazardousPictogramsStep ( pictograms, 12 )
result = result .. hazardousPictogramsSkip ( pictograms, 13 )
result = result .. hazardousPictogramsSkip ( pictograms, 14 )
result = result .. hazardousPictogramsStep ( pictograms, 15 )
end
elseif width == 2.5
and #pictograms >= 1
and #pictograms <= 15
then
result = pictograms [ 1 ]
result = result .. hazardousPictogramsStep ( pictograms, 2 )
result = result .. hazardousPictogramsFill ( pictograms, 3 )
result = result .. hazardousPictogramsStep ( pictograms, 4 )
result = result .. hazardousPictogramsSkip ( pictograms, 5 )
result = result .. hazardousPictogramsStep ( pictograms, 6 )
result = result .. hazardousPictogramsFill ( pictograms, 7 )
result = result .. hazardousPictogramsStep ( pictograms, 8 )
result = result .. hazardousPictogramsSkip ( pictograms, 9 )
result = result .. hazardousPictogramsStep ( pictograms, 10 )
result = result .. hazardousPictogramsFill ( pictograms, 11 )
result = result .. hazardousPictogramsStep ( pictograms, 12 )
result = result .. hazardousPictogramsSkip ( pictograms, 13 )
result = result .. hazardousPictogramsStep ( pictograms, 14 )
result = result .. hazardousPictogramsFill ( pictograms, 15 )
result = result .. hazardousPictogramsStep ( pictograms, 16 )
result
= result
.. "\\hspace{.5\\@HazardousPictogramSep}"
.. "\\hspace{.5\\@HazardousPictogramSize}"
.. "\\mbox{}"
if ( #pictograms % 2 ) == 1
then
result
= result
.. "\\hspace{.5\\@HazardousPictogramSep}"
.. "\\hspace{.5\\@HazardousPictogramSize}"
.. "\\mbox{}"
end
elseif width == 3.0
and #pictograms >= 1
and #pictograms <= 15
then
result = pictograms [ 1 ]
local rest = ( #pictograms % 5 )
if rest == 2
then
result = result .. hazardousPictogramsStep ( pictograms, 2 )
result = result .. hazardousPictogramsSkip ( pictograms, 3 )
result = result .. hazardousPictogramsStep ( pictograms, 4 )
result = result .. hazardousPictogramsStep ( pictograms, 5 )
result = result .. hazardousPictogramsSkip ( pictograms, 6 )
result = result .. hazardousPictogramsStep ( pictograms, 7 )
result = result .. hazardousPictogramsSkip ( pictograms, 8 )
result = result .. hazardousPictogramsStep ( pictograms, 9 )
result = result .. hazardousPictogramsStep ( pictograms, 10 )
result = result .. hazardousPictogramsSkip ( pictograms, 11 )
result = result .. hazardousPictogramsStep ( pictograms, 12 )
result = result .. hazardousPictogramsSkip ( pictograms, 13 )
result = result .. hazardousPictogramsStep ( pictograms, 14 )
result = result .. hazardousPictogramsStep ( pictograms, 15 )
result = result .. hazardousPictogramsSkip ( pictograms, 16 )
elseif rest == 4
then
result
= result
.. "\\hspace{\\@HazardousPictogramSep}"
.. "\\hspace{\\@HazardousPictogramSize}"
result = result .. hazardousPictogramsStep ( pictograms, 2 )
result = result .. hazardousPictogramsSkip ( pictograms, 3 )
result = result .. hazardousPictogramsStep ( pictograms, 4 )
result = result .. hazardousPictogramsSkip ( pictograms, 5 )
result = result .. hazardousPictogramsStep ( pictograms, 6 )
result = result .. hazardousPictogramsStep ( pictograms, 7 )
result = result .. hazardousPictogramsSkip ( pictograms, 8 )
result = result .. hazardousPictogramsStep ( pictograms, 9 )
result = result .. hazardousPictogramsSkip ( pictograms, 10 )
result = result .. hazardousPictogramsStep ( pictograms, 11 )
result = result .. hazardousPictogramsStep ( pictograms, 12 )
result = result .. hazardousPictogramsSkip ( pictograms, 13 )
result = result .. hazardousPictogramsStep ( pictograms, 14 )
result = result .. hazardousPictogramsSkip ( pictograms, 15 )
result = result .. hazardousPictogramsStep ( pictograms, 16 )
else
result = result .. hazardousPictogramsStep ( pictograms, 2 )
result = result .. hazardousPictogramsStep ( pictograms, 3 )
result = result .. hazardousPictogramsSkip ( pictograms, 4 )
result = result .. hazardousPictogramsStep ( pictograms, 5 )
result = result .. hazardousPictogramsSkip ( pictograms, 6 )
result = result .. hazardousPictogramsStep ( pictograms, 7 )
result = result .. hazardousPictogramsStep ( pictograms, 8 )
result = result .. hazardousPictogramsSkip ( pictograms, 9 )
result = result .. hazardousPictogramsStep ( pictograms, 10 )
result = result .. hazardousPictogramsSkip ( pictograms, 11 )
result = result .. hazardousPictogramsStep ( pictograms, 12 )
result = result .. hazardousPictogramsStep ( pictograms, 13 )
result = result .. hazardousPictogramsSkip ( pictograms, 14 )
result = result .. hazardousPictogramsStep ( pictograms, 15 )
result = result .. hazardousPictogramsSkip ( pictograms, 16 )
end
elseif width == 3.5
and #pictograms >= 1
and #pictograms <= 15
then
result = pictograms [ 1 ]
result = result .. hazardousPictogramsStep ( pictograms, 2 )
result = result .. hazardousPictogramsStep ( pictograms, 3 )
result = result .. hazardousPictogramsFill ( pictograms, 4 )
result = result .. hazardousPictogramsStep ( pictograms, 5 )
result = result .. hazardousPictogramsStep ( pictograms, 6 )
result = result .. hazardousPictogramsSkip ( pictograms, 7 )
result = result .. hazardousPictogramsStep ( pictograms, 8 )
result = result .. hazardousPictogramsStep ( pictograms, 9 )
result = result .. hazardousPictogramsFill ( pictograms, 10 )
result = result .. hazardousPictogramsStep ( pictograms, 11 )
result = result .. hazardousPictogramsStep ( pictograms, 12 )
result = result .. hazardousPictogramsSkip ( pictograms, 13 )
result = result .. hazardousPictogramsStep ( pictograms, 14 )
result = result .. hazardousPictogramsStep ( pictograms, 15 )
result = result .. hazardousPictogramsFill ( pictograms, 16 )
result
= result
.. "\\hspace{.5\\@HazardousPictogramSep}"
.. "\\hspace{.5\\@HazardousPictogramSize}"
.. "\\mbox{}"
if ( #pictograms % 3 ) == 1
then
result
= result
.. "\\hspace{1.5\\@HazardousPictogramSep}"
.. "\\hspace{1.5\\@HazardousPictogramSize}"
.. "\\mbox{}"
end
elseif width == 4.0
and #pictograms >= 1
and #pictograms <= 15
then
local rest = ( #pictograms % 7 )
if rest == 1
then
result = pictograms [ 1 ]
result = result .. hazardousPictogramsStep ( pictograms, 2 )
result = result .. hazardousPictogramsStep ( pictograms, 3 )
result = result .. hazardousPictogramsSkip ( pictograms, 4 )
result
= result
.. "\\hspace{2\\@HazardousPictogramSep}"
.. "\\hspace{2\\@HazardousPictogramSize}"
result = result .. hazardousPictogramsStep ( pictograms, 5 )
result = result .. hazardousPictogramsSkip ( pictograms, 6 )
result = result .. hazardousPictogramsStep ( pictograms, 7 )
result = result .. hazardousPictogramsStep ( pictograms, 8 )
result = result .. hazardousPictogramsSkip ( pictograms, 9 )
result = result .. hazardousPictogramsStep ( pictograms, 10 )
result = result .. hazardousPictogramsStep ( pictograms, 11 )
result = result .. hazardousPictogramsStep ( pictograms, 12 )
result = result .. hazardousPictogramsSkip ( pictograms, 13 )
result = result .. hazardousPictogramsStep ( pictograms, 14 )
result = result .. hazardousPictogramsStep ( pictograms, 15 )
result = result .. hazardousPictogramsSkip ( pictograms, 16 )
result = result .. hazardousPictogramsStep ( pictograms, 17 )
elseif rest == 3
then
result = pictograms [ 1 ]
result = result .. hazardousPictogramsStep ( pictograms, 2 )
result = result .. hazardousPictogramsStep ( pictograms, 3 )
result = result .. hazardousPictogramsSkip ( pictograms, 4 )
result = result .. hazardousPictogramsStep ( pictograms, 5 )
result = result .. hazardousPictogramsStep ( pictograms, 6 )
result = result .. hazardousPictogramsStep ( pictograms, 7 )
result = result .. hazardousPictogramsSkip ( pictograms, 8 )
result = result .. hazardousPictogramsStep ( pictograms, 9 )
result = result .. hazardousPictogramsStep ( pictograms, 10 )
result = result .. hazardousPictogramsSkip ( pictograms, 11 )
result = result .. hazardousPictogramsStep ( pictograms, 12 )
result = result .. hazardousPictogramsStep ( pictograms, 13 )
result = result .. hazardousPictogramsStep ( pictograms, 14 )
result = result .. hazardousPictogramsSkip ( pictograms, 15 )
result = result .. hazardousPictogramsStep ( pictograms, 16 )
result = result .. hazardousPictogramsStep ( pictograms, 17 )
elseif rest == 5
then
result
= result
.. "\\hspace{\\@HazardousPictogramSep}"
.. "\\hspace{\\@HazardousPictogramSize}"
result = pictograms [ 1 ]
result = result .. hazardousPictogramsStep ( pictograms, 2 )
result
= result
.. "\\hspace{\\@HazardousPictogramSep}"
.. "\\hspace{\\@HazardousPictogramSize}"
result = result .. hazardousPictogramsSkip ( pictograms, 3 )
result = result .. hazardousPictogramsStep ( pictograms, 4 )
result = result .. hazardousPictogramsStep ( pictograms, 5 )
result = result .. hazardousPictogramsSkip ( pictograms, 6 )
result = result .. hazardousPictogramsStep ( pictograms, 7 )
result = result .. hazardousPictogramsStep ( pictograms, 8 )
result = result .. hazardousPictogramsStep ( pictograms, 9 )
result = result .. hazardousPictogramsSkip ( pictograms, 10 )
result = result .. hazardousPictogramsStep ( pictograms, 11 )
result = result .. hazardousPictogramsStep ( pictograms, 12 )
result = result .. hazardousPictogramsSkip ( pictograms, 13 )
result = result .. hazardousPictogramsStep ( pictograms, 14 )
result = result .. hazardousPictogramsStep ( pictograms, 15 )
result = result .. hazardousPictogramsStep ( pictograms, 16 )
result = result .. hazardousPictogramsSkip ( pictograms, 17 )
else
result = pictograms [ 1 ]
result = result .. hazardousPictogramsStep ( pictograms, 2 )
result = result .. hazardousPictogramsStep ( pictograms, 3 )
result = result .. hazardousPictogramsStep ( pictograms, 4 )
result = result .. hazardousPictogramsSkip ( pictograms, 5 )
result = result .. hazardousPictogramsStep ( pictograms, 6 )
result = result .. hazardousPictogramsStep ( pictograms, 7 )
result = result .. hazardousPictogramsSkip ( pictograms, 8 )
result = result .. hazardousPictogramsStep ( pictograms, 9 )
result = result .. hazardousPictogramsStep ( pictograms, 10 )
result = result .. hazardousPictogramsStep ( pictograms, 11 )
result = result .. hazardousPictogramsSkip ( pictograms, 12 )
result = result .. hazardousPictogramsStep ( pictograms, 13 )
result = result .. hazardousPictogramsStep ( pictograms, 14 )
result = result .. hazardousPictogramsSkip ( pictograms, 15 )
result = result .. hazardousPictogramsStep ( pictograms, 16 )
result = result .. hazardousPictogramsStep ( pictograms, 17 )
end
else
for index, pictogram in ipairs ( pictograms )
do
result
= result .. pictogram .. "\\hspace{\\@HazardousPictogramSep}"
end
end
if hazardousADRplate
then
result = result .. adrPlate
end
result = "\\makeatletter" .. result .. "\\makeatother"
log.info
(
"hazardousPictograms",
"result: »" .. result .. "«"
)
tex.print ( result )
end
function hazardousPictogramsFill ( pictograms, level )
if #pictograms >= level
then
return "\\hspace{\\@HazardousPictogramSep}"
.. "\\hspace{.5\\@HazardousPictogramSize}"
.. "\\mbox{}"
.. tex.newline .. "[-3\\normalbaselineskip]"
.. "\\hspace{.5\\@HazardousPictogramSize}"
.. "\\mbox{}"
.. pictograms [ level ]
else
return ""
end
end
function hazardousPictogramsSkip ( pictograms, level )
if #pictograms >= level
then
return tex.newline .. "[-3\\normalbaselineskip]" .. pictograms [ level ]
else
return ""
end
end
function hazardousPictogramsStep ( pictograms, level )
if #pictograms >= level
then
return "\\hspace{\\@HazardousPictogramSep}" .. pictograms [ level ]
else
return ""
end
end
function hazardousSignal ( hazardousData )
tex.print ( ghsSignal ( hazardousData.ghs ) )
end
function hazardousStatements ( hazardousData )
ghsStatements ( hazardousData.ghs )
end
function hazardousTitle ( hazardousData )
local sources = ""
if citations == true
then
for index, source in ipairs ( hazardousData.sources )
do
sources = sources .. "\\cite{" .. tostring ( source ) .. "}"
end
end
local result = hazardousData.title .. sources
if hazardousData.label ~= ""
then
result = hypertarget ( hazardousData.label ) .. result
end
tex.print ( result )
end
function hazardousUFIorCASident ( hazardousData )
if hazardousData.ufIdentifier == nil
or hazardousData.ufIdentifier == ""
then
tex.print ( hazardousData.casNumber )
end
end
function hazardousUFIorCAStitle ( hazardousData )
if hazardousData.ufIdentifier == nil
or hazardousData.ufIdentifier == ""
then
-- EG is german, EC is english, …
tex.print ( "CAS:~" )
else
tex.print ( "" )
end
end
function hazardousUFIorECident ( hazardousData )
if hazardousData.ufIdentifier == nil
or hazardousData.ufIdentifier == ""
then
tex.print ( hazardousData.ecNumber )
else
tex.print ( hazardousData.ufIdentifier )
end
end
function hazardousUFIorECtitle ( hazardousData )
if hazardousData.ufIdentifier == nil
or hazardousData.ufIdentifier == ""
then
-- EG is german, EC is english, …
tex.print ( "EG-Nr:~" )
else
tex.print ( "UFI:~" )
end
end