metanorma-iso 2.1.0 → 2.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/lib/html2doc/lists.rb +145 -10
  3. data/lib/isodoc/iso/base_convert.rb +11 -1
  4. data/lib/isodoc/iso/html/html_iso_titlepage.html +2 -0
  5. data/lib/isodoc/iso/html/isodoc-dis.css +216 -278
  6. data/lib/isodoc/iso/html/isodoc-dis.scss +294 -288
  7. data/lib/isodoc/iso/html/isodoc.css +38 -13
  8. data/lib/isodoc/iso/html/isodoc.scss +38 -12
  9. data/lib/isodoc/iso/html/style-human.css +14 -1
  10. data/lib/isodoc/iso/html/style-human.scss +10 -1
  11. data/lib/isodoc/iso/html/style-iso.css +35 -23
  12. data/lib/isodoc/iso/html/style-iso.scss +31 -23
  13. data/lib/isodoc/iso/html/word_iso_intro-dis.html +1 -6
  14. data/lib/isodoc/iso/html/word_iso_titlepage-dis.html +24 -13
  15. data/lib/isodoc/iso/html/word_iso_titlepage-prf.html +58 -0
  16. data/lib/isodoc/iso/html/word_iso_titlepage.html +10 -6
  17. data/lib/isodoc/iso/html/wordstyle-dis.css +12 -62
  18. data/lib/isodoc/iso/html/wordstyle-dis.scss +7 -56
  19. data/lib/isodoc/iso/html_convert.rb +7 -2
  20. data/lib/isodoc/iso/i18n-en.yaml +32 -4
  21. data/lib/isodoc/iso/i18n-fr.yaml +29 -3
  22. data/lib/isodoc/iso/i18n-ru.yaml +32 -4
  23. data/lib/isodoc/iso/i18n-zh-Hans.yaml +32 -3
  24. data/lib/isodoc/iso/i18n.rb +1 -1
  25. data/lib/isodoc/iso/iso.amendment.xsl +1570 -246
  26. data/lib/isodoc/iso/iso.international-standard.xsl +1570 -246
  27. data/lib/isodoc/iso/metadata.rb +67 -67
  28. data/lib/isodoc/iso/presentation_bibdata.rb +74 -0
  29. data/lib/isodoc/iso/presentation_xml_convert.rb +16 -5
  30. data/lib/isodoc/iso/presentation_xref.rb +10 -4
  31. data/lib/isodoc/iso/sections.rb +3 -3
  32. data/lib/isodoc/iso/word_cleanup.rb +3 -0
  33. data/lib/isodoc/iso/word_convert.rb +8 -5
  34. data/lib/isodoc/iso/word_dis_cleanup.rb +235 -0
  35. data/lib/isodoc/iso/word_dis_convert.rb +48 -100
  36. data/lib/isodoc/iso/xref.rb +34 -6
  37. data/lib/metanorma/iso/base.rb +20 -1
  38. data/lib/metanorma/iso/biblio.rng +134 -39
  39. data/lib/metanorma/iso/boilerplate-fr.xml +3 -0
  40. data/lib/metanorma/iso/boilerplate-ru.xml +3 -0
  41. data/lib/metanorma/iso/boilerplate.xml +3 -0
  42. data/lib/metanorma/iso/cleanup.rb +49 -11
  43. data/lib/metanorma/iso/front.rb +38 -6
  44. data/lib/metanorma/iso/front_id.rb +2 -0
  45. data/lib/metanorma/iso/isodoc.rng +16 -0
  46. data/lib/metanorma/iso/isostandard.rng +30 -12
  47. data/lib/metanorma/iso/macros.rb +29 -0
  48. data/lib/metanorma/iso/validate_section.rb +0 -12
  49. data/lib/metanorma/iso/version.rb +1 -1
  50. data/spec/isodoc/amd_spec.rb +20 -46
  51. data/spec/isodoc/blocks_spec.rb +499 -2
  52. data/spec/isodoc/i18n_spec.rb +145 -80
  53. data/spec/isodoc/iso_spec.rb +50 -169
  54. data/spec/isodoc/metadata_spec.rb +240 -99
  55. data/spec/isodoc/postproc_spec.rb +43 -7
  56. data/spec/isodoc/section_spec.rb +9 -9
  57. data/spec/isodoc/word_dis_spec.rb +1332 -146
  58. data/spec/isodoc/xref_spec.rb +87 -13
  59. data/spec/metanorma/amd_spec.rb +39 -23
  60. data/spec/metanorma/base_spec.rb +174 -44
  61. data/spec/metanorma/blocks_spec.rb +54 -0
  62. data/spec/metanorma/lists_spec.rb +2 -2
  63. data/spec/metanorma/section_spec.rb +2 -2
  64. data/spec/metanorma/validate_spec.rb +8 -19
  65. data/spec/spec_helper.rb +17 -7
  66. data/spec/vcr_cassettes/withdrawn_iso.yml +30 -30
  67. metadata +7 -8
  68. data/docs/asciiiso-syntax.adoc +0 -307
  69. data/docs/guidance.adoc +0 -487
  70. data/docs/navigation.adoc +0 -23
  71. data/docs/quickstart.adoc +0 -179
  72. data/lib/isodoc/iso/presentation_inline.rb +0 -90
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-iso
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-09 00:00:00.000000000 Z
11
+ date: 2022-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-standoc
@@ -289,10 +289,6 @@ files:
289
289
  - README.adoc
