metanorma-iso 1.5.6 → 1.5.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/macos.yml +9 -1
  3. data/.github/workflows/ubuntu.yml +8 -0
  4. data/.github/workflows/windows.yml +7 -0
  5. data/lib/asciidoctor/iso/basicdoc.rng +4 -11
  6. data/lib/asciidoctor/iso/boilerplate-fr.xml +40 -0
  7. data/lib/asciidoctor/iso/boilerplate.xml +1 -0
  8. data/lib/asciidoctor/iso/cleanup.rb +5 -0
  9. data/lib/asciidoctor/iso/front.rb +9 -15
  10. data/lib/asciidoctor/iso/isodoc.rng +14 -50
  11. data/lib/asciidoctor/iso/isostandard.rng +8 -1
  12. data/lib/isodoc/iso/html/header.html +8 -16
  13. data/lib/isodoc/iso/html/style-human.css +5 -1
  14. data/lib/isodoc/iso/html/style-iso.css +5 -1
  15. data/lib/isodoc/iso/i18n-en.yaml +3 -0
  16. data/lib/isodoc/iso/i18n-fr.yaml +3 -0
  17. data/lib/isodoc/iso/i18n-zh-Hans.yaml +4 -0
  18. data/lib/isodoc/iso/iso.amendment.xsl +543 -94
  19. data/lib/isodoc/iso/iso.international-standard.xsl +543 -94
  20. data/lib/isodoc/iso/isosts_convert.rb +31 -0
  21. data/lib/isodoc/iso/metadata.rb +19 -19
  22. data/lib/metanorma-iso.rb +1 -0
  23. data/lib/metanorma/iso/processor.rb +1 -1
  24. data/lib/metanorma/iso/version.rb +1 -1
  25. data/metanorma-iso.gemspec +1 -1
  26. data/spec/asciidoctor-iso/amd_spec.rb +7 -7
  27. data/spec/asciidoctor-iso/base_spec.rb +144 -18
  28. data/spec/asciidoctor-iso/validate_spec.rb +35 -15
  29. data/spec/assets/xref_error.adoc +7 -0
  30. data/spec/isodoc/amd_spec.rb +191 -17
  31. data/spec/isodoc/blocks_spec.rb +1 -1
  32. data/spec/isodoc/i18n_spec.rb +13 -13
  33. data/spec/isodoc/inline_spec.rb +2 -2
  34. data/spec/isodoc/iso_spec.rb +2 -2
  35. data/spec/isodoc/metadata_spec.rb +170 -19
  36. data/spec/isodoc/postproc_spec.rb +3 -3
  37. data/spec/isodoc/ref_spec.rb +3 -3
  38. data/spec/isodoc/section_spec.rb +2 -2
  39. data/spec/isodoc/table_spec.rb +1 -1
  40. data/spec/isodoc/terms_spec.rb +1 -1
  41. data/spec/isodoc/xref_spec.rb +11 -11
  42. data/spec/metanorma/processor_spec.rb +1 -1
  43. data/spec/spec_helper.rb +22 -2
  44. metadata +7 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: af5b522de99b45f3bfe7f85160164adef26c76fd3422589d47309fa9e45086b3
4
- data.tar.gz: 99305967e4efd098f560a968e290ed45f687841f3246995b73e472a1776e29be
3
+ metadata.gz: b55ad63091753ec601585409d6eb07ecb5036273c4c0a25d4dc8933d1f8fe68e
4
+ data.tar.gz: e4926508e1cbd008d5f8f9daf99746dd31fe599726ac3b40c3fbe21417425d92
5
5
  SHA512:
6
- metadata.gz: 277da3d65b6fb4b0de530d152ef7c3f02cdd8aca331f8b0b8d201fd9ce99c245f80556ad9f5465d7aba7a47b0cfba3823ce98b6afb11dd8df2ef3ced774c2232
7
- data.tar.gz: 767a3e807f6f26548c1535e297063a73c9b04e45c62b9f7c97929c4bde1917b33027b05a50625ee45b5fb9983f40d9e6337016978db94319bd2ce9f834c28860
6
+ metadata.gz: 5e91a33a23750e3f6bcc4a7b41b31a6543ab59bd28f7c82bc683e4e18c6e1ba0944b8662d29b74f95e548eac55da5d7b40bb842574d1739aba494e0058e07e3c
7
+ data.tar.gz: d8c09a90f76d6d5872010b54001af4c7a8d8ebd809cef8c6c6d09e75bb303c7717d5f74f8e10230ed9a6dbbc47f166383ade0215d2f876dd948a202b08ada08c
@@ -29,9 +29,17 @@ jobs:
29
29
  uses: actions/setup-ruby@v1
