isodoc 2.4.5 → 2.5.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 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