metanorma-iso 1.3.18 → 1.3.19

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 146d86d99c9e34976c9441ba645187a22e60c8df18a15de7c2fa909951733f87
4
- data.tar.gz: 33c553f29ef5d88a27de15b385992fef2a3b56cf795fb738b6664fdce7f2dbc8
3
+ metadata.gz: 7cb914a2716a7b69da948ab0c1429449e23856ae88264944ed6cc5404d3ee0f3
4
+ data.tar.gz: 88847296644b6ba8112cf60624eef6ee13086002f6d0874484d3b4d19eb9912b
5
5
  SHA512:
6
- metadata.gz: 45d142b2e6cb8961435405b29cff8dfcf7ac2a9dcbe386ca53719d80132db1d09dc23323b9d38e2e18cd2746dbbed32b6d1d0fc1e9f8bf36f3ac65febc27a7a2
7
- data.tar.gz: cf6c7970dba205716f5a17f98898b8c2a95c1434a1ead5fb6dc6a6a40647ce798c1748cd52cc227fc9ec4ce4f8d5f570476579c4791418baf42e8bd9edb7bd37
6
+ metadata.gz: 6223e510985b9bcedc831981437cce49d8e260573d10b9e841a08d37d4dd9c3363211e648a2c9e63e7377b26ef929e7fb0a43a40e424b7f56cd3047b5b92d715
7
+ data.tar.gz: 365452eb2e3cc2fc558bb800aad37abcdcb85e38f6ef5af7fd34457651174bba7789797974755b9b6298e711ff73ca301ddc7ee158c7c3cbf2f30dfbbe6a0e95
@@ -13,7 +13,6 @@ module Asciidoctor
13
13
  # schema encapsulation of the document for validation
14
14
  class Converter < ::Asciidoctor::Standoc::Converter
15
15
  register_for "iso"
16
-
17
16
  end
18
17
  end
19
18
  end
@@ -196,6 +196,10 @@ module IsoDoc
196
196
  !/^\[.*\]$/.match(ref)
197
197
  ref
198
198
  end
199
+
200
+ def table_footnote_reference_format(a)
201
+ a.content = a.content + ")"
202
+ end
199
203
  end
200
204
  end
201
205
  end
@@ -621,12 +621,12 @@ margin-left: 2em;
621
621
  3.6 Source Code + figures
622
622
  */
623
623
 