30
30
  with:
31
31
  ruby-version: ${{ matrix.ruby }}
32
+ - name: Cache gems
33
+ uses: actions/cache@preview
34
+ with:
35
+ path: vendor/bundle
36
+ key: ${{ runner.os }}-${{ matrix.ruby }}-gem-${{ hashFiles('Gemfile') }}
37
+ restore-keys: |
38
+ ${{ runner.os }}-${{ matrix.ruby }}-gem-
32
39
  - name: Update gems
33
40
  run: |
34
- sudo gem install bundler --force
41
+ gem install bundler
42
+ bundle config --local path vendor/bundle
35
43
  bundle install --jobs 4 --retry 3
36
44
  - name: Install PlantUML
37
45
  run: |
@@ -29,9 +29,17 @@ jobs:
29
29
  uses: actions/setup-ruby@v1
30
30
  with:
31
31
  ruby-version: ${{ matrix.ruby }}
32
+ - name: Cache gems
33
+ uses: actions/cache@preview
34
+ with:
35
+ path: vendor/bundle
36
+ key: ${{ runner.os }}-${{ matrix.ruby }}-gem-${{ hashFiles('Gemfile') }}
37
+ restore-keys: |
38
+ ${{ runner.os }}-${{ matrix.ruby }}-gem-
32
39
  - name: Update gems
33
40
  run: |
34
41
  gem install bundler
42
+ bundle config --local path vendor/bundle
35
43
  bundle install --jobs 4 --retry 3
36
44
  - name: Install PlantUML
37
45
  uses: nick-invision/retry@v1
@@ -29,6 +29,13 @@ jobs:
29
29
  uses: actions/setup-ruby@v1
30
30
  with:
31
31
  ruby-version: ${{ matrix.ruby }}
32
+ - name: Cache gems
33
+ uses: actions/cache@preview
34
+ with:
35
+ path: vendor/bundle
36
+ key: ${{ runner.os }}-${{ matrix.ruby }}-gem-${{ hashFiles('Gemfile') }}
37
+ restore-keys: |
38
+ ${{ runner.os }}-${{ matrix.ruby }}-gem-
32
39
  - name: Update gems
33
40
  shell: pwsh
34
41
  run: |
@@ -158,17 +158,7 @@
158
158
  <data type="ID"/>
159
159
  </attribute>
160
160
  <oneOrMore>
161
- <choice>
162
- <ref name="formula"/>
163
- <ref name="ul"/>
164
- <ref name="ol"/>
165
- <ref name="dl"/>
166
- <ref name="quote"/>
167
- <ref name="sourcecode"/>
168
- <ref name="paragraph"/>
169
- <ref name="table"/>
170
- <ref name="figure"/>
171
- </choice>
161
+ <ref name="paragraph"/>
172
162
  </oneOrMore>
173
163
  </element>
174
164
  </define>
@@ -1028,6 +1018,9 @@
1028
1018
  <value>alphabet_upper</value>
1029
1019
  </choice>
1030
1020
  </attribute>
1021
+ <optional>
1022
+ <attribute name="start"/>
1023
+ </optional>
1031
1024
  <oneOrMore>
1032
1025
  <ref name="li"/>
1033
1026
  </oneOrMore>
