metanorma-iec 1.1.3 → 1.2.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/lib/asciidoctor/iec/basicdoc.rng +23 -0
  3. data/lib/asciidoctor/iec/converter.rb +6 -15
  4. data/lib/asciidoctor/iec/front.rb +4 -4
  5. data/lib/asciidoctor/iec/iec.rng +7 -0
  6. data/lib/asciidoctor/iec/isodoc.rng +137 -21
  7. data/lib/asciidoctor/iec/isostandard.rng +8 -1
  8. data/lib/isodoc/iec/base_convert.rb +6 -58
  9. data/lib/isodoc/iec/html/isodoc.css +16 -4
  10. data/lib/isodoc/iec/html/isodoc.scss +19 -4
  11. data/lib/isodoc/iec/html/wordstyle.css +10 -10
  12. data/lib/isodoc/iec/html/wordstyle.scss +15 -10
  13. data/lib/isodoc/iec/html_convert.rb +2 -0
  14. data/lib/isodoc/iec/i18n-en.yaml +13 -0
  15. data/lib/isodoc/iec/i18n-fr.yaml +13 -0
  16. data/lib/isodoc/iec/i18n-zh-Hans.yaml +11 -0
  17. data/lib/isodoc/iec/i18n.rb +19 -0
  18. data/lib/isodoc/iec/iec.international-standard.xsl +2460 -1779
  19. data/lib/isodoc/iec/init.rb +29 -0
  20. data/lib/isodoc/iec/presentation_xml_convert.rb +26 -1
  21. data/lib/isodoc/iec/word_convert.rb +3 -1
  22. data/lib/isodoc/iec/xref.rb +1 -1
  23. data/lib/metanorma/iec/version.rb +1 -1
  24. data/metanorma-iec.gemspec +2 -2
  25. data/spec/asciidoctor-iec/base_spec.rb +5 -5
  26. data/spec/asciidoctor-iec/blocks_spec.rb +1 -1
  27. data/spec/asciidoctor-iec/cleanup_spec.rb +32 -8
  28. data/spec/asciidoctor-iec/iev_spec.rb +76 -3
  29. data/spec/asciidoctor-iec/inline_spec.rb +8 -2
  30. data/spec/asciidoctor-iec/section_spec.rb +17 -15
  31. data/spec/isodoc/blocks_spec.rb +66 -1
  32. data/spec/isodoc/i18n_spec.rb +306 -244
  33. data/spec/isodoc/iev_spec.rb +277 -18
  34. data/spec/isodoc/inline_spec.rb +97 -73
  35. data/spec/isodoc/iso_spec.rb +6 -0
  36. data/spec/isodoc/postproc_spec.rb +15 -29
  37. data/spec/isodoc/ref_spec.rb +144 -14
  38. data/spec/isodoc/section_spec.rb +112 -102
  39. data/spec/isodoc/terms_spec.rb +68 -54
  40. data/spec/metanorma/processor_spec.rb +2 -1
  41. data/spec/spec_helper.rb +1 -1
  42. metadata +8 -9
  43. data/lib/asciidoctor/iec/i18n-en.yaml +0 -12
  44. data/lib/asciidoctor/iec/i18n-fr.yaml +0 -11
  45. data/lib/asciidoctor/iec/i18n-zh-Hans.yaml +0 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 771cadd9f9bf1460c635f15452e434e54daef0e326527745cd7813369385da96
4
- data.tar.gz: 46d1d213d84f937c7346cb2e9d33c92b9dae13544cec218a04a4d7b30638845c
3
+ metadata.gz: bbe7886647419d3d25efb24813d1686dee3bf8cd675b36be86cfb0450859bf06
4
+ data.tar.gz: 7a5ac01abe1bf59690b0be12d6e2a9d7a8a923ce9169e5549179a0f35747315c
5
5
  SHA512:
6
- metadata.gz: d4166a09b5768d7ec0bdeb4527764af193dac81ef3cc99ac728224fffc9120833d1bd8063c0cb82922d263b473349e279ef8a95a59774e4750185bb0d2eef1c2
7
- data.tar.gz: 5278271ffad07995fc3fdba9715371091d1bbc2743b94f7903d2cfe4e706c046c48de8f06901d70680bf04d878b1af291a8fa37a716ab8e8697ea88fcf112693
6
+ metadata.gz: 73a29fac4f7691d1b20bb82e1a29108abdff82c26d980244fd2d84bd97e32cde6c234a3f0c46a175e6fa688df1702589ef911a7d6bfe4e11ae054da1bdc22520
7
+ data.tar.gz: 2392e4fe3f0efb9cb7a0dd419111263016b82a8df659e139571b70e88268afe5ea41db4f19ec710270265204ba1b3c895c3b544909b56ce7ce77d35607eb642b
@@ -402,6 +402,16 @@
402
402
  </choice>
403
403
  </attribute>
404
404
  </optional>
405
+ <optional>
406
+ <attribute name="valign">
407
+ <choice>
408
+ <value>top</value>
409
+ <value>middle</value>
410
+ <value>bottom</value>
411
+ <value>baseline</value>
412
+ </choice>
413
+ </attribute>
414
+ </optional>
405
415
  <choice>
406
416
  <zeroOrMore>
407
417
  <ref name="TextElement"/>
@@ -429,6 +439,16 @@
429
439
  </choice>
430
440
  </attribute>
431
441
  </optional>
442
+ <optional>
443
+ <attribute name="valign">
444
+ <choice>
445
+ <value>top</value>
446
+ <value>middle</value>
447
+ <value>bottom</value>
448
+ <value>baseline</value>
449
+ </choice>
450
+ </attribute>
451
+ </optional>
432
452
  <choice>
433
453
  <zeroOrMore>
434
454
  <ref name="TextElement"/>
@@ -998,6 +1018,9 @@
998
1018
  <value>alphabet_upper</value>
999
1019
  </choice>
1000
1020
  </attribute>
1021
+ <optional>
1022
+ <attribute name="start"/>
1023
+ </optional>
1001
1024
  <oneOrMore>
1002
1025
  <ref name="li"/>
1003
1026
  </oneOrMore>
@@ -38,20 +38,6 @@ module Asciidoctor
38
38
  File.join(File.dirname(__FILE__), "iec.rng"))
39
39
  end
40
40
 
41
- def load_yaml(lang, script)
42
- y = if @i18nyaml then YAML.load_file(@i18nyaml)
43
- elsif lang == "en"
44
- YAML.load_file(File.join(File.dirname(__FILE__), "i18n-en.yaml"))
45
- elsif lang == "fr"
46
- YAML.load_file(File.join(File.dirname(__FILE__), "i18n-fr.yaml"))
47
- elsif lang == "zh" && script == "Hans"
48
- YAML.load_file(File.join(File.dirname(__FILE__), "i18n-zh-Hans.yaml"))
49
- else
50
- YAML.load_file(File.join(File.dirname(__FILE__), "i18n-en.yaml"))
51
- end
52
- super.merge(y)
53
- end
54
-
55
41
  def html_converter(node)
56
42
  node.nil? ? IsoDoc::Iec::HtmlConvert.new({}) :
57
43
  IsoDoc::Iec::HtmlConvert.new(html_extract_attributes(node))
@@ -75,7 +61,7 @@ module Asciidoctor
75
61
  def norm_ref_preface(f)
76
62
  return super unless @is_iev
77
63
  f.at("./title").next =
78
- "<p>#{@norm_empty_pref}</p>"
64
+ "<p>#{@i18n.norm_empty_pref}</p>"
79
65
  end
80
66
 
81
67
  def term_defs_boilerplate(div, source, term, preface, isodoc)
@@ -84,6 +70,11 @@ module Asciidoctor
84
70
 
85
71
  def sts_converter(node)
86
72
  end
73
+
74
+ def sections_names_cleanup(x)
75
+ super
76
+ @is_iev and replace_title(x, "//introduction", @i18n&.introduction_iev)
77
+ end
87
78
  end
88
79
  end
89
80
  end
@@ -3,7 +3,7 @@ module Asciidoctor
3
3
  class Converter < ISO::Converter
4
4
  def metadata_author(node, xml)
5
5
  publishers = node.attr("publisher") || "IEC"
