---
layout: author-docs
title: Document attributes
---

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

[TIP]
====
If you're using one of the link:/flavors/[officially supported flavors of Metanorma],
please also see flavor-specific guidance for any additional supported or
required document attributes.
====

== Build and validation

`: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 link:/author/topics/inline_markup/index_terms#auto-index-terms[automatic terms indexing]. [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.11.3]

`:log-filter-severity:`::
Filter from error log all warnings at the given severity level or above it.
See link:/author/topics/output/validation[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 link:/author/topics/output/validation[Validation] for valid values.
 [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.9.7]


== Reference lookup

For bibliographic lookup, see link:/author/basics/reference-lookups[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.

== Caches

For bibliographic caches, see link:/author/basics/reference-lookups/#lookup-result-caching[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 https://www.relaton.org/[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.
+
[example]
====
[source,adoc]
----
:relaton-data-source-bib1: PATH/TO/FIRST/FILE
:relaton-data-source-bib2: PATH/TO/SECOND/FILE
----
====

== Math

[[stem]] `:stem:`::
This attribute is required if you have any AsciiMath, MathML, or LaTeX
included in the document; otherwise they will not be detected. If you want
the STEM expressions in your document to be interpreted as LaTeX by default,
use `:stem: latexmath`.

Read more about
link:/author/topics/blocks/math/[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
link:/author/topics/inline_markup/semantic-elements#numbers[numbers] for usage.
+
.Using the `:number-presentation:` attribute
[example]
====
[source,adoc]
----
: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
link:/author/topics/inline_markup/semantic-elements#numbers[numbers] for usage.
+
.Using the `:number-presentation-profile-{NAME}:` attribute
[example]
====
[source,adoc]
----
: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
link:/author/topics/inline_markup/semantic-elements#formula-numbers[numbers in formulas].

== Languages and localization

See also the link:/author/topics/languages[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 customise localization, see link:/develop/topics/localization[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
link:/develop/topics/metadata-and-boilerplate#boilerplate[Predefined text];
compare examples of Metanorma predefined text files such as
https://github.com/metanorma/metanorma-itu/blob/main/lib/metanorma/itu/boilerplate.xml[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 link:/author/topics/languages#number-localization[Number localization]
for how numbers are localised in
Metanorma [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.2.4].

== Document info

`: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_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]] `: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:`::
As an alternative to `docnumber` and other attributes (such as `doctype` and `docstage`),
which form the full identifier by combining multiple attributes, this attribute contains a
full specification of the document identifier and overrides the composition of the document
identifier [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v2.3.9].
This value is used for document identifiers that do not follow normal SDO conventions,
including for documents that are adoptions from other SDOs.

`: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.

`: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-XX:`::
The title of the document in the language `XX` (where `XX` is a ISO 639-1 code;
for example, `:title-en:`, `:title-fr`:).

`: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:`:: The status of the document; e.g. "draft", "published".
Synonym: `:docstage:`.

`: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]] `:draft:`::
The document draft.
Used in addition to document stage.
The value must provide the exact draft iteration in _X.Y_ format
(major version number and minor version number separated by a dot).
If present, link:/author/topics/blocks/annotations[reviewer notes]
will be rendered (otherwise those are suppressed).

`: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.

[[document-relations]]
== 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]]
== Timestamps

[[copyright-year]] `: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]] `:issued-date:`::
The date on which the standard was issued (authorised for publication by the issuing authority).

[[published-date]] `: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]] `: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 info

`:technical-committee:`::
The name of the relevant technical committee.

[[fullname]] `: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]] `:surname{_i}:`::
The surname of a person who is a contributor to the document.

[[givenname]] `: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]] `: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 https://www.relaton.org/model/creator/[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.

[source,adoc]
----
: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.

== Visual appearance

`: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 https://www.fontist.org[Fontist].
The full font name listing is available from the
https://github.com/fontist/formulas[Fontist Formulas] repository.

NOTE: This is currently only used in PDF generation.

[example]
====
EXAMPLE.

The https://www.tiro.com/syllabics/resources/index.html[Euphemia] font is
an openly licensed font for end-users only commonly used to render
https://en.wikipedia.org/wiki/Canadian_Aboriginal_syllabics[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.

[source,adoc]
----
:fonts: Euphemia
:font-license-agreement: agree-to-terms
----
====
--

`:font-license-agreement:`::
+
--
The response to the license agreement prompt by https://www.fontist.org[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.

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

`: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]

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

`: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:`::
JavaScript scripts for HTML to PDF output.
Defaults to built-in scripts for the particular Metanorma flavour.
Overriding is not recommended.

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

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

`: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.

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

`: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.

`: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].

`: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 of a cross-reference rendered in the "short" style
[example]
"Clause 3.1.2"

`basic`::: the title of the clause is used as the cross-reference.
+
.Example of a cross-reference rendered in the "basic" style
[example]
"Other considerations"

`full`::: combines the title with the clause type/number cross-reference.
+
.Example of a cross-reference rendered in the "full" style
[example]
"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 of a cross-reference rendered in the "id" style
[example]
====
The following cross-reference:

[source,adoc]
----
[[my-anchor]]
=== My title
...

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

Renders the cross-reference as:

"my-anchor"
====


`: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:
`"&#x060; &#x060;"`, `'&#x060; &#x060;'`. The rules for smart formatting follow
the https://github.com/pbhogan/sterile[sterile] gem, and are given in
https://github.com/pbhogan/sterile/blob/main/lib/sterile/data/smart_format_rules.rb[smart_format_rules.rb].

`: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.

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

`: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.)

`: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].

`:sectionsplit:`::
(HTML output only) Treat the HTML output as a Metanorma collection,
with one web page per clause and annex [added in
https://github.com/metanorma/metanorma-standoc/releases/tag/v1.9.0].

`: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].

`: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
link:/author/topics/blocks/requirements-modspec/#identifier-base[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 fragemnts: `:block-unnumbered: sourcecode`.

== PDF protection and permissions

All the following attributes relate to protection of PDF files as described
in https://www.iso.org/standard/51502.html[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.