@@ -0,0 +1,40 @@
1
+ <boilerplate>
2
+ <copyright-statement>
3
+ <clause>
4
+ <title>DOCUMENT PROTÉGÉ PAR COPYRIGHT</title>
5
+ <p id="boilerplate-year">&copy; {{ agency }} {{ docyear }}</p>
6
+
7
+ <p id="boilerplate-message">
8
+ Droits de reproduction réservés. Sauf indication contraire, aucune partie de cette publication ne
9
+ peut être reproduite ni utilisée sous quelque forme que ce soit et par aucun procédé, électronique
10
+ ou mécanique, y compris la photocopie, l’affichage sur l’internet ou sur un Intranet, sans
11
+ autorisation écrite préalable. Les demandes d’autorisation peuvent être adressées à l’ISO à
12
+ l’adresse ci-après ou au comité membre de l’ISO dans le pays du demandeur.
13
+ </p>
14
+
15
+ <p id="boilerplate-address" align="left">
16
+ ISO copyright office<br/>
17
+ Ch. de Blandonnet 8 &#x2022; CP 401<br/>
18
+ CH-1214 Vernier, Geneva, Switzerland<br/>
19
+ Tel.&nbsp;&nbsp;+ 41 22 749 01 11<br/>
20
+ Fax&nbsp;&nbsp;+ 41 22 749 09 47<br/>
21
+ Email: copyright@iso.org<br/>
22
+ Website: www.iso.org
23
+ </p>
24
+ <p id="boilerplate-place">
25
+ Publié en Suisse
26
+ </p>
27
+ </clause>
28
+ </copyright-statement>
29
+
30
+ {% if unpublished %}
31
+ <license-statement>
32
+ <clause>
33
+ <title>Avertissement</title>
34
+
35
+ <p>Ce document n'est pas une Norme internationale de l'ISO. Il est distribué pour examen et observations. Il est susceptible de modification sans préavis et ne peut être cité comme Norme internationale.</p>
36
+ <p>Les destinataires du présent projet sont invités à présenter, avec leurs observations, notification des droits de propriété dont ils auraient éventuellement connaissance et à fournir une documentation explicative.</p>
37
+ </clause>
38
+ </license-statement>
39
+ {% endif %}
40
+ </boilerplate>
@@ -1,6 +1,7 @@
1
1
  <boilerplate>
2
2
  <copyright-statement>
3
3
  <clause>
4
+ <title>COPYRIGHT PROTECTED DOCUMENT</title>
4
5
  <p id="boilerplate-year">
5
6
  &copy; {{ agency }} {{ docyear }}
6
7
  </p>
@@ -124,6 +124,11 @@ module Asciidoctor
124
124
  h.delete('inline-header')
125
125
  end
126
126
  end
127
+
128
+ def boilerplate_file(xmldoc)
129
+ file = @lang == "fr" ? "boilerplate-fr.xml" : "boilerplate.xml"
130
+ File.join(@libdir, file)
131
+ end
127
132
  end
128
133
  end
129
134
  end
@@ -18,18 +18,9 @@ module Asciidoctor
18
18
  xml.updates_document_type a
19
19
  end
20
20
 
21
- def organization(org, orgname)
22
- if ["ISO",
23
- "International Organization for Standardization"].include? orgname
24
- org.name "International Organization for Standardization"
25
- org.abbreviation "ISO"
26
- elsif ["IEC",
27
- "International Electrotechnical Commission"].include? orgname
28
- org.name "International Electrotechnical Commission"
29
- org.abbreviation "IEC"
30
- else
31
- org.name orgname
32
- end
21
+ def org_abbrev
22
+ { "International Organization for Standardization" => "ISO",
23
+ "International Electrotechnical Commission" => "IEC" }
33
24
  end
34
25
 
35
26
  def metadata_author(node, xml)
@@ -37,7 +28,7 @@ module Asciidoctor
37
28
  csv_split(publishers).each do |p|
38
29
  xml.contributor do |c|
39
30
  c.role **{ type: "author" }
40
- c.organization { |a| organization(a, p) }
31
+ c.organization { |a| organization(a, p, node, !node.attr("publisher")) }
41
32
  end
42
33
  end
43
34
  end
@@ -47,7 +38,7 @@ module Asciidoctor
47
38
  csv_split(publishers).each do |p|
48
39
  xml.contributor do |c|
49
40
  c.role **{ type: "publisher" }
50
- c.organization { |a| organization(a, p) }
41
+ c.organization { |a| organization(a, p, node, !node.attr("publisher")) }
51
42
  end
52
43
  end
53
44
  end
