metanorma-iso 1.0.6 → 1.0.7

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: 1d89d0e755c16c4261948825fea427ec2eb255f548a34a996f7263eea3fc0503
4
- data.tar.gz: 75c0d94502690fef83157506796522f451d52f52672ece087485fdeb6bc090ed
3
+ metadata.gz: 42be35a908161b2b1c90252599c743ebc821ca814b948425cfd0e58c43b2fe35
4
+ data.tar.gz: 4962fcc892f8ce7ac514d227d36d499b0f1c2df44994073d44b9efb14b6346c8
5
5
  SHA512:
6
- metadata.gz: 0cd85c2674397b24c5c6b27815474b8c8b11f52ab46fc133f652688428d20a2bb4c5b95128356c8d031755dec71939af22234070ecdf5f6693af50e48543a51b
7
- data.tar.gz: 89193ce1d3fef951ab93006dd21d28f3132aca52c4f97d91f76fb18ee72a58daa3128273bca9154963b4c76430e720e0390d6c0c3108af1e492d93f483df47b5
6
+ metadata.gz: 48a0e630835efcbf208346515d28a879cdf155b3c02d1fe52f314b86e370de01884ff7dfa36fc89dca8cccf5ce08cb70fea433c67f879f46dcce75cf9a34a9cc
7
+ data.tar.gz: 1fce93f337ad4a87713e58be9d839b06d23bf4a58f45a288fd8d8203bdc17bb5eaa977714bd47cd218b73181ada19c599d73f185b76dde215dc7385b6b6e44ee
data/README.adoc CHANGED
@@ -1,4 +1,4 @@
1
- = AsciiISO: Asciidoctor processor for ISO standards
1
+ = Metanorma-ISO: Metanorma processor for ISO standards
2
2
 
3
3
  image:https://img.shields.io/gem/v/metanorma-iso.svg["Gem Version", link="https://rubygems.org/gems/metanorma-iso"]
4
4
  image:https://img.shields.io/travis/riboseinc/metanorma-iso/master.svg["Build Status", link="https://travis-ci.org/riboseinc/metanorma-iso"]
@@ -10,19 +10,12 @@ _Formerly known as_ `asciidoctor-iso`.
10
10
 
11
11
  == Functionality
12
12
 
13
- This gem processes http://asciidoctor.org/[Asciidoctor] documents following
14
- a template for generating ISO International Standards. The following
15
- outputs are generated.
13
+ This gem processes Metanorma documents following a template for generating ISO
14
+ International Standards. The following outputs are generated.
16
15
 
17
- * (Optional) An HTML preview generated directly from the Asciidoctor document,
18
- using native Asciidocot formatting.
19
- ** http://asciimath.org[AsciiMathML] is to be used for mathematical formatting.
20
- The gem uses the https://github.com/asciidoctor/asciimath[Ruby AsciiMath parser],
21
- which is syntactically stricter than the common MathJax processor;
22
- if you do not get expected results, try bracketting terms your in AsciiMathML
23
- expressions.
24
- * an XML representation of the document, intended as a document model for ISO
16
+ * The XML representation of the document, intended as a document model for ISO
25
17
  International Standards.
18
+
26
19
  * The XML representation is processed in turn to generate the following outputs
27
20
  as end deliverable ISO standard drafts.
28
21
  ** Microsoft Word output (`.doc`), following the style conventions of the
@@ -30,10 +23,13 @@ https://www.iso.org/iso-templates.html[ISO Standard Microsoft Word template].
30
23
  ** HTML. For ISO, two HTML files are generated: the `.html` file follows ISO
31
24
  conventions in rendering, which looks very similar to the Word output, while
32
25
  the `-alt.html` file has richer styling.
33
- ** PDF. Not supported for the ISO gem, but available for other other specification,
26
+ ** PDF. Not supported for the ISO gem, but available for other specifications,
34
27
  generated from the HTML file.
35
28
 
36
- This AsciiDoc syntax for writing ISO standards is hereby named "AsciiISO".
29
+ The following input formats are supported:
30
+
31
+ * http://asciidoctor.org/[Asciidoctor]
32
+ (This AsciiDoc syntax for writing ISO standards is hereby named "AsciiISO".)
37
33
 
38
34
  This README provides an overview of the functionality of the gem; see also
39
35
  https://github.com/riboseinc/metanorma-iso/wiki/Guidance-for-authoring[Guidance for authoring]