624
- .Sourcecode {
624
+ pre {
625
625
  font-family: $monospacefont;
626
626
  font-variant-ligatures: none;
627
627
  }
628
628
 
629
- .figure, .Sourcecode, .pseudocode {
629
+ .figure, pre, .pseudocode {
630
630
  background-color: #f7f7f7;
631
631
  line-height: 1.6em;
632
632
  padding: 1.5em;
@@ -693,7 +693,7 @@ margin-left:-1.5em;
693
693
  }
694
694
 
695
695
 
696
- .example .Sourcecode, .example .pseudocode {
696
+ .example pre, .example .pseudocode {
697
697
  background: none;
698
698
  }
699
699
 
@@ -591,6 +591,102 @@ ul, ol {margin-left: 2em;}
591
591
 
592
592
  #toc-list ol li {list-style-type: none;}
593
593
 
594
+ /* https://github.com/metanorma/metanorma-iso/issues/319 : force a) parentheses for ordered lists */
595
+
596
+ ol[type="alphabet"] {
597
+ counter-reset: alphabet;
598
+ }
599
+ ol[type="arabic"] {
600
+ counter-reset: arabic;
601
+ }
602
+ ol[type="roman"] {
603
+ counter-reset: roman;
604
+ }
605
+ ol[type="alphabet_upper"] {
606
+ counter-reset: alphabet_upper;
607
+ }
608
+ ol[type="roman_upper"] {
609
+ counter-reset: roman_upper;
610
+ }
611
+ ol[type="alphabet"] ol[type="alphabet"] {
612
+ counter-reset: alphabet2;
613
+ }
614
+ ol[type="arabic"] ol[type="arabic"] {
615
+ counter-reset: arabic2;
616
+ }
617
+ ol[type="roman"] ol[type="roman"] {
618
+ counter-reset: roman2;
619
+ }
620
+ ol[type="alphabet_upper"] ol[type="alphabet_upper"] {
621
+ counter-reset: alphabet_upper2;
622
+ }
623
+ ol[type="roman_upper"] ol[type="roman_upper"] {
624
+ counter-reset: roman_upper2;
625
+ }
626
+ ol {
627
+ counter-reset: alphabet;
628
+ }
629
+
630
+ ol > li {
631
+ list-style: none;
632
+ position: relative;
633
+ }
634
+ ol > li:before {
635
+ position: absolute;
636
+ left: -1.4em;
637
+ }
638
+ ol[type="roman"] > li:before {
639
+ left: -2.0em;
640
+ }
641
+ ol[type="roman_upper"] > li:before {
642
+ left: -2.3em;
643
+ }
644
+ ol[type="alphabet"] > li:before {
645
+ counter-increment: alphabet;
646
+ content: counter(alphabet, lower-alpha)") "
647
+ }
648
+ ol[type="arabic"] > li:before {
649
+ counter-increment: arabic;
650
+ content: counter(arabic, decimal)") "
651
+ }
652
+ ol[type="roman"] > li:before {
653
+ counter-increment: roman;
654
+ content: counter(roman, lower-roman)") "
655
+ }
656
+ ol[type="alphabet_upper"] > li:before {
657
+ counter-increment: alphabet_upper;
658
+ content: counter(alphabet_upper, upper-alpha)") "
659
+ }
660
+ ol[type="roman_upper"] > li:before {
661
+ counter-increment: roman_upper;
662
+ content: counter(roman_upper, upper-roman)") "
663
+ }
664
+ ol > li:before {
665
+ counter-increment: alphabet;
666
+ content: counter(alphabet, lower-alpha)") "
667
+ }
668
+ ol[type="alphabet"] ol[type="alphabet"] > li:before {
669
+ counter-increment: alphabet2;
670
+ content: counter(alphabet2, lower-alpha)") "
671
+ }
672
+ ol[type="arabic"] ol[type="arabic"] > li:before {
673
+ counter-increment: arabic2;
674
+ content: counter(arabic2, decimal)") "
675
+ }
676
+ ol[type="roman"] ol[type="roman"] > li:before {
677
+ counter-increment: roman2;
678
+ content: counter(roman2, lower-roman)") "
679
+ }
680
+ ol[type="alphabet_upper"] ol[type="alphabet_upper"] > li:before {
681
+ counter-increment: alphabet_upper2;
682
+ content: counter(alphabet_upper2, upper-alpha)") "
683
+ }
684
+ ol[type="roman_upper"] ol[type="roman_upper"] > li:before {
685
+ counter-increment: roman_upper2;
686
+ content: counter(roman_upper2, upper-roman)") "
687
+ }
688
+
689
+
594
690
  /*
595
691
  3.4 Rules
596
692
  */
@@ -615,12 +711,12 @@ margin-left: 2em;
615
711
  3.6 Source Code + figures
616
712
  */
617
713
 
618
- .Sourcecode {
714
+ pre {
619
715
  font-family: $monospacefont;
620
716
  font-variant-ligatures: none;
621
717
  }
622
718
 
623
- .figure, .Sourcecode, .pseudocode {
719
+ .figure, pre, .pseudocode {
624
720
  background-color: #f7f7f7;
625
721
  line-height: 1.6em;
626
722
  padding: 1.5em;
@@ -685,7 +781,7 @@ margin-top:0;
685
781
  }
686
782
 
687
783
 
688
- .example .Sourcecode, .example .pseudocode {
784
+ .example pre, .example .pseudocode {
689
785
  background: none;
690
786
  }
691
787
 
@@ -40,6 +40,10 @@ module IsoDoc
40
40
  insert
41
41
  end
42
42
 
43
+ def footnote_reference_format(a)
44
+ a.content = a.content + ")"
45
+ end
46
+
43
47
  include BaseConvert
44
48
  end
45
49
  end
@@ -116,6 +116,10 @@ module IsoDoc
116
116
  docxml
117
117
  end
118
118
 
119
+ def footnote_reference_format(a)
120
+ a.children = "<span class='MsoFootnoteReference'>#{a.children.to_xml}</span>)"
121
+ end
122
+
119
123
  include BaseConvert
120
124
  end
121
125
  end
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module ISO
3
- VERSION = "1.3.18".freeze
3
+ VERSION = "1.3.19".freeze
4
4
  end
5
5
  end
@@ -496,7 +496,7 @@ OUTPUT
496
496
  :no-isobib:
497
497
  INPUT
498
498
  html = File.read("test.html", encoding: "utf-8")
499
- expect(html).to match(%r[\.Sourcecode[^{]+\{[^{]+font-family: "Courier New", monospace;]m)
499
+ expect(html).to match(%r[\bpre[^{]+\{[^{]+font-family: "Courier New", monospace;]m)
500
500
  expect(html).to match(%r[blockquote[^{]+\{[^{]+font-family: "Cambria", serif;]m)
501
501
  expect(html).to match(%r[\.h2Annex[^{]+\{[^{]+font-family: "Cambria", serif;]m)
502
502
  end
@@ -511,7 +511,7 @@ OUTPUT
511
511
  :no-isobib:
512
512
  INPUT
513
513
  html = File.read("test_alt.html", encoding: "utf-8")
514
- expect(html).to match(%r[\.Sourcecode[^{]+\{[^{]+font-family: "Space Mono", monospace;]m)
514
+ expect(html).to match(%r[\bpre[^{]+\{[^{]+font-family: "Space Mono", monospace;]m)
515
515
  expect(html).to match(%r[blockquote[^{]+\{[^{]+font-family: "Lato", sans-serif;]m)
516
516
  expect(html).to match(%r[\.h2Annex[^{]+\{[^{]+font-family: "Lato", sans-serif;]m)
517
517
  end
@@ -527,7 +527,7 @@ OUTPUT
527
527
  :script: Hans
528
528
  INPUT
529
529
  html = File.read("test.html", encoding: "utf-8")
530
- expect(html).to match(%r[\.Sourcecode[^{]+\{[^{]+font-family: "Courier New", monospace;]m)
530
+ expect(html).to match(%r[\bpre[^{]+\{[^{]+font-family: "Courier New", monospace;]m)
531
531
  expect(html).to match(%r[blockquote[^{]+\{[^{]+font-family: "SimSun", serif;]m)
532
532
  expect(html).to match(%r[\.h2Annex[^{]+\{[^{]+font-family: "SimHei", sans-serif;]m)
533
533
  end
@@ -546,7 +546,7 @@ OUTPUT
546
546
  :monospace-font: Andale Mono
547
547
  INPUT
548
548
  html = File.read("test.html", encoding: "utf-8")
549
- expect(html).to match(%r[\.Sourcecode[^{]+\{[^{]+font-family: Andale Mono;]m)
549
+ expect(html).to match(%r[\bpre[^{]+\{[^{]+font-family: Andale Mono;]m)
550
550
  expect(html).to match(%r[blockquote[^{]+\{[^{]+font-family: Zapf Chancery;]m)
551
551
  expect(html).to match(%r[\.h2Annex[^{]+\{[^{]+font-family: Comic Sans;]m)
552
552
  end
@@ -263,7 +263,7 @@ RSpec.describe Asciidoctor::ISO do
263
263
  == Section 1
264
264
  INPUT
265
265
  #{BLANK_HDR}
266
- <preface><foreword obligation="informative">
266
+ <preface><foreword id="_" obligation="informative">
267
267
  <title>Foreword</title>
268
268
  <p id="_">This is a preamble</p>
269
269
  </foreword></preface><sections>
@@ -183,7 +183,7 @@ RSpec.describe Asciidoctor::ISO do
183
183
  * [[[iso216,ISO 216:2001]]], _Reference_
184
184
  INPUT
185
185
  #{BLANK_HDR}
186
- <preface><foreword obligation="informative">
186
+ <preface><foreword id='_' obligation="informative">
187
187
  <title>Foreword</title>
188
188
  <p id="_">
189
189
  <eref type="inline" bibitemid="iso216" citeas="ISO 216:2001"/>
@@ -222,7 +222,7 @@ RSpec.describe Asciidoctor::ISO do
222
222
  * [[[iso216,ISO 216]]], _Reference_
223
223
  INPUT
224
224
  #{BLANK_HDR}
225
- <preface><foreword obligation="informative">
225
+ <preface><foreword id='_' obligation="informative">
226
226
  <title>Foreword</title>
227
227
  <p id="_">
228
228
  <eref type="inline" bibitemid="iso216" citeas="ISO 216"><locality type="whole"/><locality type="clause"><referenceFrom>3</referenceFrom></locality><locality type="example"><referenceFrom>9</referenceFrom><referenceTo>11</referenceTo></locality><locality type="locality:prelude"><referenceFrom>33</referenceFrom></locality><locality type="locality:entirety"/>the reference</eref>
@@ -260,7 +260,7 @@ RSpec.describe Asciidoctor::ISO do
260
260
  INPUT
261
261
  #{BLANK_HDR}
262
262
  <preface>
263
- <foreword obligation="informative">
263
+ <foreword id='_' obligation="informative">
264
264
  <title>Foreword</title>
265
265
  <p id="_">
266
266
  <eref type="inline" bibitemid="iso216" citeas="ISO 216"/>
@@ -421,17 +421,17 @@ RSpec.describe Asciidoctor::ISO do
421
421
  #{BLANK_HDR}
422
422
  <sections>
423
423
  <table id="_"><thead><tr>
424
- <td align="left">a</td>
425
- <td align="left">b</td>
426
- <td align="left">c</td>
424
+ <th align="left">a</th>
425
+ <th align="left">b</th>
426
+ <th align="left">c</th>
427
427
  </tr><tr>
428
- <td align="left">a</td>
429
- <td align="left">b</td>
430
- <td align="left">c</td>
428
+ <th align="left">a</th>
429
+ <th align="left">b</th>
430
+ <th align="left">c</th>
431
431
  </tr><tr>
432
- <td align="left">a</td>
433
- <td align="left">b</td>
434
- <td align="left">c</td>
432
+ <th align="left">a</th>
433
+ <th align="left">b</th>
434
+ <th align="left">c</th>
435
435
  </tr></thead>
436
436
  <tbody>
437
437
  <tr>
@@ -468,13 +468,13 @@ RSpec.describe Asciidoctor::ISO do
468
468
  <th align="left">c</th>
469
469
  </tr>
470
470
  <tr>
471
- <td align="left">a</td>
472
- <td align="left">b</td>
473
- <td align="left">c</td>
471
+ <th align="left">a</th>
472
+ <th align="left">b</th>
473
+ <th align="left">c</th>
474
474
  </tr><tr>
475
- <td align="left">a</td>
476
- <td align="left">b</td>
477
- <td align="left">c</td>
475
+ <th align="left">a</th>
476
+ <th align="left">b</th>
477
+ <th align="left">c</th>
478
478
  </tr></thead>
479
479
  <tbody>
480
480
 
@@ -612,7 +612,7 @@ RSpec.describe Asciidoctor::ISO do
612
612
  footnote:[Footnote2]
613
613
  INPUT
614
614
  #{BLANK_HDR}
615
- <preface><foreword obligation="informative">
615
+ <preface><foreword id='_' obligation="informative">
616
616
  <title>Foreword</title>
617
617
  <p id="_"><fn reference="1">
618
618
  <p id="_">Footnote</p>
@@ -242,7 +242,7 @@ standardization at the following addresses:</p>
242
242
 
243
243
  INPUT
244
244
  #{BLANK_HDR.sub(/<boilerplate>/, '<termdocsource bibitemid="iso1234"/><termdocsource bibitemid="iso5678"/><boilerplate>')}
245
- <preface><foreword obligation="informative">
245
+ <preface><foreword id='_' obligation="informative">
246
246
  <title>Foreword</title>
247
247
  <p id="_">Foreword</p>
248
248
  </foreword></preface><sections>
@@ -280,7 +280,7 @@ standardization at the following addresses:</p>
280
280
  INPUT
281
281
  #{BLANK_HDR}
282
282
  <preface>
283
- <foreword obligation='informative'>
283
+ <foreword id='_' obligation='informative'>
284
284
  <title>Foreword</title>
285
285
  <p id='_'>Foreword</p>
286
286
  </foreword>
@@ -325,7 +325,7 @@ standardization at the following addresses:</p>
325
325
 
326
326
  INPUT
327
327
  #{BLANK_HDR.sub(/<boilerplate>/, '<termdocsource bibitemid="iso1234"/><termdocsource bibitemid="iso5678"/><boilerplate>')}
328
- <preface><foreword obligation="informative">
328
+ <preface><foreword id='_' obligation="informative">
329
329
  <title>Foreword</title>
330
330
  <p id="_">Foreword</p>
331
331
  </foreword></preface><sections>
@@ -51,13 +51,13 @@ RSpec.describe Asciidoctor::ISO do
51
51
  <table id="_">
52
52
  <name>Table Name</name>
53
53
  <thead><tr>
54
- <td align="left">A</td>
55
- <td align="left">B</td>
56
- <td align="left">C</td>
54
+ <th align="left">A</th>
55
+ <th align="left">B</th>
56
+ <th align="left">C</th>
57
57
  </tr><tr>
58
58
  <th align="left">1</th>
59
- <td align="left">2</td>
60
- <td align="left">3</td>
59
+ <th align="left">2</th>
60
+ <th align="left">3</th>
61
61
  </tr></thead>
62
62
  <tbody>
63
63
 
@@ -88,13 +88,13 @@ RSpec.describe Asciidoctor::ISO do
88
88
  #{BLANK_HDR}
89
89
  <sections>
90
90
  <table id="_"><thead><tr>
91
- <td align="left">A</td>
92
- <td align="left">B</td>
93
- <td align="left">C</td>
91
+ <th align="left">A</th>
92
+ <th align="left">B</th>
93
+ <th align="left">C</th>
94
94
  </tr><tr>
95
95
  <th align="left">1</th>
96
- <td align="left">2</td>
97
- <td align="left">3</td>
96
+ <th align="left">2</th>
97
+ <th align="left">3</th>
98
98
  </tr></thead>
99
99
  <tbody>
100
100
 
@@ -153,10 +153,10 @@ RSpec.describe Asciidoctor::ISO do
153
153
  <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>w</mi><mi>max</mi></msub></math></stem></th>
154
154
  </tr>
155
155
  <tr>
156
- <td align="left">in husked rice</td>
157
- <td align="center">in milled rice (non-glutinous)</td>
158
- <td align="center">in husked parboiled rice</td>
159
- <td align="center">in milled parboiled rice</td>
156
+ <th align="left">in husked rice</th>
157
+ <th align="center">in milled rice (non-glutinous)</th>
158
+ <th align="center">in husked parboiled rice</th>
159
+ <th align="center">in milled parboiled rice</th>
160
160
  </tr></thead>
161
161
  <tbody>
162
162
 
@@ -14,7 +14,7 @@ RSpec.describe IsoDoc::Iso do
14
14
  </iso-standard>
15
15
  INPUT
16
16
  html = File.read("test.html", encoding: "utf-8")
17
- expect(html).to match(%r[\.Sourcecode[^{]+\{[^{]+font-family: "Courier New", monospace;]m)
17
+ expect(html).to match(%r[\bpre[^{]+\{[^{]+font-family: "Courier New", monospace;]m)
18
18
  expect(html).to match(%r[blockquote[^{]+\{[^{]+font-family: "Cambria", serif;]m)
19
19
  expect(html).to match(%r[\.h2Annex[^{]+\{[^{]+font-family: "Cambria", serif;]m)
20
20
  end
@@ -31,7 +31,7 @@ RSpec.describe IsoDoc::Iso do
31
31
  </iso-standard>
32
32
  INPUT
33
33
  html = File.read("test.html", encoding: "utf-8")
34
- expect(html).to match(%r[\.Sourcecode[^{]+\{[^{]+font-family: "Space Mono", monospace;]m)
34
+ expect(html).to match(%r[\bpre[^{]+\{[^{]+font-family: "Space Mono", monospace;]m)
35
35
  expect(html).to match(%r[blockquote[^{]+\{[^{]+font-family: "Lato", sans-serif;]m)
36
36
  expect(html).to match(%r[\.h2Annex[^{]+\{[^{]+font-family: "Lato", sans-serif;]m)
37
37
  end
@@ -48,7 +48,7 @@ RSpec.describe IsoDoc::Iso do
48
48
  </iso-standard>
49
49
  INPUT
50
50
  html = File.read("test.html", encoding: "utf-8")
51
- expect(html).to match(%r[\.Sourcecode[^{]+\{[^{]+font-family: "Courier New", monospace;]m)
51
+ expect(html).to match(%r[\bpre[^{]+\{[^{]+font-family: "Courier New", monospace;]m)
52
52
  expect(html).to match(%r[blockquote[^{]+\{[^{]+font-family: "SimSun", serif;]m)
53
53
  expect(html).to match(%r[\.h2Annex[^{]+\{[^{]+font-family: "SimHei", sans-serif;]m)
54
54
  end
@@ -65,7 +65,7 @@ RSpec.describe IsoDoc::Iso do
65
65
  </iso-standard>
66
66
  INPUT
67
67
  html = File.read("test.html", encoding: "utf-8")
68
- expect(html).to match(%r[\.Sourcecode[^{]+\{[^{]+font-family: Andale Mono;]m)
68
+ expect(html).to match(%r[\bpre[^{]+\{[^{]+font-family: Andale Mono;]m)
69
69
  expect(html).to match(%r[blockquote[^{]+\{[^{]+font-family: Zapf Chancery;]m)
70
70
  expect(html).to match(%r[\.h2Annex[^{]+\{[^{]+font-family: Comic Sans;]m)
71
71
  end
@@ -82,7 +82,7 @@ RSpec.describe IsoDoc::Iso do
82
82
  </iso-standard>
83
83
  INPUT
84
84
  html = File.read("test.doc", encoding: "utf-8")
85
- expect(html).to match(%r[\.Sourcecode[^{]+\{[^{]+font-family: "Courier New", monospace;]m)
85
+ expect(html).to match(%r[\bpre[^{]+\{[^{]+font-family: "Courier New", monospace;]m)
86
86
  expect(html).to match(%r[Quote[^{]+\{[^{]+font-family: "Cambria", serif;]m)
87
87
  expect(html).to match(%r[\.h2Annex[^{]+\{[^{]+font-family: "Cambria", serif;]m)
88
88
  end
@@ -287,30 +287,155 @@ RSpec.describe IsoDoc do
287
287
  <div id="A">
288
288
  <h1>1&#xA0; Clause 4</h1>
289
289
  <a rel="footnote" href="#fn:3" epub:type="footnote" id="fnref:1">
290
- <sup>1</sup>
290
+ <sup>1)</sup>
291
291
  </a>
292
292
  <div id="N">
293
293
 
294
- <h2>1.1&#xA0; Introduction to this<a rel="footnote" href="#fn:2" epub:type="footnote" id="fnref:2"><sup>2</sup></a></h2>
294
+ <h2>1.1&#xA0; Introduction to this<a rel="footnote" href="#fn:2" epub:type="footnote" id="fnref:2"><sup>2)</sup></a></h2>
295
295
  </div>
296
296
  <div id="O">
297
297
  <h2>1.2&#xA0; Clause 4.2</h2>
298
- <p>A<a rel="footnote" href="#fn:2" epub:type="footnote"><sup>2</sup></a></p>
298
+ <p>A<a rel="footnote" href="#fn:2" epub:type="footnote"><sup>2)</sup></a></p>
299
299
  </div>
300
300
  </div>
301
301
  <aside id="fn:3" class="footnote">
302
302
  <p id="_ff27c067-2785-4551-96cf-0a73530ff1e6"><a rel="footnote" href="#fn:3" epub:type="footnote">
303
- <sup>1</sup>
303
+ <sup>1)</sup>
304
304
  </a>This is a footnote.</p>
305
305
  <a href="#fnref:1">&#x21A9;</a></aside>
306
306
  <aside id="fn:2" class="footnote">
307
- <p id="_ff27c067-2785-4551-96cf-0a73530ff1e6"><a rel="footnote" href="#fn:2" epub:type="footnote"><sup>2</sup></a>Formerly denoted as 15 % (m/m).</p>
307
+ <p id="_ff27c067-2785-4551-96cf-0a73530ff1e6"><a rel="footnote" href="#fn:2" epub:type="footnote"><sup>2)</sup></a>Formerly denoted as 15 % (m/m).</p>
308
308
  <a href="#fnref:2">&#x21A9;</a></aside>
309
309
 
310
310
  </main>
311
311
  OUTPUT
312
312
  end
313
313
 
314
+ it "renders footnote numbers in Word" do
315
+ FileUtils.rm_f "test.doc"
316
+ IsoDoc::Iso::WordConvert.new({wordstylesheet: "spec/assets/word.css", htmlstylesheet: "spec/assets/html.css", wordintropage: "spec/assets/wordintro.html"}).convert("test", <<~"INPUT", false)
317
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
318
+ <sections>
319
+ <clause id="A" inline-header="false" obligation="normative"><title>Clause 4</title><fn reference="3">
320
+ <p id="_ff27c067-2785-4551-96cf-0a73530ff1e6">This is a footnote.</p>
321
+ </fn><clause id="N" inline-header="false" obligation="normative">
322
+
323
+ <title>Introduction to this<fn reference="2">
324
+ <p id="_ff27c067-2785-4551-96cf-0a73530ff1e6">Formerly denoted as 15 % (m/m).</p>
325
+ </fn></title>
326
+ </clause>
327
+ <clause id="O" inline-header="false" obligation="normative">
328
+ <title>Clause 4.2</title>
329
+ <p>A<fn reference="1">
330
+ <p id="_ff27c067-2785-4551-96cf-0a73530ff1e6">Formerly denoted as 15 % (m/m).</p>
331
+ </fn></p>
332
+ </clause></clause>
333
+ </sections>
334
+ </iso-standard>
335
+ INPUT
336
+ html = File.read("test.doc", encoding: "UTF-8").sub(/^.*<div class="WordSection3"/m, '<body xmlns:epub="epub"><div class="WordSection3"').
337
+ sub(%r{</body>.*$}m, "</body>").gsub(/mso-bookmark:_Ref\d+/, "mso-bookmark:_Ref")
338
+ expect(xmlpp(html)).to be_equivalent_to xmlpp(<<~"OUTPUT")
339
+ <body xmlns:epub='epub'>
340
+ <div class='WordSection3'>
341
+ <p class='zzSTDTitle1'/>
342
+ <div>
343
+ <a name='A' id='A'/>
344
+ <h1>
345
+ 1
346
+ <span style='mso-tab-count:1'>&#xA0; </span>
347
+ Clause 4
348
+ </h1>
349
+ <span style='mso-bookmark:_Ref'>
350
+ <a href='#_ftn1' epub:type='footnote' style='mso-footnote-id:ftn1' name='_ftnref1' title='' id='_ftnref1'>
351
+ <span class='MsoFootnoteReference'>
352
+ <span style='mso-special-character:footnote'/>
353
+ </span>
354
+ <span class='MsoFootnoteReference'>)</span>
355
+ </a>
356
+ </span>
357
+ <div>
358
+ <a name='N' id='N'/>
359
+ <h2>
360
+ 1.1
361
+ <span style='mso-tab-count:1'>&#xA0; </span>
362
+ Introduction to this
363
+ <span style='mso-bookmark:_Ref'>
364
+ <a href='#_ftn2' epub:type='footnote' style='mso-footnote-id:ftn2' name='_ftnref2' title='' id='_ftnref2'>
365
+ <span class='MsoFootnoteReference'>
366
+ <span style='mso-special-character:footnote'/>
367
+ </span>
368
+ <span class='MsoFootnoteReference'>)</span>
369
+ </a>
370
+ </span>
371
+ </h2>
372
+ </div>
373
+ <div>
374
+ <a name='O' id='O'/>
375
+ <h2>
376
+ 1.2
377
+ <span style='mso-tab-count:1'>&#xA0; </span>
378
+ Clause 4.2
379
+ </h2>
380
+ <p class='MsoNormal'>
381
+ A
382
+ <span style='mso-bookmark:_Ref'>
383
+ <a href='#_ftn3' epub:type='footnote' style='mso-footnote-id:ftn3' name='_ftnref3' title='' id='_ftnref3'>
384
+ <span class='MsoFootnoteReference'>
385
+ <span style='mso-special-character:footnote'/>
386
+ </span>
387
+ <span class='MsoFootnoteReference'>)</span>
388
+ </a>
389
+ </span>
390
+ </p>
391
+ </div>
392
+ </div>
393
+ </div>
394
+ <br clear='all' style='page-break-before:left;mso-break-type:section-break'/>
395
+ <div class='colophon'/>
396
+ <div style='mso-element:footnote-list'>
397
+ <div style='mso-element:footnote' id='ftn1'>
398
+ <p class='MsoFootnoteText'>
399
+ <a name='_ff27c067-2785-4551-96cf-0a73530ff1e6' id='_ff27c067-2785-4551-96cf-0a73530ff1e6'/>
400
+ <a style='mso-footnote-id:ftn1' href='#_ftn1' name='_ftnref1' title='' id='_ftnref1'>
401
+ <span class='MsoFootnoteReference'>
402
+ <span style='mso-special-character:footnote'/>
403
+ </span>
404
+ <span class='MsoFootnoteReference'>)</span>
405
+ </a>
406
+ This is a footnote.
407
+ </p>
408
+ </div>
409
+ <div style='mso-element:footnote' id='ftn2'>
410
+ <p class='MsoFootnoteText'>
411
+ <a name='_ff27c067-2785-4551-96cf-0a73530ff1e6' id='_ff27c067-2785-4551-96cf-0a73530ff1e6'/>
412
+ <a style='mso-footnote-id:ftn2' href='#_ftn2' name='_ftnref2' title='' id='_ftnref2'>
413
+ <span class='MsoFootnoteReference'>
414
+ <span style='mso-special-character:footnote'/>
415
+ </span>
416
+ <span class='MsoFootnoteReference'>)</span>
417
+ </a>
418
+ Formerly denoted as 15 % (m/m).
419
+ </p>
420
+ </div>
421
+ <div style='mso-element:footnote' id='ftn3'>
422
+ <p class='MsoFootnoteText'>
423
+ <a name='_ff27c067-2785-4551-96cf-0a73530ff1e6' id='_ff27c067-2785-4551-96cf-0a73530ff1e6'/>
424
+ <a style='mso-footnote-id:ftn3' href='#_ftn3' name='_ftnref3' title='' id='_ftnref3'>
425
+ <span class='MsoFootnoteReference'>
426
+ <span style='mso-special-character:footnote'/>
427
+ </span>
428
+ <span class='MsoFootnoteReference'>)</span>
429
+ </a>
430
+ Formerly denoted as 15 % (m/m).
431
+ </p>
432
+ </div>
433
+ </div>
434
+ </body>
435
+ OUTPUT
436
+ end
437
+
438
+
314
439
  it "moves images in HTML" do
315
440
  FileUtils.rm_f "test.html"
316
441
  FileUtils.rm_rf "_images"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-iso
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.18
4
+ version: 1.3.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-25 00:00:00.000000000 Z
11
+ date: 2020-03-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-jing