metanorma-generic 1.11.0 → 2.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 +4 -32
- data/.gitignore +10 -0
- data/README.adoc +1 -1
- data/lib/asciidoctor/generic/converter.rb +2 -182
- data/lib/asciidoctor/generic/deprecated.rb +5 -0
- data/lib/asciidoctor/generic/front.rb +2 -107
- data/lib/asciidoctor/generic.rb +2 -6
- data/lib/isodoc/generic/base_convert.rb +4 -3
- data/lib/isodoc/generic/html/generic.scss +0 -1
- data/lib/isodoc/generic/html/htmlstyle.scss +14 -11
- data/lib/isodoc/generic/html/scripts.html +0 -1
- data/lib/isodoc/generic/html/wordstyle.scss +30 -18
- data/lib/{asciidoctor → metanorma}/generic/basicdoc.rng +0 -0
- data/lib/{asciidoctor → metanorma}/generic/biblio.rng +0 -0
- data/lib/metanorma/generic/converter.rb +183 -0
- data/lib/metanorma/generic/front.rb +108 -0
- data/lib/{asciidoctor → metanorma}/generic/generic.rng +0 -0
- data/lib/{asciidoctor → metanorma}/generic/isodoc.rng +102 -19
- data/lib/{asciidoctor → metanorma}/generic/reqt.rng +0 -0
- data/lib/{asciidoctor → metanorma}/generic/rsd.rng +0 -0
- data/lib/metanorma/generic/version.rb +1 -1
- data/lib/metanorma/generic.rb +10 -21
- data/lib/metanorma-generic.rb +1 -1
- data/metanorma-generic.gemspec +2 -2
- data/metanorma.yml.example +1 -1
- metadata +19 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 91c4626d9d39c2843137aa04fa40e29b206aad99af497bd4557db2904b6a0333
|
4
|
+
data.tar.gz: 3e17cf92b1ad8a9c6af1d72f74206b1f01399a1676806642cc7e78bb34110dde
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53c631bd4b142112021e756af04905964939d6ec3e8536df15660f0738ddc632640fde87a6059f67db7c78da520d1eb74931eb2ccf76e1adb7a471d3ab4f6fbe
|
7
|
+
data.tar.gz: 4dc996318a1ed6e42db1ef3532f980de7f3462c087b064f084b2eaa15759456dc02dfc6da6676dcc708a1180e053c1b68ae7bce4d21d459d4ab4ea7c92be97a5
|
data/.github/workflows/rake.yml
CHANGED
@@ -9,35 +9,7 @@ on:
|
|
9
9
|
pull_request:
|
10
10
|
|
11
11
|
jobs:
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
strategy:
|
17
|
-
fail-fast: false
|
18
|
-
matrix:
|
19
|
-
ruby: [ '3.0', '2.7', '2.6', '2.5' ]
|
20
|
-
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
21
|
-
experimental: [ false ]
|
22
|
-
steps:
|
23
|
-
- uses: actions/checkout@v2
|
24
|
-
with:
|
25
|
-
submodules: true
|
26
|
-
|
27
|
-
- uses: ruby/setup-ruby@v1
|
28
|
-
with:
|
29
|
-
ruby-version: ${{ matrix.ruby }}
|
30
|
-
bundler-cache: true
|
31
|
-
|
32
|
-
- run: bundle exec rake
|
33
|
-
|
34
|
-
tests-passed:
|
35
|
-
needs: rake
|
36
|
-
runs-on: ubuntu-latest
|
37
|
-
steps:
|
38
|
-
- uses: peter-evans/repository-dispatch@v1
|
39
|
-
with:
|
40
|
-
token: ${{ secrets.METANORMA_CI_PAT_TOKEN || secrets.GITHUB_TOKEN }}
|
41
|
-
repository: ${{ github.repository }}
|
42
|
-
event-type: tests-passed
|
43
|
-
client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
|
12
|
+
notify:
|
13
|
+
uses: metanorma/metanorma-build-scripts/.github/workflows/mn-processor-rake.yml@main
|
14
|
+
secrets:
|
15
|
+
pat_token: ${{ secrets.METANORMA_CI_PAT_TOKEN }}
|
data/.gitignore
CHANGED
data/README.adoc
CHANGED
@@ -31,7 +31,7 @@ Metanorma::Generic.configure do |config|
|
|
31
31
|
config.document_namespace = 'https://open.ribose.com/standards/mine'
|
32
32
|
config.xml_root_tag = 'mine-standard'
|
33
33
|
config.logo_path = '/metanorma-mine/lib/isodoc/mine/html/logo.jpg'
|
34
|
-
config.validate_rng_file = '/metanorma-mine/lib/
|
34
|
+
config.validate_rng_file = '/metanorma-mine/lib/metanorma/mine/mine.rng'
|
35
35
|
config.htmlcoverpage = '/metanorma-mine/lib/isodoc/mine/html/html_mine_titlepage.html'
|
36
36
|
config.htmlintropage = '/metanorma-mine/lib/isodoc/mine/html/html_mine_intro.html'
|
37
37
|
config.htmlstylesheet = '/metanorma-mine/lib/isodoc/mine/html/htmlstyle.scss'
|
@@ -1,183 +1,3 @@
|
|
1
|
-
require "asciidoctor"
|
2
|
-
require "
|
3
|
-
require "fileutils"
|
4
|
-
require_relative "front"
|
1
|
+
require "asciidoctor/generic/deprecated"
|
2
|
+
require "metanorma/generic/converter"
|
5
3
|
|
6
|
-
module Asciidoctor
|
7
|
-
module Generic
|
8
|
-
class Converter < Standoc::Converter
|
9
|
-
XML_ROOT_TAG = "generic-standard".freeze
|
10
|
-
XML_NAMESPACE = "https://www.metanorma.org/ns/generic".freeze
|
11
|
-
|
12
|
-
register_for "generic"
|
13
|
-
|
14
|
-
def xml_root_tag
|
15
|
-
configuration.xml_root_tag || XML_ROOT_TAG
|
16
|
-
end
|
17
|
-
|
18
|
-
def xml_namespace
|
19
|
-
configuration.document_namespace || XML_NAMESPACE
|
20
|
-
end
|
21
|
-
|
22
|
-
def baselocation(loc)
|
23
|
-
return nil if loc.nil?
|
24
|
-
|
25
|
-
return loc
|
26
|
-
File.expand_path(File.join(File.dirname(
|
27
|
-
self.class::_file || __FILE__,
|
28
|
-
), "..", "..", "..", loc))
|
29
|
-
end
|
30
|
-
|
31
|
-
def docidentifier_cleanup(xmldoc)
|
32
|
-
template = configuration.docid_template ||
|
33
|
-
"{{ organization_name_short }} {{ docnumeric }}"
|
34
|
-
docid = xmldoc.at("//bibdata/docidentifier")
|
35
|
-
id = boilerplate_isodoc(xmldoc).populate_template(template, nil)
|
36
|
-
id.empty? and docid.remove or docid.children = id
|
37
|
-
end
|
38
|
-
|
39
|
-
def doctype(node)
|
40
|
-
d = super
|
41
|
-
configuration.doctypes or return d == "article" ?
|
42
|
-
(configuration.default_doctype || "standard") : d
|
43
|
-
type = configuration.default_doctype ||
|
44
|
-
configuration.doctypes.keys.dig(0) || "standard"
|
45
|
-
unless configuration.doctypes.keys.include? d
|
46
|
-
@log.add("Document Attributes", nil,
|
47
|
-
"#{d} is not a legal document type: reverting to '#{type}'")
|
48
|
-
d = type
|
49
|
-
end
|
50
|
-
d
|
51
|
-
end
|
52
|
-
|
53
|
-
def read_config_file(path_to_config_file)
|
54
|
-
Metanorma::Generic.configuration
|
55
|
-
.set_default_values_from_yaml_file(path_to_config_file)
|
56
|
-
end
|
57
|
-
|
58
|
-
def sectiontype_streamline(ret)
|
59
|
-
if configuration&.termsdefs_titles&.map(&:downcase)&.include? ret
|
60
|
-
"terms and definitions"
|
61
|
-
elsif configuration&.symbols_titles&.map(&:downcase)&.include? ret
|
62
|
-
"symbols and abbreviated terms"
|
63
|
-
elsif configuration&.normref_titles&.map(&:downcase)&.include? ret
|
64
|
-
"normative references"
|
65
|
-
elsif configuration&.bibliography_titles&.map(&:downcase)&.include? ret
|
66
|
-
"bibliography"
|
67
|
-
else
|
68
|
-
ret
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
def document(node)
|
73
|
-
read_config_file(node.attr("customize")) if node.attr("customize")
|
74
|
-
super
|
75
|
-
end
|
76
|
-
|
77
|
-
def outputs(node, ret)
|
78
|
-
File.open("#{@filename}.xml", "w:UTF-8") { |f| f.write(ret) }
|
79
|
-
presentation_xml_converter(node)&.convert("#{@filename}.xml")
|
80
|
-
html_converter(node)&.convert("#{@filename}.presentation.xml",
|
81
|
-
nil, false, "#{@filename}.html")
|
82
|
-
doc_converter(node)&.convert("#{@filename}.presentation.xml",
|
83
|
-
nil, false, "#{@filename}.doc")
|
84
|
-
pdf_converter(node)&.convert("#{@filename}.presentation.xml",
|
85
|
-
nil, false, "#{@filename}.pdf")
|
86
|
-
end
|
87
|
-
|
88
|
-
def validate(doc)
|
89
|
-
content_validate(doc)
|
90
|
-
schema_validate(formattedstr_strip(doc.dup),
|
91
|
-
baselocation(configuration.validate_rng_file) ||
|
92
|
-
File.join(File.dirname(__FILE__), "generic.rng"))
|
93
|
-
end
|
94
|
-
|
95
|
-
def content_validate(doc)
|
96
|
-
super
|
97
|
-
bibdata_validate(doc.root)
|
98
|
-
end
|
99
|
-
|
100
|
-
def bibdata_validate(doc)
|
101
|
-
stage_validate(doc)
|
102
|
-
committee_validate(doc)
|
103
|
-
end
|
104
|
-
|
105
|
-
def stage_validate(xmldoc)
|
106
|
-
stages = configuration&.stage_abbreviations&.keys || return
|
107
|
-
stages.empty? and return
|
108
|
-
stage = xmldoc&.at("//bibdata/status/stage")&.text
|
109
|
-
stages.include? stage or
|
110
|
-
@log.add("Document Attributes", nil,
|
111
|
-
"#{stage} is not a recognised status")
|
112
|
-
end
|
113
|
-
|
114
|
-
def committee_validate(xmldoc)
|
115
|
-
committees = Array(configuration&.committees) || return
|
116
|
-
committees.empty? and return
|
117
|
-
xmldoc.xpath("//bibdata/ext/editorialgroup/committee").each do |c|
|
118
|
-
committees.include? c.text or
|
119
|
-
@log.add("Document Attributes", nil,
|
120
|
-
"#{c.text} is not a recognised committee")
|
121
|
-
end
|
122
|
-
end
|
123
|
-
|
124
|
-
def sections_cleanup(xml)
|
125
|
-
super
|
126
|
-
xml.xpath("//*[@inline-header]").each do |h|
|
127
|
-
h.delete("inline-header")
|
128
|
-
end
|
129
|
-
end
|
130
|
-
|
131
|
-
def blank_method(*args); end
|
132
|
-
|
133
|
-
def html_converter(node)
|
134
|
-
IsoDoc::Generic::HtmlConvert.new(html_extract_attributes(node))
|
135
|
-
end
|
136
|
-
|
137
|
-
def presentation_xml_converter(node)
|
138
|
-
IsoDoc::Generic::PresentationXMLConvert
|
139
|
-
.new(html_extract_attributes(node))
|
140
|
-
end
|
141
|
-
|
142
|
-
alias_method :pdf_converter, :html_converter
|
143
|
-
alias_method :style, :blank_method
|
144
|
-
alias_method :title_validate, :blank_method
|
145
|
-
|
146
|
-
def doc_converter(node)
|
147
|
-
IsoDoc::Generic::WordConvert.new(doc_extract_attributes(node))
|
148
|
-
end
|
149
|
-
|
150
|
-
def configuration
|
151
|
-
Metanorma::Generic.configuration
|
152
|
-
end
|
153
|
-
|
154
|
-
def boilerplate_isodoc(xmldoc)
|
155
|
-
conv = super
|
156
|
-
Metanorma::Generic::Configuration::CONFIG_ATTRS.each do |a|
|
157
|
-
conv.meta.set(a, configuration.send(a))
|
158
|
-
end
|
159
|
-
conv
|
160
|
-
end
|
161
|
-
|
162
|
-
def boilerplate_file(xmldoc)
|
163
|
-
f = configuration.boilerplate
|
164
|
-
f.nil? and return super
|
165
|
-
f.is_a? String and return baselocation(f)
|
166
|
-
f.is_a? Hash and f[@lang] and return baselocation(f[@lang])
|
167
|
-
super
|
168
|
-
end
|
169
|
-
|
170
|
-
def cleanup(xmldoc)
|
171
|
-
super
|
172
|
-
empty_metadata_cleanup(xmldoc)
|
173
|
-
xmldoc
|
174
|
-
end
|
175
|
-
|
176
|
-
def empty_metadata_cleanup(xmldoc)
|
177
|
-
xmldoc.xpath("//bibdata/ext//*").each do |x|
|
178
|
-
x.remove if x.children.empty?
|
179
|
-
end
|
180
|
-
end
|
181
|
-
end
|
182
|
-
end
|
183
|
-
end
|
@@ -0,0 +1,5 @@
|
|
1
|
+
warn "Please replace your references to Asciidoctor::Generic with Metanorma::Generic and your instances of require 'asciidoctor/generic' with require 'metanorma/generic'"
|
2
|
+
|
3
|
+
exit 127 if ENV['METANORMA_DEPRECATION_FAIL']
|
4
|
+
|
5
|
+
Asciidoctor::Generic = Metanorma::Generic unless defined? Asciidoctor::Generic
|
@@ -1,108 +1,3 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
class Converter < Standoc::Converter
|
4
|
-
def default_publisher
|
5
|
-
configuration.organization_name_long
|
6
|
-
end
|
1
|
+
require "asciidoctor/generic/deprecated"
|
2
|
+
require "metanorma/generic/front"
|
7
3
|
|
8
|
-
def org_abbrev
|
9
|
-
if !configuration.organization_name_long.empty? &&
|
10
|
-
!configuration.organization_name_short.empty? &&
|
11
|
-
configuration.organization_name_long !=
|
12
|
-
configuration.organization_name_short
|
13
|
-
{ configuration.organization_name_long =>
|
14
|
-
configuration.organization_name_short }
|
15
|
-
else
|
16
|
-
super
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
def relaton_relations
|
21
|
-
Array(configuration.relations) || []
|
22
|
-
end
|
23
|
-
|
24
|
-
def metadata_committee(node, xml)
|
25
|
-
return unless node.attr("committee")
|
26
|
-
xml.editorialgroup do |a|
|
27
|
-
a.committee node.attr("committee"),
|
28
|
-
**attr_code(type: node.attr("committee-type"))
|
29
|
-
i = 2
|
30
|
-
while node.attr("committee_#{i}") do
|
31
|
-
a.committee node.attr("committee_#{i}"),
|
32
|
-
**attr_code(type: node.attr("committee-type_#{i}"))
|
33
|
-
i += 1
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
def metadata_status(node, xml)
|
39
|
-
xml.status do |s|
|
40
|
-
s.stage ( node.attr("status") || node.attr("docstage") ||
|
41
|
-
configuration.default_stage || "published" )
|
42
|
-
x = node.attr("substage") and s.substage x
|
43
|
-
x = node.attr("iteration") and s.iteration x
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
def metadata_id(node, xml)
|
48
|
-
xml.docidentifier **{ type:
|
49
|
-
configuration.organization_name_short } do |i|
|
50
|
-
i << "DUMMY"
|
51
|
-
end
|
52
|
-
xml.docnumber { |i| i << node.attr("docnumber") }
|
53
|
-
end
|
54
|
-
|
55
|
-
def metadata_ext(node, ext)
|
56
|
-
super
|
57
|
-
if configuration.metadata_extensions.is_a? Hash
|
58
|
-
metadata_ext_hash(node, ext, configuration.metadata_extensions)
|
59
|
-
else
|
60
|
-
Array(configuration.metadata_extensions).each do |e|
|
61
|
-
a = node.attr(e) and ext.send e, a
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
def metadata_doctype(node, xml)
|
67
|
-
d = doctype(node)
|
68
|
-
xml.doctype d, attr_code(abbreviation: configuration&.doctypes&.dig(d))
|
69
|
-
end
|
70
|
-
|
71
|
-
EXT_STRUCT = %w(_output _attribute _list).freeze
|
72
|
-
|
73
|
-
def metadata_ext_hash(node, ext, hash)
|
74
|
-
hash.each do |k, v|
|
75
|
-
next if EXT_STRUCT.include?(k) || !v&.is_a?(Hash) && !node.attr(k)
|
76
|
-
if v&.is_a?(Hash) && v["_list"]
|
77
|
-
csv_split(node.attr(k), ",").each do |val|
|
78
|
-
metadata_ext_hash1(k, val, ext, v, node)
|
79
|
-
end
|
80
|
-
else
|
81
|
-
metadata_ext_hash1(k, node.attr(k), ext, v, node)
|
82
|
-
end
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
def metadata_ext_hash1(key, value, ext, hash, node)
|
87
|
-
return if hash&.is_a?(Hash) && hash["_attribute"]
|
88
|
-
is_hash = hash&.is_a?(Hash) &&
|
89
|
-
!hash.keys.reject { |n| EXT_STRUCT.include?(n) }.empty?
|
90
|
-
return if !is_hash && (value.nil? || value.empty?)
|
91
|
-
name = hash&.is_a?(Hash) ? (hash["_output"] || key) : key
|
92
|
-
ext.send name, **attr_code(metadata_ext_attrs(hash, node)) do |e|
|
93
|
-
is_hash ? metadata_ext_hash(node, e, hash) : (e << value)
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
|
-
def metadata_ext_attrs(hash, node)
|
98
|
-
return {} unless hash.is_a?(Hash)
|
99
|
-
ret = {}
|
100
|
-
hash.each do |k, v|
|
101
|
-
next unless v.is_a?(Hash) && v["_attribute"]
|
102
|
-
ret[(v["_output"] || k).to_sym] = node.attr(k)
|
103
|
-
end
|
104
|
-
ret
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|
data/lib/asciidoctor/generic.rb
CHANGED
@@ -12,14 +12,15 @@ module IsoDoc
|
|
12
12
|
def term_cleanup(docxml)
|
13
13
|
docxml.xpath("//p[@class = 'Terms']").each do |d|
|
14
14
|
h2 = d.at("./preceding-sibling::*[@class = 'TermNum'][1]")
|
15
|
-
h2
|
16
|
-
|
15
|
+
d["id"] = h2["id"]
|
16
|
+
d.children.first.previous =
|
17
|
+
"<strong>#{h2.remove.children.to_xml}</strong> "
|
17
18
|
end
|
18
19
|
docxml
|
19
20
|
end
|
20
21
|
|
21
22
|
def make_body(xml, docxml)
|
22
|
-
body_attr = { lang: "EN-US", link: "blue", vlink: "#954F72",
|
23
|
+
body_attr = { lang: "EN-US", link: "blue", vlink: "#954F72",
|
23
24
|
"xml:lang": "EN-US", class: "container" }
|
24
25
|
xml.body **body_attr do |body|
|
25
26
|
make_body1(body, docxml)
|
@@ -296,7 +296,6 @@ p.Terms, li.Terms, div.Terms
|
|
296
296
|
mso-fareast-font-family:$headerfont;
|
297
297
|
mso-bidi-font-family:$headerfont;
|
298
298
|
mso-ansi-language:EN-GB;
|
299
|
-
font-weight:bold;
|
300
299
|
mso-bidi-font-weight:normal;}
|
301
300
|
p.AltTerms, li.AltTerms, div.AltTerms
|
302
301
|
{mso-style-name:"AltTerm\(s\)";
|
@@ -186,7 +186,7 @@ p.document-stage {
|
|
186
186
|
3.1 Titles
|
187
187
|
*/
|
188
188
|
|
189
|
-
h1,h2,h3,h4,h5,h6 {
|
189
|
+
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6 {
|
190
190
|
font-family: $headerfont;
|
191
191
|
color: #1661AD;
|
192
192
|
font-weight: 300;
|
@@ -194,31 +194,34 @@ h1,h2,h3,h4,h5,h6 {
|
|
194
194
|
margin-bottom: 0.3em;
|
195
195
|
}
|
196
196
|
|
197
|
-
h1 {
|
197
|
+
h1,.h1 {
|
198
198
|
font-size: 1.6em;
|
199
199
|
text-transform: uppercase;
|
200
200
|
margin-top: 2em;
|
201
201
|
}
|
202
202
|
|
203
|
-
h1#content {
|
203
|
+
h1#content, .h1#content {
|
204
204
|
margin-top: 2em;
|
205
205
|
}
|
206
206
|
|
207
|
-
h2 {
|
207
|
+
h2,.h2 {
|
208
208
|
margin-top: 1.3em;
|
209
209
|
font-size: 1.3em;
|
210
210
|
font-weight: 400;
|
211
211
|
}
|
212
212
|
|
213
|
-
h3 {
|
213
|
+
h3,.h3 {
|
214
214
|
margin-top: 1.1em;
|
215
215
|
font-size: 1.1em;
|
216
216
|
font-weight: 100;
|
217
217
|
}
|
218
218
|
|
219
|
+
.TermNum {
|
220
|
+
font-weight: 100;
|
221
|
+
}
|
222
|
+
|
219
223
|
.TermNum, .Terms, .AltTerms {
|
220
224
|
color: #1661AD;
|
221
|
-
font-weight: 100;
|
222
225
|
}
|
223
226
|
|
224
227
|
h2.TermNum {
|
@@ -637,7 +640,7 @@ To top button
|
|
637
640
|
page-break-after: always;
|
638
641
|
}
|
639
642
|
|
640
|
-
h1, h2, h3, h4 {
|
643
|
+
h1, h2, h3, h4, .h1, .h2, .h3, .h4 {
|
641
644
|
page-break-after: avoid;
|
642
645
|
margin-top: 1.2em;
|
643
646
|
}
|
@@ -672,21 +675,21 @@ To top button
|
|
672
675
|
padding-left: 0;
|
673
676
|
}
|
674
677
|
|
675
|
-
h1.content {
|
678
|
+
h1.content, .h1.content {
|
676
679
|
margin-top: 2em;
|
677
680
|
line-height: 2.5em;
|
678
681
|
}
|
679
682
|
|
680
|
-
h1 {
|
683
|
+
h1,.h1 {
|
681
684
|
font-size: 1.5em;
|
682
685
|
line-height: 1.5;
|
683
686
|
}
|
684
687
|
|
685
|
-
h2 {
|
688
|
+
h2,.h2 {
|
686
689
|
font-size: 1.2em
|
687
690
|
}
|
688
691
|
|
689
|
-
h3 {
|
692
|
+
h3,.h3 {
|
690
693
|
font-size: 1em;
|
691
694
|
}
|
692
695
|
|
@@ -338,7 +338,7 @@ div.figure, p.figure
|
|
338
338
|
{text-align: center;}
|
339
339
|
|
340
340
|
|
341
|
-
h1
|
341
|
+
h1,.h1
|
342
342
|
{mso-style-priority:1;
|
343
343
|
mso-style-unhide:no;
|
344
344
|
mso-style-qformat:yes;
|
@@ -352,8 +352,6 @@ h1
|
|
352
352
|
line-height:13.5pt;
|
353
353
|
mso-pagination:widow-orphan;
|
354
354
|
page-break-after:avoid;
|
355
|
-
mso-outline-level:1;
|
356
|
-
mso-list:l1 level1 lfo6;
|
357
355
|
mso-hyphenate:none;
|
358
356
|
tab-stops:20.0pt list 21.6pt left 28.0pt;
|
359
357
|
font-size:13.0pt;
|
@@ -365,6 +363,10 @@ h1
|
|
365
363
|
mso-ansi-language:EN-GB;
|
366
364
|
mso-fareast-language:JA;
|
367
365
|
mso-bidi-font-weight:normal;}
|
366
|
+
h1 {
|
367
|
+
mso-outline-level:1;
|
368
|
+
mso-list:l1 level1 lfo6;
|
369
|
+
}
|
368
370
|
h1.Annex
|
369
371
|
{mso-style-priority:1;
|
370
372
|
mso-style-unhide:no;
|
@@ -421,7 +423,7 @@ h1.Annex
|
|
421
423
|
mso-ansi-language:EN-GB;
|
422
424
|
mso-fareast-language:JA;
|
423
425
|
mso-bidi-font-weight:normal;}
|
424
|
-
h2
|
426
|
+
h2, .h2
|
425
427
|
{mso-style-priority:2;
|
426
428
|
mso-style-unhide:no;
|
427
429
|
mso-style-qformat:yes;
|
@@ -436,8 +438,6 @@ h2
|
|
436
438
|
line-height:12.5pt;
|
437
439
|
mso-pagination:widow-orphan;
|
438
440
|
page-break-after:avoid;
|
439
|
-
mso-outline-level:2;
|
440
|
-
mso-list:l1 level2 lfo6;
|
441
441
|
mso-hyphenate:none;
|
442
442
|
tab-stops:27.0pt 35.0pt;
|
443
443
|
font-size:12.0pt;
|
@@ -448,7 +448,11 @@ h2
|
|
448
448
|
mso-ansi-language:EN-GB;
|
449
449
|
mso-fareast-language:JA;
|
450
450
|
mso-bidi-font-weight:normal;}
|
451
|
-
|
451
|
+
h2 {
|
452
|
+
mso-outline-level:2;
|
453
|
+
mso-list:l1 level2 lfo6;
|
454
|
+
}
|
455
|
+
h3, .h3
|
452
456
|
{mso-style-priority:3;
|
453
457
|
mso-style-unhide:no;
|
454
458
|
mso-style-qformat:yes;
|
@@ -463,8 +467,6 @@ h3
|
|
463
467
|
line-height:12.0pt;
|
464
468
|
mso-pagination:widow-orphan;
|
465
469
|
page-break-after:avoid;
|
466
|
-
mso-outline-level:3;
|
467
|
-
mso-list:l1 level3 lfo6;
|
468
470
|
mso-hyphenate:none;
|
469
471
|
tab-stops:list 36.0pt left 44.0pt;
|
470
472
|
font-size:11.0pt;
|
@@ -474,7 +476,11 @@ h3
|
|
474
476
|
mso-ansi-language:EN-GB;
|
475
477
|
mso-fareast-language:JA;
|
476
478
|
mso-bidi-font-weight:normal;}
|
477
|
-
|
479
|
+
h3 {
|
480
|
+
mso-outline-level:3;
|
481
|
+
mso-list:l1 level3 lfo6;
|
482
|
+
}
|
483
|
+
h4, .h4
|
478
484
|
{mso-style-priority:4;
|
479
485
|
mso-style-unhide:no;
|
480
486
|
mso-style-qformat:yes;
|
@@ -489,8 +495,6 @@ h4
|
|
489
495
|
line-height:12.0pt;
|
490
496
|
mso-pagination:widow-orphan;
|
491
497
|
page-break-after:avoid;
|
492
|
-
mso-outline-level:4;
|
493
|
-
mso-list:l1 level4 lfo6;
|
494
498
|
mso-hyphenate:none;
|
495
499
|
tab-stops:51.05pt 57.0pt 68.0pt;
|
496
500
|
font-size:11.0pt;
|
@@ -500,7 +504,11 @@ h4
|
|
500
504
|
mso-ansi-language:EN-GB;
|
501
505
|
mso-fareast-language:JA;
|
502
506
|
mso-bidi-font-weight:normal;}
|
503
|
-
|
507
|
+
h4 {
|
508
|
+
mso-outline-level:4;
|
509
|
+
mso-list:l1 level4 lfo6;
|
510
|
+
}
|
511
|
+
h5, .h5
|
504
512
|
{mso-style-priority:5;
|
505
513
|
mso-style-unhide:no;
|
506
514
|
mso-style-qformat:yes;
|
@@ -515,8 +523,6 @@ h5
|
|
515
523
|
line-height:12.0pt;
|
516
524
|
mso-pagination:widow-orphan;
|
517
525
|
page-break-after:avoid;
|
518
|
-
mso-outline-level:5;
|
519
|
-
mso-list:l1 level5 lfo6;
|
520
526
|
mso-hyphenate:none;
|
521
527
|
tab-stops:51.05pt list 54.0pt;
|
522
528
|
font-size:11.0pt;
|
@@ -526,7 +532,11 @@ h5
|
|
526
532
|
mso-ansi-language:EN-GB;
|
527
533
|
mso-fareast-language:JA;
|
528
534
|
mso-bidi-font-weight:normal;}
|
529
|
-
|
535
|
+
h5 {
|
536
|
+
mso-outline-level:5;
|
537
|
+
mso-list:l1 level5 lfo6;
|
538
|
+
}
|
539
|
+
h6, .h6
|
530
540
|
{mso-style-priority:6;
|
531
541
|
mso-style-unhide:no;
|
532
542
|
mso-style-qformat:yes;
|
@@ -541,8 +551,6 @@ h6
|
|
541
551
|
line-height:12.0pt;
|
542
552
|
mso-pagination:widow-orphan;
|
543
553
|
page-break-after:avoid;
|
544
|
-
mso-outline-level:6;
|
545
|
-
mso-list:l1 level6 lfo6;
|
546
554
|
mso-hyphenate:none;
|
547
555
|
tab-stops:51.05pt list 72.0pt;
|
548
556
|
font-size:11.0pt;
|
@@ -552,6 +560,10 @@ h6
|
|
552
560
|
mso-ansi-language:EN-GB;
|
553
561
|
mso-fareast-language:JA;
|
554
562
|
mso-bidi-font-weight:normal;}
|
563
|
+
h6 {
|
564
|
+
mso-outline-level:6;
|
565
|
+
mso-list:l1 level6 lfo6;
|
566
|
+
}
|
555
567
|
p.MsoToc1, li.MsoToc1, div.MsoToc1
|
556
568
|
{mso-style-priority:39;
|
557
569
|
mso-style-unhide:no;
|
File without changes
|
File without changes
|