isodoc 2.4.5 → 2.5.0

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: 9cbb9d45ce42c28917d84ebd31912cd4218cd47f633d27cf58f1060396c14d67
4
- data.tar.gz: 25872abe5383206f171fadb766688bd46e751cb83852fa0c09848cdb8a4a45a6
3
+ metadata.gz: 15d6f1ca680a6bb801c444655ba27e347ca04a671c207b9a74ad4c6388596394
4
+ data.tar.gz: 02e6caa0ae2463bd2966ee14a9837c0d1b1b4cfac77596380bbb3856979ee142
5
5
  SHA512:
6
- metadata.gz: 8734f21809f2c71d90bbb291c2da8e703cf25e06bebeb83cf3db464d2b97179dd2744be793e11b2657435309c2faf8a08d4d8d48a16c2fad34bdc8fe628a3b1d
7
- data.tar.gz: ebbcfc1ca95fe1b7d3c8ec89a73823176ae72ad0cd3b43cdc9061a9eafc6dce8612832c0a6dc1fc3f3be4948367567e74fc8c78eb90d5e234a8bd6fbd9cd467a
6
+ metadata.gz: 857b7630d0a1146e5070b3ced33eb99b40089cf114181b6519cd1e26a5c17fc8b1e36dfe59ea115055fb2f8cbf901c57b7ad730fe39878e0cf589201eb06222a
7
+ data.tar.gz: 4ca7278d7571fc4aa64fa6443a373d77d352ffe64b79086ef142aad1260a25e57589023707a153bb54cae60bd4e441d2ed116a33f18db2905907b61b5c14875f
@@ -117,6 +117,10 @@ a.FootnoteRef + a.FootnoteRef:before {
117
117
  content: ", ";
118
118
  vertical-align: super; }
119
119
 
120
+ a.TableFootnoteRef + a.TableFootnoteRef:before {
121
+ content: ", ";
122
+ vertical-align: super; }
123
+
120
124
  .addition {
121
125
  color: blue; }
122
126
 
@@ -117,6 +117,10 @@ a.FootnoteRef + a.FootnoteRef:before {
117
117
  content: ", ";
118
118
  vertical-align: super; }
119
119
 
120
+ a.TableFootnoteRef + a.TableFootnoteRef:before {
121
+ content: ", ";
122
+ vertical-align: super; }
123
+
120
124
  .addition {
121
125
  color: blue; }
122
126
 
@@ -144,6 +144,12 @@ a.FootnoteRef + a.FootnoteRef:before {
144
144
  vertical-align: super;
145
145
  }
146
146
 
147
+ a.TableFootnoteRef + a.TableFootnoteRef:before {
148
+ content: ", ";
149
+ vertical-align: super;
150
+ }
151
+
152
+
147
153
  .addition {
148
154
  color: blue;
149
155
  }
@@ -10,8 +10,7 @@ module IsoDoc
10
10
  end
11
11
 
12
12
  def figure_name_parse(_node, div, name)
13
- return if name.nil?
14
-
13
+ name.nil? and return
15
14
  div.p class: "FigureTitle", style: "text-align:center;" do |p|
16
15
  name.children.each { |n| parse(n, p) }
17
16
  end
@@ -110,16 +109,6 @@ module IsoDoc
110
109
  end
111
110
  end
112
111
 
113
- def formula_where(dlist, out)
114
- return unless dlist
115
-
116
- out.p style: "page-break-after:avoid;" do |p|
117
- p << @i18n.where
118
- end
119
- parse(dlist, out)
120
- out.parent.at("./dl")["class"] = "formula_dl"
121
- end
122
-
123
112
  def formula_parse1(node, out)
124
113
  out.div **attr_code(class: "formula") do |div|
125
114
  div.p do |_p|
@@ -139,9 +128,8 @@ module IsoDoc
139
128
  def formula_parse(node, out)
140
129
  out.div **formula_attrs(node) do |div|
141
130
  formula_parse1(node, div)
142
- formula_where(node.at(ns("./dl")), div)
143
131
  node.children.each do |n|
144
- next if %w(stem dl name).include? n.name
132
+ next if %w(stem name).include? n.name
145
133
 
146
134
  parse(n, div)
147
135
  end
@@ -88,7 +88,7 @@ module IsoDoc
88
88
  end
89
89
 
90
90
  FIGURE_WITH_FOOTNOTES =