@@ -41,6 +37,12 @@ ISO standards using the gem. The
41
37
  https://github.com/riboseinc/metanorma-iso/wiki/Quickstart-Guide[Quickstart guide]
42
38
  gives a summary overview.
43
39
 
40
+ NOTE: http://asciimath.org[AsciiMathML] is used for mathematical formatting.
41
+ The gem uses the https://github.com/asciidoctor/asciimath[Ruby AsciiMath parser],
42
+ which is syntactically stricter than the common MathJax processor;
43
+ if you do not get expected results, try bracketting terms your in AsciiMathML
44
+ expressions.
45
+
44
46
  == Usage
45
47
 
46
48
  The preferred way to invoke this gem is via the `metanorma` script:
@@ -61,6 +63,7 @@ document.
61
63
 
62
64
  The gem then converts the XML into HTML and DOC.
63
65
 
66
+ ////
64
67
  The gem can also be invoked directly within asciidoctor, though this is deprecated:
65
68
 
66
69
  [source,console]
@@ -76,6 +79,7 @@ ignores the ISO-specific modifications to the markup:
76
79
  ----
77
80
  $ asciidoctor a.adoc
78
81
  ----
82
+ ////
79
83
 
80
84
  === Installation
81
85
 
@@ -93,7 +97,7 @@ $ gem install metanorma-iso
93
97
  === Content Warnings
94
98
 
95
99
  The gem also realises several format
96
- checks as prescribed in ISO/IEC DIR 2: 2018, and warns the user about them in the
100
+ checks as prescribed in ISO/IEC DIR 2:2018, and warns the user about them in the
97
101
  console:
98
102
 
99
103
  * Numbers with what looks like dots instead of commas for decimal points.
@@ -188,208 +192,7 @@ XML to break up paragraphs within a footnote.)
188
192
  [[model_additions]]
189
193
  == Asciidoctor model additions
190
194
 
