Universe

Bring that RFC lingo to your everyday documents.

A Typst package that makes it easy to use the exact keywords, boilerplate, and definitions provided by BCP 14, RFC2119, and RFC8174. See the end of this README for an example of the output.

In the future, this package may include other RFC-related patterns which are applicable to a wide variety of everyday documents.

Usage

Import the package in your Typst document:

#import "@preview/rfc-vibe:0.1.0": *

Keywords

Use the keywords according to these examples:

#must              // renders as: MUST
#must-not          // renders as: MUST NOT
#required          // renders as: REQUIRED
#shall             // renders as: SHALL
#shall-not         // renders as: SHALL NOT
#should            // renders as: SHOULD
#should-not        // renders as: SHOULD NOT
#recommended       // renders as: RECOMMENDED
#not-recommended   // renders as: NOT RECOMMENDED
#may               // renders as: MAY
#optional          // renders as: OPTIONAL

For the rare situation when you want the keywords included in quotation marks, use the -quoted versions:

#must-quoted              // renders as: "MUST"
#must-not-quoted          // renders as: "MUST NOT"
#required-quoted          // renders as: "REQUIRED"
#shall-quoted             // renders as: "SHALL"
#shall-not-quoted         // renders as: "SHALL NOT"
#should-quoted            // renders as: "SHOULD"
#should-not-quoted        // renders as: "SHOULD NOT"
#recommended-quoted       // renders as: "RECOMMENDED"
#not-recommended-quoted   // renders as: "NOT RECOMMENDED"
#may-quoted               // renders as: "MAY"
#optional-quoted          // renders as: "OPTIONAL"

Boilerplate

According to RFC8174, authors who follow these guidelines should incorporate a specific phrase near the beginning of their document. Include this boilerplate text with:

#rfc-keyword-boilerplate

This will render as:

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when,
and only when, they appear in all capitals, as shown here.

Definitions

Although not required (and maybe discouraged), you can include definitions of individual keywords in your document:

#rfc-keyword-must-definition
#rfc-keyword-must-not-definition
#rfc-keyword-should-definition
#rfc-keyword-should-not-definition
#rfc-keyword-may-definition

Or include all keyword definitions at once with:

#rfc-keyword-definitions

Example Output

Example output

License

This project is licensed under the MIT License. See the LICENSE file for details.