Metanorma: Aequitate Verum

Document attributes

This is the list of document attributes supported by all flavors of Metanorma.

Tip

If you’re using one of the officially supported flavors of Metanorma, please also see flavor-specific guidance for any additional supported or required document attributes.

Build and configuration

:document-class:, :flavor:, (legacy: :mn-document-class:, :mn-flavor:)

The flavor of Metanorma used to compile the document; e.g. iso, nist, ogc. Needs to be a supported version of the document.

:output-extensions: (legacy: :mn-output-extensions:)

The output formats to generate for the document, comma-delimited; e.g. xml,presentation,html,doc,pdf. The formats supported vary for each flavor, but all flavors support xml (Semantic XML), presentation (Presentation XML), and one of html or pdf.

:imagesdir:

(Optional) Directory in which images are located: all local image file locations are prefixed with this directory. Accepts a directory path.

:nodoc:

Instructs Metanorma to not generate Word and HTML output, means only XML output will be generated.

:novalid:

Suppress document validation.

:index-terms:

Terms (and symbols) are indexed automatically in postprocessing. See automatic terms indexing. [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.11.3]

:relaton-output-file: (legacy: :mn-relaton-output-file:)

Output the bibliographic record describing the document as a Relaton XML file (with the suffix .rxl).

Bibliography

Reference lookup

For bibliographic lookup, see automatic reference lookup.

:no-isobib:

If set, do not use the relaton or iev gem functionality to look up ISO and IEV references online, nor the cache of relaton and iev searches.

Caching

For bibliographic caches, see lookup result caching.

:no-isobib-cache:

If set, use the relaton and iev gem functionality to look up ISO and IEV references online, but do not use the cache of relaton and iev searches.

:local-cache:

Use the local Relaton and iev search caches to override the global relaton and iev search caches. If a directory name is given for the attribute, that name overrides relaton as the cache name.

:local-cache-only:

Use the local Relaton and iev search caches to the exclusion of the global relaton and iev search caches. If a directory name is given for the attribute, that name overrides relaton as the cache name.

:flush-caches:

If set, delete and reinitialise the cache of Relaton searches.

:relaton-data-source

