metanorma-gb 1.3.18 → 1.3.19

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c17f96bfe0f493dda7d474e7657141d1446fc1d8e5929515a07f5979328e76c1
4
- data.tar.gz: 39980a1836f220dc4b671d650e37abe25563fca561e4fa1178502bc571ff55e1
3
+ metadata.gz: daee15e26a48bc580373f3d97b94ae8df4ae002ca0ca733839f9393c1342325c
4
+ data.tar.gz: b7fe019ce181e3b1de58268e4a0a8bd11079754ebbd22ae29bd5eb37269bb0cd
5
5
  SHA512:
6
- metadata.gz: c8ab47c105e7703bc0bf9b5351fbb97489ebefe0ac9a8560f401c995645773046d45ab23391bcc801e2a99c241d6cfdf126d8c5ae25e1f8ba1b64acf01d97a07
7
- data.tar.gz: 4e2a684f3da878a41bcf60ed2b348c95356072c8e86157e391880056dfd175538a8e2a3c456c1b659e2a6c9e1a1d75454c87fefadfaf64eff5c2275a1765d081
6
+ metadata.gz: 05373eccae4ad8ecc33b895767e9ee9c15b58105e5c9d045427797e508f0a4e47b877f68a01cefdd54cc410ca763bef9f4c90370c751fcd6cfa798e017c6a68e
7
+ data.tar.gz: 4b0a193930a6c8896a9f4273f4c70a96ece6f55a9867c9f4c7510931da5d3d2391303decdefeaff81ab693a6451e69994c399631c96693afd398d74143403077
@@ -69,6 +69,7 @@ module Asciidoctor
69
69
  html_converter(node).convert(filename + ".xml")
70
70
  doc_converter(node).convert(filename + ".xml")
71
71
  end
72
+ @log.write(@filename + ".err") unless @novalid
72
73
  @files_to_delete.each { |f| FileUtils.rm f }
73
74
  ret
74
75
  end
@@ -1,4 +1,3 @@
1
-
2
1
  module Asciidoctor
3
2
  module Gb
4
3
  class Converter < ISO::Converter
@@ -102,7 +101,7 @@ module Asciidoctor
102
101
  m[0] == "Q" ? "enterprise" : nil
103
102
  end
104
103
  return scope unless scope.nil?
105
- warn "GB: no scope supplied, defaulting to National"
104
+ @log.add("Document Attributes", nil, "GB: no scope supplied, defaulting to National")
106
105
  "national"
107
106
  end
108
107
 
@@ -115,7 +114,7 @@ module Asciidoctor
115
114
  else
116
115
  prefix = "GB"
117
116
  scope = "national"
118
- warn "GB: no prefix supplied, defaulting to GB"
117
+ @log.add("Document Attributes", nil, "GB: no prefix supplied, defaulting to GB")
119
118
  end
120
119
  [scope, prefix]
121
120
  end
@@ -127,14 +126,14 @@ module Asciidoctor
127
126
  %r{/Z}.match(p) ? "guidelines" : nil
128
127
  if mandate.nil?
129
128
  mandate = "mandatory"
130
- warn "GB: no mandate supplied, defaulting to mandatory"
129
+ @log.add("Document Attributes", nil, "GB: no mandate supplied, defaulting to mandatory")
131
130
  end
132
131
  mandate
133
132
  end
134
133
 
135
134
  def get_topic(node)
136
135
  node.attr("topic") and return node.attr("topic")
137
- warn "GB: no topic supplied, defaulting to basic"
136
+ @log.add("Document Attributes", nil, "GB: no topic supplied, defaulting to basic")
138
137
  "basic"
139
138
  end
140
139
 
@@ -200,7 +199,7 @@ module Asciidoctor
200
199
  if node.attr("docstage") && node.attr("docstage").to_i < 60
201
200
  abbr = IsoDoc::Gb::Metadata.new("en", "Latn", {}).
202
201
  status_abbrev(node.attr("docstage"), node.attr("iteration"),
203
- node.attr("draft"))
202
+ node.attr("draft"))
204
203
  dn = "/#{abbr} #{dn}" # prefixes added in cleanup
205
204
  else
206
205
  dn += "-#{node.attr("copyright-year")}" if node.attr("copyright-year")
@@ -645,6 +645,11 @@
645
645
  <optional>
646
646
  <attribute name="script"/>
647
647
  </optional>
648
+ <optional>
649
+ <attribute name="inline-header">
650
+ <data type="boolean"/>
651
+ </attribute>
652
+ </optional>
648
653
  <optional>
649
654
  <attribute name="obligation">
650
655
  <choice>
@@ -73,6 +73,19 @@
73
73
  </choice>
74
74
  </element>
75
75
  </define>
76
+ <define name="ul">
77
+ <element name="ul">
78
+ <attribute name="id">
79
+ <data type="ID"/>
80
+ </attribute>
81
+ <oneOrMore>
82
+ <ref name="ul_li"/>
83
+ </oneOrMore>
84
+ <zeroOrMore>
85
+ <ref name="note"/>
86
+ </zeroOrMore>
87
+ </element>
88
+ </define>
76
89
  <define name="sections">
77
90
  <element name="sections">
78
91
  <ref name="clause"/>
@@ -325,6 +338,51 @@
325
338
  </oneOrMore>
326
339
  </choice>
327
340
  </define>
341
+ <define name="table">
342
+ <element name="table">
343
+ <attribute name="id">
344
+ <data type="ID"/>
345
+ </attribute>
346
+ <optional>
347
+ <attribute name="width"/>
348
+ </optional>
349
+ <optional>
350
+ <attribute name="unnumbered">
351
+ <data type="boolean"/>
352
+ </attribute>
353
+ </optional>
354
+ <optional>
355
+ <attribute name="subsequence"/>
356
+ </optional>
357
+ <optional>
358
+ <attribute name="alt"/>
359
+ </optional>
360
+ <optional>
361
+ <attribute name="summary"/>
362
+ </optional>
363
+ <optional>
364
+ <attribute name="uri">
365
+ <data type="anyURI"/>
366
+ </attribute>
367
+ </optional>
368
+ <optional>
369
+ <ref name="tname"/>
370
+ </optional>
371
+ <optional>
372
+ <ref name="thead"/>
373
+ </optional>
374
+ <ref name="tbody"/>
375
+ <optional>
376
+ <ref name="tfoot"/>
377
+ </optional>
378
+ <zeroOrMore>
379
+ <ref name="table-note"/>
380
+ </zeroOrMore>
381
+ <optional>
382
+ <ref name="dl"/>
383
+ </optional>
384
+ </element>
385
+ </define>
328
386
  </include>