6
- publishers.split(/,[ ]?/).each do |p|
6
+ csv_split(publishers)&.each do |p|
7
7
  xml.contributor do |c|
8
8
  c.role **{ type: "author" }
9
9
  c.organization { |a| organization(a, p) }
@@ -13,7 +13,7 @@ module Asciidoctor
13
13
 
14
14
  def metadata_publisher(node, xml)
15
15
  publishers = node.attr("publisher") || "IEC"
16
- publishers.split(/,[ ]?/).each do |p|
16
+ csv_split(publishers)&.each do |p|
17
17
  xml.contributor do |c|
18
18
  c.role **{ type: "publisher" }
19
19
  c.organization { |a| organization(a, p) }
@@ -22,8 +22,8 @@ module Asciidoctor
22
22
  end
23
23
 
24
24
  def metadata_copyright(node, xml)
25
- publishers = node.attr("publisher") || "IEC"
26
- publishers.split(/,[ ]?/).each do |p|
25
+ publishers = node.attr("copyright-holder") || node.attr("publisher") || "IEC"
26
+ csv_split(publishers)&.each do |p|
27
27
  xml.copyright do |c|
28
28
  c.from (node.attr("copyright-year") || Date.today.year)
29
29
  c.owner do |owner|
@@ -23,6 +23,13 @@
23
23
  -->
24
24
  <define name="iec-standard">
25
25
  <element name="iec-standard">
26
+ <attribute name="version"/>
27
+ <attribute name="type">
28
+ <choice>
29
+ <value>semantic</value>
30
+ <value>presentation</value>
31
+ </choice>
32
+ </attribute>
26
33
  <ref name="bibdata"/>
27
34
  <zeroOrMore>
28
35
  <ref name="termdocsource"/>
@@ -42,8 +42,11 @@
42
42
  </define>
43
43
  <define name="xref">
44
44
  <element name="xref">
45
+ <!-- attribute target { xsd:IDREF }, -->
45
46
  <attribute name="target">
46
- <data type="IDREF"/>
47
+ <data type="string">
48
+ <param name="pattern">\i\c*|\c+#\c+</param>
49
+ </data>
47
50
  </attribute>
48
51
  <optional>
49
52
  <attribute name="type">
@@ -61,6 +64,11 @@
61
64
  </choice>
62
65
  </attribute>
63
66
  </optional>
67
+ <optional>
68
+ <attribute name="droploc">
69
+ <data type="boolean"/>
70
+ </attribute>
71
+ </optional>
64
72
  <text/>
65
73
  </element>
66
74
  </define>
@@ -578,6 +586,8 @@
578
586
  <ref name="ol"/>
579
587
  <ref name="dl"/>
580
588
  <ref name="formula"/>
589
+ <ref name="quote"/>
590
+ <ref name="sourcecode"/>
581
591
  </choice>
582
592
  </oneOrMore>
583
593
  </element>
@@ -661,6 +671,16 @@
661
671
  </choice>
662
672
  </attribute>
663
673
  </optional>
674
+ <optional>
675
+ <attribute name="valign">
676
+ <choice>
677
+ <value>top</value>
678
+ <value>middle</value>
679
+ <value>bottom</value>
680
+ <value>baseline</value>
681
+ </choice>
682
+ </attribute>
683
+ </optional>
664
684
  <choice>
665
685
  <zeroOrMore>
666
686
  <choice>
@@ -697,6 +717,16 @@
697
717
  </choice>
698
718
  </attribute>
699
719
  </optional>
720
+ <optional>
721
+ <attribute name="valign">
722
+ <choice>
723
+ <value>top</value>
724
+ <value>middle</value>
725
+ <value>bottom</value>
726
+ <value>baseline</value>
727
+ </choice>
728
+ </attribute>
729
+ </optional>
700
730
  <choice>
701
731
  <zeroOrMore>
702
732
  <choice>
@@ -834,6 +864,13 @@
834
864
  </define>
835
865
  <define name="standard-document">
836
866
  <element name="standard-document">
867
+ <attribute name="version"/>
868
+ <attribute name="type">
869
+ <choice>
870
+ <value>semantic</value>
871
+ <value>presentation</value>
872
+ </choice>
873
+ </attribute>
837
874
  <ref name="bibdata"/>
