isodoc 1.2.6 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +69 -0
- data/README.adoc +1 -3
- data/isodoc.gemspec +2 -1
- data/lib/isodoc-yaml/i18n-en.yaml +56 -0
- data/lib/isodoc-yaml/i18n-fr.yaml +64 -7
- data/lib/isodoc-yaml/i18n-zh-Hans.yaml +1 -0
- data/lib/isodoc/base_style/all.css +4 -0
- data/lib/isodoc/base_style/blocks.scss +2 -2
- data/lib/isodoc/base_style/reset.css +4 -0
- data/lib/isodoc/base_style/reset.scss +5 -0
- data/lib/isodoc/base_style/typography.scss +1 -1
- data/lib/isodoc/convert.rb +13 -98
- data/lib/isodoc/css.rb +95 -0
- data/lib/isodoc/function/inline.rb +0 -33
- data/lib/isodoc/function/inline_simple.rb +4 -1
- data/lib/isodoc/function/lists.rb +2 -1
- data/lib/isodoc/function/references.rb +8 -13
- data/lib/isodoc/function/section.rb +1 -1
- data/lib/isodoc/function/table.rb +10 -0
- data/lib/isodoc/function/to_word_html.rb +2 -2
- data/lib/isodoc/gem_tasks.rb +4 -0
- data/lib/isodoc/html_function/html.rb +1 -0
- data/lib/isodoc/html_function/mathvariant_to_plain.rb +82 -0
- data/lib/isodoc/html_function/postprocess.rb +41 -20
- data/lib/isodoc/i18n.rb +15 -2
- data/lib/isodoc/metadata.rb +28 -109
- data/lib/isodoc/metadata_contributor.rb +91 -0
- data/lib/isodoc/metadata_date.rb +6 -0
- data/lib/isodoc/presentation_function/bibdata.rb +79 -7
- data/lib/isodoc/presentation_function/block.rb +14 -9
- data/lib/isodoc/presentation_function/inline.rb +126 -22
- data/lib/isodoc/presentation_function/section.rb +9 -0
- data/lib/isodoc/presentation_xml_convert.rb +5 -0
- data/lib/isodoc/version.rb +1 -1
- data/lib/isodoc/word_convert.rb +0 -20
- data/lib/isodoc/word_function/body.rb +12 -0
- data/lib/isodoc/word_function/postprocess.rb +38 -80
- data/lib/isodoc/word_function/postprocess_cover.rb +55 -0
- data/lib/isodoc/word_function/table.rb +10 -0
- data/lib/isodoc/xref.rb +1 -0
- data/lib/isodoc/xref/xref_counter.rb +20 -9
- data/lib/isodoc/xref/xref_gen.rb +20 -2
- data/lib/isodoc/xref/xref_sect_gen.rb +1 -1
- data/spec/assets/html.scss +14 -0
- data/spec/assets/i18n.yaml +17 -9
- data/spec/isodoc/blocks_spec.rb +89 -241
- data/spec/isodoc/cleanup_spec.rb +0 -1
- data/spec/isodoc/footnotes_spec.rb +4 -5
- data/spec/isodoc/i18n_spec.rb +73 -38
- data/spec/isodoc/inline_spec.rb +177 -199
- data/spec/isodoc/lists_spec.rb +1 -1
- data/spec/isodoc/metadata_spec.rb +50 -7
- data/spec/isodoc/postproc_spec.rb +472 -11
- data/spec/isodoc/presentation_xml_spec.rb +584 -1
- data/spec/isodoc/ref_spec.rb +327 -12
- data/spec/isodoc/table_spec.rb +28 -0
- data/spec/isodoc/xref_spec.rb +162 -17
- data/spec/spec_helper.rb +2 -0
- metadata +22 -7
- data/.github/workflows/macos.yml +0 -42
- data/.github/workflows/ubuntu.yml +0 -62
- data/.github/workflows/windows.yml +0 -44
data/spec/isodoc/lists_spec.rb
CHANGED
@@ -203,7 +203,7 @@ RSpec.describe IsoDoc do
|
|
203
203
|
<br/>
|
204
204
|
<div>
|
205
205
|
<h1 class="ForewordTitle">Foreword</h1>
|
206
|
-
<ol type="
|
206
|
+
<ol type="I" id="_ae34a226-aab4-496d-987b-1aa7b6314026">
|
207
207
|
<li id="_ae34a226-aab4-496d-987b-1aa7b6314027">
|
208
208
|
<p id="_0091a277-fb0e-424a-aea8-f0001303fe78">all information necessary for the complete identification of the sample;</p>
|
209
209
|
</li>
|
@@ -18,6 +18,8 @@ RSpec.describe IsoDoc do
|
|
18
18
|
<uri type="pdf">URL D</uri>
|
19
19
|
<uri type="doc">URL E</uri>
|
20
20
|
<docidentifier>17301-1</docidentifier>
|
21
|
+
<docidentifier type="ISBN">ISBN 13</docidentifier>
|
22
|
+
<docidentifier type="ISBN10">ISBN 10</docidentifier>
|
21
23
|
<docnumber>17301</docnumber>
|
22
24
|
<date type="published"><on>2011</on></date>
|
23
25
|
<date type="accessed"><on>2012</on></date>
|
@@ -58,6 +60,8 @@ RSpec.describe IsoDoc do
|
|
58
60
|
</name>
|
59
61
|
<affiliation>
|
60
62
|
<organization><name>Slate Inc.</name>
|
63
|
+
<subdivision>Hermeneutics Unit</subdivision>
|
64
|
+
<subdivision>Exegesis Subunit</subdivision>
|
61
65
|
<address>
|
62
66
|
<formattedAddress>Bedrock</formattedAddress>
|
63
67
|
</address>
|
@@ -98,15 +102,13 @@ RSpec.describe IsoDoc do
|
|
98
102
|
<doctype>international-standard</doctype>
|
99
103
|
</ext>
|
100
104
|
</bibdata>
|
101
|
-
<local_bibdata type="standard">
|
102
|
-
</local_bibdata>
|
103
105
|
</iso-standard>
|
104
106
|
INPUT
|
105
107
|
{:accesseddate=>"2012",
|
106
108
|
:activateddate=>"2013",
|
107
109
|
:agency=>"ISO",
|
108
110
|
:authors=>["Barney Rubble", "Fred Flintstone"],
|
109
|
-
:authors_affiliations=>{"Slate Inc., Bedrock"=>["Barney Rubble"], ""=>["Fred Flintstone"]},
|
111
|
+
:authors_affiliations=>{"Slate Inc., Hermeneutics Unit, Exegesis Subunit, Bedrock"=>["Barney Rubble"], ""=>["Fred Flintstone"]},
|
110
112
|
:circulateddate=>"2015",
|
111
113
|
:confirmeddate=>"2017",
|
112
114
|
:copieddate=>"2016",
|
@@ -116,24 +118,31 @@ INPUT
|
|
116
118
|
:docnumeric=>"17301",
|
117
119
|
:doctitle=>"Cereals and pulses",
|
118
120
|
:doctype=>"International Standard",
|
121
|
+
:doctype_display=>"International Standard",
|
119
122
|
:docyear=>"2016",
|
120
123
|
:draft=>"0.4",
|
121
124
|
:draftinfo=>" (draft 0.4, 2016-05-01)",
|
122
125
|
:edition=>"2",
|
123
126
|
:html=>"URL B",
|
124
127
|
:implementeddate=>"XXX",
|
128
|
+
:isbn=>"ISBN 13",
|
129
|
+
:isbn10=>"ISBN 10",
|
125
130
|
:issueddate=>"XXX",
|
126
131
|
:iteration=>"2",
|
127
132
|
:keywords=>["KW2", "KW1", "KW3"],
|
133
|
+
:lang=>"en",
|
128
134
|
:obsoleteddate=>"2014",
|
129
135
|
:pdf=>"URL D",
|
130
136
|
:publisheddate=>"2011",
|
131
137
|
:receiveddate=>"XXX",
|
132
138
|
:revdate=>"2016-05-01",
|
133
139
|
:revdate_monthyear=>"May 2016",
|
140
|
+
:script=>"Latn",
|
134
141
|
:stage=>"Committee Draft",
|
142
|
+
:stage_display=>"Committee Draft",
|
135
143
|
:stageabbr=>"CD",
|
136
144
|
:substage=>"Withdrawn",
|
145
|
+
:substage_display=>"Withdrawn",
|
137
146
|
:title_footnote=>["A footnote", "Another footnote"],
|
138
147
|
:transmitteddate=>"2020",
|
139
148
|
:unchangeddate=>"2019",
|
@@ -234,11 +243,13 @@ INPUT
|
|
234
243
|
:docnumeric=>"17301",
|
235
244
|
:doctitle=>"Cereals and pulses",
|
236
245
|
:doctype=>"International Standard",
|
246
|
+
:doctype_display=>"International Standard",
|
237
247
|
:docyear=>"2016",
|
238
248
|
:draft=>"12",
|
239
249
|
:draftinfo=>" (draft 12, 2016-05)",
|
240
250
|
:implementeddate=>"XXX",
|
241
251
|
:issueddate=>"XXX",
|
252
|
+
:lang=>"en",
|
242
253
|
:obsoleteddate=>"XXX",
|
243
254
|
:obsoletes=>"IEC 8121",
|
244
255
|
:obsoletes_part=>"3.1",
|
@@ -253,7 +264,9 @@ INPUT
|
|
253
264
|
:receiveddate=>"XXX",
|
254
265
|
:revdate=>"2016-05",
|
255
266
|
:revdate_monthyear=>"May 2016",
|
267
|
+
:script=>"Latn",
|
256
268
|
:stage=>"Published",
|
269
|
+
:stage_display=>"Published",
|
257
270
|
:subdivision=>"Subdivision",
|
258
271
|
:transmitteddate=>"XXX",
|
259
272
|
:unchangeddate=>"XXX",
|
@@ -271,6 +284,17 @@ OUTPUT
|
|
271
284
|
<bibdata type="standard">
|
272
285
|
<language>fr</language>
|
273
286
|
<script>Latn</script>
|
287
|
+
<status>
|
288
|
+
<stage lang="">Committee Draft</stage>
|
289
|
+
<stage lang=fr">Projet de comité</stage>
|
290
|
+
<substage lang="">Withdrawn</substage>
|
291
|
+
<substage lang="fr">Rétiré</substage>
|
292
|
+
<iteration>2</iteration>
|
293
|
+
</status>
|
294
|
+
<ext>
|
295
|
+
<doctype lang="">international-standard</doctype>
|
296
|
+
<doctype lang="fr">Standard international</doctype>
|
297
|
+
</ext>
|
274
298
|
</bibdata>
|
275
299
|
</iso-standard>
|
276
300
|
INPUT
|
@@ -307,7 +331,13 @@ OUTPUT
|
|
307
331
|
</contributor>
|
308
332
|
<language>fr</language>
|
309
333
|
<script>Latn</script>
|
310
|
-
<status
|
334
|
+
<status>
|
335
|
+
<stage language="">Committee Draft</stage>
|
336
|
+
<stage language="fr">Projet de comité</stage>
|
337
|
+
<substage language="">Withdrawn</substage>
|
338
|
+
<substage language="fr">Rétiré</substage>
|
339
|
+
<iteration>2</iteration>
|
340
|
+
</status>
|
311
341
|
<copyright>
|
312
342
|
<from>2016</from>
|
313
343
|
<owner>
|
@@ -316,6 +346,10 @@ OUTPUT
|
|
316
346
|
</organization>
|
317
347
|
</owner>
|
318
348
|
</copyright>
|
349
|
+
<ext>
|
350
|
+
<doctype language="">international-standard</doctype>
|
351
|
+
<doctype language="fr">Standard international</doctype>
|
352
|
+
</ext>
|
319
353
|
</bibdata>
|
320
354
|
</iso-standard>
|
321
355
|
INPUT
|
@@ -327,20 +361,29 @@ INPUT
|
|
327
361
|
:createddate=>"XXX",
|
328
362
|
:docnumber=>"17301-1-3",
|
329
363
|
:docnumeric=>"17301",
|
330
|
-
:doctitle=>"
|
364
|
+
:doctitle=>"Céréales et légumineuses",
|
365
|
+
:doctype=>"International Standard",
|
366
|
+
:doctype_display=>"Standard International",
|
331
367
|
:docyear=>"2016",
|
332
368
|
:implementeddate=>"XXX",
|
333
369
|
:issueddate=>"XXX",
|
370
|
+
:iteration=>"2",
|
371
|
+
:lang=>"fr",
|
334
372
|
:obsoleteddate=>"XXX",
|
335
373
|
:publisheddate=>"2011-01",
|
336
374
|
:publisher=>"International Organization for Standardization et International Electrotechnical Commission",
|
337
375
|
:receiveddate=>"XXX",
|
338
376
|
:revdate=>"2016-05",
|
339
377
|
:revdate_monthyear=>"Mai 2016",
|
340
|
-
:
|
378
|
+
:script=>"Latn",
|
379
|
+
:stage=>"Committee Draft",
|
380
|
+
:stage_display=>"Projet De Comité",
|
381
|
+
:stageabbr=>"CD",
|
382
|
+
:substage=>"Withdrawn",
|
383
|
+
:substage_display=>"Rétiré",
|
341
384
|
:transmitteddate=>"XXX",
|
342
385
|
:unchangeddate=>"XXX",
|
343
|
-
:unpublished=>
|
386
|
+
:unpublished=>true,
|
344
387
|
:updateddate=>"XXX",
|
345
388
|
:vote_endeddate=>"XXX",
|
346
389
|
:vote_starteddate=>"XXX"}
|
@@ -139,7 +139,7 @@ expect(File.exist?("test.doc")).to be true
|
|
139
139
|
it "generates HTML output docs with complete configuration" do
|
140
140
|
FileUtils.rm_f "test.doc"
|
141
141
|
FileUtils.rm_f "test.html"
|
142
|
-
IsoDoc::HtmlConvert.new({bodyfont: "Zapf", htmlstylesheet: "spec/assets/html.scss", htmlcoverpage: "spec/assets/htmlcover.html", htmlintropage: "spec/assets/htmlintro.html", scripts: "spec/assets/scripts.html", i18nyaml: "spec/assets/i18n.yaml", ulstyle: "l1", olstyle: "l2"}).convert("test", <<~"INPUT", false)
|
142
|
+
IsoDoc::HtmlConvert.new({bodyfont: "Zapf", monospacefont: "Consolas", headerfont: "Comic Sans", normalfontsize: "30pt", monospacefontsize: "29pt", smallerfontsize: "28pt", footnotefontsize: "27pt", htmlstylesheet: "spec/assets/html.scss", htmlcoverpage: "spec/assets/htmlcover.html", htmlintropage: "spec/assets/htmlintro.html", scripts: "spec/assets/scripts.html", i18nyaml: "spec/assets/i18n.yaml", ulstyle: "l1", olstyle: "l2"}).convert("test", <<~"INPUT", false)
|
143
143
|
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
144
144
|
<preface><foreword>
|
145
145
|
<note>
|
@@ -150,7 +150,13 @@ expect(File.exist?("test.doc")).to be true
|
|
150
150
|
INPUT
|
151
151
|
html = File.read("test.html")
|
152
152
|
expect(html).to match(/another empty stylesheet/)
|
153
|
-
expect(html).to match(/font-family: Zapf/)
|
153
|
+
expect(html).to match(/p \{[^}]*?font-family: Zapf/m)
|
154
|
+
expect(html).to match(/code \{[^}]*?font-family: Consolas/m)
|
155
|
+
expect(html).to match(/h1 \{[^}]*?font-family: Comic Sans/m)
|
156
|
+
expect(html).to match(/p \{[^}]*?font-size: 30pt/m)
|
157
|
+
expect(html).to match(/code \{[^}]*?font-size: 29pt/m)
|
158
|
+
expect(html).to match(/p\.note \{[^}]*?font-size: 28pt/m)
|
159
|
+
expect(html).to match(/aside \{[^}]*?font-size: 27pt/m)
|
154
160
|
expect(html).to match(/an empty html cover page/)
|
155
161
|
expect(html).to match(/an empty html intro page/)
|
156
162
|
expect(html).to match(/This is > a script/)
|
@@ -172,7 +178,13 @@ expect(File.exist?("test.doc")).to be true
|
|
172
178
|
INPUT
|
173
179
|
html = File.read("test.html")
|
174
180
|
expect(html).to match(/another empty stylesheet/)
|
175
|
-
expect(html).to match(/font-family: Arial/)
|
181
|
+
expect(html).to match(/p \{[^}]*?font-family: Arial/m)
|
182
|
+
expect(html).to match(/code \{[^}]*?font-family: Courier/m)
|
183
|
+
expect(html).to match(/h1 \{[^}]*?font-family: Arial/m)
|
184
|
+
expect(html).to match(/p \{[^}]*?font-size: 1em;/m)
|
185
|
+
expect(html).to match(/code \{[^}]*?font-size: 0.8em/m)
|
186
|
+
expect(html).to match(/p\.note \{[^}]*?font-size: 0.9em/m)
|
187
|
+
expect(html).to match(/aside \{[^}]*?font-size: 0.9em/m)
|
176
188
|
expect(html).to match(/an empty html cover page/)
|
177
189
|
expect(html).to match(/an empty html intro page/)
|
178
190
|
expect(html).to match(/This is > a script/)
|
@@ -183,7 +195,7 @@ expect(File.exist?("test.doc")).to be true
|
|
183
195
|
it "generates Word output docs with complete configuration" do
|
184
196
|
FileUtils.rm_f "test.doc"
|
185
197
|
FileUtils.rm_f "test.html"
|
186
|
-
IsoDoc::WordConvert.new({bodyfont: "Zapf", wordstylesheet: "spec/assets/html.scss", standardstylesheet: "spec/assets/std.css", header: "spec/assets/header.html", wordcoverpage: "spec/assets/wordcover.html", wordintropage: "spec/assets/wordintro.html", i18nyaml: "spec/assets/i18n.yaml", ulstyle: "l1", olstyle: "l2"}).convert("test", <<~"INPUT", false)
|
198
|
+
IsoDoc::WordConvert.new({bodyfont: "Zapf", monospacefont: "Consolas", headerfont: "Comic Sans", normalfontsize: "30pt", monospacefontsize: "29pt", smallerfontsize: "28pt", footnotefontsize: "27pt", wordstylesheet: "spec/assets/html.scss", standardstylesheet: "spec/assets/std.css", header: "spec/assets/header.html", wordcoverpage: "spec/assets/wordcover.html", wordintropage: "spec/assets/wordintro.html", i18nyaml: "spec/assets/i18n.yaml", ulstyle: "l1", olstyle: "l2"}).convert("test", <<~"INPUT", false)
|
187
199
|
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
188
200
|
<preface><foreword>
|
189
201
|
<note>
|
@@ -194,7 +206,13 @@ expect(File.exist?("test.doc")).to be true
|
|
194
206
|
INPUT
|
195
207
|
word = File.read("test.doc")
|
196
208
|
expect(word).to match(/another empty stylesheet/)
|
197
|
-
expect(word).to match(/font-family: Zapf/)
|
209
|
+
expect(word).to match(/p \{[^}]*?font-family: Zapf/m)
|
210
|
+
expect(word).to match(/code \{[^}]*?font-family: Consolas/m)
|
211
|
+
expect(word).to match(/h1 \{[^}]*?font-family: Comic Sans/m)
|
212
|
+
expect(word).to match(/p \{[^}]*?font-size: 30pt/m)
|
213
|
+
expect(word).to match(/code \{[^}]*?font-size: 29pt/m)
|
214
|
+
expect(word).to match(/p\.note \{[^}]*?font-size: 28pt/m)
|
215
|
+
expect(word).to match(/aside \{[^}]*?font-size: 27pt/m)
|
198
216
|
expect(word).to match(/a third empty stylesheet/)
|
199
217
|
#expect(word).to match(/<title>test<\/title>/)
|
200
218
|
expect(word).to match(/test_files\/header.html/)
|
@@ -217,7 +235,13 @@ expect(File.exist?("test.doc")).to be true
|
|
217
235
|
INPUT
|
218
236
|
word = File.read("test.doc")
|
219
237
|
expect(word).to match(/another empty stylesheet/)
|
220
|
-
expect(word).to match(/font-family: Arial/)
|
238
|
+
expect(word).to match(/p \{[^}]*?font-family: Arial/m)
|
239
|
+
expect(word).to match(/code \{[^}]*?font-family: Courier/m)
|
240
|
+
expect(word).to match(/h1 \{[^}]*?font-family: Arial/m)
|
241
|
+
expect(word).to match(/p \{[^}]*?font-size: 12pt/m)
|
242
|
+
expect(word).to match(/code \{[^}]*?font-size: 11pt/m)
|
243
|
+
expect(word).to match(/p\.note \{[^}]*?font-size: 10pt/m)
|
244
|
+
expect(word).to match(/aside \{[^}]*?font-size: 9pt/m)
|
221
245
|
expect(word).to match(/a third empty stylesheet/)
|
222
246
|
#expect(word).to match(/<title>test<\/title>/)
|
223
247
|
expect(word).to match(/test_files\/header.html/)
|
@@ -512,7 +536,7 @@ TOCLEVEL
|
|
512
536
|
<p id="_ff27c067-2785-4551-96cf-0a73530ff1e6">This is a footnote.</p>
|
513
537
|
</fn><clause id="N" inline-header="false" obligation="normative">
|
514
538
|
<title>Introduction to this<fn reference="2">
|
515
|
-
|
539
|
+
Formerly denoted as 15 % (m/m).
|
516
540
|
</fn></title>
|
517
541
|
</clause>
|
518
542
|
<clause id="O" inline-header="false" obligation="normative">
|
@@ -548,7 +572,7 @@ TOCLEVEL
|
|
548
572
|
</a>This is a footnote.</p>
|
549
573
|
<a href="#fnref:1">↩</a></aside>
|
550
574
|
<aside id="fn:2" class="footnote">
|
551
|
-
<
|
575
|
+
<a class='FootnoteRef' href='#fn:2'><sup>2</sup></a>Formerly denoted as 15 % (m/m).
|
552
576
|
<a href="#fnref:2">↩</a></aside>
|
553
577
|
</main>
|
554
578
|
OUTPUT
|
@@ -593,6 +617,169 @@ TOCLEVEL
|
|
593
617
|
|
594
618
|
end
|
595
619
|
|
620
|
+
describe "mathvariant to plain" do
|
621
|
+
context "when `mathvariant` attr equal to `script`" do
|
622
|
+
it "converts mathvariant text chars into associated plain chars" do
|
623
|
+
FileUtils.rm_f "test.html"
|
624
|
+
FileUtils.rm_rf "test_htmlimages"
|
625
|
+
input = <<~INPUT
|
626
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
627
|
+
<iso-standard xmlns="https://www.metanorma.org/ns/iso" type="semantic" version="1.5.14">
|
628
|
+
<sections>
|
629
|
+
<clause id="_clause" inline-header="false" obligation="normative">
|
630
|
+
<title>Clause</title>
|
631
|
+
<p id="_20514f5a-9f86-454e-b6ce-927f65ba6441">
|
632
|
+
<stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML">
|
633
|
+
<mi>x</mi>
|
634
|
+
<mo>=</mo>
|
635
|
+
<mstyle mathvariant="script">
|
636
|
+
<mi>l</mi>
|
637
|
+
</mstyle>
|
638
|
+
<mo>+</mo>
|
639
|
+
<mn>1</mn>
|
640
|
+
</math></stem>
|
641
|
+
</p>
|
642
|
+
</clause>
|
643
|
+
</sections>
|
644
|
+
</iso-standard>
|
645
|
+
INPUT
|
646
|
+
output = <<~OUTPUT
|
647
|
+
<main class="main-section"><button onclick="topFunction()" id="myBtn" title="Go to top">Top</button>
|
648
|
+
<p class="zzSTDTitle1"></p>
|
649
|
+
<div id="_clause">
|
650
|
+
<h1>Clause</h1>
|
651
|
+
<p id="_20514f5a-9f86-454e-b6ce-927f65ba6441">
|
652
|
+
<span class="stem"><math xmlns="http://www.w3.org/1998/Math/MathML">
|
653
|
+
<mi>x</mi>
|
654
|
+
<mo>=</mo>
|
655
|
+
<mstyle mathvariant="script">
|
656
|
+
<mi>𝓁</mi>
|
657
|
+
</mstyle>
|
658
|
+
<mo>+</mo>
|
659
|
+
<mn>1</mn>
|
660
|
+
</math></span>
|
661
|
+
</p>
|
662
|
+
</div>
|
663
|
+
</main>
|
664
|
+
OUTPUT
|
665
|
+
IsoDoc::HtmlConvert.new({}).convert("test", input, false)
|
666
|
+
html = File.read("test.html")
|
667
|
+
.sub(/^.*<main class="main-section">/m, '<main class="main-section">')
|
668
|
+
.sub(%r{</main>.*$}m, "</main>")
|
669
|
+
expect(html).to(be_equivalent_to(output))
|
670
|
+
end
|
671
|
+
end
|
672
|
+
|
673
|
+
context "when complex `mathvariant` combinations" do
|
674
|
+
it "converts mathvariant text chars into associated plain chars" do
|
675
|
+
FileUtils.rm_f "test.html"
|
676
|
+
FileUtils.rm_rf "test_htmlimages"
|
677
|
+
input = <<~INPUT
|
678
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
679
|
+
<iso-standard xmlns="https://www.metanorma.org/ns/iso" type="semantic" version="1.5.14">
|
680
|
+
<sections>
|
681
|
+
<clause id="_clause" inline-header="false" obligation="normative">
|
682
|
+
<title>Clause</title>
|
683
|
+
<p id="_20514f5a-9f86-454e-b6ce-927f65ba6441">
|
684
|
+
<stem type="MathML">
|
685
|
+
<math xmlns="http://www.w3.org/1998/Math/MathML">
|
686
|
+
<mstyle mathvariant="sans-serif">
|
687
|
+
<mfrac>
|
688
|
+
<mrow>
|
689
|
+
<mrow>
|
690
|
+
<mi>n</mi>
|
691
|
+
<mfenced open="(" close=")">
|
692
|
+
<mrow>
|
693
|
+
<mstyle mathvariant="bold">
|
694
|
+
<mrow>
|
695
|
+
<mi>n</mi>
|
696
|
+
<mo>+</mo>
|
697
|
+
<mn>1</mn>
|
698
|
+
<mo>+</mo>
|
699
|
+
<mstyle mathvariant="italic">
|
700
|
+
<mi>x</mi>
|
701
|
+
</mstyle>
|
702
|
+
</mrow>
|
703
|
+
</mstyle>
|
704
|
+
</mrow>
|
705
|
+
</mfenced>
|
706
|
+
</mrow>
|
707
|
+
</mrow>
|
708
|
+
<mrow>
|
709
|
+
<mstyle mathvariant="bold">
|
710
|
+
<mrow>
|
711
|
+
<mi>y</mi>
|
712
|
+
<mo>+</mo>
|
713
|
+
<mstyle mathvariant="fraktur">
|
714
|
+
<mi>z</mi>
|
715
|
+
</mstyle>
|
716
|
+
</mrow>
|
717
|
+
</mstyle>
|
718
|
+
</mrow>
|
719
|
+
</mfrac>
|
720
|
+
</mstyle>
|
721
|
+
</math>
|
722
|
+
</stem>
|
723
|
+
</p>
|
724
|
+
</clause>
|
725
|
+
</sections>
|
726
|
+
</iso-standard>
|
727
|
+
INPUT
|
728
|
+
output = <<~OUTPUT
|
729
|
+
<main class="main-section"><button onclick="topFunction()" id="myBtn" title="Go to top">Top</button>
|
730
|
+
<p class="zzSTDTitle1"></p>
|
731
|
+
<div id="_clause">
|
732
|
+
<h1>Clause</h1>
|
733
|
+
<p id="_20514f5a-9f86-454e-b6ce-927f65ba6441">
|
734
|
+
<span class="stem"><math xmlns="http://www.w3.org/1998/Math/MathML">
|
735
|
+
<mstyle mathvariant="sans-serif">
|
736
|
+
<mfrac>
|
737
|
+
<mrow>
|
738
|
+
<mrow>
|
739
|
+
<mi>𝗇</mi>
|
740
|
+
<mfenced open="(" close=")">
|
741
|
+
<mrow>
|
742
|
+
<mstyle mathvariant="bold">
|
743
|
+
<mrow>
|
744
|
+
<mi>𝗻</mi>
|
745
|
+
<mo>+</mo>
|
746
|
+
<mn>𝟭</mn>
|
747
|
+
<mo>+</mo>
|
748
|
+
<mstyle mathvariant="italic">
|
749
|
+
<mi>𝙭</mi>
|
750
|
+
</mstyle>
|
751
|
+
</mrow>
|
752
|
+
</mstyle>
|
753
|
+
</mrow>
|
754
|
+
</mfenced>
|
755
|
+
</mrow>
|
756
|
+
</mrow>
|
757
|
+
<mrow>
|
758
|
+
<mstyle mathvariant="bold">
|
759
|
+
<mrow>
|
760
|
+
<mi>𝘆</mi>
|
761
|
+
<mo>+</mo>
|
762
|
+
<mstyle mathvariant="fraktur">
|
763
|
+
<mi>𝖟</mi>
|
764
|
+
</mstyle>
|
765
|
+
</mrow>
|
766
|
+
</mstyle>
|
767
|
+
</mrow>
|
768
|
+
</mfrac>
|
769
|
+
</mstyle>
|
770
|
+
</math></span>
|
771
|
+
</p>
|
772
|
+
</div>
|
773
|
+
</main>
|
774
|
+
OUTPUT
|
775
|
+
IsoDoc::HtmlConvert.new({}).convert("test", input, false)
|
776
|
+
html = File.read("test.html")
|
777
|
+
.sub(/^.*<main class="main-section">/m, '<main class="main-section">')
|
778
|
+
.sub(%r{</main>.*$}m, "</main>")
|
779
|
+
expect(html).to(be_equivalent_to(output))
|
780
|
+
end
|
781
|
+
end
|
782
|
+
end
|
596
783
|
|
597
784
|
it "moves images in HTML with no file suffix" do
|
598
785
|
FileUtils.rm_f "test.html"
|
@@ -905,6 +1092,7 @@ TOCLEVEL
|
|
905
1092
|
</m:r>
|
906
1093
|
</m:oMath>
|
907
1094
|
</span>
|
1095
|
+
<span style='mso-tab-count:1'>  </span>
|
908
1096
|
</p>
|
909
1097
|
</div>
|
910
1098
|
</div>
|
@@ -1022,7 +1210,7 @@ TOCLEVEL
|
|
1022
1210
|
OUTPUT
|
1023
1211
|
end
|
1024
1212
|
|
1025
|
-
it "deals with image captions (Word)" do
|
1213
|
+
it "deals with image captions (Word)" do
|
1026
1214
|
FileUtils.rm_f "test.doc"
|
1027
1215
|
FileUtils.rm_f "test.html"
|
1028
1216
|
IsoDoc::WordConvert.new({wordstylesheet: "spec/assets/word.css", htmlstylesheet: "spec/assets/html.scss"}).convert("test", <<~"INPUT", false)
|
@@ -1341,7 +1529,7 @@ expect(xmlpp(html.sub(/^.*<body /m, "<body ").sub(%r{</body>.*$}m, "</body>"))).
|
|
1341
1529
|
<div class='Section3' id=''>
|
1342
1530
|
<h1 class='IntroTitle'>Preface 1</h1>
|
1343
1531
|
<p align='center' style='text-align:center;' class='MsoNormal'>
|
1344
|
-
This is a
|
1532
|
+
This is a
|
1345
1533
|
<p class='MsoNormal'>
|
1346
1534
|
<br clear='all' class='section'/>
|
1347
1535
|
</p>
|
@@ -1387,7 +1575,7 @@ expect(xmlpp(html.sub(/^.*<body /m, "<body ").sub(%r{</body>.*$}m, "</body>"))).
|
|
1387
1575
|
<p class='Note'>
|
1388
1576
|
<span class='note_label'/>
|
1389
1577
|
<span style='mso-tab-count:1'>  </span>
|
1390
|
-
For further information on the Foreword, see
|
1578
|
+
For further information on the Foreword, see
|
1391
1579
|
<b>ISO/IEC Directives, Part 2, 2016, Clause 12.</b>
|
1392
1580
|
</p>
|
1393
1581
|
<p class='Note'>
|
@@ -1569,4 +1757,277 @@ OUTPUT
|
|
1569
1757
|
OUTPUT
|
1570
1758
|
end
|
1571
1759
|
|
1760
|
+
|
1761
|
+
it "allocate widths to tables (Word)" do
|
1762
|
+
expect(xmlpp(IsoDoc::WordConvert.new({wordstylesheet: "spec/assets/word.css", htmlstylesheet: "spec/assets/html.scss", filename: "test"}).word_cleanup(Nokogiri::XML(<<~INPUT)).to_xml).sub(/^.*<main/m, "<main").sub(%r{</main>.*$}m, "</main>")).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
1763
|
+
<html xmlns:epub="http://www.idpf.org/2007/ops" lang="en">
|
1764
|
+
<head><style/></head>
|
1765
|
+
<body lang='EN-US' link='blue' vlink='#954F72'>
|
1766
|
+
<div class='WordSection1'>
|
1767
|
+
<p> </p>
|
1768
|
+
</div>
|
1769
|
+
<p>
|
1770
|
+
<br clear='all' class='section'/>
|
1771
|
+
</p>
|
1772
|
+
<div class='WordSection2'>
|
1773
|
+
<p>
|
1774
|
+
<br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
|
1775
|
+
</p>
|
1776
|
+
<div>
|
1777
|
+
<h1 class='ForewordTitle'>Foreword</h1>
|
1778
|
+
<p class='TableTitle' style='text-align:center;'>
|
1779
|
+
Table 1 — Repeatability and reproducibility of
|
1780
|
+
<i>husked</i>
|
1781
|
+
rice yield
|
1782
|
+
<span style='mso-bookmark:_Ref'>
|
1783
|
+
<a class='FootnoteRef' href='#ftn1' epub:type='footnote'>
|
1784
|
+
<sup>1</sup>
|
1785
|
+
</a>
|
1786
|
+
</span>
|
1787
|
+
</p>
|
1788
|
+
<div align='center' class='table_container'>
|
1789
|
+
<table id='tableD-1' class='MsoISOTable' style='mso-table-anchor-horizontal:column;mso-table-overlap:never;border-spacing:0;border-width:1px;page-break-after: avoid;page-break-inside: avoid;' title='tool tip' summary='long desc' width='70%'>
|
1790
|
+
<colgroup>
|
1791
|
+
<col width='30%'/>
|
1792
|
+
<col width='20%'/>
|
1793
|
+
<col width='20%'/>
|
1794
|
+
<col width='20%'/>
|
1795
|
+
<col width='10%'/>
|
1796
|
+
</colgroup>
|
1797
|
+
<thead>
|
1798
|
+
<tr>
|
1799
|
+
<td rowspan='2' align='left' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;'>Description</td>
|
1800
|
+
<td colspan='4' align='center' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;mso-border-bottom-alt:solid windowtext 1.0pt;'>Rice sample</td>
|
1801
|
+
</tr>
|
1802
|
+
<tr>
|
1803
|
+
<td align='left' valign="top" style='border-top:none;mso-border-top-alt:none;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;'>Arborio</td>
|
1804
|
+
<td align='center' valign="middle" style='border-top:none;mso-border-top-alt:none;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;'>
|
1805
|
+
Drago
|
1806
|
+
<a href='#tableD-1a' class='TableFootnoteRef'>a</a>
|
1807
|
+
<aside>
|
1808
|
+
<div id='ftntableD-1a'>
|
1809
|
+
<span>
|
1810
|
+
<span id='tableD-1a' class='TableFootnoteRef'>a</span>
|
1811
|
+
<span style='mso-tab-count:1'>  </span>
|
1812
|
+
</span>
|
1813
|
+
<p id='_0fe65e9a-5531-408e-8295-eeff35f41a55'>Parboiled rice.</p>
|
1814
|
+
</div>
|
1815
|
+
</aside>
|
1816
|
+
</td>
|
1817
|
+
<td align='center' valign="bottom" style='border-top:none;mso-border-top-alt:none;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;'>
|
1818
|
+
Balilla
|
1819
|
+
<a href='#tableD-1a' class='TableFootnoteRef'>a</a>
|
1820
|
+
</td>
|
1821
|
+
<td align='center' style='border-top:none;mso-border-top-alt:none;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;'>Thaibonnet</td>
|
1822
|
+
</tr>
|
1823
|
+
</thead>
|
1824
|
+
<tbody>
|
1825
|
+
<tr>
|
1826
|
+
<th align='left' style='font-weight:bold;border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;mso-border-bottom-alt:solid windowtext 1.0pt;'>Number of laboratories retained after eliminating outliers</th>
|
1827
|
+
<td align='center' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;mso-border-bottom-alt:solid windowtext 1.0pt;'>13</td>
|
1828
|
+
<td align='center' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;mso-border-bottom-alt:solid windowtext 1.0pt;'>11</td>
|
1829
|
+
<td align='center' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;mso-border-bottom-alt:solid windowtext 1.0pt;'>13</td>
|
1830
|
+
<td align='center' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;mso-border-bottom-alt:solid windowtext 1.0pt;'>13</td>
|
1831
|
+
</tr>
|
1832
|
+
<tr>
|
1833
|
+
<td align='left' style='border-top:none;mso-border-top-alt:none;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;'>Mean value, g/100 g</td>
|
1834
|
+
<td align='center' style='border-top:none;mso-border-top-alt:none;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;'>81,2</td>
|
1835
|
+
<td align='center' style='border-top:none;mso-border-top-alt:none;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;'>82,0</td>
|
1836
|
+
<td align='center' style='border-top:none;mso-border-top-alt:none;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;'>81,8</td>
|
1837
|
+
<td align='center' style='border-top:none;mso-border-top-alt:none;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;'>77,7</td>
|
1838
|
+
</tr>
|
1839
|
+
</tbody>
|
1840
|
+
<tfoot>
|
1841
|
+
<tr>
|
1842
|
+
<td align='left' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;'>
|
1843
|
+
Reproducibility limit,
|
1844
|
+
<span class='stem'>(#(R)#)</span>
|
1845
|
+
(= 2,83
|
1846
|
+
<span class='stem'>(#(s_R)#)</span>
|
1847
|
+
)
|
1848
|
+
</td>
|
1849
|
+
<td align='center' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;'>2,89</td>
|
1850
|
+
<td align='center' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;'>0,57</td>
|
1851
|
+
<td align='center' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;'>2,26</td>
|
1852
|
+
<td align='center' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;'>6,06</td>
|
1853
|
+
</tr>
|
1854
|
+
</tfoot>
|
1855
|
+
<table class='dl'>
|
1856
|
+
<tr>
|
1857
|
+
<td valign='top' align='left'>
|
1858
|
+
<p align='left' style='margin-left:0pt;text-align:left;'>Drago</p>
|
1859
|
+
</td>
|
1860
|
+
<td valign='top'>A type of rice</td>
|
1861
|
+
</tr>
|
1862
|
+
</table>
|
1863
|
+
<div class='Note'>
|
1864
|
+
<p class='Note'>
|
1865
|
+
<span class='note_label'>NOTE</span>
|
1866
|
+
<span style='mso-tab-count:1'>  </span>
|
1867
|
+
This is a table about rice
|
1868
|
+
</p>
|
1869
|
+
</div>
|
1870
|
+
</table>
|
1871
|
+
</div>
|
1872
|
+
<div align='center' class='table_container'>
|
1873
|
+
<table id='tableD-2' class='MsoISOTable' style='mso-table-anchor-horizontal:column;mso-table-overlap:never;border-spacing:0;border-width:1px;'>
|
1874
|
+
<tbody>
|
1875
|
+
<tr>
|
1876
|
+
<td style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;'>A</td>
|
1877
|
+
</tr>
|
1878
|
+
</tbody>
|
1879
|
+
</table>
|
1880
|
+
</div>
|
1881
|
+
</div>
|
1882
|
+
<p> </p>
|
1883
|
+
</div>
|
1884
|
+
<p>
|
1885
|
+
<br clear='all' class='section'/>
|
1886
|
+
</p>
|
1887
|
+
<div class='WordSection3'>
|
1888
|
+
<p class='zzSTDTitle1'/>
|
1889
|
+
<aside id='ftn1'>
|
1890
|
+
<p>X</p>
|
1891
|
+
</aside>
|
1892
|
+
</div>
|
1893
|
+
</body>
|
1894
|
+
</html>
|
1895
|
+
INPUT
|
1896
|
+
<html xmlns:epub='http://www.idpf.org/2007/ops' lang='en'>
|
1897
|
+
<head>
|
1898
|
+
<style/>
|
1899
|
+
</head>
|
1900
|
+
<body lang='EN-US' link='blue' vlink='#954F72'>
|
1901
|
+
<div class='WordSection1'>
|
1902
|
+
<p> </p>
|
1903
|
+
</div>
|
1904
|
+
<p>
|
1905
|
+
<br clear='all' class='section'/>
|
1906
|
+
</p>
|
1907
|
+
<div class='WordSection2'>
|
1908
|
+
<p>
|
1909
|
+
<br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
|
1910
|
+
</p>
|
1911
|
+
<div>
|
1912
|
+
<h1 class='ForewordTitle'>Foreword</h1>
|
1913
|
+
<p class='TableTitle' style='text-align:center;'>
|
1914
|
+
Table 1 — Repeatability and reproducibility of
|
1915
|
+
<i>husked</i>
|
1916
|
+
rice yield
|
1917
|
+
<span style='mso-bookmark:_Ref'>
|
1918
|
+
<a class='FootnoteRef' href='#ftn1' epub:type='footnote'>
|
1919
|
+
<sup>1</sup>
|
1920
|
+
</a>
|
1921
|
+
</span>
|
1922
|
+
</p>
|
1923
|
+
<div align='center' class='table_container'>
|
1924
|
+
<table id='tableD-1' class='MsoISOTable' style='mso-table-anchor-horizontal:column;mso-table-overlap:never;border-spacing:0;border-width:1px;page-break-after: avoid;page-break-inside: avoid;' title='tool tip' summary='long desc' width='70%'>
|
1925
|
+
<colgroup>
|
1926
|
+
<col width='30%'/>
|
1927
|
+
<col width='20%'/>
|
1928
|
+
<col width='20%'/>
|
1929
|
+
<col width='20%'/>
|
1930
|
+
<col width='10%'/>
|
1931
|
+
</colgroup>
|
1932
|
+
<thead>
|
1933
|
+
<tr>
|
1934
|
+
<td rowspan='2' align='left' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;' width='30.0%'>Description</td>
|
1935
|
+
<td colspan='4' align='center' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;mso-border-bottom-alt:solid windowtext 1.0pt;' width='70.0%'>Rice sample</td>
|
1936
|
+
</tr>
|
1937
|
+
<tr>
|
1938
|
+
<td align='left' valign='top' style='border-top:none;mso-border-top-alt:none;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;' width='20.0%'>Arborio</td>
|
1939
|
+
<td align='center' valign='middle' style='border-top:none;mso-border-top-alt:none;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;' width='20.0%'>
|
1940
|
+
Drago
|
1941
|
+
<a href='#tableD-1a' class='TableFootnoteRef'>a</a>
|
1942
|
+
<aside>
|
1943
|
+
<div id='ftntableD-1a'>
|
1944
|
+
<span>
|
1945
|
+
<span id='tableD-1a' class='TableFootnoteRef'>a</span>
|
1946
|
+
<span style='mso-tab-count:1'>  </span>
|
1947
|
+
</span>
|
1948
|
+
<p id='_0fe65e9a-5531-408e-8295-eeff35f41a55'>Parboiled rice.</p>
|
1949
|
+
</div>
|
1950
|
+
</aside>
|
1951
|
+
</td>
|
1952
|
+
<td align='center' valign='bottom' style='border-top:none;mso-border-top-alt:none;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;' width='20.0%'>
|
1953
|
+
Balilla
|
1954
|
+
<a href='#tableD-1a' class='TableFootnoteRef'>a</a>
|
1955
|
+
</td>
|
1956
|
+
<td align='center' style='border-top:none;mso-border-top-alt:none;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;' width='10.0%'>Thaibonnet</td>
|
1957
|
+
</tr>
|
1958
|
+
</thead>
|
1959
|
+
<tbody>
|
1960
|
+
<tr>
|
1961
|
+
<th align='left' style='font-weight:bold;border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;mso-border-bottom-alt:solid windowtext 1.0pt;' width='30.0%'>Number of laboratories retained after eliminating outliers</th>
|
1962
|
+
<td align='center' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;mso-border-bottom-alt:solid windowtext 1.0pt;' width='20.0%'>13</td>
|
1963
|
+
<td align='center' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;mso-border-bottom-alt:solid windowtext 1.0pt;' width='20.0%'>11</td>
|
1964
|
+
<td align='center' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;mso-border-bottom-alt:solid windowtext 1.0pt;' width='20.0%'>13</td>
|
1965
|
+
<td align='center' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;mso-border-bottom-alt:solid windowtext 1.0pt;' width='10.0%'>13</td>
|
1966
|
+
</tr>
|
1967
|
+
<tr>
|
1968
|
+
<td align='left' style='border-top:none;mso-border-top-alt:none;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;' width='30.0%'>Mean value, g/100 g</td>
|
1969
|
+
<td align='center' style='border-top:none;mso-border-top-alt:none;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;' width='20.0%'>81,2</td>
|
1970
|
+
<td align='center' style='border-top:none;mso-border-top-alt:none;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;' width='20.0%'>82,0</td>
|
1971
|
+
<td align='center' style='border-top:none;mso-border-top-alt:none;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;' width='20.0%'>81,8</td>
|
1972
|
+
<td align='center' style='border-top:none;mso-border-top-alt:none;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;' width='10.0%'>77,7</td>
|
1973
|
+
</tr>
|
1974
|
+
</tbody>
|
1975
|
+
<tfoot>
|
1976
|
+
<tr>
|
1977
|
+
<td align='left' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;' width='30.0%'>
|
1978
|
+
Reproducibility limit,
|
1979
|
+
<span class='stem'>(#(R)#)</span>
|
1980
|
+
(= 2,83
|
1981
|
+
<span class='stem'>(#(s_R)#)</span>
|
1982
|
+
)
|
1983
|
+
</td>
|
1984
|
+
<td align='center' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;' width='20.0%'>2,89</td>
|
1985
|
+
<td align='center' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;' width='20.0%'>0,57</td>
|
1986
|
+
<td align='center' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;' width='20.0%'>2,26</td>
|
1987
|
+
<td align='center' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;' width='10.0%'>6,06</td>
|
1988
|
+
</tr>
|
1989
|
+
</tfoot>
|
1990
|
+
<div class='Note'>
|
1991
|
+
<p class='Note'>
|
1992
|
+
<span class='note_label'>NOTE</span>
|
1993
|
+
<span style='mso-tab-count:1'>  </span>
|
1994
|
+
This is a table about rice
|
1995
|
+
</p>
|
1996
|
+
</div>
|
1997
|
+
</table>
|
1998
|
+
<table class='dl'>
|
1999
|
+
<tr>
|
2000
|
+
<td valign='top' align='left'>
|
2001
|
+
<p align='left' style='margin-left:0pt;text-align:left;'>Drago</p>
|
2002
|
+
</td>
|
2003
|
+
<td valign='top'>A type of rice</td>
|
2004
|
+
</tr>
|
2005
|
+
</table>
|
2006
|
+
</div>
|
2007
|
+
<div align='center' class='table_container'>
|
2008
|
+
<table id='tableD-2' class='MsoISOTable' style='mso-table-anchor-horizontal:column;mso-table-overlap:never;border-spacing:0;border-width:1px;'>
|
2009
|
+
<tbody>
|
2010
|
+
<tr>
|
2011
|
+
<td style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;'>A</td>
|
2012
|
+
</tr>
|
2013
|
+
</tbody>
|
2014
|
+
</table>
|
2015
|
+
</div>
|
2016
|
+
</div>
|
2017
|
+
<p> </p>
|
2018
|
+
</div>
|
2019
|
+
<p>
|
2020
|
+
<br clear='all' class='section'/>
|
2021
|
+
</p>
|
2022
|
+
<div class='WordSection3'>
|
2023
|
+
<p class='zzSTDTitle1'/>
|
2024
|
+
<aside id='ftn1'>
|
2025
|
+
<p>X</p>
|
2026
|
+
</aside>
|
2027
|
+
</div>
|
2028
|
+
</body>
|
2029
|
+
</html>
|
2030
|
+
OUTPUT
|
2031
|
+
end
|
2032
|
+
|
1572
2033
|
end
|