Allows specification of an external bibliographic file to be imported [added in https://github.com/metanorma/metanorma-standoc/releases/tag/2.2.9]. The value of the field is the file name. If the format also needs to be specified, this is done as file=PATH/TO/FILE,format=FORMAT. Valid formats are follows.

bibtex

The BibTeX format. Currently, only this is supported as a format, all other formats will raise an error.

:relaton-data-source-{id}

Allows specification of multiple external bibliographic files to be imported [added in https://github.com/metanorma/metanorma-standoc/releases/tag/2.2.9]. The different bibliographic sources are differentiated through the value of the {id} identifier.

:relaton-data-source-bib1: PATH/TO/FIRST/FILE
:relaton-data-source-bib2: PATH/TO/SECOND/FILE

Reference lookup

:relaton-render-config:

Override the default configuration of Relaton Render selectively, with attributes from the named configuration YAML file [added in https://github.com/metanorma/metanorma-standoc/releases/tag/3.2.4]. See Relaton Render specification for description of the configuration file format. We recommend you inspect the configuration compiled into the flavor gem (lib/relaton/render/config.yml) and include modifications of that in the override config file.

Math and scientific formatting

:keep-asciimath: (legacy: :mn-keep-asciimath:)

Do not translate Asciimath in the document to MathML.

:suppress-asciimath-dup:

By default, MathML in the Metanorma XML has equivalent AsciiMath added to it in a comment. This AsciiMath can be used as an accessibility alternative to the MathML expression. The generation of this AsciiMath can be suppressed [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.10.5].

:stem:

(Defaults to asciimath) The default language for \$...\$ and [stem] blocks expressions in the document. (AsciiMath, MathML, or LaTeX). For example, if you want the stem expressions in your document to be interpreted as LaTeX by default, use :stem: latexmath.

Read more about mathematical expressions.

:number-presentation:

Sets the formatting options for the number:[] command in the document [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.8.12]. Please refer to the dedicated section at numbers for usage.

Example 1. Using the :number-presentation: attribute
:number-presentation: notation=e,exponent_sign=plus,precision=4

number:341[]
:number-presentation-profile-{NAME}:

Sets the formatting options for the number:[] command in the document as profile {NAME} [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.8.12]. Please refer to the dedicated section at numbers for usage.

Example 2. Using the :number-presentation-profile-{NAME}: attribute
:number-presentation-profile-3: notation=scientific,exponent_sign=nil,decimal=","
...

number:342[profile=3]
:number-presentation-formula:

Sets the formatting options for numbers contained in formulas [added in https://github.com/metanorma/metanorma-standoc/releases/tag/2.9.6]. Please refer to the dedicated section at numbers in formulas.

Languages and localization

See also the Languages topic.

:i18nyaml:

Name of YAML language template file. Use if you wish to output an standard in a language that’s not supported out of the box. For more on how to customize localization, see Localization.

:language:

Two-letter code (ISO 639-1) of the language the document is written in. Defaults to en.

:script:

The script of the document (ISO 15924). Defaults to Latn. Must be supplied as Hans for Simplified Chinese.

:locale:

The locale of the document (currently expected to be a two-letter country code, ISO 3166-1 alpha-2). [added in https://github.com/metanorma/metanorma-standoc/releases/tag/2.2.4]

:boilerplate-authority:

File containing predefined text of document, in Metanorma XML. The document predefined text needs to follow the structure described in Predefined text; compare examples of Metanorma predefined text files such as that in ITU [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.3.15].

:localize-number:

Template for how to present localized numbers. The localization template string is in the following form:

:localize-number: #,##0.### ###

Tip
See Number localization for how numbers are localized in Metanorma [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.2.4].

Document information

:publisher_{i}:

The standards agency publishing the standard. The first publisher is given as :publisher:; more publishers are added with the suffix _2, _3, etc., e.g. :publisher_2:, :publisher_3: [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.7.0].

Note
Prior to 1.7.0, this field accepted comma-delimited values [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.5.1].
Note
Prior to 2.7.0, this field accepted semicolon-delimited values [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.7.0]. These are processed via CSV, recognising quote marks. This functionality is maintained in later versions, but other attributes of organisations are ignored (publisher_logo, pub-address, etc.)
:publisher_abbr_{i}:

The abbreviation of the publisher; if not provided, and the standards organisation is the home organisation of the standard, the SDO’s abbrevation will already be available to Metanorma, and will be supplied [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v3.0.7].

:publisher_logo_{i}:

The logo of the publisher, specified as an image file; the numbers in the attribute align to the :publisher_{i}: attributes [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.7.0].

:sponsor_{i}:

An organization sponsoring the publication of this document [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.7.0].

Note
If a person needs to be nominated as the responsible party for a sponsoring organization, that person should be treated as a personal contributor (:surname_{i}:, :affiliation_{i}:, etc.), with a :role: attribute of enabler.
:sponsor_logo_{i}:

The logo of the sponsoring organization, specified as an image file; the numbers in the attribute align to the :sponsor_{i}: attributes [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.7.0].

:copyright-holder:

The copyright holder, if distinct from the publisher; can be multiple (semicolon-delimited: processed via CSV, recognising quote marks). [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.7.0].

Note
Prior to 1.7.0, this field accepted comma-delimited values [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.5.1].
:docnumber:

The numeric component of the document identifier. The full identifier is formed by prefixing and suffixing this element with other strings derived from metadata.

:docidentifier:

The :docidentifier: attribute is an alternative to docnumber and other attributes (such as doctype and docstage).

The value here is supposed to be the "full document identifier" and overrides the composition of the automatically-constructed document identifier [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.3.9].

If :docidentifier: is supplied, `:docnumber:` and the other related attributes are ignored when composing the identifier for the document. The :docidentifier: attribute is used for document identifiers that do not follow normal SDO conventions, and for which the identifier cannot be constructed out of :docnumber: in the normal way.

Note
Since :docidentifier: is a preformatted value, and it is opaque to Metanorma. This means that Metanorma cannot make any inference about the internal structure of the identifier. For example, Metanorma cannot generate undated or language-specific variants of the identifier, or mark up the part number separately from the document number, as is required by ISO.
Warning
:docidentifier: should be avoided unless absolutely necessary due to the limitations its usage brings. Metanorma maintains the pubid-* set of software libraries to generate document identifiers for different Metanorma flavours, and those libraries should be updated to deal with the novel use case.
:docidentifier-additional:

This attribute provides additional primary identifiers for the document, to be used alongside the native identifier generated from docnumber or docidentifier [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.8.2]. It is intended for copublished standards with multiple primary identifiers. The list of identifiers is comma-delimited, and is specified as TYPE:VALUE; e.g. :docidentifier-additional: IDF:IDF 21, RFC:RFC 97.

:edition:

The document edition.

:version:

The document version [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v3.1.0]. The distinction between :edition: and :version: is specific to the SDO, but the overall trend is that :edition: corresponds to major versions, and are what corrigenda and amendments apply to, while :version: corresponds to minor versions and patches, including pre-publication versions (drafts). However, only :version: is used if the SDO uses semantic versioning throughout. Before :version: was added to Metanorma, :draft: fulfilled that function instead.

:revdate:

The date the document was last updated.

:library-ics:

The ICS (International Categorization for Standards) number for the standard. There may be more than one ICS for a document; if so, they should be comma-delimited. (The ICS identifier is added to the document metadata, but may not be visible in the resulting document, depending on Metanorma flavor.)

:isbn:

The ISBN-13 number of the document [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.6.2]. This value is optional.

:isbn10:

The ISBN-10 number of the document [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.6.2] This value is optional.

:title:

The title of the document. If not supplied, the built-in AsciiDoc title (first line of document header) is used instead.

:title-{langcode}:

The title of the document in the language langcode. langcode is a ISO 639-1 code.

:title-en:, :title-fr:
:title-{type}-{langcode}:

The title of the document in the language langcode, and of type type [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v3.1.6].

:title-main-en:, :title-intro-fr:
Note
This was previously supported only in individual flavours that required title parts, such as ISO that supports main, intro, part, complementary, addendum. It is now supported generically in Metanorma.
:title-{type}-{langcode}:

The title of the document in the language langcode, and of type type [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v3.1.6]. Note: this was previously supported only in individual flavours.

:doctype:

The document type; e.g. standard, guide, report.

:docsubtype:

The document subtype; by default, used to provide an ad hoc, user defined document class, unless provided for explicitly in the flavour, as in OGC [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.9.1]

:status:, :docstage:

The status of the document; e.g. draft, published.

:docsubstage:

The substage code for the document status, where applicable.

:iteration:

The iteration of a stage, in case there have been multiple drafts (e.g. 2 on a CD: this is the second iteration through the CD stage).

:keywords:

Comma-delimited list of keywords associated with the document.

:classification:

Comma-delimited list of classification tokens, expressed as type:value pairs; if no prefix is given to a value, "default" is supplied as the type [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.9.1]. There can only be one value per type in a token; if there are multiple classification values of the same type, repeat the type in a new token; e.g. :classification: Dewey:563.5.081, Dewey:537.71.

:draft:

If present, reviewer notes will be rendered (otherwise those are suppressed). Is also ued as a legacy equivalent of :version: [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v3.1.0].

:document-scheme:

Document content arrangement that Metanorma will enforce for this document.

Accepted values are flavour-specific.

Depending on the document scheme, Metanorma may insert clauses with predetermined text and orders clauses in accordance with the style prescribed by the SDO. If those styles are updated, this attribute indicates to Metanorma which iteration of the prescription to enforce [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.1.6].

Note
As of this writing, implemented in the IEEE, BSI, ITU and ISO flavours.

Generic metadata

Metanorma allows generic metadata to be passed to the generated document in key/value form, for downstream use [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.0.1]. This metadata needs to be indicated as either semantic, or presentation-related. The name of the metadata value is included in the document attribute:

:semantic-metadata-{name}:

Comma-delimited list of values, relating to name as semantic metadata about the document. Stored in the document under //metanorma-extension/semantic-metadata/{name}, with repeating tags for each value.

:presentation-metadata-{name}:

Comma-delimited list of values, relating to name as presentation metadata about the document. Stored in the document under //metanorma-extension/presentation-metadata/{name}, with repeating tags for each value.

The following instances of generic metadata are applicable to all flavors of Metanorma; other instances are specific to flavors, and are documented there:

:semantic-metadata-headless:

This document is to be compiled without adding initial document boilerplate to it. This is used for compiling Metanorma AsciiDoc boilerplate documents themselves.

:presentation-metadata-doctype-alias:

Specify how the document type is to be rendered. This overrides the language-specific internationalization of the supplied document type, and is used in Metanorma tastes, to override the base flavor document type rendering. [added in https://github.com/metanorma/isodoc/releases/tag/v3.2.0]

:presentation-metadata-custom-charset-font:

Specify a custom character set for Unicode "Private Use Area" (PUA) character codepoints [added in https://github.com/metanorma/isodoc/releases/tag/v2.7.0]

:presentation-metadata-publisher-{doc|html|pdf}-{width|height}[_{i}]:

Specify height and width of the publisher logo, for each of the standard output formats of Metanorma [added in https://github.com/metanorma/isodoc/releases/tag/v3.2.0].

The publishers are read in the same sequence for logo attributes as they are for publisher names and abbreviations, and the numbering includes the primary publisher of the document as the first publisher (for which a logo typically does not need to be specified.)

For example, presentation-metadata-publisher-pdf-height_2 specifies the height of the coverpage logo in PDF of the second specified publisher.

:presentation-metadata-ul-label-list:

Specify the characters to be used as bullets for unordered lists, as a comma-delimited list of strings, each string corresponding to a deeper level of list [added in https://github.com/metanorma/isodoc/releases/tag/v3.2.2]. The bullet list rotates once the list is exceeded.

:presentation-metadata-ul-label-list: ,–,"x,x" will use at level 1; at level 2, x,x at level 3, then go back to * at level 4.

Note
Custom unordered list bullets are only processed for PDF output.
:presentation-metadata-annex-delim:

Delimiter between the line heading giving the number of an annex, and the title of the annex (Metanorma XML, default <br/><br/>) [added in https://github.com/metanorma/isodoc/releases/tag/v3.2.7].

:presentation-metadata-middle-title:

Presentation XML Liquid template for middle title (document title at the start of the main section of the document) (Metanorma XML, default "<p class='zzSTDTitle1'>{{ doctitle }}</p>") [added in https://github.com/metanorma/isodoc/releases/tag/v3.2.7].

Document relations

General

These attributes takes a document identifier in the Relaton format:

  • If the document can be found via Relaton auto-fetch (e.g. a published IEC standard), the actual bibliographic item will be used.

  • Otherwise, a dummy bibliographic item with an empty title and the nominated document identifier will be used.

Multiple document identifiers can be delimited by ;. If the document cannot be auto-fetched, a title for each document nominated can be introduced, delimited from the document identifier by ,. For example, NIST SP 800-1,Title 1;NIST SP 800-2,Title 2.

Part of

:part-of:

document identifier that the current document is a part of.

This document attribute applies to a document part in order to point to the parent document.

Translated from

:translated-from:

document identifier that the current document is a translation of.

This document attribute applies to a translated document, pointing to the original (untranslated) document.

URIs

:uri:

The URI to which this standard is published.

:xml-uri:

The URI to which the (Metanorma) XML representation of this standard is published.

:html-uri:

The URI to which the HTML representation of this standard is published.

:pdf-uri:

The URI to which the PDF representation of this standard is published.

:doc-uri:

The URI to which the DOC representation of this standard is published.

:relaton-uri:

The URI to which the Relaton XML representation of this standard is published.

Timestamps

:copyright-year:

The year which will be claimed as when the copyright for the document was issued.

:announced-date:

The date on which the publication of the standard was announced by the issuing authority.

:issued-date:

The date on which the standard was issued (authorised for publication by the issuing authority).

:published-date:

The date on which the standard was published (distributed by the publisher).

:implemented-date:

The date on which the standard became active.

:created-date:

The date on which the first version of the standard was created.

:updated-date:

The date on which the current version of the standard was updated.

:corrected-date:

The date on which the current version of the standard was corrected, without that correction amounting to a distinct update [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.6.3].

:obsoleted-date:

The date on which the standard was obsoleted/revoked.

:confirmed-date:

The date on which the standard was reviewed and approved by the issuing authority.

:unchanged-date:

The date on which the standard was last renewed without any changes in content.

:circulated-date:

The date on which the unpublished standard was last circulated officially as a preprint. For standards, this is associated with the latest transition to a formally defined preparation stage, such as Working Draft or Committee Draft.

:accessed-date:

The date on which the standard was last accessed by the compiler of the bibliography; e.g. for a cited online resource, the date on which the document author viewed the resource.

:date:

An arbitrary date in the production of the standard. Content of the attribute should be a token, giving the type of date, then space, then the date itself. Multiple dates can be added as :date_2:, :date_3:, etc.

:vote-started-date:

The date on which the voting process starts for this document [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.3.25].

:vote-ended-date:

The date on which the voting process ends for this document [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.3.25].

:announced-date:

The date on which the document was announced as forthcoming [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.9.3].

Author information

:technical-committee:

The name of the relevant technical committee.

:corporate-author_{i}:

The organization authoring the standard [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v3.1.5].

This document attribute should not be provided if the authoring organization is identical to the publishing body, as its value is automatically set to that of :publisher:.

Use :corporate-author: only when a standard is authored or co-authored by an agency distinct from the publishing body, and only the publishing agency is credited as the publisher.

Multiple agencies can be specified as corporate authors (similar to :publisher:). The first agency specified is expected to be the publishing body. Use :corporate-author_2:, :corporate-author_3:, etc. for additional agencies.

Note
For personal authors, use :fullname: or :surname: and :givenname: instead.
:fullname{_i}:

The full name of a person who is a contributor to the document. A second person is indicated by using a numeric suffix: :fullname:, :fullname_2:, fullname_3:, &c. The same convention applies to all the following attributes. (This and the other personal name attributes are not displayed in all standards.)

:surname{_i}:

The surname of a person who is a contributor to the document.

:givenname{_i}:

The given name(s) of a person who is a contributor to the document.

:initials{_i}:

The initials(s) of a person who is a contributor to the document.

:contributor-credentials{_i}:

Credentials of the person, appearing after their name in Metanorma flavour-specific contexts [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.3.9].

:role{_i}:

The role of a person who is a contributor to the document. By default, they are coded as an editor; they can also be represented as an author, or (if they are the responsible party for a sponsoring organization) enabler. Is meant to draw from the constrained vocabulary of Relaton: author, editor, adapter, translator, performer, realizer, publisher, distributor, owner, authorizer, enabler, subject; see Relaton specification.

:role-description{_i}:

A more detailed description of the role of a person who is a contributor to the document [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.7.5].

:affiliation{_i}:

The organization that a person who is a contributor to the document is affiliated with.

:affiliation_abbrev{_i}:

The abbreviation of the organization that a person who is a contributor to the document is affiliated with [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.3.12].

:affiliation_subdiv{_i}:

The subdivision of the organization that a person who is a contributor to the document is affiliated with [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.7.0]. The subdivisions can be multiple (semicolon-delimited: processed via CSV, recognising quote marks), and they can also be hierarchical, with multiple levels of subdivision (comma-delimited, from larger to smaller) [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.8.3]; the different hierarchical levels can optionally be prefixed with type and a colon.

:affiliation_logo{_i}:

The logo of the organization that a person who is a contributor to the document is affiliated with, specified as an image file [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.7.0].

:contributor-credentials{_i}:

The credentials of the person (e.g. "PhD, F.R.Pharm.S"); these are often displayed inline with the person’s name [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.3.9].

:contributor-position{_i}:

The position of the person within the organization [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.3.9].

:address{_i}:

The organizational address of a person who is a contributor to the document. Mutually exclusive with street/city/region/country/postcode.

:street{_i}:

The street component of the organization address of a person who is a contributor to the document [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.9.4].

:city{_i}:

The city component of the organization address of a person who is a contributor to the document [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.9.4].

:region{_i}:

The region component of the organization address of a person who is a contributor to the document [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.9.4].

:country{_i}:

The country component of the organization address of a person who is a contributor to the document [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.9.4].

:postcode{_i}:

The postcode component of the organization address of a person who is a contributor to the document [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.9.4].

:contributor-uri{_i}:

The URI of a person who is a contributor to the document.

:email{_i}:

The email of a person who is a contributor to the document.

:phone{_i}:

The phone number of a person who is a contributor to the document.

:fax{_i}:

The fax number of a person who is a contributor to the document.

:subdivision:

The subdivision of the organization that is responsible for this document [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.6.1]. The subdivisions can be multiple (semicolon-delimited: processed via CSV, recognising quote marks), and they can also be hierarchical, with multiple levels of subdivision (comma-delimited, from larger to smaller) [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.8.3]; the different hierarchical levels can optionally be prefixed with type and a colon.

:subdivision-abbr:

The abbreviation of the subdivision of the organization that is responsible for this document [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.6.1].

:pub-address_{i}:

The address of the organization responsible for this document, if it overrides the default. [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.6.1]. The number of this and subsequent attributes aligns with the number of :publisher_{i}: [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.6.1]

Note

Each line in a multi-line address must end with + \, e.g.

:pub-address: 1 Infinity Loop + \
California + \
United States of America
Note
As of 2.7.0, if :publisher: is semicolon-delimited, instead of using numbered attributes, this and subsequent publisher attributes are ignored.
:pub-phone_{i}:

The phone number of the organization responsible for this document, if it overrides the default [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.6.1].

:pub-fax_{i}:

The fax number of the organization responsible for this document, if it overrides the default [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.6.1].

:pub-email_{i}:

The email of the organization responsible for this document, if it overrides the default [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.6.1].

:pub-uri_{i}:

The URI of the organization responsible for this document, if it overrides the default [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.6.1].

:sponsor-address_{i}:, :sponsor-phone_{i}:, :sponsor-fax_{i}:, :sponsor-email_{i}:, :sponsor-uri_{i}:

The address, phone number, fax number, email, URI of an organization sponsoring this document [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.7.0].

:sponsor-subdivision_{i}:

The subdivision of the organization that is sponsoring this document. The subdivisions can be multiple (semicolon-delimited: processed via CSV, recognising quote marks), and they can also be hierarchical, with multiple levels of subdivision (comma-delimited, from larger to smaller) [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.8.3]; the different hierarchical levels can optionally be prefixed with type and a colon.

:authorizer_{i}:

The organisation that authorised this document [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.8.3].

:authorizer_logo_{i}:

The logo of the sponsoring organization, specified as an image file; the numbers in the attribute align to the :authorizer_{i}: attributes [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.8.3].

:authorizer-address_{i}:, :authorizer-phone_{i}:, :authorizer-fax_{i}:, :authorizer-email_{i}:, :authorizer-uri_{i}:

The address, phone number, fax number, email, URI of an organization authorizing this document [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.8.3].

:authorizer-subdivision_{i}:

The subdivision of the organization that is authorizing this document. The subdivisions can be multiple (semicolon-delimited: processed via CSV, recognising quote marks), and they can also be hierarchical, with multiple levels of subdivision (comma-delimited, from larger to smaller) [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.8.3]; the different hierarchical levels can optionally be prefixed with type and a colon.

Style customization

Fonts

:fonts:

Semicolon-delimited listing of fonts to be used for this document, in addition to the fonts predefined for the flavour [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.0.7].

Valid values are font names supported by Fontist. The full font name listing is available from the Fontist Formulas repository.

Note
This is currently only used in PDF generation.
Example 3. Example of setting a custom font to Euphemia

The Euphemia font is an openly licensed font for end-users only commonly used to render Canadian Syllabics. The font name Euphemia is supported by Fontist for unattended install. In a document that contains Canadian Syllabics, the following attributes can be used.

:fonts: Euphemia
:font-license-agreement: agree-to-terms
:font-license-agreement:

The response to the license agreement prompt by fontist for the fonts specified in :fonts: [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.0.7].

Valid values are:

  • no-install-fonts: (default) do not install any additional fonts, even when listed in :fonts:.

  • agree-to-terms: agree to all terms of the fonts that will be installed in an unattended manner.

  • continue-without-fonts: do not warn if a font is not available on the system.

:body-font:

Font for body text; will be inserted into CSS, overriding the default set for the particular Metanorma flavour.

:header-font:

Font for headers; will be inserted into CSS, overriding the default set for the particular Metanorma flavour.

:monospace-font:

Font for monospace; will be inserted into CSS, overriding the default set for the particular Metanorma flavour.

HTML

:html-stylesheet: (legacy: htmlstylesheet)

SCSS stylesheet to use for HTML output. Defaults to built-in stylesheet for the particular Metanorma flavour. Overriding is not recommended.

:html-stylesheet-override: (legacy: htmlstylesheet-override)

CSS stylesheet to use for HTML output, inserted after the built-in stylesheet for the particular Metanorma flavour, and can be used to override it. [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.8.7]

:html-cover-page: (legacy: htmlcoverpage)

HTML template for cover page. Defaults to built-in template for the particular Metanorma flavour. Overriding is not recommended.

:html-intro-page: (legacy: htmlintropage)

HTML template for introductory section. Defaults to built-in template for the particular Metanorma flavour. Overriding is not recommended.

:scripts:

JavaScript scripts for HTML output. Defaults to built-in scripts for the particular Metanorma flavour. Overriding is not recommended.

:scripts-override:

JavaScript scripts for HTML output. Inserted after any built-in scripts for the particular Metanorma flavour, and can be used to override them. [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.9.4]

:scripts-pdf: (DEPRECATED)

JavaScript scripts for HTML to PDF output. Defaults to built-in scripts for the particular Metanorma flavour. Overriding is not recommended.

PDF

:presentation-metadata-papersize:

PDF document page size. Can be used to override the page size in built-in stylesheet for the particular Metanorma flavour. Valid values are: Letter, letter, A4 or a4.

:pdf-stylesheet: (legacy: pdfstylesheet)

XSLT stylesheet to use for PDF output [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v3.0.10]. Defaults to built-in stylesheet for the particular Metanorma flavour. Overriding is not recommended.

:pdf-stylesheet-override: (legacy: pdfstylesheet-override)

XSLT stylesheet to use for PDF output, inserted after the built-in stylesheet for the particular Metanorma flavour, and can be used to override it. [added in https://github.com/metanorma/metanorma-standoc/releases/tag/3.0.10]

Word

:word-stylesheet: (legacy: wordstylesheet)

Primary SCSS stylesheet to use for Word output. Defaults to built-in stylesheet for the particular Metanorma flavour. Overriding is not recommended.

:standard-stylesheet: (legacy: standardstylesheet)

Secondary SCSS stylesheet use for Word output. Defaults to built-in template for the particular Metanorma flavour. Overriding is not recommended.

:word-stylesheet-override: (legacy: wordstylesheet-override)

CSS stylesheet to use for Word output, inserted after the built-in stylesheet for the particular Metanorma flavour, and can be used to override it [added in https://github.com/metanorma/isodoc/releases/tag/v1.8.7].

:header:

Header and footer file for Word output. Defaults to built-in template the particular Metanorma flavour. Overriding is not recommended.

:word-cover-page: (legacy: wordcoverpage)

Word template for cover page. Defaults to built-in template for the particular Metanorma flavour. Overriding is not recommended.

:word-intro-page: (legacy: wordintropage)

Word template for introductory section. Defaults to built-in template for the particular Metanorma flavour. Overriding is not recommended.

:ulstyle:

Word CSS selector for unordered lists in supplied stylesheets. Defaults to value for built-in stylesheet. Overriding is not recommended.

:olstyle:

Word CSS selector for ordered lists in supplied stylesheets. Defaults to value for built-in stylesheet. Overriding is not recommended.

Cover page

:coverpage-image:

Comma-delimited list of image locations, for images to be included on the (PDF) cover page. All image locations are relative to the source document. Currently only supported for BSI, ITU, JIS, Plateau.

If the supplied image(s) is to replace the cover page(s) of the document in its entirety, and already includes title information, add the attribute :presentation-metadata-full-coverpage-replacement: true (supported for all flavours).

:innercoverpage-image:

Same, for images to be included on the (PDF) inside cover page. Currently only supported for BSI.

:tocside-image:

Same, for images to be included on the (PDF) Table of Contents side page. Currently only supported for BSI.

:backpage-image:

Same, for images to be included on the (PDF) back page. Currently only supported for BSI, JIS.

Image handling

Data URI

:data-uri-image:

Encode all images in Metanorma XML and HTML output as inline data-URIs. Defaults to true. [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.11.0].

:data-uri-maxsize:

Set the maximum permitted size of a Data URI-encoded image, in bytes. Defaults to 13981013 bytes (size of the Base-64 encoding of a 10 MB image). If set to 0, no maximum is enforced. [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.9.1].

:data-uri-attachments:

Encode all attachments in Metanorma XML as inline data-URIs. Defaults to true. [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.8.10].

SVG

svg-conform-profile

Profile of the SVGConfirm software library to apply for SVG validation and repair. See SVG Profiles for the available profile values. Metanorma by default uses the metanorma profile by default, except for IETF, which uses svg_1_2_rfc [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v3.2.1].

PlantUML

:plantuml-image-format:

Format to generate PlantUML diagrams as. Legal values are png, svg. Defaults to png. [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v3.0.9].

Cross-references

:xrefstyle:

Override the default rendering of cross-references to clauses [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.2.6]. Available styles as follows:

short

(default) the clause type and number is used as the cross-reference.

Example 4. Example of a cross-reference rendered in the "short" style
"Clause 3.1.2"
basic

the title of the clause is used as the cross-reference.

Example 5. Example of a cross-reference rendered in the "basic" style
"Other considerations"
full

combines the title with the clause type/number cross-reference.

Example 6. Example of a cross-reference rendered in the "full" style
"Clause 3.1.2, Other considerations"
id

the cross-reference is to be rendered as the target anchor identifier (or any identifier aliasing the anchor) [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.2.7].

Example 7. Example of a cross-reference rendered in the "id" style

The following cross-reference:

[[my-anchor]]
=== My title
...

=== Another place
<<my-anchor>>

Renders the cross-reference as:

"my-anchor"

:modspec-identifier-base:

(optional) Base identifier pattern for ModSpec instances throughout the document. The attribute value provides a prefix that will be removed from all ModSpec instance identifiers used to cross-reference ModSpec instances. The specification of the pattern only affects the rendering of cross-references, not the underlying XML representation of the ModSpec instances. See more details at ModSpec identifier base [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.2.7].

:block-unnumbered:

(optional) A comma-delimited list of Metanorma block names, which should have numbering suppressed throughout the document [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.4.6]. Typically will be used for sourcecode fragments: :block-unnumbered: sourcecode.

Smart quotes

:smartquotes:

Apply “smart quotes” and other auto-formatting to the XML output (and hence the downstream outputs). Available values below:

true

(default) Smart quotes are not applied to the following type of text:

  • text in source code;

  • text in pseudo-code;

  • text in monospace.

false

The AsciiDoc default is used to generate smart quotes: "` `", '` `'. The rules for smart formatting follow the sterile gem, and are given in smart_format_rules.rb. In particular:

  • " and ' followed by space, with optional punctuation intervening, are treated as closing, and converted to smart closing quotes and .

  • " and ' preceded by space, with optional punctuation intervening, are treated as opening, and converted to smart opening quotes and .

  • Midword apostrophes are treated as closing: Sana’a becomes Sana’a.

  • Initial apostrophes before numerals are treated as closing: '80s becomes ’80s.

  • There are many possible exceptions to these default rules, such as initial apostrophes (fish ’n’ chips), and quote pairs used to illustrate the punctuation (Use smart quotes (" ")). For such cases, use either real smart quotes (the literal characters “ ” ‘ ’) or the Asciidoc ASCII codes, "` `", '` `'

The smart quotes converted by Metanorma postprocessing are specifically those of English. Other languages' smart quotes will need to be entered as the correct characters.

Table of contents

:toclevels:

Number of table of contents levels to render. Accepts an integer value. (default: 2). Can be overridden with output-specific options (htmltoclevels, doctoclevels).

:toclevels-html:

Number of table of contents levels to render in HTML output; used to override :toclevels: for HTML output. Accepts an integer value. (default: 2). Formerly :htmltoclevels: [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.7.5].

:toclevels-doc:

Number of table of contents levels to render in Microsoft Word "DOC" output; used to override :toclevels: for Word DOC output. Accepts an integer value. (default: 2). Formerly :doctoclevels: [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.7.5].

:toclevels-pdf:

Number of table of contents levels to render in PDF output; used to override :toclevels: for PDF output [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.7.5]. Accepts an integer value. (default: 2)

:toc-figures:

Introduce table of contents for figures [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.0.4]. No attribute value needed. Only numbered and/or captioned figures are included.

:toc-tables:

Introduce table of contents for tables [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.0.4]. No attribute value needed. Only numbered and/or captioned tables are included.

:toc-requirements:

Introduce table of contents for requirements, recommendations, and permissions [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.0.4]. No attribute value needed. Only numbered and/or captioned requirements, recommendations, and permissions are included.

Tables

:break-up-urls-in-tables:

If present, long strings in table cells are broken up on rendering, to help tables fit within the page width. No attribute value needed. [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.3.25]. The current behaviour is: strings are broken by zero-width spaces; words are broken up every 10 characters on punctuation (e.g. URIs on / ), and every 20 characters if there is no puncutation in the word, in order to deal with very narrow columns. (Because the break is zero-width, it will not be visible unless it coincides with the end of a column.)

Sourcecode

:sourcecode-markup-start:

Initial delimiter for markup inserted in sourcecode [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.7.4]

:sourcecode-markup-end:

Final delimiter for markup inserted in sourcecode [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.7.4]

:source-highlighter:

Whether to use a source highlighter for sourcecode; default value is true [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.3.2]

:source-linenums-option:

Provided a source highlighter is being used, whether to display line numbers; default value is false [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.3.2]

:bare:

(optional) The document is rendered in “bare form” — without the cover page, boilerplate, or introductory text expected of a complete document [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.9.4]. This is typically used for HTML output, e.g. clauses as standalone documents, or document attachments.

:base-asset-path:

(optional) All media paths in the XML path are relative to the given directory; used when the Metanorma XML file to be processed is not necessarily in the same directory as the source Metanorma AsciiDoc file, and the media file paths are given as relative and not absolute file locations (and are not encoded as data URIs via :data-uri-image:) [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.10.7].

Logging

:log-filter-severity:

Filter from error log all warnings at the given severity level or above it. See Validation for valid values. [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.9.7]

:log-filter-category:

Filter from error log all warnings belonging to one of the named categories; comma-delimited. See Validation for valid values. [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.9.7]

:log-filter-error-ids:

Filter from error log all warnings with the identifiers of individual errors to exclude (comma-delimited). See Error ID. [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v3.2.1].

PDF protection and permissions

All the following attributes relate to protection of PDF files as described in ISO 32000-1:2008. copying [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.11.3].

:pdf-encrypt:

Specify encryption of PDF output.

true

Applies encryption to PDF output.

false

Do not encrypt PDF output. (default)

:pdf-encryption-length:

Specify encryption strength.

256

Use 256-bit AES keys (default)

128

Use 128-bit AES keys.

:pdf-user-password:

Specify user password needed to open the encrypted PDF document. The attribute value sets the user password.

:pdf-owner-password:

Specify owner password to bypass restrictions on encrypted PDF document. The attribute value sets the owner password.

:pdf-allow-copy-content:

Allow content to be copy-pasted from the PDF document.

true

Content can be copy-pasted from the PDF document. (default)

false

Content cannot be copy-pasted from the PDF document.

:pdf-allow-edit-content:

Allow content of the PDF document to be edited.

true

Content of the PDF document can be edited. (default)

false

Content of the PDF document cannot be edited.

:pdf-allow-assemble-document:

Allow inserting, deleting, or rotating pages in the PDF document.

true

Inserting, deleting or rotating pages in the PDF document is allowed. (default)

false

Inserting, deleting or rotating pages in the PDF document is disallowed.

:pdf-allow-edit-annotations:

Allow annotations and signatures to be added to the PDF document.

true

Annotations and signatures can be added to the PDF document. (default)

false

Annotations and signatures cannot be added to the PDF document.

:pdf-allow-print:

Allow PDF document to be printed, physically or to a file.

true

PDF content can be printed, physically or to a file. (default)

false

PDF content cannot be printed, physically or to a file.

:pdf-allow-print-hq:

Allow PDF document to be printed in high quality.

true

PDF content can be printed in high quality. (default)

false

PDF content cannot be printed in high quality.

:pdf-allow-fill-in-forms:

Allow forms to be filled in the PDF document.

true

Forms in the PDF document can be filled in. (default)

false

Forms in the PDF document are read-only, they cannot be filled in.

:pdf-allow-access-content:

Allow text and graphics extraction from the PDF document for accessibility purposes.

true

Text and graphics can be extracted from the PDF document. (default)

false

Text and graphics cannot be extracted from the PDF document.

:pdf-encrypt-metadata:

Specify encryption of the metadata stream.

true

The PDF metadata stream will be encrypted. (default)

false

The PDF metadata stream will not be encrypted.