@@ -58,7 +49,10 @@ module Asciidoctor
58
49
  xml.copyright do |c|
59
50
  c.from (node.attr("copyright-year") || Date.today.year)
60
51
  c.owner do |owner|
61
- owner.organization { |o| organization(o, p) }
52
+ owner.organization do |o|
53
+ organization(o, p, node,
54
+ !(node.attr("copyright-holder") || node.attr("publisher")))
55
+ end
62
56
  end
63
57
  end
64
58
  end
@@ -42,7 +42,6 @@
42
42
  </define>
43
43
  <define name="xref">
44
44
  <element name="xref">
45
- <!-- attribute target { xsd:IDREF }, -->
46
45
  <attribute name="target">
47
46
  <data type="string">
48
47
  <param name="pattern">\i\c*|\c+#\c+</param>
@@ -64,6 +63,11 @@
64
63
  </choice>
65
64
  </attribute>
66
65
  </optional>
66
+ <optional>
67
+ <attribute name="droploc">
68
+ <data type="boolean"/>
69
+ </attribute>
70
+ </optional>
67
71
  <text/>
68
72
  </element>
69
73
  </define>
@@ -859,6 +863,13 @@
859
863
  </define>
860
864
  <define name="standard-document">
861
865
  <element name="standard-document">
866
+ <attribute name="version"/>
867
+ <attribute name="type">
868
+ <choice>
869
+ <value>semantic</value>
870
+ <value>presentation</value>
871
+ </choice>
872
+ </attribute>
862
873
  <ref name="bibdata"/>
863
874
  <optional>
864
875
  <ref name="boilerplate"/>
@@ -880,7 +891,7 @@
880
891
  <oneOrMore>
881
892
  <choice>
882
893
  <ref name="content"/>
883
- <ref name="preface_abstract"/>
894
+ <ref name="abstract"/>
884
895
  <ref name="foreword"/>
885
896
  <ref name="introduction"/>
886
897
  <ref name="acknowledgements"/>
@@ -1153,49 +1164,7 @@
1153
1164
  </define>
1154
1165
  <define name="annex">
1155
1166
  <element name="annex">
1156
- <optional>
1157
- <attribute name="id">
1158
- <data type="ID"/>
1159
- </attribute>
1160
- </optional>
1161
- <optional>
1162
- <attribute name="language"/>
1163
- </optional>
1164
- <optional>
1165
- <attribute name="script"/>
1166
- </optional>
1167
- <optional>
1168
- <attribute name="inline-header">
1169
- <data type="boolean"/>
1170
- </attribute>
1171
- </optional>
1172
- <attribute name="obligation">
1173
- <choice>
1174
- <value>normative</value>
1175
- <value>informative</value>
1176
- </choice>
1177
- </attribute>
1178
- <optional>
1179
- <ref name="section-title"/>
1180
- </optional>
1181
- <group>
1182
- <group>
1183
- <zeroOrMore>
1184
- <ref name="BasicBlock"/>
1185
- </zeroOrMore>
1186
- <zeroOrMore>
1187
- <ref name="note"/>
1188
- </zeroOrMore>
1189
- </group>
1190
- <zeroOrMore>
1191
- <choice>
1192
- <ref name="annex-subsection"/>
1193
- <ref name="terms"/>
1194
- <ref name="definitions"/>
1195
- <ref name="references"/>
1196
- </choice>
1197
- </zeroOrMore>
1198
- </group>
1167
+ <ref name="Annex-Section"/>
1199
1168
  </element>
1200
1169
  </define>
1201
1170
  <define name="terms">
@@ -1481,11 +1450,6 @@
1481
1450
  </optional>
1482
1451
  </element>
1483
1452
  </define>
1484
- <define name="preface_abstract">
1485
- <element name="abstract">
1486
- <ref name="Basic-Section"/>
1487
- </element>
1488
- </define>
1489
1453
  <define name="term-clause">
1490
1454
  <element name="clause">
1491
1455
  <optional>
@@ -253,7 +253,7 @@
253
253
  <define name="preface">
254
254
  <element name="preface">
255
255
  <optional>
256
- <ref name="preface_abstract"/>
256
+ <ref name="abstract"/>
257
257
  </optional>