838
875
  <optional>
839
876
  <ref name="boilerplate"/>
@@ -855,7 +892,7 @@
855
892
  <oneOrMore>
856
893
  <choice>
857
894
  <ref name="content"/>
858
- <ref name="preface_abstract"/>
895
+ <ref name="abstract"/>
859
896
  <ref name="foreword"/>
860
897
  <ref name="introduction"/>
861
898
  <ref name="acknowledgements"/>
@@ -922,6 +959,9 @@
922
959
  <optional>
923
960
  <attribute name="script"/>
924
961
  </optional>
962
+ <optional>
963
+ <attribute name="type"/>
964
+ </optional>
925
965
  <optional>
926
966
  <attribute name="obligation">
927
967
  <choice>
@@ -961,9 +1001,6 @@
961
1001
  </define>
962
1002
  <define name="content-subsection">
963
1003
  <element name="clause">
964
- <optional>
965
- <attribute name="type"/>
966
- </optional>
967
1004
  <ref name="Content-Section"/>
968
1005
  </element>
969
1006
  </define>
@@ -992,6 +1029,9 @@
992
1029
  </choice>
993
1030
  </attribute>
994
1031
  </optional>
1032
+ <optional>
1033
+ <attribute name="type"/>
1034
+ </optional>
995
1035
  <optional>
996
1036
  <ref name="section-title"/>
997
1037
  </optional>
@@ -1011,9 +1051,6 @@
1011
1051
  </define>
1012
1052
  <define name="clause">
1013
1053
  <element name="clause">
1014
- <optional>
1015
- <attribute name="type"/>
1016
- </optional>
1017
1054
  <ref name="Clause-Section"/>
1018
1055
  </element>
1019
1056
  </define>
@@ -1042,18 +1079,24 @@
1042
1079
  </choice>
1043
1080
  </attribute>
1044
1081
  </optional>
1082
+ <optional>
1083
+ <attribute name="type"/>
1084
+ </optional>
1045
1085
  <optional>
1046
1086
  <ref name="section-title"/>
1047
1087
  </optional>
1048
1088
  <group>
1049
- <group>
1050
- <zeroOrMore>
1051
- <ref name="BasicBlock"/>
1052
- </zeroOrMore>
1053
- <zeroOrMore>
1054
- <ref name="note"/>
1055
- </zeroOrMore>
1056
- </group>
1089
+ <choice>
1090
+ <group>
1091
+ <zeroOrMore>
1092
+ <ref name="BasicBlock"/>
1093
+ </zeroOrMore>
1094
+ <zeroOrMore>
1095
+ <ref name="note"/>
1096
+ </zeroOrMore>
1097
+ </group>
1098
+ <ref name="amend"/>
1099
+ </choice>
1057
1100
  <zeroOrMore>
1058
1101
  <choice>
1059
1102
  <ref name="clause-subsection"/>
@@ -1180,6 +1223,9 @@
1180
1223
  <optional>
1181
1224
  <attribute name="script"/>
1182
1225
  </optional>
1226
+ <optional>
1227
+ <attribute name="type"/>
1228
+ </optional>
1183
1229
  <optional>
1184
1230
  <attribute name="obligation">
1185
1231
  <choice>
@@ -1447,11 +1493,6 @@
1447
1493
  </optional>
1448
1494
  </element>
1449
1495
  </define>
1450
- <define name="preface_abstract">
1451
- <element name="abstract">
1452
- <ref name="Basic-Section"/>
1453
- </element>
1454
- </define>
1455
1496
  <define name="term-clause">
1456
1497
  <element name="clause">
1457
1498
  <optional>
@@ -1501,4 +1542,79 @@
1501
1542
  <ref name="CitationType"/>
1502
1543
  </element>
1503
1544
  </define>
