metanorma-bipm 0.0.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +62 -0
- data/README.adoc +7 -109
- data/lib/asciidoctor/bipm/bipm.rng +225 -24
- data/lib/asciidoctor/bipm/boilerplate-en.xml +2 -3
- data/lib/asciidoctor/bipm/boilerplate-fr.xml +3 -4
- data/lib/asciidoctor/bipm/converter.rb +139 -15
- data/lib/asciidoctor/bipm/isodoc.rng +29 -44
- data/lib/isodoc/bipm/base_convert.rb +47 -0
- data/lib/isodoc/bipm/bipm.brochure.xsl +2469 -626
- data/lib/isodoc/bipm/bipm.guide.xsl +7290 -0
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +7290 -0
- data/lib/isodoc/bipm/bipm.rapport.xsl +7290 -0
- data/lib/isodoc/bipm/html/html_bipm_titlepage.html +35 -4
- data/lib/isodoc/bipm/html/htmlstyle.css +57 -63
- data/lib/isodoc/bipm/html/htmlstyle.scss +53 -77
- data/lib/isodoc/bipm/html/si-aspect/A_e.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/A_e_deltanu.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/K_k.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/K_k_deltanu_h.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/cd_Kcd.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/cd_Kcd_h_deltanu.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/full.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/kg_h.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/kg_h_c_deltanu.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/m_c.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/m_c_deltanu.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/mol_NA.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/s_deltanu.png +0 -0
- data/lib/isodoc/bipm/html_convert.rb +32 -0
- data/lib/isodoc/bipm/i18n-en.yaml +7 -0
- data/lib/isodoc/bipm/i18n-fr.yaml +16 -0
- data/lib/isodoc/bipm/metadata.rb +34 -10
- data/lib/isodoc/bipm/pdf_convert.rb +20 -1
- data/lib/isodoc/bipm/presentation_xml_convert.rb +102 -7
- data/lib/isodoc/bipm/xref.rb +138 -3
- data/lib/metanorma/bipm.rb +7 -0
- data/lib/metanorma/bipm/fonts_manifest.yaml +7 -0
- data/lib/metanorma/bipm/version.rb +1 -1
- data/metanorma-bipm.gemspec +1 -2
- data/metanorma.yml +42 -1
- metadata +22 -21
- data/.github/workflows/macos.yml +0 -38
- data/.github/workflows/ubuntu.yml +0 -56
- data/.github/workflows/windows.yml +0 -40
@@ -1,4 +1,20 @@
|
|
1
1
|
annex: Annexe
|
2
|
+
appendix: Appendice
|
3
|
+
see: voir
|
4
|
+
clause: chapître
|
5
|
+
subclause: section
|
6
|
+
formula: équation
|
7
|
+
inequality: inégalité
|
8
|
+
bibliography: Références
|
9
|
+
note_xref: note
|
10
|
+
termnote: note % à l’article
|
11
|
+
list: liste
|
12
|
+
figure: figure
|
13
|
+
table: tableau
|
14
|
+
requirement: exigence
|
15
|
+
recommendation: recommandation
|
16
|
+
permission: autorisation
|
17
|
+
example_xref: exemple
|
2
18
|
doctype_dict:
|
3
19
|
brochure: brochure
|
4
20
|
mise-en-pratique: mise-en-pratique
|
data/lib/isodoc/bipm/metadata.rb
CHANGED
@@ -7,17 +7,34 @@ module IsoDoc
|
|
7
7
|
Metanorma::BIPM.configuration
|
8
8
|
end
|
9
9
|
|
10
|
+
SI_ASPECT = %w(A_e_deltanu A_e cd_Kcd_h_deltanu cd_Kcd full K_k_deltanu
|
11
|
+
K_k kg_h_c_deltanu kg_h m_c_deltanu m_c mol_NA s_deltanu).freeze
|
12
|
+
|
13
|
+
def initialize(lang, script, labels)
|
14
|
+
super
|
15
|
+
here = File.join(File.dirname(__FILE__), "html", "si-aspect")
|
16
|
+
si_paths = []
|
17
|
+
SI_ASPECT.each do |s|
|
18
|
+
si_paths << File.expand_path(File.join(here, "#{s}.png"))
|
19
|
+
end
|
20
|
+
set(:si_aspect_index, SI_ASPECT)
|
21
|
+
set(:si_aspect_paths, si_paths)
|
22
|
+
end
|
23
|
+
|
24
|
+
TITLE = "//bibdata/title".freeze
|
25
|
+
|
10
26
|
def title(isoxml, _out)
|
11
|
-
lang1 = @lang == "fr" ?
|
12
|
-
lang2 = @lang == "fr" ? "en" : "fr"
|
27
|
+
lang1, lang2 = @lang == "fr" ? %w(fr en) : %w(en fr)
|
13
28
|
set(:doctitle, @c.encode(isoxml&.at(
|
14
|
-
ns("
|
29
|
+
ns("#{TITLE}[@type='main'][@language='#{lang1}']"))&.text || ""))
|
15
30
|
set(:docsubtitle, @c.encode(isoxml&.at(
|
16
|
-
ns("
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
31
|
+
ns("#{TITLE}[@type='main'][@language='#{lang2}']"))&.text || ""))
|
32
|
+
%w(appendix part subtitle).each do |e|
|
33
|
+
set("#{e}title".to_sym, @c.encode(isoxml&.at(
|
34
|
+
ns("#{TITLE}[@type='#{e}'][@language='#{lang1}']"))&.text || ""))
|
35
|
+
set("#{e}subtitle".to_sym, @c.encode(isoxml&.at(
|
36
|
+
ns("#{TITLE}[@type='#{e}'][@language='#{lang2}']"))&.text || ""))
|
37
|
+
end
|
21
38
|
end
|
22
39
|
|
23
40
|
def status_print(status)
|
@@ -30,11 +47,18 @@ module IsoDoc
|
|
30
47
|
|
31
48
|
def docid(isoxml, _out)
|
32
49
|
super
|
33
|
-
label1 = @lang == "fr" ?
|
34
|
-
label2 = @lang == "fr" ? "Appendix" : "Annexe"
|
50
|
+
label1, label2 = @lang == "fr" ? %w(Annexe Appendix) : %w(Appendix Annexe)
|
35
51
|
dn = isoxml.at(ns("//bibdata/ext/structuredidentifier/appendix"))
|
36
52
|
dn and set(:appendixid, @i18n.l10n("#{label1} #{dn&.text}"))
|
37
53
|
dn and set(:appendixid_alt, @i18n.l10n("#{label2} #{dn&.text}"))
|
54
|
+
label1, label2 = @lang == "fr" ? %w(Partie Part) : %w(Part Partie)
|
55
|
+
dn = isoxml.at(ns("//bibdata/ext/structuredidentifier/part"))
|
56
|
+
dn and set(:partid, @i18n.l10n("#{label1} #{dn&.text}"))
|
57
|
+
dn and set(:partid_alt, @i18n.l10n("#{label2} #{dn&.text}"))
|
58
|
+
end
|
59
|
+
|
60
|
+
def extract_person_names_affiliations(authors)
|
61
|
+
extract_person_affiliations(authors)
|
38
62
|
end
|
39
63
|
end
|
40
64
|
end
|
@@ -10,8 +10,27 @@ module IsoDoc
|
|
10
10
|
super
|
11
11
|
end
|
12
12
|
|
13
|
+
def configuration
|
14
|
+
Metanorma::BIPM.configuration
|
15
|
+
end
|
16
|
+
|
13
17
|
def pdf_stylesheet(docxml)
|
14
|
-
"
|
18
|
+
doctype = docxml&.at(ns("//bibdata/ext/doctype"))&.text
|
19
|
+
doctype = "brochure" unless %w(guide mise-en-pratique rapport).
|
20
|
+
include? doctype
|
21
|
+
"bipm.#{doctype}.xsl"
|
22
|
+
end
|
23
|
+
|
24
|
+
def pdf_options(docxml)
|
25
|
+
if docxml.root.name == "metanorma-collection" &&
|
26
|
+
docxml.at("//m:bipm-standard/m:bibdata/m:language[@current = 'true'][. = 'fr']",
|
27
|
+
"m" => configuration.document_namespace) &&
|
28
|
+
docxml.at("//m:bipm-standard/m:bibdata/m:language[@current = 'true'][. = 'en']",
|
29
|
+
"m" => configuration.document_namespace)
|
30
|
+
"--split-by-language"
|
31
|
+
else
|
32
|
+
super
|
33
|
+
end
|
15
34
|
end
|
16
35
|
end
|
17
36
|
end
|
@@ -9,19 +9,114 @@ module IsoDoc
|
|
9
9
|
return if labelled_ancestor(f)
|
10
10
|
return if f["unnumbered"] && !f.at(ns("./name"))
|
11
11
|
n = @xrefs.anchor(f['id'], :label, false)
|
12
|
-
prefix_name(f, ".<tab/>", l10n("#{@i18n.table} #{n}"), "name")
|
12
|
+
prefix_name(f, ".<tab/>", l10n("#{@i18n.table.capitalize} #{n}"), "name")
|
13
13
|
end
|
14
14
|
|
15
15
|
def annex1(f)
|
16
|
-
|
17
|
-
|
18
|
-
t
|
16
|
+
return if f["unnumbered"] == "true"
|
17
|
+
lbl = @xrefs.anchor(f['id'], :label)
|
18
|
+
if t = f.at(ns("./title"))
|
19
|
+
t.children = "<strong>#{t.children.to_xml}</strong>"
|
20
|
+
end
|
21
|
+
prefix_name(f, ".<tab/>", lbl, "title")
|
22
|
+
end
|
23
|
+
|
24
|
+
def clause1(f)
|
25
|
+
return if f["unnumbered"] == "true"
|
26
|
+
return if f.at(("./ancestor::*[@unnumbered = 'true']"))
|
27
|
+
super
|
28
|
+
end
|
29
|
+
|
30
|
+
def conversions(docxml)
|
31
|
+
super
|
32
|
+
doccontrol docxml
|
33
|
+
end
|
34
|
+
|
35
|
+
def doccontrol docxml
|
36
|
+
return unless docxml.at(ns("//bibdata/relation[@type = 'supersedes']"))
|
37
|
+
clause = <<~END
|
38
|
+
<doccontrol>
|
39
|
+
<title>Document Control</title>
|
40
|
+
<table unnumbered="true"><tbody>
|
41
|
+
<tr><td>Authors:</td><td/><td>#{list_authors(docxml)}</td></tr>
|
42
|
+
<tr>#{list_draft(docxml, 1)&.map { |x| "<td>#{x}</td>" }&.join }
|
43
|
+
<td>#{list_cochairs(docxml)}</td></tr>
|
44
|
+
<tr>#{list_draft(docxml, 2)&.map { |x| "<td>#{x}</td>" }&.join }
|
45
|
+
<td>#{list_chairs(docxml)}</td></tr>
|
46
|
+
#{list_drafts(docxml)}
|
47
|
+
</tbody></table></doccontrol>
|
48
|
+
END
|
49
|
+
docxml.root << clause
|
50
|
+
end
|
51
|
+
|
52
|
+
def list_drafts(xml)
|
53
|
+
ret = ""
|
54
|
+
i = 3
|
55
|
+
while a = list_draft(xml, i)
|
56
|
+
ret += "<tr>#{list_draft(xml, i).map { |x| "<td>#{x}</td>" }.join }"\
|
57
|
+
"<td/></tr>"
|
58
|
+
i += 1
|
59
|
+
end
|
60
|
+
ret
|
61
|
+
end
|
62
|
+
|
63
|
+
def list_draft(xml, i)
|
64
|
+
return unless d =
|
65
|
+
xml.at(ns("//bibdata/relation[@type = 'supersedes'][#{i}]/bibitem"))
|
66
|
+
date = d&.at(ns("./date"))&.text
|
67
|
+
draft = d&.at(ns("./version/draft"))&.text and
|
68
|
+
draft = "Draft #{draft}"
|
69
|
+
edn = d&.at(ns("./edition"))&.text and
|
70
|
+
edn = "Edition #{edn}"
|
71
|
+
[date, [draft, edn].join(" ")]
|
72
|
+
end
|
73
|
+
|
74
|
+
def list_authors(xml)
|
75
|
+
ret = list_people(
|
76
|
+
xml, "//bibdata/contributor[xmlns:role/@type = 'author']/person")
|
77
|
+
@i18n.multiple_and(ret, @i18n.get["and"])
|
78
|
+
end
|
79
|
+
|
80
|
+
COCHAIR = "xmlns:role[contains(text(),'co-chair')]".freeze
|
81
|
+
CHAIR = "[xmlns:role[contains(text(),'chair')]"\
|
82
|
+
"[not(contains(text(),'co-chair'))]]".freeze
|
83
|
+
|
84
|
+
def list_cochairs(xml)
|
85
|
+
ret = list_people(xml, "//bibdata/contributor[#{COCHAIR}]/person")
|
86
|
+
role = xml&.at(ns("//bibdata/contributor[#{COCHAIR}]/role"))&.text
|
87
|
+
label = ret.size > 1 && role ? "#{role}s" : role
|
88
|
+
"#{label}: #{@i18n.multiple_and(ret, @i18n.get["and"])}"
|
89
|
+
end
|
90
|
+
|
91
|
+
def list_chairs(xml)
|
92
|
+
ret = list_people(xml, "//bibdata/contributor#{CHAIR}/person")
|
93
|
+
role = xml&.at(ns("//bibdata/contributor#{CHAIR}/role"))&.text
|
94
|
+
label = ret.size > 1 && role ? "#{role}s" : role
|
95
|
+
"#{label}: #{@i18n.multiple_and(ret, @i18n.get["and"])}"
|
96
|
+
end
|
97
|
+
|
98
|
+
def list_people(xml, xpath)
|
99
|
+
ret = []
|
100
|
+
xml.xpath(ns(xpath)).each do |p|
|
101
|
+
name = p&.at(ns("./name/completename"))&.text
|
102
|
+
aff = p&.at(ns("./affiliation/organization/abbreviation"))&.text ||
|
103
|
+
p&.at(ns("./affiliation/organization/name"))&.text
|
104
|
+
c = name || ""
|
105
|
+
aff and c += " (#{aff})"
|
106
|
+
ret << c
|
107
|
+
end
|
108
|
+
ret
|
109
|
+
end
|
110
|
+
|
111
|
+
def twitter_cldr_localiser_symbols
|
112
|
+
{ group: " ", fraction_group: " ", fraction_group_digits: 3 }
|
113
|
+
end
|
114
|
+
|
115
|
+
def mathml1(f, locale)
|
116
|
+
localize_maths(f, locale)
|
19
117
|
end
|
20
|
-
prefix_name(f, ".<tab/>", lbl, "title")
|
21
|
-
end
|
22
118
|
|
23
119
|
include Init
|
24
120
|
end
|
25
121
|
end
|
26
122
|
end
|
27
|
-
|
data/lib/isodoc/bipm/xref.rb
CHANGED
@@ -1,15 +1,150 @@
|
|
1
1
|
module IsoDoc
|
2
2
|
module BIPM
|
3
3
|
class Xref < IsoDoc::Xref
|
4
|
+
def initialize(lang, script, klass, i18n, options = {})
|
5
|
+
super
|
6
|
+
end
|
7
|
+
|
8
|
+
def clause_names(docxml, sect_num)
|
9
|
+
sect_num = 0
|
10
|
+
docxml.xpath(ns("//sections/clause[not(@unnumbered = 'true')] | "\
|
11
|
+
"//sections/terms[not(@unnumbered = 'true')] | "\
|
12
|
+
"//sections/definitions[not(@unnumbered = 'true')]")).
|
13
|
+
each_with_index do |c, i|
|
14
|
+
section_names(c, (i + sect_num), 1)
|
15
|
+
end
|
16
|
+
docxml.xpath(ns("//sections/clause[@unnumbered = 'true'] | "\
|
17
|
+
"//sections/terms[@unnumbered = 'true'] | "\
|
18
|
+
"//sections/definitions[@unnumbered = 'true']")).
|
19
|
+
each do |c|
|
20
|
+
unnumbered_section_names(c, 1)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
NUMBERED_SUBCLAUSES = "./clause[not(@unnumbered = 'true')] | "\
|
25
|
+
"./references[not(@unnumbered = 'true')] | "\
|
26
|
+
"./term[not(@unnumbered = 'true')] | "\
|
27
|
+
"./terms[not(@unnumbered = 'true')] | "\
|
28
|
+
"./definitions[not(@unnumbered = 'true')]".freeze
|
29
|
+
|
30
|
+
UNNUMBERED_SUBCLAUSES = "./clause[@unnumbered = 'true'] | "\
|
31
|
+
"./references[@unnumbered = 'true'] | "\
|
32
|
+
"./term[@unnumbered = 'true'] | "\
|
33
|
+
"./terms[@unnumbered = 'true'] | "\
|
34
|
+
"./definitions[@unnumbered = 'true']".freeze
|
35
|
+
|
36
|
+
def section_names(clause, num, lvl)
|
37
|
+
return num if clause.nil?
|
38
|
+
num = num + 1
|
39
|
+
@anchors[clause["id"]] =
|
40
|
+
{ label: num.to_s, xref: l10n("#{@labels["clause"]} #{num}"),
|
41
|
+
level: lvl, type: "clause" }
|
42
|
+
clause.xpath(ns(NUMBERED_SUBCLAUSES)).each_with_index do |c, i|
|
43
|
+
section_names1(c, "#{num}.#{i + 1}", lvl + 1)
|
44
|
+
end
|
45
|
+
clause.xpath(ns(UNNUMBERED_SUBCLAUSES)).each_with_index do |c, i|
|
46
|
+
unnumbered_section_names1(c, lvl + 1)
|
47
|
+
end
|
48
|
+
num
|
49
|
+
end
|
50
|
+
|
51
|
+
def unnumbered_section_names(clause, lvl)
|
52
|
+
return if clause.nil?
|
53
|
+
lbl = clause&.at(ns("./title"))&.text || "[#{clause["id"]}]"
|
54
|
+
@anchors[clause["id"]] =
|
55
|
+
{ label: lbl, xref: l10n(%{"#{lbl}"}), level: lvl, type: "clause" }
|
56
|
+
clause.xpath(ns(SUBCLAUSES)).each_with_index do |c, i|
|
57
|
+
unnumbered_section_names1(c, lvl + 1)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
def section_names1(clause, num, level)
|
62
|
+
@anchors[clause["id"]] =
|
63
|
+
{ label: num, level: level, xref: l10n("#{@labels["subclause"]} #{num}"),
|
64
|
+
type: "clause" }
|
65
|
+
clause.xpath(ns(NUMBERED_SUBCLAUSES)).each_with_index do |c, i|
|
66
|
+
section_names1(c, "#{num}.#{i + 1}", level + 1)
|
67
|
+
end
|
68
|
+
clause.xpath(ns(UNNUMBERED_SUBCLAUSES)).each_with_index do |c, i|
|
69
|
+
unnumbered_section_names1(c, lvl + 1)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
def unnumbered_section_names1(clause, level)
|
74
|
+
lbl = clause&.at(ns("./title"))&.text || "[#{clause["id"]}]"
|
75
|
+
@anchors[clause["id"]] =
|
76
|
+
{ label: lbl, xref: l10n(%{"#{lbl}"}), level: level, type: "clause" }
|
77
|
+
clause.xpath(ns(SUBCLAUSES)).each do |c|
|
78
|
+
unnumbered_section_names1(c, level + 1)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
4
82
|
def back_anchor_names(docxml)
|
5
83
|
super
|
6
|
-
docxml.
|
7
|
-
|
84
|
+
@annexlbl = docxml.at(ns("//bibdata/ext/structuredidentifier/appendix")) ?
|
85
|
+
@labels["appendix"] : @labels["annex"]
|
86
|
+
docxml.xpath(ns("//annex[not(@unnumbered = 'true')]")).
|
87
|
+
each_with_index { |c, i| annex_names(c, (i+1).to_s) }
|
88
|
+
docxml.xpath(ns("//annex[@unnumbered = 'true']")).
|
89
|
+
each { |c| unnumbered_annex_names(c) }
|
90
|
+
end
|
91
|
+
|
92
|
+
def annex_names(clause, num)
|
93
|
+
@anchors[clause["id"]] =
|
94
|
+
{ label: annex_name_lbl(clause, num), type: "clause", value: num.to_s,
|
95
|
+
xref: l10n("#{@annexlbl} #{num}"), level: 1 }
|
96
|
+
if a = single_annex_special_section(clause)
|
97
|
+
annex_names1(a, "#{num}", 1)
|
98
|
+
else
|
99
|
+
clause.xpath(ns(NUMBERED_SUBCLAUSES)).each_with_index do |c, i|
|
100
|
+
annex_names1(c, "#{num}.#{i + 1}", 2)
|
101
|
+
end
|
102
|
+
clause.xpath(ns(UNNUMBERED_SUBCLAUSES)).each do |c|
|
103
|
+
unnumbered_annex_names1(c, 2)
|
104
|
+
end
|
105
|
+
end
|
106
|
+
hierarchical_asset_names(clause, num)
|
107
|
+
end
|
108
|
+
|
109
|
+
def unnumbered_annex_names(clause)
|
110
|
+
lbl = clause&.at(ns("./title"))&.text || "[#{clause["id"]}]"
|
111
|
+
@anchors[clause["id"]] =
|
112
|
+
{ label: lbl, type: "clause", value: "",
|
113
|
+
xref: l10n(%{"#{lbl}"}), level: 1 }
|
114
|
+
if a = single_annex_special_section(clause)
|
115
|
+
annex_names1(a, "#{num}", 1)
|
116
|
+
else
|
117
|
+
clause.xpath(ns(SUBCLAUSES)).each do |c|
|
118
|
+
unnumbered_annex_names1(c, 2)
|
119
|
+
end
|
120
|
+
end
|
121
|
+
hierarchical_asset_names(clause, lbl)
|
122
|
+
end
|
123
|
+
|
124
|
+
def annex_names1(clause, num, level)
|
125
|
+
@anchors[clause["id"]] =
|
126
|
+
{ label: num, xref: l10n("#{@annexlbl} #{num}"),
|
127
|
+
level: level, type: "clause" }
|
128
|
+
clause.xpath(ns(NUMBERED_SUBCLAUSES)).each_with_index do |c, i|
|
129
|
+
annex_names1(c, "#{num}.#{i + 1}", level + 1)
|
130
|
+
end
|
131
|
+
clause.xpath(ns(UNNUMBERED_SUBCLAUSES)).each do |c|
|
132
|
+
unnumbered_annex_names1(c, level + 1)
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
def unnumbered_annex_names1(clause, level)
|
137
|
+
lbl = clause&.at(ns("./title"))&.text || "[#{clause["id"]}]"
|
138
|
+
@anchors[clause["id"]] =
|
139
|
+
{ label: lbl, xref: l10n(%{"#{lbl}"}),
|
140
|
+
level: level, type: "clause" }
|
141
|
+
clause.xpath(ns(SUBCLAUSES)).each do |c|
|
142
|
+
unnumbered_annex_names1(c, level + 1)
|
8
143
|
end
|
9
144
|
end
|
10
145
|
|
11
146
|
def annex_name_lbl(clause, num)
|
12
|
-
l10n("<strong>#{@
|
147
|
+
l10n("<strong>#{@annexlbl} #{num}</strong>")
|
13
148
|
end
|
14
149
|
end
|
15
150
|
end
|
data/lib/metanorma/bipm.rb
CHANGED
@@ -4,6 +4,13 @@ require "metanorma/bipm/processor"
|
|
4
4
|
|
5
5
|
module Metanorma
|
6
6
|
module BIPM
|
7
|
+
def self.fonts_used
|
8
|
+
{
|
9
|
+
html: ["Times New Roman", "STIX", "Courier New"],
|
10
|
+
pdf: ["Arial", "Times New Roman", "Work Sans", "STIX"]
|
11
|
+
}
|
12
|
+
end
|
13
|
+
|
7
14
|
class Configuration < Metanorma::Generic::Configuration
|
8
15
|
def initialize(*args)
|
9
16
|
super
|
data/metanorma-bipm.gemspec
CHANGED
@@ -26,8 +26,7 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.require_paths = ["lib"]
|
27
27
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
|
28
28
|
|
29
|
-
spec.add_dependency "metanorma-generic", "~> 1.
|
30
|
-
spec.add_dependency "isodoc", "~> 1.2.0"
|
29
|
+
spec.add_dependency "metanorma-generic", "~> 1.8.0"
|
31
30
|
|
32
31
|
spec.add_development_dependency "byebug", "~> 9.1"
|
33
32
|
spec.add_development_dependency "sassc", "2.4.0"
|
data/metanorma.yml
CHANGED
@@ -1,8 +1,14 @@
|
|
1
1
|
metanorma_name: bipm
|
2
2
|
organization_name_short: BIPM
|
3
|
-
organization_name_long:
|
3
|
+
organization_name_long:
|
4
|
+
fr: Bureau international des poids et mesures
|
5
|
+
en: Bureau International des Poids et Mesures
|
4
6
|
document_namespace: https://www.metanorma.org/ns/bipm
|
5
7
|
xml_root_tag: 'bipm-standard'
|
8
|
+
html_bodyfont: Times New Roman
|
9
|
+
html_headerfont: Times New Roman
|
10
|
+
html_normalfontsize: "15px"
|
11
|
+
html_footnotefontsize: "0.9em"
|
6
12
|
logo_path: lib/isodoc/bipm/html/logo.png
|
7
13
|
i18nyaml:
|
8
14
|
en: lib/isodoc/bipm/i18n-en.yaml
|
@@ -39,23 +45,57 @@ doctypes:
|
|
39
45
|
default_doctype: brochure
|
40
46
|
committees:
|
41
47
|
- CGPM
|
48
|
+
- General Conference on Weights and Measures
|
49
|
+
- Conférence générale des poids et mesures
|
42
50
|
- CIPM
|
51
|
+
- International Committee for Weights and Measures
|
52
|
+
- Comité international des poids et mesures
|
43
53
|
- BIPM
|
54
|
+
- International Bureau of Weights and Measures
|
55
|
+
- Bureau International des Poids et Mesures
|
44
56
|
- CCAUV
|
57
|
+
- Consultative Committee for Acoustics, Ultrasound and Vibration
|
58
|
+
- Comité consultatif de l'acoustique, des ultrasons et des vibrations
|
45
59
|
- CCEM
|
60
|
+
- Consultative Committee for Electricity and Magnetism
|
61
|
+
- Comité consultatif d'électricité et magnétisme
|
46
62
|
- CCL
|
63
|
+
- Consultative Committee for Length
|
64
|
+
- Comité consultatif des longueurs
|
47
65
|
- CCM
|
66
|
+
- Consultative Committee for Mass and Related Quantities
|
67
|
+
- Comité consultatif pour la masse et les grandeurs apparentées
|
48
68
|
- CCPR
|
69
|
+
- Consultative Committee for Photometry and Radiometry
|
70
|
+
- Comité consultatif de photométrie et radiométrie
|
49
71
|
- CCQM
|
72
|
+
- "Consultative Committee for Amount of Substance: Metrology in Chemistry and Biology"
|
73
|
+
- "Comité consultatif pour la quantité de matière : métrologie en chimie et biologie"
|
50
74
|
- CCRI
|
75
|
+
- Consultative Committee for Ionizing Radiation
|
76
|
+
- Comité consultatif des rayonnements ionisants
|
51
77
|
- CCT
|
78
|
+
- Consultative Committee for Thermometry
|
79
|
+
- Comité consultatif de thermométrie
|
52
80
|
- CCTF
|
81
|
+
- Consultative Committee for Time and Frequency
|
82
|
+
- Comité consultatif du temps et des fréquences
|
53
83
|
- CCU
|
84
|
+
- Consultative Committee for Units
|
85
|
+
- Comité consultatif des unités
|
54
86
|
- CCL-CCT
|
87
|
+
- Frequency Standards Working Group
|
55
88
|
- JCGM
|
89
|
+
- Joint Committee for Guides in Metrology
|
90
|
+
- Comité commun pour les guides en métrologie
|
56
91
|
- JCRB
|
92
|
+
- Joint Committee of the Regional Metrology Organizations and the BIPM
|
93
|
+
- Comité mixte des organisations régionales de métrologie et du BIPM
|
57
94
|
- JCTLM
|
95
|
+
- Joint Committee for Traceability in Laboratory Medicine
|
96
|
+
- Comité commun pour la traçabilité en médecine de laboratoire
|
58
97
|
- INetQI
|
98
|
+
- International Network on Quality Infrastructure
|
59
99
|
metadata_extensions:
|
60
100
|
comment-period:
|
61
101
|
comment-period-from:
|
@@ -63,6 +103,7 @@ metadata_extensions:
|
|
63
103
|
comment-period-to:
|
64
104
|
_output: to
|
65
105
|
si-aspect:
|
106
|
+
meeting-note:
|
66
107
|
structuredidentifier:
|
67
108
|
docnumber:
|
68
109
|
partnumber:
|