258
258
  <ref name="foreword"/>
259
259
  <optional>
@@ -405,6 +405,13 @@
405
405
  -->
406
406
  <define name="iso-standard">
407
407
  <element name="iso-standard">
408
+ <attribute name="version"/>
409
+ <attribute name="type">
410
+ <choice>
411
+ <value>semantic</value>
412
+ <value>presentation</value>
413
+ </choice>
414
+ </attribute>
408
415
  <ref name="bibdata"/>
409
416
  <zeroOrMore>
410
417
  <ref name="termdocsource"/>
@@ -74,7 +74,7 @@ mso-line-height-rule:exactly'><span lang=EN-GB>{{ docnumber_reference }}{{ draft
74
74
 
75
75
  <p class=MsoHeader style='margin-bottom:18.0pt'><span lang=EN-GB
76
76
  style='font-size:10.0pt;mso-bidi-font-size:11.0pt;font-weight:normal'>©
77
- {{ agency }}&nbsp;{{ docyear }}&nbsp;– All rights reserved</span><span lang=EN-GB
77
+ {{ agency }}&nbsp;{{ docyear }}&nbsp;– {{ all_rights_reserved }}</span><span lang=EN-GB
78
78
  style='font-weight:normal'><o:p></o:p></span></p>
79
79
 
80
80
  </div>
@@ -93,7 +93,7 @@ style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:10.0pt;
93
93
  mso-bidi-font-size:11.0pt'><span style='mso-element:field-end'></span></span></b><![endif]--><span
94
94
  lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span
95
95
  style='mso-tab-count:1'>                                                                                                                                                                           </span>©
96
- {{ agency }}&nbsp;{{ docyear }}&nbsp;– All rights reserved<o:p></o:p></span></p>
96
+ {{ agency }}&nbsp;{{ docyear }}&nbsp;– {{ all_rights_reserved }}<o:p></o:p></span></p>
97
97
 
98
98
  </div>
99
99
 
@@ -129,7 +129,7 @@ lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span
129
129
  style='mso-element:field-end'></span></span><![endif]--><span lang=EN-GB
130
130
  style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span style='mso-tab-count:
131
131
  1'>                                                                                                                                                                           </span>©
132
- {{ agency }}&nbsp;{{ docyear }}&nbsp;– All rights reserved<o:p></o:p></span></p>
132
+ {{ agency }}&nbsp;{{ docyear }}&nbsp;– {{ all_rights_reserved }}<o:p></o:p></span></p>
133
133
  </div>
134
134
 
135
135
  <div style='mso-element:footer' id=ef2l>
@@ -144,7 +144,7 @@ lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span
144
144
  style='mso-element:field-end'></span></span><![endif]--><span lang=EN-GB
145
145
  style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span style='mso-tab-count:
146
146
  1'>                                                                                                                                                                           </span>©
147
- {{ agency }}&nbsp;{{ docyear }}&nbsp;– All rights reserved<o:p></o:p></span></p>
147
+ {{ agency }}&nbsp;{{ docyear }}&nbsp;– {{ all_rights_reserved }}<o:p></o:p></span></p>
148
148
  </div>
149
149
 
150
150
  <div style='mso-element:footer' id=f2>
@@ -188,7 +188,7 @@ style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:10.0pt;
188
188
  mso-bidi-font-size:11.0pt'><span style='mso-element:field-end'></span></span></b><![endif]--><span
189
189
  lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span
190
190
  style='mso-tab-count:1'>                                                                                                                                                                           </span>©
191
- {{ agency }}&nbsp;{{ docyear }}&nbsp;– All rights reserved<o:p></o:p></span></p>
191
+ {{ agency }}&nbsp;{{ docyear }}&nbsp;– {{ all_rights_reserved }}<o:p></o:p></span></p>
192
192
  </div>
193
193
 
194
194
  <div style='mso-element:footer' id=ef3l>
@@ -204,7 +204,7 @@ style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:10.0pt;
204
204
  mso-bidi-font-size:11.0pt'><span style='mso-element:field-end'></span></span></b><![endif]--><span
205
205
  lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span
206
206
  style='mso-tab-count:1'>                                                                                                                                                                           </span>©