1545
+ <define name="amend">
1546
+ <element name="amend">
1547
+ <optional>
1548
+ <attribute name="id">
1549
+ <data type="ID"/>
1550
+ </attribute>
1551
+ </optional>
1552
+ <attribute name="change">
1553
+ <choice>
1554
+ <value>add</value>
1555
+ <value>modify</value>
1556
+ <value>delete</value>
1557
+ </choice>
1558
+ </attribute>
1559
+ <optional>
1560
+ <attribute name="path"/>
1561
+ </optional>
1562
+ <optional>
1563
+ <attribute name="path_end"/>
1564
+ </optional>
1565
+ <optional>
1566
+ <attribute name="title"/>
1567
+ </optional>
1568
+ <optional>
1569
+ <element name="location">
1570
+ <zeroOrMore>
1571
+ <ref name="locality"/>
1572
+ </zeroOrMore>
1573
+ </element>
1574
+ </optional>
1575
+ <zeroOrMore>
1576
+ <ref name="autonumber"/>
1577
+ </zeroOrMore>
1578
+ <optional>
1579
+ <element name="description">
1580
+ <zeroOrMore>
1581
+ <ref name="BasicBlock"/>
1582
+ </zeroOrMore>
1583
+ </element>
1584
+ </optional>
1585
+ <optional>
1586
+ <element name="newcontent">
1587
+ <zeroOrMore>
1588
+ <ref name="BasicBlock"/>
1589
+ </zeroOrMore>
1590
+ </element>
1591
+ </optional>
1592
+ <optional>
1593
+ <element name="description">
1594
+ <zeroOrMore>
1595
+ <ref name="BasicBlock"/>
1596
+ </zeroOrMore>
1597
+ </element>
1598
+ </optional>
1599
+ </element>
1600
+ </define>
1601
+ <define name="autonumber">
1602
+ <element name="autonumber">
1603
+ <attribute name="type">
1604
+ <choice>
1605
+ <value>requirement</value>
1606
+ <value>recommendation</value>
1607
+ <value>permission</value>
1608
+ <value>table</value>
1609
+ <value>figure</value>
1610
+ <value>admonition</value>
1611
+ <value>formula</value>
1612
+ <value>sourcecode</value>
1613
+ <value>example</value>
1614
+ <value>note</value>
1615
+ </choice>
1616
+ </attribute>
1617
+ <text/>
1618
+ </element>
1619
+ </define>
1504
1620
  </grammar>
@@ -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"/>
@@ -4,14 +4,6 @@ require "metanorma-iso"
4
4
  module IsoDoc
5
5
  module Iec
6
6
  module BaseConvert
7
- def metadata_init(lang, script, labels)
8
- @meta = Metadata.new(lang, script, labels)
9
- end
10
-
11
- def xref_init(lang, script, klass, labels, options)
12
- @xrefs = Xref.new(lang, script, klass, labels, options)
13
- end
14
-
15
7
  def boilerplate(node, out)
16
8
  # processed in foreword instead
17
9
  end
@@ -23,7 +15,7 @@ module IsoDoc
23
15
  iec_orgname(out)
24
16
  middle_title(out)
25
17
  out.div **attr_code(id: f ? f["id"] : "") do |s|
26
- s.h1(**{ class: "ForewordTitle" }) { |h1| h1 << @foreword_lbl }
18
+ s.h1(**{ class: "ForewordTitle" }) { |h1| h1 << @i18n.foreword }
27
19
  @meta.get[:doctype] == "Amendment" or
28
20
  s.div **attr_code(class: "boilerplate_legal") do |s1|
29
21
  b&.elements&.each { |e| parse(e, s1) }
@@ -33,7 +25,7 @@ module IsoDoc
33
25
  end
34
26
 
35
27
  def iec_orgname(out)
36
- out.p(**{ class: "zzSTDTitle1" }) { |p| p << @labels["IEC"] }
28
+ out.p(**{ class: "zzSTDTitle1" }) { |p| p << @i18n.get["IEC"] }
37
29
  out.p(**{ class: "zzSTDTitle1" }) { |p| p << "____________" }
38
30
  out.p(**{ class: "zzSTDTitle1" }) { |p| p << "&nbsp;" }
39
31
  end
@@ -60,40 +52,6 @@ module IsoDoc
60
52
  out.p(**{ class: "zzSTDTitle1" }) { |p| p << "&nbsp;" }
61
53
  end
62
54
 
