Metanorma: Aequitate Verum

Clause and block-level attributes

An overview of all attributes used on the clause and block levels to influence how Metanorma builds the output.

Language and script

The language and script of a section is indicated via the optional attributes language and script:

[language=fr]
== Section 3

[appendix,script=Zmth]
== Math Appendix

Obligations

The obligation of a section — whether it is normative or informative — is indicated via the attribute obligation (see example below).

For most sections, this is fixed; for annexes and clauses, the default value of the obligation is "normative" and users need to set the obligation to "informative" as a section attribute if needed. For example:

[[AnnexA]]
[appendix,obligation=informative]
== Determination of defects

Type

Clauses can have types. In Metanorma, clause types are normally set internally (e.g. all clauses with the title "Scope" or heading= attribute "scope" are of type "scope").

The type of a clause can also be explicitly set by the user through the type attribute [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.7.4].

This is useful particularly for any semantic processing of the document downstream.

[type=reagents]
== Reagents

Numbering

As with block element numbering, a clause number may be provided to override auto-numbering.

For instance, in order to number out-of-sequence clauses in updated documents or amendments [added in https://github.com/metanorma/metanorma-standoc/releases/tag/v1.7.3].

A manual clause number is specified with the attribute number:

== Clause 7

[number=0]
=== Zeroth Subclause

Elements subsequent to the manually numbered element will be auto-numbered so as to follow the previous element. This may include incrementing the final letter in an alphanumeric clause number (e.g. 7a followed by 7b.)

If resumption of auto-numbering is not intended for subsequent clauses (e.g. 7bis should not be followed by 7bit), an explicit number also needs to be given to those clauses separately.

Inline headings

Inline subclause headings (e.g. for test methods) are indicated by preceding the heading with the [%inline-header] option attribute. So in the Rice Model document,

[%inline-header]
==== Sieve,

with round perforations of diameter 1,4 mm.

renders as

A.2.1.1. Sieve, with round perforations of diameter 1,4 mm.

Paragraph alignment

Paragraph alignment is defined as the align attribute for paragraphs.

Example 1. Examples of possible paragraph alignments
[align=left]
This paragraph is aligned left

[align=center]
This paragraph is aligned center

[align=right]
This paragraph is aligned right

[align=justified]
This paragraph is justified, which is the default

renders:

Illustration of possible paragraph alignments

If the paragraph contains line breaks, and the default alignment in the stylesheet is justified (as is often the case in Word output), it is necessary to specify [align=left] to make the paragraph look as normally expected.

Example 2. Example of a paragraph containing line breaks that needs to be left-aligned
[align=left]
Vache Equipment +
Fictitious +
World +
mailto:gehf@vacheequipment.fic[]

renders:

Illustration of left-alignment for multiple line-breaks