191
- === Section titles
192
- ISO has special section types: "Scope", "Normative References", "Terms and Definitions", "Symbols and Abbreviated Terms", "Bibliography". By default, these are identified in Asciidoc by using those titles. The gem allows you to override the title by using a `heading` attribute on the node, so that the actual title in your Asciidoc can be something different; that is useful, for example, if you are translating the document into different languages. So:
193
-
194
- [source,asciidoctor]
195
- --
196
- [heading=scope]
197
- == 范围
198
- --
199
-
200
- Note that both the XML population, and the isodoc gem will overwrite any supplied title. If you are translating ISO documents into other languages, you will still need access to versions of the metanorma-iso and isodoc gems in those languages.
201
-
202
- === Obligation
203
- The obligation of sections (whether they are normative or informative) is indicated
204
- with the attribute "obligation". For most sections, this is fixed; for annexes and clauses, the
205
- default value of the obligation is "normative", and users need to set the obligation
206
- to "informative" as a section attribute.
207
-
208
- [source,asciidoctor]
209
- --
210
- [[AnnexA]]
211
- [appendix,obligation=informative]
212
- == Determination of defects
213
- --
214
-
215
- === Term markup
216
-
217
- To ensure the structure of Terms and Definitions is captured accurately, the following
218
- macros are defined, and must be used to mark up their respective content:
219
-
220
- `alt:[TERM]`:: for alternative terms
221
- `deprecated:[TERM]`:: for deprecated terms
222
- `domain:[TERM]`:: for term domains
223
-
224
- The macro contents can contain their own markup.
225
-
226
- [source,asciidoctor]
227
- --
228
- === paddy
229
- alt:[_paddy_ rice]
230
- deprecated:[#[smallcap]#cargo# rice]
231
- domain:[rice]
232
-
233
- _paddy_ (<<paddy>>) from which the husk only has been removed
234
- --
235
-
236
- === Terms and Definitions markup
237
-
238
- If the Terms and Definitions of a standard are partly or fully sourced from
239
- another standard, that standard is cited in a `source` attribute to the section,
240
- which is set to the reference anchor of the standard (given under the Normative
241
- Referencecs)..
242
- The boilerplate of the Terms and Definitions section is adjusted accordingly.
243
-
244
- [source,asciidoctor]
245
- --
246
- [source=ISO712]
247
- == Terms and Definitions
248
- --
249
-
250
- Multiple sources are allowed, and need to be quoted and comma-delimited:
251
-
252
- [source,asciidoctor]
253
- --
254
- [source="ISO712,ISO24333"]
255
- == Terms and Definitions
256
- --
257
-
258
-
259
- === Paragraph alignment
260
-
261
- Alignment is defined as an attribute for paragraphs:
262
-
263
- [source,asciidoctor]
264
- --
265
- [align=left]
266
- This paragraph is aligned left
267
-
268
- [align=right]
269
- This paragraph is aligned right
270
-
271
- [align=center]
272
- This paragraph is aligned center
273
-
274
- [align=justified]
275
- This paragraph is justified, which is the default
276
- --
277
-
278
- === Reviewer notes
279
-
280
- Reviewer notes are encoded as sidebars, and can be separated at a distance from the
281
- text they are annotating; the text they are annotating is indicated through anchors.
282
- Reviewer notes are only rendered if the document has a `:draft:` attribute.
283
-
284
- The following attributes on reviewer notes are mandatory:
285
-
286
- * `reviewer` attribute (naming the reviewer)
287
- * the starting target anchor of the note (`from` attribute)
288
-
289
- The following attributes are optional:
290
-
291
- * `date` attribute, optionally including the time (as xs:date or xs:datetime)
292
- * the ending target anchor of the note (`to` attribute)
293
-
294
- The span of text covered by the reviewer note is from the start of the
295
- text encompassed by the `from` element, to the end of the text encompassed
296
- by the `to` element. If only the `from` element supplied, the reviewer note
297
- covers the `from` element. The `from` and `to` elements can be bookmarks,
298
- which cover no space.
299
-
300
- [source,asciidoctor]
301
- --
302
- [[clause_address_profile_definition]]
303
- === Address Profile Definition (AddressProfileDescription)
304
-
305
- [[para1]]
306
- This is a clause address [[A]]profile[[B]] definition
307
-
308
- [reviewer="Nick Nicholas",date=20180125T0121,from=clause_address_profile_definition,to=para1]
309
- ****
310
- I do not agree with this statement.
311
- ****
312
-
313
- [reviewer="Nick Nicholas",date=20180125T0121,from=A,to=B]
314
- ****
315
- Profile?!
316
- ****
317
- --
318
-
319
- === Strikethrough and Small Caps
320
-
321
- The following formatting macros are used for strikethrough and small caps text:
322
-
323
- [source,asciidoctor]
324
- --
325
- [strike]#strike through text#
326
- [smallcap]#small caps text#
327
- --
328
-
329
- === Count of table header and footer rows
330
-
331
- In Asciidoc, a table can have at most one header row or footer row. In ISO,
332
- a nominal single header row is routinely broken up into multiple rows in order
333
- to accommodate units or symbols, that line up against each other, though
334
- they are displayed as merged cells with no grid between them. To address this,
335
- tables can be marked up with an optional `headerrows` attribute:
336
-
337
- [source,asciidoctor]
338
- --
339
- [headerrows=2]
340
- |===
341
- .2+|Defect 4+^| Maximum permissible mass fraction of defects in husked rice +
342
- stem:[w_max]
343
- | in husked rice | in milled rice (non-glutinous) | in husked parboiled rice | in milled parboiled rice
344
-
345
- | Extraneous matter: organic footnote:[Organic extraneous matter includes foreign seeds, husks, bran, parts of straw, etc.] | 1,0 | 0,5 | 1,0 | 0,5
346
- |===
347
- --
348
-
349
- === Inline clause numbers
350
-
351
- For some clauses (notably test methods), the clause heading appears inline with the clause, instead of being separated on a different line. This is indicated in Asciidoc by the option
352
- attribute `inline-header`:
353
-
354
- [source,asciidoctor]
355
- --
356
- [%inline-header]
357
- [[AnnexA-2-1]]
358
- ==== Sample divider,
359
-
360
- consisting of a conical sample divider
361
- --
362
-
363
- === Bibliographic details
364
-
365
- Citations can include details of where in the document the citation is located; these
366
- are entered by suffixing the type of locality, then an equals sign, then the reference.
367
- The word "whole" on its own is also treated as a locality. Multiple
368
- instances of locality and reference can be provided, delimited by comma or colon. Any trailing
369
- text after the sequence of locality=reference (or locality, space, reference) are treated
370
- as substitute text, as would occur normally in an Asciidoctor crossreference. For
371
- example:
372
-
373
- [source,asciidoctor]
374
- --
375
- <<ISO712,the foregoing reference>> # renders as: the foregoing reference
376
- <<ISO712,section=5, page 8-10>> # renders as: ISO 712, Section 5, Page 8-10
377
- <<ISO712,section=5, page=8-10: 5:8-10>> # renders as ISO 712, 5:8-10 ("5:8-10" treated as replacement text for all the foregoing)
378
- <<ISO712,whole>> # renders as: ISO 712, Whole of text
379
- --
380
-
381
- The references cannot contain spaces. Any text following the sequence of localities
382
- will be displayed instead of the localities.
383
-
384
- A custom locality can be entered by prefixing it with `locality:`:
385
-
386
- [source,asciidoctor]
387
- --
388
- <<ISO712,locality:frontispiece=5, page=8-10>> # renders as: ISO 712, Frontispiece 5, Page 8-10
389
- --
390
-
391
- Custom localities may not contain commas, colons, or space. Localities with the `locality:`
392
- prefix are recognised in internationalisation configuration files.
195
+ Refer also to https://github.com/riboseinc/metanorma-standoc/blob/master/README.adoc; this section lists additions specific only to metanorma-iso
393
196
 
394
197
  === Additional warning types
395
198
 
@@ -424,151 +227,8 @@ multiple-block warning
424
227
  ====
425
228
  --
426
229
 
427
- === Block Quotes
428
-
429
- As in normal Asciidoctor, block quotes are preceded with an author and a citation;
430
- but the citation is expected to be in the same format as all other citations,
431
- a cross-reference optionally followed by text, which may include the bibliographic
432
- sections referenced:
433
-
434
- [source,asciidoctor]
435
- --
436
- [quote, ISO, "ISO7301,section 1"]
437
- _____
438
- This International Standard gives the minimum specifications for rice (_Oryza sativa_ L.)
439
- which is subject to international trade. It is applicable to the following types: husked rice
440
- and milled rice, parboiled or not, intended for direct human consumption. It is neither
441
- applicable to other products derived from rice, nor to waxy rice (glutinous rice).
442
- _____
443
- --
444
-
445
- === Image size
446
-
447
- The value `auto` is accepted for image width and height attributes. It is only passed on
448
- to HTML output; if the output is to Word, both the width and height attributes are stripped
449
- from the image.
450
-
451
- [source,asciidoctor]
452
- --
453
- [height=90,width=auto]
454
- image::logo.jpg
455
- --
456
-
457
- === Subclauses in Terms & Definitions sections
458
230
 
459
- Normally any terminal subclause in a Terms & Definitions section is treated as a term
460
- definition. Exceptionally, an introductory section can be tagged to be treated as a clause,
461
- instead of a term, by prefixing it with the style attribute `[.nonterm]`.
462
-
463
- [source,asciidoctor]
464
- --
465
- == Terms and definitions
466
-
467
- [.nonterm]
468
- === Introduction
469
- The following terms have non-normative effect, and should be ignored by the ametrical.
470
-
471
- === Anapaest
472
-
473
- metrical foot consisting of a short, a long, and a short
474
- --
475
-
476
- === Sections embedded more than 5 levels
477
-
478
- Asciidoctor permits only 5 levels of section embedding (not counting the document title).
479
- Standards do contain more levels of embedding; ISO/IEC DIR 2 only considers it a problem
480
- if there are more than 7 levels of embedding. To realise higher levels of embedding,
481
- prefix a 5-level section title with the attribute `level=`:
482
-
483
- [source,asciidoctor]
484
- --
485
- ====== Clause 5
486
-
487
- [level=6]
488
- ===== Clause 6
489
-
490
- [level=7]
491
- ====== Clause 7A
492
-
493
- [level=7]
494
- ====== Clause 7B
495
-
496
- [level=6]
497
- ====== Clause 6B
498
-
499
- ====== Clause 5B
500
- --
501
-
502
- This generates the following ISO XML:
503
-
504
- [source,xml]
505
- --
506
- <clause id="_" inline-header="false" obligation="normative">
507
- <title>
508
- Clause 5
509
- </title>
510
- <clause id="_" inline-header="false" obligation="normative">
511
- <title>
512
- Clause 6
513
- </title>
514
- <clause id="_" inline-header="false" obligation="normative">
515
- <title>
516
- Clause 7A
517
- </title>
518
- </clause>
519
- <clause id="_" inline-header="false" obligation="normative">
520
- <title>
521
- Clause 7B
522
- </title>
523
- </clause>
524
- </clause>
525
- <clause id="_" inline-header="false" obligation="normative">
526
- <title>
527
- Clause 6B
528
- </title>
529
- </clause>
530
- </clause>
531
- <clause id="_" inline-header="false" obligation="normative">
532
- <title>
533
- Clause 5B
534
- </title>
535
- </clause>
536
- --
537
-
538
- === PlantUML
539
-
540
- The http://plantuml.com[PlantUML] diagramming tool is integrated with Asciidoctor
541
- in this gem, as a literal block with the style attribute `plantuml`:
542
-
543
- [source,asciidoctor]
544
- --
545
- [plantuml]
546
- ....
547
- @startuml
548
- Alice -> Bob: Authentication Request
549
- Bob --> Alice: Authentication Response
550
-
551
- Alice -> Bob: Another authentication Request
552
- Alice <-- Bob: another authentication Response
553
- @enduml
554
- ....
555
- --
556
-
557
- The integration runs PlantUML for each such block, generating a PNG image.
558
- The images are stored in the `plantuml` directory, and linked into the output
559
- document in place of the PlantUML.
560
-
561
- PlantUML needs to be installed by users separately, and accesssible from the
562
- command line:
563
-
564
- * `brew install plantuml` on MacOS.
565
- * For Linux, link the PlantUML jar file into a command line executable; see
566
- `.travis.yml` for an example.
567
-
568
- If PlantUML is not installed locally, the source PlantUML is incorporated into
569
- the output document as sourcecode.
570
-
571
- === Features not visible in HTML preview
231
+ == Features not visible in HTML preview
572
232
 
573
233
  The gem uses built-in Asciidoc formatting as much as possible, so that users
574
234
  can retain the ability to preview documents; for _Terms and Definitions_
@@ -691,7 +351,7 @@ The results of all `isobib` searches done to date for the current document
691
351
  (`filename.adoc`) are stored in the same directory as the current document,
692
352
  in the file `{filename}.relaton.pstore`. The local cache overrides entries in
693
353
  the global cache, and can be manually edited. The local cache is only used
694
- if the `:local-cache:` document attribute is set.
354
+ if the `:local-cache:` or `:local-cache-only:` document attribute is set.
695
355
 
696
356
  If the document attribute `:no-isobib:` is set, the reference details for
697
357
  items are not looked up via `isobib`, and the `isobib` caches are not used.
@@ -730,6 +390,9 @@ ISO and IEV references online, but do not use the <<cache,cache>> of `isobib` an
730
390
  `:local-cache:`:: Use the local isobib and iev search caches to override the global isobib and iev search
731
391
  caches.
732
392
 
393
+ `:local-cache-only:`:: Use the local isobib and iev search caches to the exclusion of the global isobib and iev search
394
+ caches.
395
+
733
396
  `:i18nyaml:`:: Name of YAML file of internationalisation text, to use instead
734
397
  of the built-in English, French or Chinese text used to label parts of the document
735
398
  (e.g. "Table", "Foreword", boilerplate text for Normative References, etc.)
@@ -792,7 +455,8 @@ https://www.iso.org/stage-codes.html[International harmonized stage codes])
792
455
  in the deafting stage
793
456
 
794
457
  `:technical-committee-number:`:: The number of the relevant ISO technical
795
- committee
458
+ committee (also `:technical-committee-number_2:`, `:technical-committee-number_3:`...;
459
+ the same applies for all technical-committee, subcommittee and workgroup attributes)
796
460
 
797
461
  `:technical-committee-type:``:: The type of the relevant technical committee. Defaults
798
462
  to `TC` if not supplied. Values: `TC1, `PC`, `JTC`, `JPC`.
@@ -858,6 +522,7 @@ which adheres with ISO formatting requirements. Recommend against overriding thi
858
522
 
859
523
  `:olstyle`:: Word CSS selector for ordered lists in supplied stylesheets. Defaults to value for built in stylesheet. Recommend against overriding this.
860
524
 
525
+ `:data-uri-image`:: Encode all images in HTML output as inline data-URIs.
861
526
 
862
527
  The attribute `:draft:`, if present, includes review notes in the XML output;
863
528
  these are otherwise suppressed.
@@ -902,3 +567,4 @@ in Asciidoctor, and output formats, are included in the https://github.com/ribos
902
567
  repository.
903
568
 
904
569
  See also `link:spec/metanorma-iso[]` for individual features.
570
+