329
387
  <!-- end overrides -->
330
388
  <!--
@@ -431,4 +489,26 @@
431
489
  <ref name="Clause-Section"/>
432
490
  </element>
433
491
  </define>
492
+ <define name="ul_li">
493
+ <element name="li">
494
+ <optional>
495
+ <attribute name="id">
496
+ <data type="ID"/>
497
+ </attribute>
498
+ </optional>
499
+ <optional>
500
+ <attribute name="uncheckedcheckbox">
501
+ <data type="boolean"/>
502
+ </attribute>
503
+ </optional>
504
+ <optional>
505
+ <attribute name="checkedcheckbox">
506
+ <data type="boolean"/>
507
+ </attribute>
508
+ </optional>
509
+ <oneOrMore>
510
+ <ref name="paragraph-with-footnote"/>
511
+ </oneOrMore>
512
+ </element>
513
+ </define>
434
514
  </grammar>
@@ -25,13 +25,13 @@ module Asciidoctor
25
25
  def doctype_validate(xmldoc)
26
26
  doctype = xmldoc&.at("//bibdata/ext/doctype")&.text
27
27
  %w(standard recommendation).include? doctype or
28
- warn "Document Attributes: #{doctype} is not a recognised document type"
28
+ @log.add("Document Attributes", nil, "#{doctype} is not a recognised document type")
29
29
  end
30
30
 
31
31
  def script_validate(xmldoc)
32
32
  script = xmldoc&.at("//bibdata/script")&.text
33
33
  %(Hans Latn).include?(script) or
34
- warn "Document Attributes: #{script} is not a recognised script"
34
+ @log.add("Document Attributes", nil, "#{script} is not a recognised script")
35
35
  end
36
36
 
37
37
  def prefix_validate(root)
@@ -40,23 +40,23 @@ module Asciidoctor
40
40
  case scope
41
41
  when "social-group"
42
42
  /^[A-Za-z]{3,6}$/.match(prefix) or
43
- warn("#{prefix} is improperly formatted for social standards")
43
+ @log.add("Document Attributes", nil, "#{prefix} is improperly formatted for social standards")
44
44
  when "enterprise"
45
45
  /^[A-Z0-9]{3,}$/.match(prefix) or
46
- warn("#{prefix} is improperly formatted for enterprise standards")
46
+ @log.add("Document Attributes", nil, "#{prefix} is improperly formatted for enterprise standards")
47
47
  when "sector"
48
48
  %w(AQ BB CB CH CJ CY DA DB DL DZ EJ FZ GA GH GM GY HB HG HJ HS HY
49
49
  JB JC JG JR JT JY LB LD LS LY MH MT MZ NY QB QC QJ QX SB SC SH
50
50
  SJ SL SN SY TB TD TJ TY WB WH WJ WM WS WW XB YB YC YD YS YY YZ
51
51
  ZY).include? prefix or
52
- warn("#{prefix} is not a legal sector standard prefix")
52
+ @log.add("Document Attributes", nil, "#{prefix} is not a legal sector standard prefix")
53
53
  when "local"
54
54
  %w(11 12 13 14 15 21 22 23 31 32 33 34 35 36 37 41 42 43 44 45 46
55
55
  50 51 52 53 54 61 62 63 64 65 71 81 82 end).include? prefix or
56
- warn("#{prefix} is not a legal local standard prefix")
56
+ @log.add("Document Attributes", nil, "#{prefix} is not a legal local standard prefix")
57
57
  when "national"
58
58
  %w(GB GBZ GJB GBn GHZB GWPB JJF JJG).include? prefix or
59
- warn("#{prefix} is not a legal national standard prefix")
59
+ @log.add("Document Attributes", nil, "#{prefix} is not a legal national standard prefix")
60
60
  end
61
61
  end
62
62
 
@@ -65,7 +65,7 @@ module Asciidoctor
65
65
  "organization/name")&.text
66
66
  scope = root&.at("//gbscope")&.text
67
67
  if %w(enterprise social).include?(scope) && issuer == "GB"
68
- warn "No issuer provided for #{scope} standard"
68
+ @log.add("Document Attributes", nil, "No issuer provided for #{scope} standard")
69
69
  end
70
70
  end
71
71
 
@@ -73,9 +73,9 @@ module Asciidoctor
73
73
  zh = t.at(".//#{element}[@language = 'zh']")
74
74
  en = t.at(".//#{element}[@language = 'en']")
75
75
  (en.nil? || en.text.empty?) && !(zh.nil? || zh.text.empty?) &&
76
- warn("GB: #{element} term #{zh.text} has no English counterpart")
76
+ @log.add("Style", t, "GB: #{element} term #{zh.text} has no English counterpart")
77
77
  !(en.nil? || en.text.empty?) && (zh.nil? || zh.text.empty?) &&
78
- warn("GB: #{element} term #{en.text} has no Chinese counterpart")
78
+ @log.add("Style", t, "GB: #{element} term #{en.text} has no Chinese counterpart")
79
79
  end
80
80
 
81
81
  def bilingual_terms_validate(root)
@@ -90,10 +90,10 @@ module Asciidoctor
90
90
  title_intro_en = root.at("//title[@type='title-intro' and @language='en']")
91
91
  title_intro_zh = root.at("//title[@type='title-intro' and @language='zh']")
92
92
  if title_intro_en.nil? && !title_intro_zh.nil?