207
- {{ agency }}&nbsp;{{ docyear }}&nbsp;– All rights reserved<o:p></o:p></span></p>
207
+ {{ agency }}&nbsp;{{ docyear }}&nbsp;– {{ all_rights_reserved }}<o:p></o:p></span></p>
208
208
  </div>
209
209
 
210
210
  <div style='mso-element:footer' id=f3>
@@ -246,18 +246,10 @@ lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><o:p></o:p></span>
246
246
  {% endif %}
247
247
 
248
248
  <p class=MsoFooter style='margin-top:0cm'><span lang=EN-AU style='font-size:
249
- 10.0pt;mso-ansi-language:EN-AU'>Price based on </span><!--[if supportFields]><span
250
- lang=EN-AU style='font-size:10.0pt;mso-ansi-language:EN-AU'><span
251
- style='mso-element:field-begin'></span><span style='mso-spacerun:yes'> </span>NUMPAGES<span
252
- style='mso-spacerun:yes'>  </span>\* MERGEFORMAT <span style='mso-element:field-separator'></span></span><![endif]--><span
253
- lang=EN-AU style='font-size:10.0pt;mso-ansi-language:EN-AU'><span
254
- style='mso-no-proof:yes'>26</span></span><!--[if supportFields]><span
255
- lang=EN-AU style='font-size:10.0pt;mso-ansi-language:EN-AU'><span
256
- style='mso-element:field-end'></span></span><![endif]--><span lang=EN-AU
257
- style='font-size:10.0pt;mso-ansi-language:EN-AU'> pages<o:p></o:p></span></p>
249
+ 10.0pt;mso-ansi-language:EN-AU'>{{ price_based_on | replace: "%", "<span style='mso-element:field-begin'></span><span style='mso-spacerun:yes'> </span>NUMPAGES<span style='mso-spacerun:yes'>  </span>\* MERGEFORMAT <span style='mso-element:field-separator'></span><span style='mso-no-proof:yes'>26</span><span style='mso-element:field-end'></span>" }}</span></p>
258
250
 
259
251
  <p class=MsoFooter><span lang=EN-AU style='font-size:10.0pt;'>©
260
- {{ agency }}&nbsp;{{ docyear }}&nbsp;– All rights reserved<o:p></o:p></span></p>
252
+ {{ agency }}&nbsp;{{ docyear }}&nbsp;– {{ all_rights_reserved }}<o:p></o:p></span></p>
261
253
 
262
254
  </div>
263
255
 
@@ -16,7 +16,7 @@ fieldset, form, label, legend,
16
16
  table, caption, tbody, tfoot, thead, tr, th, td,
17
17
  article, aside, canvas, details, embed,
18
18
  figure, figcaption, footer, header, hgroup,
19
- menu, nav, output, ruby, section, summary,
19
+ menu, output, ruby, section, summary,
20
20
  time, mark, audio, video {
21
21
  margin: 0;
22
22
  padding: 0; }
@@ -111,6 +111,10 @@ b, strong {
111
111
  div.document-stage-band, div.document-type-band {
112
112
  background-color: #333333; }
113
113
 
114
+ a.FootnoteRef + a.FootnoteRef:before {
115
+ content: ", ";
116
+ vertical-align: super; }
117
+
114
118
  #standard-band {
115
119
  background-color: #0AC442; }
116
120
 
@@ -16,7 +16,7 @@ fieldset, form, label, legend,
16
16
  table, caption, tbody, tfoot, thead, tr, th, td,
17
17
  article, aside, canvas, details, embed,
18
18
  figure, figcaption, footer, header, hgroup,
19
- menu, nav, output, ruby, section, summary,
19
+ menu, output, ruby, section, summary,
20
20
  time, mark, audio, video {
21
21
  margin: 0;
22
22
  padding: 0; }
@@ -111,6 +111,10 @@ b, strong {
111
111
  div.document-stage-band, div.document-type-band {
112
112
  background-color: #333333; }
113
113
 
114
+ a.FootnoteRef + a.FootnoteRef:before {
115
+ content: ", ";
116
+ vertical-align: super; }
117
+
114
118
  #standard-band {
115
119
  background-color: #0AC442; }
116
120