290
290
  - Rakefile
291
291
  - bin/rspec
292
- - docs/asciiiso-syntax.adoc
293
- - docs/guidance.adoc
294
- - docs/navigation.adoc
295
- - docs/quickstart.adoc
296
292
  - lib/asciidoctor/iso/base.rb
297
293
  - lib/asciidoctor/iso/cleanup.rb
298
294
  - lib/asciidoctor/iso/converter.rb
@@ -325,6 +321,7 @@ files:
325
321
  - lib/isodoc/iso/html/word_iso_intro-dis.html
326
322
  - lib/isodoc/iso/html/word_iso_intro.html
327
323
  - lib/isodoc/iso/html/word_iso_titlepage-dis.html
324
+ - lib/isodoc/iso/html/word_iso_titlepage-prf.html
328
325
  - lib/isodoc/iso/html/word_iso_titlepage.html
329
326
  - lib/isodoc/iso/html/wordstyle-dis.css
330
327
  - lib/isodoc/iso/html/wordstyle-dis.scss
@@ -343,13 +340,14 @@ files:
343
340
  - lib/isodoc/iso/isosts_convert.rb
344
341
  - lib/isodoc/iso/metadata.rb
345
342
  - lib/isodoc/iso/pdf_convert.rb
346
- - lib/isodoc/iso/presentation_inline.rb
343
+ - lib/isodoc/iso/presentation_bibdata.rb
347
344
  - lib/isodoc/iso/presentation_xml_convert.rb
348
345
  - lib/isodoc/iso/presentation_xref.rb
349
346
  - lib/isodoc/iso/sections.rb
350
347
  - lib/isodoc/iso/sts_convert.rb
351
348
  - lib/isodoc/iso/word_cleanup.rb
352
349
  - lib/isodoc/iso/word_convert.rb
350
+ - lib/isodoc/iso/word_dis_cleanup.rb
353
351
  - lib/isodoc/iso/word_dis_convert.rb
354
352
  - lib/isodoc/iso/xref.rb
355
353
  - lib/metanorma-iso.rb
@@ -368,6 +366,7 @@ files:
368
366
  - lib/metanorma/iso/isostandard-amd.rng
369
367
  - lib/metanorma/iso/isostandard.rnc
370
368
  - lib/metanorma/iso/isostandard.rng
369
+ - lib/metanorma/iso/macros.rb
371
370
  - lib/metanorma/iso/processor.rb
372
371
  - lib/metanorma/iso/reqt.rng
373
372
  - lib/metanorma/iso/section.rb
@@ -457,7 +456,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
457
456
  - !ruby/object:Gem::Version
458
457
  version: '0'
459
458
  requirements: []
460
- rubygems_version: 3.3.9
459
+ rubygems_version: 3.3.16
461
460
  signing_key:
462
461
  specification_version: 4
463
462
  summary: metanorma-iso lets you write ISO standards in AsciiDoc.