93
- warn "No English Title Intro!"
93
+ @log.add("Style", title_intro_zh, "No English Title Intro!")
94
94
  end
95
95
  if !title_intro_en.nil? && title_intro_zh.nil?
96
- warn "No Chinese Title Intro!"
96
+ @log.add("Style", title_intro_en, "No Chinese Title Intro!")
97
97
  end
98
98
  end
99
99
 
@@ -101,10 +101,10 @@ module Asciidoctor
101
101
  title_main_en = root.at("//title[@type='title-main' and @language='en']")
102
102
  title_main_zh = root.at("//title[@type='title-main' and @language='zh']")
103
103
  if title_main_en.nil? && !title_main_zh.nil?
104
- warn "No English Title!"
104
+ @log.add("Style", title_main_zh, "No English Title!")
105
105
  end
106
106
  if !title_main_en.nil? && title_main_zh.nil?
107
- warn "No Chinese Title!"
107
+ @log.add("Style", title_main_en, "No Chinese Title!")
108
108
  end
109
109
  end
110
110
 
@@ -112,10 +112,10 @@ module Asciidoctor
112
112
  title_part_en = root.at("//title[@type='title-part' and @language='en']")
113
113
  title_part_zh = root.at("//title[@type='title-part' and @language='zh']")
114
114
  if title_part_en.nil? && !title_part_zh.nil?
115
- warn "No English Title Part!"
115
+ @log.add("Style", title_part_en, "No English Title Part!")
116
116
  end
117
117
  if !title_part_en.nil? && title_part_zh.nil?
118
- warn "No Chinese Title Part!"
118
+ @log.add("Style", title_part_zh, "No Chinese Title Part!")
119
119
  end
120
120
  end
121
121
 
@@ -123,7 +123,7 @@ module Asciidoctor
123
123
  root.xpath(NORM_BIBITEMS).each do |b|
124
124
  if b.at(Asciidoctor::Standoc::Converter::ISO_PUBLISHER_XPATH).nil?
125
125
  unless /^#{GBCODE}(?![A-Z])/.match(b.at("./docidentifier").text)
126
- Asciidoctor::Standoc::Utils::warning(b, NORM_ISO_WARN, b.text)
126
+ @log.add("Bibliography", b, "#{NORM_ISO_WARN}: #{b.text}")
127
127
  end
128
128
  end
129
129
  end
@@ -69,12 +69,14 @@ module IsoDoc
69
69
 
70
70
  def formula_where(dl, out)
71
71
  return unless dl
72
- out.p { |p| p << @where_lbl }
72
+ out.p **{ style: "page-break-after:avoid;"} do |p|
73
+ p << @where_lbl
74
+ end
73
75
  formula_dl_parse(dl, out)
74
76
  end
75
77
 
76
78
  def formula_dl_parse(node, out)
77
- out.table **{ class: "dl" } do |v|
79
+ out.table **{ class: "formula_dl" } do |v|
78
80
  node.elements.each_slice(2) do |dt, dd|
79
81
  v.tr do |tr|
80
82
  tr.td **{ style: "vertical-align:top;text-align:left;" } do |term|
@@ -204,7 +206,7 @@ module IsoDoc
204
206
  h1 << "&#x3000;"
205
207
  end
206
208
  title.is_a?(String) ? h1 << title :
207
- title&.children&.each { |c2| parse(c2, h1) }
209
+ title&.children&.each { |c2| parse(c2, h1) }
208
210
  end
209
211
  div.parent.at(".//h1")
210
212
  end
@@ -384,6 +384,9 @@ p.Formula, li.Formula, div.Formula
384
384
  mso-fareast-font-family:$bodyfont;
385
385
  mso-bidi-font-family:$bodyfont;
386
386
  mso-ansi-language:EN-GB;}
387
+ table.formula_dl {
388
+ margin-left:20.15pt;
389
+ }
387
390
  table.MsoISOTable