91
- "//div[@class = 'figure'][descendant::aside]"\
91
+ "//div[@class = 'figure'][descendant::aside]" \
92
92
  "[not(descendant::div[@class = 'figure'])]".freeze
93
93
 
94
94
  def figure_aside_process(elem, aside, key)
@@ -159,7 +159,7 @@ module IsoDoc
159
159
  end
160
160
 
161
161
  def table_footnote_cleanup_propagate(docxml)
162
- docxml.xpath("//p[not(self::*[@class])]"\
162
+ docxml.xpath("//p[not(self::*[@class])]" \
163
163
  "[ancestor::*[@class = 'TableFootnote']]").each do |p|
164
164
  p["class"] = "TableFootnote"
165
165
  end
@@ -194,7 +194,7 @@ module IsoDoc
194
194
  end
195
195
 
196
196
  def table_note_cleanup(docxml)
197
- docxml.xpath("//table[div[@class = 'Note' or "\
197
+ docxml.xpath("//table[div[@class = 'Note' or " \
198
198
  "@class = 'TableFootnote']]").each do |t|
199
199
  tfoot = table_get_or_make_tfoot(t)
200
200
  insert_here = new_fullcolspan_row(t, tfoot)
@@ -87,7 +87,7 @@ module IsoDoc
87
87
  end
88
88
 
89
89
  def dl_attrs(node)
90
- attr_code(id: node["id"], style: keep_style(node))
90
+ attr_code(id: node["id"], style: keep_style(node), class: node["class"])
91
91
  end
92
92
 
93
93
  def dl_parse(node, out)
@@ -153,7 +153,7 @@ module IsoDoc
153
153
  return num
154
154
  out.div do |div|
155
155
  num += 1
156
- clause_name(num, f.at(ns("./title")), div, nil)
156
+ clause_name(f, f.at(ns("./title")), div, nil)
157
157
  if f.name == "clause"
158
158
  f.elements.each { |e| parse(e, div) unless e.name == "title" }
159
159
  else biblio_list(f, div, false)
@@ -20,7 +20,7 @@ module IsoDoc
20
20
  def clause(isoxml, out)
21
21
  isoxml.xpath(ns(middle_clause(isoxml))).each do |c|
22
22
  out.div **attr_code(clause_attrs(c)) do |s|
23
- clause_name(nil, c&.at(ns("./title")), s, nil)
23
+ clause_name(c, c&.at(ns("./title")), s, nil)
24
24
  c.elements.reject { |c1| c1.name == "title" }.each do |c1|
25
25
  parse(c1, s)
26
26
  end
@@ -50,7 +50,7 @@ module IsoDoc
50
50
  f = isoxml.at(ns("//clause[@type = 'scope']")) or return num
51
51
  out.div **attr_code(id: f["id"]) do |div|
52
52
  num = num + 1
53
- clause_name(num, f&.at(ns("./title")), div, nil)
53
+ clause_name(f, f&.at(ns("./title")), div, nil)
54
54
  f.elements.each do |e|
55
55
  parse(e, div) unless e.name == "title"
56
56
  end
@@ -65,7 +65,7 @@ module IsoDoc
65
65
  f = isoxml.at(ns(TERM_CLAUSE)) or return num
66
66
  out.div **attr_code(id: f["id"]) do |div|
67
67
  num = num + 1
68
- clause_name(num, f&.at(ns("./title")), div, nil)
68
+ clause_name(f, f&.at(ns("./title")), div, nil)
69
69
  f.elements.each do |e|
70
70
  parse(e, div) unless %w{title source}.include? e.name
71
71
  end
@@ -82,7 +82,7 @@ module IsoDoc
82
82
  f = isoxml.at(ns("//sections/definitions")) or return num
83
83
  out.div **attr_code(id: f["id"], class: "Symbols") do |div|
84
84
  num = num + 1
85
- clause_name(num, f.at(ns("./title")), div, nil)
85
+ clause_name(f, f.at(ns("./title")), div, nil)
86
86
  f.elements.each do |e|
87
87
  parse(e, div) unless e.name == "title"
88
88
  end
@@ -101,7 +101,7 @@ module IsoDoc
101
101
  f = isoxml.at(ns("//introduction")) || return
102
102
  page_break(out)
103
103
  out.div class: "Section3", id: f["id"] do |div|
104
- clause_name(nil, f.at(ns("./title")), div, { class: "IntroTitle" })
104
+ clause_name(f, f.at(ns("./title")), div, { class: "IntroTitle" })
105
105
  f.elements.each do |e|
106
106
  parse(e, div) unless e.name == "title"
107
107
  end
@@ -112,7 +112,7 @@ module IsoDoc
112
112
  f = isoxml.at(ns("//foreword")) || return
113
113
  page_break(out)
114
114
  out.div **attr_code(id: f["id"]) do |s|
115
- clause_name(nil, f.at(ns("./title")) || @i18n.foreword, s,
115
+ clause_name(f, f.at(ns("./title")) || @i18n.foreword, s,
116
116
  { class: "ForewordTitle" })
117
117
  f.elements.each { |e| parse(e, s) unless e.name == "title" }
118
118
  end
@@ -123,7 +123,7 @@ module IsoDoc
123
123
  title_attr = { class: "IntroTitle" }
124
124
  page_break(out)
125
125
  out.div class: "Section3", id: f["id"] do |div|
126
- clause_name(nil, f&.at(ns("./title")), div, title_attr)
126
+ clause_name(f, f&.at(ns("./title")), div, title_attr)
127
127
  f.elements.each do |e|
128
128
  parse(e, div) unless e.name == "title"
129
129
  end
@@ -134,7 +134,7 @@ module IsoDoc
134
134
  f = isoxml.at(ns("//preface/abstract")) || return
135
135
  page_break(out)
136
136
  out.div **attr_code(id: f["id"]) do |s|
137
- clause_name(nil, f.at(ns("./title")), s, { class: "AbstractTitle" })
137
+ clause_name(f, f.at(ns("./title")), s, { class: "AbstractTitle" })
138
138
  f.elements.each { |e| parse(e, s) unless e.name == "title" }
139
139
  end
140
140
  end
@@ -144,7 +144,7 @@ module IsoDoc
144
144
  "//preface/definitions | //preface/terms")).each do |f|
145
145
  page_break(out)
146
146
  out.div class: "Section3", id: f["id"] do |div|
147
- clause_name(nil, f&.at(ns("./title")), div, { class: "IntroTitle" })
147
+ clause_name(f, f&.at(ns("./title")), div, { class: "IntroTitle" })
148
148
  f.elements.each do |e|
149
149
  parse(e, div) unless e.name == "title"
150
150
  end
@@ -157,7 +157,7 @@ module IsoDoc
157
157
  page_break(out)
158
158
  isoxml.xpath(ns("//colophon/clause")).each do |f|
159
159
  out.div class: "Section3", id: f["id"] do |div|
160
- clause_name(nil, f&.at(ns("./title")), div, { class: "IntroTitle" })
160
+ clause_name(f, f&.at(ns("./title")), div, { class: "IntroTitle" })
161
161
  f.elements.each do |e|
162
162
  parse(e, div) unless e.name == "title"
163
163
  end
@@ -10,7 +10,7 @@ module IsoDoc
10
10
  end
11
11
 
12
12
  def inline_header_title(out, node, title)
13
- out.span **{ class: "zzMoveToFollowing" } do |s|
13
+ out.span class: "zzMoveToFollowing" do |s|
14
14
  s.b do |b|
15
15
  title&.children&.each { |c2| parse(c2, b) }
16
16
  clausedelimspace(node, out) if /\S/.match?(title&.text)
@@ -38,15 +38,15 @@ module IsoDoc
38
38
  end
39
39
 
40
40
  def clause_title_depth(node, title)
41
- depth = node.ancestors("clause, annex, terms, references, "\
42
- "definitions, acknowledgements, introduction, "\
41
+ depth = node.ancestors("clause, annex, terms, references, " \
42
+ "definitions, acknowledgements, introduction, " \
43
43
  "foreword").size + 1
44
44
  depth = title["depth"] if title && title["depth"]
45
45
  depth
46
46
  end
47
47
 
48
48
  def clause_parse_subtitle(title, heading)
49
- if var = title&.at("./following-sibling::xmlns:variant-title"\
49
+ if var = title&.at("./following-sibling::xmlns:variant-title" \
50
50
  "[@type = 'sub']")&.remove
51
51
  heading.br nil
52
52
  heading.br nil
@@ -55,8 +55,8 @@ module IsoDoc
55
55
  end
56
56
 
57
57
  # top level clause names
58
- def clause_name(_num, title, div, header_class)
59
- preceding_floating_titles(title, div)
58
+ def clause_name(node, title, div, header_class)
59
+ preceding_floating_titles(node, div)
60
60
  header_class = {} if header_class.nil?
61
61
  div.h1 **attr_code(header_class) do |h1|
62
62
  if title.is_a?(String) then h1 << title
@@ -72,7 +72,7 @@ module IsoDoc
72
72
  preceding_floating_titles(name, div)
73
73
  return if name.nil?
74
74
 
75
- div.h1 **{ class: "Annex" } do |t|
75
+ div.h1 class: "Annex" do |t|
76
76
  name.children.each { |c2| parse(c2, t) }
77
77
  clause_parse_subtitle(name, t)
78
78
  end
@@ -85,10 +85,10 @@ module IsoDoc
85
85
  end
86
86
  end
87
87
 
88
- def preceding_floating_titles(name, div)
89
- return if name.nil? || name.is_a?(String)
88
+ def preceding_floating_titles(node, div)
89
+ return if node.nil?
90
90
 
91
- out = name.parent.xpath("./preceding-sibling::*")
91
+ out = node.xpath("./preceding-sibling::*")
92
92
  .reverse.each_with_object([]) do |p, m|
93
93
  break m unless p.name == "p"
94
94
 
@@ -112,16 +112,17 @@ module IsoDoc
112
112
  @meta.url isoxml, out
113
113
  @meta.keywords isoxml, out
114
114
  @meta.note isoxml, out
115
+ @meta.presentation isoxml, out
115
116
  @meta.get
116
117
  end
117
118
 
118
119
  def middle(isoxml, out)
119
120
  middle_title(isoxml, out)
120
121
  middle_admonitions(isoxml, out)
121
- i = scope isoxml, out, 0
122
- i = norm_ref isoxml, out, i
123
- i = terms_defs isoxml, out, i
124
- symbols_abbrevs isoxml, out, i
122
+ scope isoxml, out, 0
123
+ norm_ref isoxml, out, 0
124
+ terms_defs isoxml, out, 0
125
+ symbols_abbrevs isoxml, out, 0
125
126
  clause isoxml, out
126
127
  annex isoxml, out
127
128
  bibliography isoxml, out
@@ -100,12 +100,14 @@ module IsoDoc
100
100
  #{header_strip(content)}</a></li>)
101
101
  end
102
102
 
103
+ # array of arrays, one per level, containing XPath fragments for the elems
104
+ # matching that ToC level
103
105
  def toclevel_classes
104
- (1..@htmlToClevels).reduce([]) { |m, i| m << "h#{i}" }
106
+ (1..@htmlToClevels).reduce([]) { |m, i| m << ["h#{i}"] }
105
107
  end
106
108
 
107
109
  def toclevel
108
- ret = toclevel_classes.map do |l|
110
+ ret = toclevel_classes.flatten.map do |l|
109
111
  "#{l}:not(:empty):not(.TermNum):not(.noTOC)"
110
112
  end
111
113
  <<~HEAD.freeze
@@ -116,18 +118,25 @@ module IsoDoc
116
118
  # needs to be same output as toclevel
117
119
  def html_toc(docxml)
118
120
  idx = docxml.at("//div[@id = 'toc']") or return docxml
119
- toc = "<ul>"
120
- path = toclevel_classes.map do |l|
121
- "//main//#{l}#{toc_exclude_class}"
121
+ path = toclevel_classes.map do |x|
122
+ x.map { |l| "//main//#{l}#{toc_exclude_class}" }
122
123
  end
123
- docxml.xpath(path.join(" | ")).each_with_index do |h, tocidx|
124
- h["id"] ||= "toc#{tocidx}"
125
- toc += html_toc_entry(h.name, h)
126
- end
127
- idx.children = "#{toc}</ul>"
124
+ toc = html_toc_entries(docxml, path)
125
+ .map { |k| k[:entry] }.join("\n")
126
+ idx.children = "<ul>#{toc}</ul>"
128
127
  docxml
129
128
  end
130
129
 
130
+ def html_toc_entries(docxml, path)
131
+ path.each_with_index.with_object([]) do |(p, i), m|
132
+ docxml.xpath(p.join(" | ")).each do |h|
133
+ h["id"] ||= "_#{UUIDTools::UUID.random_create}"
134
+ m << { entry: html_toc_entry("h#{i + 1}", h),
135
+ line: h.line }
136
+ end
137
+ end.sort_by { |k| k[:line] }
138
+ end
139
+
131
140
  def toc_exclude_class
132
141
  "[not(@class = 'TermNum')][not(@class = 'noTOC')]" \
133
142
  "[string-length(normalize-space(.))>0]"
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  require_relative "./metadata_date"
4
2
  require_relative "./metadata_contributor"
5
3
 
@@ -39,7 +37,7 @@ module IsoDoc
39
37
  @metadata[key] = value
40
38
  end
41
39
 
42
- NOLANG = "[not(@language) or @language = '']"
40
+ NOLANG = "[not(@language) or @language = '']".freeze
43
41
 
44
42
  def currlang
45
43
  "[@language = '#{@lang}']"
@@ -109,7 +107,8 @@ module IsoDoc
109
107
 
110
108
  def version(isoxml, _out)
111
109
  set(:edition, isoxml&.at(ns("//bibdata/edition#{NOLANG}"))&.text)
112
- set(:edition_display, isoxml&.at(ns("//bibdata/edition#{currlang}"))&.text)
110
+ set(:edition_display,
111
+ isoxml&.at(ns("//bibdata/edition#{currlang}"))&.text)
113
112
  set(:docyear, isoxml&.at(ns("//bibdata/copyright/from"))&.text)
114
113
  set(:draft, isoxml&.at(ns("//bibdata/version/draft"))&.text)
115
114
  revdate = isoxml&.at(ns("//bibdata/version/revision-date"))&.text
@@ -173,5 +172,14 @@ module IsoDoc
173
172
  c = isoxml.at(ns("//metanorma-extension/source-highlighter-css")) or return
174
173
  set(:code_css, c.text)
175
174
  end
175
+
176
+ def presentation(xml, _out)
177
+ xml.xpath(ns("//metanorma-extension/presentation-metadata")).each do |p|
178
+ ((n = p.at(ns("./name"))) && (v = p.at(ns("./value")))) or next
179
+ lbl = "presentation_metadata_#{n.text}".to_sym
180
+ m = get[lbl] || []
181
+ set(lbl, m << v.text)
182
+ end
183
+ end
176
184
  end
177
185
  end
@@ -31,10 +31,18 @@ module IsoDoc
31
31
  end
32
32
 
33
33
  def formula1(elem)
34
+ formula_where(elem.at(ns("./dl")))
34
35
  lbl = @xrefs.anchor(elem["id"], :label, false)
35
36
  prefix_name(elem, "", lbl, "name")
36
37
  end
37
38
 
39
+ def formula_where(dlist)
40
+ dlist or return
41
+ dlist["class"] = "formula_dl"
42
+ where = dlist.xpath(ns("./dt")).size > 1 ? @i18n.where : @i18n.where_one
43
+ dlist.previous = "<p keep-with-next='true'>#{where}</p>"
44
+ end
45
+
38
46
  def example(docxml)
39
47
  docxml.xpath(ns("//example")).each { |f| example1(f) }
40
48
  end
@@ -17,10 +17,11 @@ module IsoDoc
17
17
 
18
18
  def eref_localities(refs, target, node)
19
19
  if can_conflate_eref_rendering?(refs)
20
- l10n(", #{eref_localities_conflated(refs, target, node)}")
20
+ l10n(", #{eref_localities_conflated(refs, target, node)}"
21
+ .gsub(/\s+/, " "))
21
22
  else
22
23
  ret = resolve_eref_connectives(eref_locality_stacks(refs, target, node))
23
- l10n(ret.join)
24
+ l10n(ret.join.gsub(/\s+/, " "))
24
25
  end
25
26
  end
26
27
 
@@ -68,7 +69,7 @@ module IsoDoc
68
69
  end
69
70
 
70
71
  def resolve_comma_connectives1(locs, locs1, add)
71
- if [", ", " "].include?(locs[1])
72
+ if [", ", " ", ""].include?(locs[1])
72
73
  add += locs[0..2].join
73
74
  locs.shift(3)
74
75
  else
@@ -75,7 +75,7 @@ module IsoDoc
75
75
  def combine_conflated_xref_locations(locs)
76
76
  out = locs.each { |l| l[:label] = anchor_value(l[:target]) }
77
77
  label = @i18n.inflect(locs.first[:elem], number: "pl")
78
- out[0][:label] = l10n("#{label} #{out[0][:label]}")
78
+ out[0][:label] = l10n("#{label} #{out[0][:label]}").strip
79
79
  combine_conflated_xref_locations_container(locs, l10n(combine_conn(out)))
80
80
  end
81
81
 
@@ -1,3 +1,3 @@
1
1
  module IsoDoc
2
- VERSION = "2.4.5".freeze
2
+ VERSION = "2.5.0".freeze
3
3
  end
@@ -93,7 +93,7 @@ module IsoDoc
93
93
 
94
94
  def dl_parse_table(node, out)
95
95
  list_title_parse(node, out)
96
- out.table class: "dl" do |v|
96
+ out.table class: (node["class"] || "dl") do |v|
97
97
  node.elements.select { |n| dt_dd?(n) }
98
98
  .each_slice(2) do |dt, dd|
99
99
  dl_parse_table1(v, dt, dd)
@@ -204,14 +204,6 @@ module IsoDoc
204
204
  )
205
205
  end
206
206
 
207
- def formula_where(deflist, out)
208
- return unless deflist
209
-
210
- out.p { |p| p << @i18n.where }
211
- parse(deflist, out)
212
- t = out.parent.at("./table") and t["class"] = "formula_dl"
213
- end
214
-
215
207
  def formula_parse1(node, out)
216
208
  out.div **attr_code(class: "formula") do |div|
217
209
  div.p do |_p|
@@ -244,11 +236,11 @@ module IsoDoc
244
236
 
245
237
  def info(isoxml, out)
246
238
  @tocfigurestitle =
247
- isoxml&.at(ns("//metanorma-extension/toc[@type = 'figure']/title"))&.text
239
+ isoxml.at(ns("//metanorma-extension/toc[@type = 'figure']/title"))&.text
248
240
  @toctablestitle =
249
- isoxml&.at(ns("//metanorma-extension/toc[@type = 'table']/title"))&.text
241
+ isoxml.at(ns("//metanorma-extension/toc[@type = 'table']/title"))&.text
250
242
  @tocrecommendationstitle = isoxml
251
- &.at(ns("//metanorma-extension/toc[@type = 'recommendation']/title"))&.text
243
+ .at(ns("//metanorma-extension/toc[@type = 'recommendation']/title"))&.text
252
244
  super
253
245
  end
254
246
  end
@@ -60,6 +60,7 @@ key: مفتاح
60
60
  example: مثال
61
61
  example_xref: مثال
62
62
  where: حيث
63
+ where_one: حيث
63
64
  wholeoftext: كامل النص
64
65
  draft_label: مسودة
65
66
  inform_annex: إخباري
@@ -66,6 +66,7 @@ key: Taste
66
66
  example: BEISPIEL
67
67
  example_xref: Beispiel
68
68
  where: wobei
69
+ where_one: wobei
69
70
  wholeoftext: Ganzer Text
70
71
  draft_label: Entwurf
71
72
  inform_annex: informativ
@@ -75,6 +75,7 @@ key: Key
75
75
  example: EXAMPLE
76
76
  example_xref: Example
77
77
  where: where
78
+ where_one: where
78
79
  wholeoftext: Whole of text
79
80
  draft_label: draft
80
81
  inform_annex: informative
@@ -66,6 +66,7 @@ key: Clave
66
66
  example: EJEMPLO
67
67
  example_xref: Ejemplo
68
68
  where: donde
69
+ where_one: donde
69
70
  wholeoftext: Todo el texto
70
71
  draft_label: borrador
71
72
  inform_annex: informativo
@@ -63,6 +63,7 @@ key: Légende
63
63
  example: EXEMPLE
64
64
  example_xref: Exemple
65
65
  where: où
66
+ where_one: où
66
67
  wholeoftext: Ensemble du texte
67
68
  draft_label: brouillon
68
69
  inform_annex: informative
@@ -71,6 +71,7 @@ key: Условные обозначения
71
71
  example: ПРИМЕР
72
72
  example_xref: Пример
73
73
  where: где
74
+ where_one: где
74
75
  wholeoftext: Текст полностью
75
76
  draft_label: проект
76
77
  inform_annex: информативное
@@ -61,6 +61,7 @@ key: 说明
61
61
  example: 示例
62
62
  example_xref: 示例
63
63
  where: 式中
64
+ where_one: 式中
64
65
  wholeoftext: 全部
65
66
  draft_label: 稿
66
67
  inform_annex: 资料性附录
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isodoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.5
4
+ version: 2.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-27 00:00:00.000000000 Z
11
+ date: 2023-03-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciimath