updated manual with new group types

This commit is contained in:
Louis Heredero 2024-10-05 01:52:31 +02:00
parent feff030510
commit 3bc103b9d7
Signed by: HEL
GPG Key ID: 8D83DE470F8544E7
4 changed files with 82 additions and 4 deletions

View File

@ -63,6 +63,45 @@ _grp("Group 1", desc: "Description", {
}) })
```) ```)
#let alt = example(```
_par("a", display-name: "Alice")
_par("b", display-name: "Bob")
_alt(
"first encounter", {
_seq("a", "b", comment: "Who are you ?")
_seq("b", "a", comment: "I'm Bob")
},
"know eachother", {
_seq("a", "b", comment: "Hello Bob")
_seq("b", "a", comment: "Hello Alice")
},
"best friends", {
_seq("a", "b", comment: "Hi !")
_seq("b", "a", comment: "Hi !")
}
)
```)
#let loop = example(```
_par("a", display-name: "Alice")
_par("b", display-name: "Bob")
_loop("default loop", {
_seq("a", "b", comment: "Are you here ?")
})
_gap()
_loop("min loop", min: 1, {
_seq("a", "b", comment: "Are you here ?")
})
_gap()
_loop("min-max loop", min: 1, max: 5, {
_seq("a", "b", comment: "Are you still here ?")
})
```)
#let sync = example(``` #let sync = example(```
_par("alice", display-name: "Alice") _par("alice", display-name: "Alice")
_par("bob", display-name: "Bob") _par("bob", display-name: "Bob")

View File

@ -2,7 +2,7 @@
/// #examples.grp /// #examples.grp
/// - name (content): The group's name /// - name (content): The group's name
/// - desc (none, content): Optional description /// - desc (none, content): Optional description
/// - type (str): The groups's type (unused for the moment) /// - type (str): The groups's type (should only be set through other functions like @@_alt() or @@_loop() )
/// - elmts (array): Elements inside the group (can be sequences, other groups, notes, etc.) /// - elmts (array): Elements inside the group (can be sequences, other groups, notes, etc.)
#let _grp( #let _grp(
name, name,
@ -11,9 +11,48 @@
elmts elmts
) = {} ) = {}
/// Synchronizes multiple sequences /// Creates an alt-else group of sequences
///
/// It contains at least one section but can have as many as needed
/// #examples.alt
/// - desc (content): The alt's label
/// - elmts (array): Elements inside the alt's first section
/// - ..args (content, array): Complementary "else" sections.\ You can add as many else sections as you need by passing a content (else section label) followed by an array of elements (see example)
#let _alt(
desc,
elmts,
..args
)
/// Creates a looped group of sequences
/// #examples.loop
/// - desc (content): Loop description
/// - min (none, number): Optional lower bound of the loop
/// - max (auto, number): Upper bound of the loop. If left as `auto` and `min` is set, it will be infinity (`'*'`)
/// - elmts (array): Elements inside the group
#let _loop(
desc,
min: none,
max: auto,
elmts
) = {}
/// Synchronizes multiple sequences\
/// All elements inside a synchronized group will start at the same time
/// #examples.sync /// #examples.sync
/// - elmts (array): Synchronized elements (generally sequences or notes) /// - elmts (array): Synchronized elements (generally sequences or notes)
#let _sync( #let _sync(
elmts elmts
) )
/// Creates an optional group\
/// This is a simple wrapper around @@_grp()
/// - desc (content): Group description
/// - elmts (array): Elements inside the group
#let _opt(desc, elmts) = {}
/// Creates a break group\
/// This is a simple wrapper around @@_grp()
/// - desc (content): Group description
/// - elmts (array): Elements inside the group
#let _break(desc, elmts) = {}

Binary file not shown.

View File

@ -183,7 +183,7 @@ chronos.diagram({
examples: examples examples: examples
) )
) )
#tidy.show-module(grp-docs, show-outline: false) #tidy.show-module(grp-docs, show-outline: false, sort-functions: none)
#pagebreak(weak: true) #pagebreak(weak: true)