@@ -1,307 +0,0 @@
1
- = AsciiISO syntax reference
2
-
3
- AsciiISO is syntax based on AsciiDoc, with some extensions specific to authoring ISO documents.
4
-
5
- == ISO specific syntax
6
-
7
- TIP: Full details of Asciidoctor-ISO–specific markup and conventions is given in the https://github.com/metanorma/metanorma-iso/blob/master/README.adoc[Asciidoctor-ISO Readme] and the https://github.com/metanorma/metanorma-iso/wiki/Guidance-for-authoring[Guidance for authoring].
8
-
9
- The sections that have a fixed position according to ISO/IEC DIR 2 (Introduction, Scope, Normative References, Terms and Definitions, Symbols and Abbreviations, Bibliography) need to be titled as such, as first-level headings.
10
-
11
- == AsciiDoc syntax supported
12
-
13
- The Rice document illustrates almost the full range of formatting available via Asciidoctor; Annex E (which is not in the original) illustrates features not demonstrated in the original document.
14
-
15
- Syntax includes the following; the links are to the Asciidoctor User Manual. All examples are taken from the Metanorma Asciidoctor Rice document.
16
-
17
- === https://asciidoctor.org/docs/user-manual/#doc-header[Document header]
18
-
19
- Attributes of the document, which typically appear in the coverpage (if at all), rather than in the document proper. The permitted attributes for all Metanorma documents, and their expected values, are documented in the https://github.com/metanorma/metanorma-standoc#document-attributes[metanorma-standoc Readme]; each standards-specific gem adds documentation of its own specific attributes (e.g. https://github.com/metanorma/metanorma-iso#document-attributes).
20
-
21
- Note that the initial title line and author line expected in Asciidoctor are ignored in favour of specific document attributes, although they still need to be supplied for the document to be valid.
22
-
23
- [source,asciidoc]
24
- --
25
- = Rice model
26
- Author
27
- :docnumber: 17301
28
- :revdate: 2010-01-02
29
- :title: Cereals and pulses -- Specifications and test methods -- Rice
30
- :language: en
31
- :status: published
32
-
33
- ...
34
- --
35
-
36
- === Inline formatting
37
-
38
- * https://asciidoctor.org/docs/user-manual/#text-formatting[Formatting marks]: bold, italic, monospace, subscript, superscript
39
-
40
- [source,asciidoc]
41
- --
42
- This document specifies minimum requirements and test methods for rice (_Oryza sativa L._).
43
- --
44
-
45
- * https://asciidoctor.org/docs/user-manual/#anchordef[Anchors] (for internal cross-references): these can be defined for any section or subsection, and any block (e.g. images, lists, examples, formulas, and so forth). The numbering of all blocks and clauses is automated, and does not need to be provided in the text.
46
- * https://asciidoctor.org/docs/user-manual/#internal-cross-references[Internal Cross-references] reference anchors within the document. By default, the text for these is also automatically generated, including naming the container of a block where required (e.g. `B.6, Formula (B.1)` for a formula in an annex). However, cross-references can supply their own text as an override, following a comma (e.g. `<``<AnnexB,the following annex>``>`).
47
-
48
- [source,asciidoc]
49
- --
50
- The International Organization for Standardization (ISO) draws attention to the fact that it is claimed that compliance with this document may involve the use of a patent concerning sample dividers given in <<AnnexA>> and shown in <<figureA-1>>.
51
-
52
- ...
53
- [[figureA-1]]
54
- .Split-it-right sample divider
55
- image::images/rice_image1.png[]
56
- --
57
-
58
- * https://asciidoctor.org/docs/user-manual/#url[URLs]
59
-
60
- [source,asciidoc]
61
- --
62
- http://www.iso.org/obp[OBP]
63
- --
64
-
65
- * https://asciidoctor.org/docs/user-manual/#activating-stem-support[STEM support] (mathematical expressions), as both inline and block formatting. (Numbered formulae are expressed as stem blocks.) Asciidoctor natively uses http://asciimath.org[AsciiMath] for its mathematical expressions; the `:stem:` document attribute must be present for AsciiMath to be recognised. The gem will ensure that any AsciiMath is rendered in the HTML output, and converted to Microsoft Office's OOXML (via MathML) in the Word output. Asciidoctor also supports LaTeX, but the gem does not cater for converting LaTeX to a Word-compatible output.
66
-
67
- [source,asciidoc]
68
- --
69
- [[formulaA-1,A.1]]
70
- [stem]
71
- ++++
72
- w = (m_D) / (m_s)
73
- ++++
74
-
75
- where
76
-
77
- stem:[w]:: is the mass fraction of grains with a particular defect in the test sample;
78
- --
79
-
80
- * https://asciidoctor.org/docs/user-manual/#user-footnotes[Footnotes]. Note that footnotes are treated as inline formatting, so they cannot straightforwardly span more than a single paragraph in Asciidoctor. Footnotes within figures and tables are rendered within their blocks.
81
-
82
- [source,asciidoc]
83
- --
84
- containing a mass fraction of 4,1 % iodine and 6,3 % potassium iodide in deionized water such as Lugols.footnote:[Lugols is an example of a suitable product available commercially. This information is given for the convenience of users of this document and does not constitute an endorsement by ISO of this product.]
85
- --
86
-
87
- === Blocks
88
-
89
- Blocks are groupings of paragraphs and text into larger units, commonly https://asciidoctor.org/docs/user-manual/#delimited-blocks[delimited], and optionally including a https://asciidoctor.org/docs/user-manual/#title[title] and https://asciidoctor.org/docs/user-manual/#metadata-2[metadata].
90
-
91
- TIP: For UNECE, paragraph numbering is generated automatically by the gem, which treats each paragraph as a leaf-node section. Paragraph numbers must not be entered in the Asciidoctor source.
92
-
93
- * https://asciidoctor.org/docs/user-manual/#unordered-lists[Unordered lists]
94
-
95
- [source,asciidoc]
96
- --
97
- The main changes compared to the previous edition are:
98
-
99
- * updated normative references;
100
- * deletion of 4.3.
101
- --
102
-
103
- * https://asciidoctor.org/docs/user-manual/#ordered-lists[Ordered lists]. The gem automatically creates labels for the nested levels of ordered lists (in the sequence lowercase letter–Arabic numeral–lowercase Roman numeral–upppercase letter–uppercase Roman numeral), and ignores any https://asciidoctor.org/docs/user-manual/#numbering-styles[numbering styles] indicated by the user.
104
-
105
- [source,asciidoc]
106
- --
107
- . the sampling method used;
108
- . the test method used;
109
- . the test result(s) obtained or, if the repeatability has been checked, the final quoted result obtained;
110
- --
111
-
112
- * https://asciidoctor.org/docs/user-manual/#labeled-list[Definition lists]. These are used for all keys of figures and formulae, and as the content of Symbols and Abbreviations clauses and subclauses:
113
-
114
- [source,asciidoc]
115
- --
116
- stem:[w]:: is the mass fraction of grains with a particular defect in the test sample;
117
- stem:[m_D]:: is the mass, in grams, of grains with that defect;
118
- stem:[m_S]:: is the mass, in grams, of the test sample.
119
- --
120
-
121
- Note that the key to a figure must be preceded by the paragraph `*Key*`, and the key to a formula must be preceded by the paragraph `where`.
122
-
123
- * https://asciidoctor.org/docs/user-manual/#tables[Tables]. Asciidoctor supports a rich range of table formatting:
124
-
125
- [source,asciidoc]
126
- --
127
- [[tableD-1]]
128
- [cols="<,^,^,^,^",headerrows=2]
129
- .Repeatability and reproducibility of husked rice yield
130
- |===
131
- .2+| Description 4+| Rice sample
132
- | Arborio | Drago footnote:[Parboiled rice.] | Balilla | Thaibonnet
133
-
134
- | Number of laboratories retained after eliminating outliers | 13 | 11 | 13 | 13
135
- | Mean value, g/100 g | 81,2 | 82,0 | 81,8 | 77,7
136
- |===
137
- --
138
-
139
- * https://asciidoctor.org/docs/user-manual/#images[Images], which are mapped to Metanorma figures, with accompanying titles:
140
-
141
- [source,asciidoc]
142
- --
143
- [[figureC-1]]
144
- .Typical gelatinization curve
145
- image::images/rice_image2.png[]
146
- footnote:[The time stem:[t_90] was estimated to be 18,2 min for this example.]
147
- --
148
-
149
- * https://asciidoctor.org/docs/user-manual/#admonition[Admonitions], which express Notes, Warnings, Cautions, etc.
150
-
151
- [source,asciidoc]
152
- --
153
- CAUTION: Only use paddy or parboiled rice for the determination of husked rice yield.
154
- --
155
-
156
- TIP: For UNECE, admonitions are used to render boxes. Admonitions can have titles.
157
-
158
- * https://asciidoctor.org/docs/user-manual/#prose-excerpts-quotes-and-verses[Block quotes]
159
-
160
- [source,asciidoc]
161
- --
162
- [quote, ISO, "ISO7301,clause 1"]
163
- _____
164
- This International Standard gives the minimum specifications for rice (_Oryza sativa_ L.) which is subject to international trade. It is applicable to the following types: husked rice and milled rice, parboiled or not, intended for direct human consumption. It is neither applicable to other products derived from rice, nor to waxy rice (glutinous rice).
165
- _____
166
- --
167
-
168
- * https://asciidoctor.org/docs/user-manual/#example[Examples]
169
-
170
- * https://asciidoctor.org/docs/user-manual/#listing-blocks[Listing blocks] (source code), including https://asciidoctor.org/docs/user-manual/#callouts[source code callouts]
171
-
172
- [source,asciidoc]
173
- ----
174
- .Sample Code
175
- ====
176
-
177
- [source,ruby]
178
- --
179
- puts "Hello, world."
180
- %w{a b c}.each do |x| <1>
181
- puts x
182
- end
183
- --
184
- <1> This is an annotation
185
- ====
186
- ----
187
-
188
- * https://asciidoctor.org/docs/user-manual/#comments[Comments] (which are *not* rendered in the output)
189
-
190
- [source,ruby]
191
- --
192
- // all terms and defs references are dated
193
- --
194
-
195
- === Sections
196
-
197
- * The Asciidoctor https://asciidoctor.org/docs/user-manual/#doc-preamble[Document preamble] is treated as the document Foreword: it is the text appearing between the document header and the first section header. (Note that the foreword is here given a https://asciidoctor.org/docs/user-manual/#title[block title], but that will be provided automatically anyway.)
198
-
199
- [source,asciidoc]
200
- --
201
- [[foreword]]
202
- .Foreword
203
- ISO (the International Organization for Standardization)
204
- --
205
-
206
- * The Asciidoctor https://asciidoctor.org/docs/user-manual/#sections[Sections] correspond to Metanorma clauses, starting with the Introduction (if present). Each section and subsection is delimited with a header; the number of equal signs before the header indicate the level of nesting of the section, starting with two equal signs. No numbering should be given for any header: numbering is done automatically by the gem.
207
-
208
- [source,asciidoc]
209
- --
210
- == Sampling
211
- Sampling shall be carried out in accordance with <<ISO24333,clause 5>>
212
-
213
- == Test methods
214
- --
215
-
216
- https://asciidoctor.org/docs/user-manual/#section-styles[Section styles] are used to indicate specific types of section: `[abstract]` for Abstracts, `[bibliography]` for Normative References and Bibliography, `[appendix]` for Annexes, and `[%appendix]` for Appendixes (annexes of annexes). These styles must be provided for the sections to be processed correctly: bibliographic references will not be recognised as such, for example, without the `[bibliography]` style applied:
217
-
218
- [source,asciidoc]
219
- --
220
- [bibliography]
221
- == Bibliography
222
-
223
- * [[[ISO3696,ISO 3696]]], _Water for analytical laboratory use -- Specification and test methods_
224
- --
225
-
226
- Sections whose position is set by the standard (e.g., for ISO, Introduction, Scope, Normative References, Terms and Definitions, Symbols and Abbreviations, Bibliography; this also applies to Abstracts) need to be titled as such, as first-level headings.
227
-
228
- TIP: Abstracts are not rendered in ISO and GB standards, but they are still incorporated into the document metadata (`bibdata`) at the start of the Metanorma XML generated.
229
-
230
- === Terms and Definitions
231
-
232
- Terms and Definitions sections follow a strict grammar in their Metanorma-ISO markup, as ISO/IEC DIR 2 prescribes their structure so strictly. The following illustrates the complete structure of a term entry; the Rice document splits up these features among several terms.
233
-
234
- [source,asciidoc]
235
- --
236
- [[paddy]]
237
- === paddy
238
- alt:[paddy rice]
239
- alt:[rough rice]
240
- deprecated:[cargo rice]
241
- domain:[rice]
242
-
243
- rice retaining its husk after threshing
244
-
245
- [example]
246
- Foreign seeds, husks, bran, sand, dust.
247
-
248
- NOTE: The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.
249
-
250
- [.source]
251
- <<ISO7301,section 3.2>>, The term "cargo rice" is shown as deprecated,
252
- and Note 1 to entry is not included here
253
- --
254
-
255
- Term banks such as the http://www.electropedia.org[IEV] must be treated like any other document, with terms treated as clauses; e.g. `<<IEV,clause "103-01-01">>`. The IEV must be explictly referenced with that label; when the XML is generated, it will be replaced by the official references to `IEC 60050-nnn:2001` standards documents.
256
-
257
- Exceptionally, an introductory section can be treated as a subclause instead of a term, by prefixing it with the style attribute `[.nonterm]`.
258
-
259
- === References (Normative, Informative)
260
-
261
- All bibliographic entries must be given as unordered lists. Normative references are expected to include only ISO and related standards; informative references may include any source.
262
-
263
- For ISO and related standards, the reference is given as a bibliographic anchor (in triple brackets), consisting of an internal identifier followed by the ISO identifier. The internal identifier can be used in cross-references (citations). The date may be added to the ISO identifier, as required by ISO/IEC DIR 2; standards under preparation have their date given as `--`, and should be accompanied by a footnote detailing the status of the standard.
264
-
265
- [source,asciidoc]
266
- --
267
- Grade 3 quality as specified in <<ISO3696>>.
268
-
269
- ...
270
-
271
- * [[[ISO3696,ISO 3696]]], _Water for analytical laboratory use -- Specification and test methods_
272
- * [[[ISO7301,ISO 7301:2011]]], _Rice -- Specification_
273
- * [[[ISO16634,ISO 16634:--]]] footnote:[Under preparation. (Stage at the time of publication ISO/DIS 16634)], _Cereals, pulses, milled cereal products, oilseeds and animal feeding stuffs -- Determination of the total nitrogen content by combustion according to the Dumas principle and calculation of the crude protein content_
274
- --
275
-
276
- Non-ISO references under normative references are still cited by document identifier. Under informative references, non-ISO documents are both displayed and cited with reference numbers in brackets. In Metanorma-ISO, the cross-reference is a normal anchor identifier; the bracket numbering for informative references is automatic.
277
-
278
- [source,asciidoc]
279
- --
280
- For details concerning the use of the Dumas method, see References <<ref10>> and <<ref16>>.
281
-
282
- ...
283
-
284
- * [[[ref10,10]]] [smallcap]#Standard No I.C.C 167#. _Determination of the protein content in cereal and cereal products for food and animal feeding stuffs according to the Dumas combustion method_ (see http://www.icc.or.at)
285
-
286
- * [[[ref16,16]]] [smallcap]#Tkachuk R.# Nitrogen-to-protein conversion factors for cereals and oilseed meals. _Cereal Chem._ 1969, *46* (4) pp 419-423
287
- --
288
-
289
- In cross-references, bibliographic localities (e.g. page numbers, clause numbers) can be added directly after the comma, as part of the cross-reference text. Bibliographic localities are expressed as a sequence of lowercase locality type, then an equal sign, then by the locality number or range:
290
-
291
- [source,asciidoc]
292
- --
293
- <<ISO7301,clause=3.1>>
294
-
295
- NOTE: This table is based on <<ISO7301,table=1>>.
296
-
297
- Sampling shall be carried out in accordance with <<ISO24333,clause=5>>
298
- --
299
-
300
- ISO clause references in particular will suppress the word "Clause" before a subclause reference, following ISO/IEC DIR 2: `<``<ISO24333,clause=5>``>` will be rendered as _ISO 24333, Clause 5_, but `<``<ISO7301,clause=3.1>``>` will be rendered as _ISO 7301, 3.1_.
301
-
302
-
303
- === Annexes
304
-
305
- For ISO standards, annexes are treated as normative by default; if they are informative, they must additionally be tagged with an obligation of "informative" (so `[appendix, obligation=informative]`).
306
-
307
- The numbering of annexes and appendices is automatic: do not insert "Annex A" or "Appendix 1" as part of the title.