63
- def load_yaml(lang, script)
64
- y = if @i18nyaml then YAML.load_file(@i18nyaml)
65
- elsif lang == "en"
66
- YAML.load_file(File.join(File.dirname(__FILE__), "i18n-en.yaml"))
67
- elsif lang == "fr"
68
- YAML.load_file(File.join(File.dirname(__FILE__), "i18n-fr.yaml"))
69
- elsif lang == "zh" && script == "Hans"
70
- YAML.load_file(File.join(File.dirname(__FILE__),
71
- "i18n-zh-Hans.yaml"))
72
- else
73
- YAML.load_file(File.join(File.dirname(__FILE__), "i18n-en.yaml"))
74
- end
75
- super.merge(y)
76
- end
77
-
78
- def convert1(docxml, filename, dir)
79
- id = docxml&.at(ns("//bibdata/docnumber"))&.text
80
- @is_iev = id == "60050"
81
- super
82
- end
83
-
84
- def introduction(isoxml, out)
85
- return super unless @is_iev
86
- f = isoxml.at(ns("//introduction")) || return
87
- title_attr = { class: "IntroTitle" }
88
- page_break(out)
89
- out.div **{ class: "Section3", id: f["id"] } do |div|
90
- clause_name(nil, @labels["introduction_iev"], div, title_attr)
91
- f.elements.each do |e|
92
- parse(e, div) unless e.name == "title"
93
- end
94
- end
95
- end
96
-
97
55
  def bibliography(isoxml, out)
98
56
  return super unless @is_iev
99
57
  end
@@ -112,7 +70,6 @@ module IsoDoc
112
70
  out.div **attr_code(id: node["id"]) do |div|
113
71
  out.p(**{ class: "zzSTDTitle2" }) do |p|
114
72
  p.b do |b|
115
- b << "#{@xrefs.anchor(node['id'], :label)} "
116
73
  node&.at(ns("./title"))&.children&.each { |c2| parse(c2, b) }
117
74
  end
118
75
  end
@@ -126,10 +83,10 @@ module IsoDoc
126
83
  return super unless @is_iev
127
84
  docxml.
128
85
  gsub(%r{\s*\[/TERMREF\]\s*</p>\s*<p>\s*\[TERMREF\]}, "; ").
129
- gsub(/\[TERMREF\]\s*/, l10n("#{@source_lbl}: ")).
130
- gsub(/\s*\[MODIFICATION\]\s*\[\/TERMREF\]/, l10n(", #{@modified_lbl} [/TERMREF]")).
86
+ gsub(/\[TERMREF\]\s*/, l10n("#{@i18n.source}: ")).
87
+ gsub(/\s*\[MODIFICATION\]\s*\[\/TERMREF\]/, l10n(", #{@i18n.modified} [/TERMREF]")).
131
88
  gsub(/\s*\[\/TERMREF\]\s*/, l10n("")).
132
- gsub(/\s*\[MODIFICATION\]/, l10n(", #{@modified_lbl} &mdash; "))
89
+ gsub(/\s*\[MODIFICATION\]/, l10n(", #{@i18n.modified} &mdash; "))
133
90
  end
134
91
 
135
92
  def set_termdomain(termdomain)
@@ -145,7 +102,7 @@ module IsoDoc
145
102
 
146
103
  def deprecated_term_parse(node, out)
147
104
  out.p **{ class: "DeprecatedTerms", style:"text-align:left;" } do |p|
148
- p << l10n("#{@deprecated_lbl}: ")
105
+ p << l10n("#{@i18n.deprecated}: ")
149
106
  node.children.each { |c| parse(c, p) }
150
107
  term_suffix(node, p)
151
108
  end
@@ -165,15 +122,6 @@ module IsoDoc
165
122
  term_suffix(node, p)
166
123
  end
167
124
  end
168
-
169
- def clause_parse_title(node, div, c1, out)
170
- IsoDoc::Common.instance_method(:clause_parse_title).bind(self).call(node, div, c1, out)
171
- end
172
-
173
- def biblio_list(f, div, biblio)
174
- biblio = false
175
- super
176
- end
177
125
  end
178
126
  end
179
127
  end