metanorma-iso 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: 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