388
391
  {mso-style-name:"Table ISO";
389
392
  mso-tstyle-rowband-size:0;
@@ -7,191 +7,68 @@
7
7
  License: none (public domain)
8
8
  */
9
9
 
10
- html, body, div, span, applet, object, iframe,
11
- h1, h2, h3, h4, h5, h6, p, blockquote, pre,
12
- a, abbr, acronym, address, big, cite, code,
13
- del, dfn, em, img, ins, kbd, q, s, samp,
14
- small, strike, strong, sub, sup, tt, var,
15
- b, u, i, center,
16
- ol, ul, li,
17
- fieldset, form, label, legend,
18
- table, caption, tbody, tfoot, thead, tr, th, td,
19
- article, aside, canvas, details, embed,
20
- figure, figcaption, footer, header, hgroup,
21
- menu, nav, output, ruby, section, summary,
22
- time, mark, audio, video {
23
- margin: 0;
24
- padding: 0;
25
- }
26
-
27
- html, body, div, span, applet, object, iframe,
28
- h1, h2, h3, h4, h5, h6, p, blockquote, pre,
29
- a, abbr, acronym, address, big, cite, code,
30
- del, dfn, em, img, ins, kbd, q, s, samp,
31
- small, strike, strong, sub, sup, tt, var,
32
- b, u, i, center,
33
- dl, dt, dd, ol, ul, li,
34
- fieldset, form, label, legend,
35
- table, caption, tbody, tfoot, thead, tr, th, td,
36
- article, aside, canvas, details, embed,
37
- figure, figcaption, footer, header, hgroup,
38
- menu, nav, output, ruby, section, summary,
39
- time, mark, audio, video {
40
- border: 0;
41
- font-size: 100%;
42
- }
43
-
44
- html, body, div, span, applet, object, iframe,
45
- h1, h2, h3, h4, h5, h6, p, blockquote, pre,
46
- a, abbr, acronym, address, big, cite, code,
47
- del, dfn, em, img, ins, kbd, q, s, samp,
48
- small, strike, strong, tt, var,
49
- b, u, i, center,
50
- dl, dd, ol, ul, li,
51
- fieldset, form, label, legend,
52
- table, caption, tbody, tfoot, thead, tr, th, td,
53
- article, aside, canvas, details, embed,
54
- figure, figcaption, footer, header, hgroup,
55
- menu, nav, output, ruby, section, summary,
56
- time, mark, audio, video {
57
- vertical-align: baseline;
58
- }
59
-
60
-
61
- html, body, div, span, applet, object, iframe,
62
- p, blockquote,
63
- a, abbr, acronym, address, big, cite,
64
- del, dfn, em, img, ins, q, s,
65
- small, strike, strong, sub, sup, var,
66
- b, u, i, center,
67
- dl, dt, dd, ol, ul, li,
68
- fieldset, form, label, legend,
69
- table, caption, tbody, tfoot, thead, tr, th, td,
70
- article, aside, canvas, details, embed,
71
- figure, figcaption, footer, header, hgroup,
72
- menu, nav, output, ruby, section, summary,
73
- time, mark, audio, video {
74
- font-family: $bodyfont;
75
- }
10
+ $doctype-colors-list: (standard: #0ac442,
11
+ governance: #750697,
12
+ guide: #48a0e7,
13
+ );
76
14
 
77
- code, pre, tt, kbd, samp {
78
- font-family: $monospacefont;
79
- font-variant-ligatures: none;
80
- }
15
+ $docstage-colors-list: (working-draft: #fda706,
16
+ committee-draft: #fd06fd,
17
+ draft-standard: #fdf906,
18
+ standard: #0ac442,
19
+ obsolete: #7e0d13,
20
+ );
81
21
 
82
- code *, pre *, tt *, kbd *, samp * {
83
- font-family: $monospacefont !important;
84
- font-variant-ligatures: none;
85
- }
22
+ $mainContentsOffsetLeft: 4em;
23
+
24
+ @import 'base_style/all';
86
25
 
87
26
  h1, h2, h3, h4, h5, h6, .h2Annex {
88
27
  margin-top: 1.5em;
89
28
  margin-bottom: 0.3em;
90
29
  color: #000000;
91
30
  font-family: $headerfont;
92
- }
93
-
94
- dl {
95
- display: grid;
96
- grid-template-columns: max-content auto;
97
- }
98
-
99
- dt {
100
- grid-column-start: 1;
101
- }
102
-
103
- dd {
104
- grid-column-start: 2;
105
- }
106
-
107
- dd p, dt p {
108
- margin-top: 0px;
109
- }
110
-
111
- /* HTML5 display-role reset for older browsers */
112
- article, aside, details, figcaption, figure,
113
- footer, header, hgroup, menu, nav, section {
114
- display: block;
115
- }
116
- body {
117
- line-height: 1;
118
- margin: 0;
119
31
  }
120
32
 
121
33
  body {
122
- margin-left: 298px;
123
- margin-right: 2em;
34
+ @include bodyStyle1($bodyfont, 1, black, white);
35
+ margin: 0;
36
+ margin-left: 298px;
37
+ margin-right: 2em;
38
+ main {
39
+ margin: 0 1.5em;
40
+ }
124
41
  }
125
42
 
126
- blockquote, q {
127
- quotes: none;
128
- }
129
- blockquote:before, blockquote:after,
130
- q:before, q:after {
131
- content: '';
132
- content: none;
133
- }
134
- table {
135
- border-collapse: collapse;
136
- border-spacing: 0;
137
- }
43
+ @import 'coverpage';
138
44
 
139
45
  /* Setting of the page size and margins */
140
46
 
141
47
  @page {
142
- size: 210mm 297mm;
143
- margin: 10mm 15mm 20mm 25mm;
48
+ size: 210mm 297mm;
49
+ margin: 10mm 15mm 20mm 25mm;
144
50
  }
145
51
 
146
52
  .title-section {
147
- padding-left: 4em;
148
- padding-top: 10mm;
53
+ padding-left: 4em;
54
+ padding-top: 10mm;
149
55
  }
150
56
 
151
57
  .prefatory-section {
152
- padding: 0 3em 0 6em;
58
+ padding: 0 3em 0 6em;
153
59
  }
154
60
 
155
-
156
61
  .prefatory-section, main {
157
- margin: 0 1.5em;
62
+ margin: 0 1.5em;
158
63
  }
159
64
 
160
65
  main {
161
- padding-left: 4em;
162
- padding-right: 2em;
163
- }
164
-
165
- .zzSTDTitle1, .MsoCommentText {
166
- display: none; }
167
-
168
-
169
-
170
- .doctitle-en, .doctitle-fr {
171
- margin-top: 2em;
172
- text-align: left;
173
- }
174
-
175
- .doctitle-en {
176
- padding-left: 3em;
177
- margin-left: -3em;
178
- padding-top: 2em;
179
- padding-bottom: 2em;
180
-
66
+ padding-left: 4em;
67
+ padding-right: 2em;
181
68
  }
182
69
 
183
- .doctitle-en span {
184
- font-size: 2em;
185
- line-height: 1.5em;
186
- display: block;
187
- }
188
-
189
-
190
- .doctitle-fr span {
191
- font-size: 1.5em;
192
- line-height: 1.2em;
193
- font-style: italic;
194
- display: block;
70
+ .zzSTDTitle1, .MsoCommentText {
71
+ display: none;
195
72
  }
196
73
 
197
74
  span.title {
@@ -200,48 +77,33 @@ span.title {
200
77
  font-weight: 800;
201
78
  }
202
79
 
203
- .coverpage_docstage {
204
- margin-top: 2em;
205
- margin-bottom: 2em;
206
- }
207
-
208
- /*
209
- .coverpage_warning {
210
- border-top: solid 1px #f36f36;
211
- border-bottom: solid 1px #f36f36;
212
- margin: 1em 2em;
213
- color: #485094;
214
- padding: 1em;
215
- }
216
- */
217
-
218
80
  .coverpage_warning {
219
81
  font-size: 0.9em;
220
82
  font-style: italic;
221
83
  padding-bottom: 1em;
222
84
  }
223
85
 
224
- /*
225
- .coverpage_warning .title {
226
- color: #f36f36;
227
- font-weight: 500;
228
- }
229
-
230
- .coverpage_warning .content {
231
- font-style: italic;
232
- }
233
-
234
- .coverpage_docnumber, .coverpage_techcommittee {
235
- text-align: right;
236
- font-size:0.9em;
237
- line-height: 0.5em;
238
- }
239
- */
240
-
241
86
  .coverpage {
242
87
  text-align: center;
88
+ padding: 0;
243
89
  /* margin: 2em 0; */
244
90
  }
91
+ .coverpage-doc-relations,
92
+ .coverpage-doc-identity-first {
93
+ padding-top: 0;
94
+ }
95
+ .coverpage-stage-block {
96
+ font-style: normal;
97
+ font-weight: 400;
98
+ }
99
+ .coverpage-logo {
100
+ color: black;
101
+ font-weight: normal;
102
+ }
103
+ .coverpage_docnumber,
104
+ .coverpage_techcommittee {
105
+ font-size: 100%;
106
+ }
245
107
 
246
108
  /* NEW */
247
109
  .coverpage-header {
@@ -288,33 +150,12 @@ span.title {
288
150
  flex-direction: column;
289
151
  }
290
152
 
291
-
292
-
293
-
294
153
  .coverpage-tc-name {
295
154
  font-size: 1.2em;
296
155
  line-height: 1.2em;
297
156
  margin: 0.25em 0;
298
157
  }
299
158
 
300
- /*
301
- .coverpage-doc-identity {
302
- background-color: #485094;
303
- color: white;
304
- font-size: 2em;
305
- line-height: 2em;
306
- margin: 0.5em 0;
307
- }
308
- */
309
-
310
- .coverpage-title {
311
- font-weight: 400;
312
- }
313
-
314
- .coverpage-title .title-second {
315
- display: none;
316
- }
317
-
318
159
  span.coverpage-logo-text {
319
160
  font-size: 5mm;
320
161
  text-align: right;
@@ -325,11 +166,6 @@ span.coverpage-logo-text {
325
166
 
326
167
  /* NEW */
327
168
  .coverpage-doc-identity-first {
328
- font-size: 5mm;
329
- text-align: right;
330
- padding-right: 5mm;
331
- /*font-weight: bold; */
332
- padding-bottom: 1em;
333
169
  border-bottom: solid black 1px;
334
170
  }
335
171
 
@@ -382,174 +218,86 @@ span.date-active {
382
218
  float:right;
383
219
  }
384
220
 
385
-
386
221
  .coverpage-doc-relations {
387
222
  font-size:10.5pt;
388
223
  }
389
224
 
390
- .coverpage-title-zh {
391
- font-size: 8mm;
392
- display: flex;
393
- flex-wrap: wrap;
394
- justify-content: center;
395
- /* flex-direction: column; */
396
- font-family:$headerfont;
397
- }
398
-
399
225
  .coverpage-title-zh span {
400
226
  padding-top: 2mm;
401
227
  font-size: 8mm;
402
228
  }
403
229
 
404
230
  .coverpage-title-en {
405
- margin-top: 10mm;
406
- font-size: 5mm;
407
- display: flex;
408
- flex-wrap: wrap;
409
- justify-content: center;
410
- font-family:$headerfont;
411
- }
412
-
413
- .coverpage-title-en span {
414
- display: block;
415
- }
416
-
417
- .coverpage-title-en .title-first {
418
- text-transform: uppercase;
231
+ font-size: 5mm;
419
232
  }
420
233
 
421
234
  /* NEW */
422
- .coverpage-warning {
423
- border-top: solid 1px #f36f36;
424
- border-bottom: solid 1px #f36f36;
425
- margin: 1em 2em;
426
- color: #485094;
427
- padding: 1em; }
235
+ .coverpage-warning {
236
+ border-top: solid 1px #f36f36;
237
+ border-bottom: solid 1px #f36f36;
238
+ margin: 1em 2em;
239
+ color: #485094;
240
+ padding: 1em;
241
+ }
428
242
 
429
243
  /* NEW */
430
- .coverpage-warning .title {
431
- color: #f36f36;
432
- font-weight: 500; }
244
+ .coverpage-warning .title {
245
+ color: #f36f36;
246
+ font-weight: 500;
247
+ }
433
248
 
434
249
  /* NEW */
435
- .coverpage-warning .content {
436
- font-style: italic; }
437
-
438
-
439
-
440
- .coverpage-iso-relation {
441
- font-size:14pt;
442
- margin-top: 10mm;
443
- text-align: center;
250
+ .coverpage-warning .content {
251
+ font-style: italic;
444
252
  }
445
253
 
446
-
447
254
  .coverpage-dates {
448
- width:100%;
449
- margin-top: 25mm;
450
- border-bottom: 1px solid #000;
451
255
  font-size: 4.5mm;
452
- font-family:$headerfont;
453
256
  }
454
257
 
455
258
  .coverpage_footer {
456
- text-align:center;
457
259
  font-size: 1em;
458
- font-weight: 600;
459
- width: 100%;
460
- margin-top: 10mm;
461
- }
462
-
463
- /* NEW */
464
- .coverpage_footer table, .coverpage_footer th, .coverpage_footer td {
465
- border: 0;
466
260
  }
467
261
 
468
- /* NEW */
469
- .coverpage_footer th, .coverpage_footer td {
470
- padding: 5px;
471
- font-size: 1.1em;
472
- font-weight: 600;
473
- }
474
-
475
- /* NEW */
476
- .coverpage_footer .publish {
477
- vertical-align: middle;
478
- }
479
-
480
-
481
262
  /* NEW */
482
263
  .coverpage-banner {
483
- padding-top: 5mm;
484
- margin-left:auto;
485
- margin-right:auto;
486
- width:auto;
487
- display:flex;
488
- flex-wrap: wrap;
489
- justify-content: center;
490
264
  height: 177.5mm;
491
265
  }
492
266
 
493
- .copyright {
494
- padding: 1em; }
495
-
496
-
497
- /*
498
- .copyright .name {
499
- font-weight: 900;
500
- padding-top: 1em;
267
+ .copyright {
268
+ padding: 1em;
501
269
  }
502
- */
503
270
 
504
271
  .copyright .year, .copyright .message,
505
272
  .copyright .name, .copyright .address {
506
- margin-top: 1em;
507
- /* line-height: 1.1em; */
508
- display: block;
509
- }
510
-
511
- .copyright .message, .copyright .name,
512
- .copyright .address {
513
- font-size: 0.9em;
514
- }
515
-
516
- .copyright .name {
517
- color: #485094;
518
- font-weight: 600;
273
+ line-height: 1;
274
+ }
275
+
276
+ p.MsoCommentText, li.MsoCommentText, div.MsoCommentText {
277
+ margin-top: 0cm;
278
+ margin-right: 0cm;
279
+ margin-bottom: 12.0pt;
280
+ margin-left: 0cm;
281
+ text-align: justify;
282
+ line-height: 12.0pt;
283
+ /* tab-stops: 20.15pt; */
284
+ font-size: 12.0pt;
285
+ font-family: $bodyfont;
519
286
  }
520
287
 
521
- .copyright .address {
522
- color: #485094;
288
+ p.MsoCommentSubject, li.MsoCommentSubject, div.MsoCommentSubject {
289
+ margin-top: 0cm;
290
+ margin-right: 0cm;
291
+ margin-bottom: 12.0pt;
292
+ margin-left: 0cm;
293
+ text-align: justify;
294
+ line-height: 12.0pt;
295
+ tab-stops: 20.15pt;
296
+ font-size: 10.0pt;
297
+ font-family: $headerfont;
298
+ font-weight: bold;
523
299
  }
524
300
 
525
-
526
- p.MsoCommentText, li.MsoCommentText, div.MsoCommentText {
527
- margin-top: 0cm;
528
- margin-right: 0cm;
529
- margin-bottom: 12.0pt;
530
- margin-left: 0cm;
531
- text-align: justify;
532
- line-height: 12.0pt;
533
- /* tab-stops: 20.15pt; */
534
- font-size: 12.0pt;
535
- font-family: $bodyfont;
536
- }
537
-
538
- p.MsoCommentSubject, li.MsoCommentSubject, div.MsoCommentSubject {
539
- margin-top: 0cm;
540
- margin-right: 0cm;
541
- margin-bottom: 12.0pt;
542
- margin-left: 0cm;
543
- text-align: justify;
544
- line-height: 12.0pt;
545
- tab-stops: 20.15pt;
546
- font-size: 10.0pt;
547
- font-family: $headerfont;
548
- font-weight: bold; }
549
-
550
-
551
-
552
-
553
301
  /* TYPOGRAPHY */
554
302
 
555
303
  a {
@@ -559,17 +307,17 @@ a {
559
307
  }
560
308
 
561
309
  h1 {
562
- font-size: 1.5em;
310
+ font-size: 1.5em;
563
311
  font-weight: 400;
564
312
  }
565
313
 
566
314
  h2 {
567
- font-size: 1.3em;
315
+ font-size: 1.3em;
568
316
  font-weight: 300;
569
317
  }
570
318
 
571
319
  h3 {
572
- font-size: 1.1em;
320
+ font-size: 1.1em;
573
321
  font-weight: 300;
574
322
  }
575
323
 
@@ -584,11 +332,11 @@ h2 {
584
332
  }
585
333
 
586
334
  h1, h2, h3, h4, h5, h6 {
587
- line-height: 1.2;
335
+ line-height: 1.2;
588
336
  }
589
337
 
590
338
  h2 p {
591
- display: inline;
339
+ display: inline;
592
340
  }
593
341
 
594
342
  p {
@@ -600,34 +348,18 @@ p {
600
348
  }
601
349
 
602
350
  p.zzSTDTitle1 {
603
- font-weight: 700;
604
- font-size: 1.5em;
605
- }
606
-
607
- span.obligation {
608
- font-weight: 400;
609
- }
610
-
611
- a:visited {
612
- text-decoration: none;
351
+ font-weight: 700;
352
+ font-size: 1.5em;
613
353
  }
614
354
 
615
- /*
616
- a:hover {
617
- text-style: italic;
618
- color: #485094;
619
- }
620
- */
621
-
622
- nav a {
623
- color: black;
624
- /* line-height: 1.2em; */
355
+ span.obligation {
356
+ font-weight: 400;
625
357
  }
626
358
 
627
359
  p.TermNum {
628
360
  font-size: 1.3em;
629
361
  font-weight: 300;
630
- margin: 1em 0 0 0;
362
+ margin: 1em 0 0 0;
631
363
  }
632
364
 
633
365
  p.Terms {
@@ -651,150 +383,82 @@ p.DeprecatedTerms {
651
383
 
652
384
  /* Navigation*/
653
385
 
654
- @media screen and (min-width: 768px) {
655
- nav {
656
- position: fixed;
657
- top: 0;
658
- bottom: 0;
659
- left: 0;
660
- width: 278px;
661
- font-size: 0.9em;
662
- overflow: auto;
663
- padding: 0 0 0 45px;
664
- background-color:#f7f7f7;
665
- line-height: 1.2em;
666
- }
386
+ nav {
387
+ @include sidebarNav(#f7f7f7, 278px, 45px);
667
388
 
668
- #toggle {
669
- position: fixed;
670
- height: 100%;
671
- width: 30px;
672
- border-right: solid black 1px;
673
- background-color:black;
674
- color: white!important;
675
- cursor: pointer;
676
- margin-left: -4em;
677
- margin-top: -2em;
678
- }
679
-
680
- #toggle span {
681
- text-align: center;
682
- width: 100%;
683
- position: absolute;
684
- top: 50%;
685
- transform: translate(0, -50%);
389
+ a {
390
+ color: black;
391
+ text-decoration: none;
392
+ line-height: 1.2em;
393
+ }
394
+ }
686
395
 
687
- }
396
+ #toggle {
397
+ @include sidebarNavToggle(white, black);
688
398
 
399
+ @media screen and (min-width: $bigscreenBreakpoint) {
400
+ margin-left: -$mainContentsOffsetLeft;
401
+ width: 30px;
402
+ border-right: solid black 1px;
403
+ margin-top: -2em;
404
+ z-index: 0;
405
+ }
406
+ }
689
407
 
690
- .container {
691
- padding-left: 360px;
692
- }
408
+ #toc {
409
+ @include toc(inherit, #1d1d1d, white);
693
410
 
694
- .rule.toc {
695
- display: none;
696
- }
411
+ li:before {
412
+ content: " ";
413
+ display: none;
414
+ }
697
415
 
698
- h1.toc-contents {
699
- margin-top: 1em;
416
+ ul{
417
+ a {
418
+ &:hover {
419
+ box-shadow: none;
420
+ color: black;
421
+ }
422
+ color: #000000;
423
+ text-decoration: none !important;
424
+ display: block;
425
+ font-family: $bodyfont;
700
426
  }
701
-
702
- ul#toc-list {
703
- padding:0;
704
- margin:0;
427
+ }
428
+ .toc-active {
429
+ a {
430
+ color: black;
705
431
  }
432
+ }
433
+ .toc-active,
434
+ li:hover {
435
+ background: none;
436
+ box-shadow: none !important;
437
+ }
706
438
  }
707
439
 
708
- @media screen and (max-width: 768px) {
709
- #toc {
710
- padding: 0 1.5em 0 1.5em;
711
- overflow: visible;
712
- }
713
-
714
- #toggle {
715
- display: none;
716
- margin-left: -4em;
717
- margin-top: -2em;
718
- }
719
-
720
- body {
721
- margin-left: 2em;
722
- }
723
-
724
- main {
725
- padding: 0;
726
- }
440
+ #toc-list {
441
+ ul {
442
+ margin-bottom: 0.25em;
727
443
 
728
- .title-section, .prefatory-section {
729
- padding-left: 0;
730
- padding-top: 0;
731
- width: 100%;
444
+ li {
445
+ list-style-type: none;
732
446
  }
733
- }
734
-
735
- div.figure > img:not(.logo) {
736
- margin-left: auto;
737
- margin-right: auto;
738
- display: block;
739
- max-width: 100%;
740
- height: auto;
741
447
  }
742
-
743
448
 
744
- #toc ul {
745
- margin: 0;
449
+ @media screen and (min-width: $bigscreenBreakpoint) {
746
450
  padding: 0;
747
- list-style: none;
748
- }
749
-
750
- #toc li a {
751
- padding: 5px 10px;
451
+ margin: 0;
452
+ }
752
453
  }
753
454
 
754
- #toc a {
755
- color: #000000;
756
- text-decoration: none!important;
455
+ div.figure > img:not(.logo) {
456
+ margin-left: auto;
457
+ margin-right: auto;
757
458
  display: block;
758
- font-family: $bodyfont;
759
- }
760
-
761
- #toc a:hover {
762
- box-shadow: none;
763
- color: black;
764
- }
765
-
766
- #toc .h2 {
767
- padding-left: 30px;
768
- }
769
-
770
- #toc .h3 {
771
- padding-left: 50px;
772
- }
773
-
774
- nav a {
775
- text-decoration: none!important;
776
- }
777
-
778
- #toc .toc-active a {
779
- color: black;
780
- }
781
-
782
- /*
783
- #toc .toc-active, #toc li:hover {
784
- background: #1d1d1d;
785
- box-shadow: inset -5px 0px 10px -5px #1d1d1d!important;
786
-
459
+ max-width: 100%;
460
+ height: auto;
787
461
  }
788
- */
789
- #toc li:hover a {
790
- color: black;
791
- }
792
-
793
-
794
- #toc li:before {
795
- content: " ";
796
- display: none;
797
- }
798
462
 
799
463
  ::selection {
800
464
  background: #1d1d1d; /* WebKit/Blink Browsers */
@@ -805,7 +469,6 @@ nav a {
805
469
  color: white;
806
470
  }
807
471
 
808
-
809
472
  /*
810
473
  Document types + stages
811
474
  */
@@ -1095,28 +758,23 @@ ol[type="roman_upper"] ol[type="roman_upper"] > li:before {
1095
758
  3.4 Rules
1096
759
  */
1097
760
 
1098
- /*
1099
- div.rule {
1100
- width: 100%;
1101
- height: 1px;
1102
- background-color: #485094;
1103
- margin: 2em 0; }
1104
- */
1105
-
1106
761
  .rule {
1107
- width: 100%;
1108
- height: 1px;
1109
- background-color: #0e1a85;
1110
- margin: 2em 0;
762
+ @include rule(1px, #0e1a85);
763
+
764
+ &.toc {
765
+ @media screen and (min-width: $bigscreenBreakpoint) {
766
+ display: none;
767
+ }
1111
768
  }
769
+ }
1112
770
 
1113
771
  /*
1114
772
  3.5 Bibliograhy
1115
773
  */
1116
774
 
1117
775
  p.Biblio, p.NormRef {
1118
- margin-top: 1em;
1119
- margin-left: 2em;
776
+ margin-top: 1em;
777
+ margin-left: 2em;
1120
778
  }
1121
779
 
1122
780
  /*
@@ -1124,24 +782,52 @@ margin-left: 2em;
1124
782
  */
1125
783
 
1126
784
  pre {
1127
- font-family: $monospacefont;
1128
- font-variant-ligatures: none;
785
+ font-family: $monospacefont;
786
+ font-variant-ligatures: none;
1129
787
  }
1130
788
 
1131
- pre, .figure, .pseudocode {
1132
- font-size:0.9em;
789
+ pre,
790
+ .figure,
791
+ .pseudocode {
792
+ font-size: 0.9em;
1133
793
  line-height: 1.6em;
1134
- padding: 1.5em;
794
+ padding: 1.5em;
1135
795
  background-color: #f7f7f7;
1136
- margin: 2em 0 1em 0;
1137
- overflow: auto;
796
+ margin: 2em 0 1em 0;
797
+ overflow: auto;
798
+ }
799
+
800
+ .Sourcecode {
801
+ @include sourceBlock(#f7f7f7, null);
802
+ // Requires fontSize: null, but needs an update in isodoc
803
+ // @include sourceBlock(#f7f7f7, null, null);
1138
804
  }
1139
805
 
1140
- .figure-title, .FigureTitle, .SourceTitle, .AdmonitionTitle, .RecommendationTitle {
1141
- font-weight: 700;
1142
- font-size: 1em;
1143
- text-align: center;
1144
- font-family: $headerfont;
806
+ .pseudocode {
807
+ @include pseudocodeBlock(#f7f7f7, null);
808
+ // Requires fontSize: null, but needs an update in isodoc
809
+ // @include pseudocodeBlock(#f7f7f7, null, null);
810
+ }
811
+
812
+ .Sourcecode,
813
+ .figure,
814
+ .pseudocode {
815
+ font-size: 0.9em;
816
+ }
817
+
818
+ .figure {
819
+ @include figureBlock();
820
+ background-color: #f7f7f7;
821
+ }
822
+
823
+ .figure-title,
824
+ .FigureTitle,
825
+ .SourceTitle,
826
+ .AdmonitionTitle,
827
+ .RecommendationTitle {
828
+ font-weight: 700;
829
+ font-size: 1em;
830
+ font-family: $headerfont;
1145
831
  }
1146
832
 
1147
833
  /*
@@ -1176,30 +862,17 @@ font-family: $headerfont;
1176
862
  */
1177
863
 
1178
864
  .example {
1179
- background-color: #e1eef1;
1180
- /*padding: 1.2em; */
1181
- padding: 0.5em;
1182
- margin: 2em 0 1em 0;
1183
- text-align: left;
1184
- }
1185
-
1186
- .example p {
1187
- margin: 0;
1188
- }
865
+ @include exampleBlock(#e1eef1, null, .5em, 1.5em);
1189
866
 
1190
- .example .example-title {
1191
- font-weight: 700;
1192
- text-transform: uppercase;
1193
- margin-top:0;
1194
- }
1195
-
1196
- .example-title {
1197
- font-family: $headerfont;
867
+ .example-title {
868
+ margin-top: 0;
1198
869
  }
1199
870
 
1200
-
1201
- .example pre, .example .pseudocode {
1202
- background: none;
871
+ .Sourcecode,
872
+ .pseudocode,
873
+ pre {
874
+ background: none;
875
+ }
1203
876
  }
1204
877
 
1205
878
  /*
@@ -1207,40 +880,25 @@ margin-top:0;
1207
880
  */
1208
881
 
1209
882
  table {
1210
- border-collapse: collapse;
1211
- width: 100%;
1212
- font-weight: 300;
1213
- margin: 1em 0 2em 0;
1214
- margin-left: auto;
1215
- margin-right: auto;
1216
- padding-right: 2em;
1217
- text-align: center;
1218
- }
883
+ @include table(1px solid black);
1219
884
 
1220
- table, th, td {
1221
- border: 1px solid black;
1222
- font-size: 0.95em;
1223
- }
1224
-
1225
- td, th {
1226
- padding: 1em!important;
1227
- }
1228
-
1229
- td.header {
1230
- font-weight: 400;
885
+ td,
886
+ th {
887
+ padding: 1em !important;
888
+ }
889
+ text-align: center;
1231
890
  }
1232
891
 
1233
892
  p.TableTitle {
1234
- text-align: center;
1235
- margin-top: 2.5em;
1236
- font-weight: 400;
1237
- font-size: 1.1em;
1238
- font-family: $headerfont;
893
+ margin-top: 2.5em;
894
+ font-weight: 400;
895
+ font-size: 1.1em;
896
+ font-family: $headerfont;
1239
897
  }
1240
898
 
1241
899
  .TableFootnote {
1242
- text-align: left!important;
1243
- list-style: lower-alpha;
900
+ text-align: left !important;
901
+ list-style: lower-alpha;
1244
902
  }
1245
903
 
1246
904
  /*
@@ -1302,14 +960,9 @@ sup a {
1302
960
  3.11 Blockquotes
1303
961
  */
1304
962
 
1305
- .blockquote, .Quote {
1306
- background-color: #f7f7f7;
1307
- font-style: italic;
1308
- width: 80%;
1309
- padding: 1.5em;
1310
- margin-top: 2em;
1311
- margin-left: auto;
1312
- margin-right: auto;
963
+ .blockquote,
964
+ .Quote {
965
+ @include blockquoteBlock(#f7f7f7);
1313
966
  }
1314
967
 
1315
968
  /*
@@ -1317,22 +970,25 @@ margin-right: auto;
1317
970
  */
1318
971
 
1319
972
  .formula {
1320
- /* background-color: #f1f1f1; */
1321
- background-color: #f7f7f7;
1322
- padding: 1.5em;
1323
- margin-top: 2em;
1324
- margin-bottom: 1em;
1325
- text-align: center;
1326
- margin-left: 20%;
1327
- margin-right: 20%;
973
+ @include formulaBlock(#f7f7f7);
974
+
975
+ margin-left: 20%;
976
+ margin-right: 20%;
977
+ }
978
+
979
+ dl.formula_dl {
980
+ background-color: #f7f7f7;
981
+ margin-left: 20%;
982
+ margin-right: 20%;
1328
983
  }
1329
984
 
985
+
1330
986
  /*
1331
987
  Keywords
1332
988
  */
1333
989
 
1334
990
  span.keyword {
1335
- font-weight: 600;
991
+ font-weight: 600;
1336
992
  }
1337
993
 
1338
994