Skip to content

Line Tag Reference

Practice-line instructions appear in square brackets after practice content.

- Practice content [instruction:value]

Multiple instructions are separated with commas:

- Practice content [instruction:value, instruction:value]

Instructions can be combined as needed:

- ¿Qué desea? [front:waiter, v:L, back:customer, ans: "Quiero un café."]

Use ans to provide answer content:

[ans: "Answer"]

For example:

- ¿Cómo estás? [ans: "Estoy muy bien."]

An answer can also specify its language and voice:

[ans-en-N: "English answer"]
[ans-es-N: "Spanish answer"]

The general form is:

ans-LANGUAGE-VOICE

See Answers and Languages for details.

Use an empty thash to request a translation:

[thash:]

Without a language suffix, the target language defaults to English.

The target language can also be explicit:

[thash-en:]
[thash-es:]

After translation, the translated text is stored in a language-specific answer and thash contains a hash associated with the front:

- ¿Cómo estás? [thash:d7662631, ans-en-N: "How are you?"]

If the front changes, the hash no longer matches the front content, allowing Kx Toolbox to refresh the translation.

See Translation for details.

Use v to select a voice for practice content:

[v:H]
[v:L]
[v:N]

A language can also be specified with the voice:

[v:en-N]

For example:

- Vocabulary [v:en-N]

See Voices for details.

Use front and back to associate conversational roles with the two sides of a practice line:

[front:waiter]
[back:customer]

They can be combined:

[front:waiter, back:customer]

and used with an answer:

- ¿Qué desea? [front:waiter, back:customer, ans: "Quiero un café."]

Roles can change from line to line as participants take turns speaking.

See Roles for details.

Use vocab to associate pronunciation guidance with vocabulary:

[vocab: "ah-peh-YEE-doh"]

For example:

- apellido [vocab: "ah-peh-YEE-doh", ans: "surname"]

A vocabulary marker can also exist without pronunciation guidance:

[vocab:]

Pronunciation guidance can then be added later.

See Pronunciation for details.

Use visual to associate generated visual content with a practice line:

[visual:clock.01-15]

For example:

- ¿Qué hora es? [visual:clock.01-15]

A visual can be combined with an answer:

- ¿Qué hora es? [visual:clock.01-15, ans: "one fifteen"]

Visual families can accept different arguments:

[visual:clock.01-15]
[visual:numbers.1-100]
[visual:spelling.mississippi]
[visual:animals.cat]
[visual:calendar.12-01-73]

More advanced visual placement is evolving and is not included in this quick reference.

See Visuals for the currently documented behavior.

A Practice Set or practice line can use scene content.

For example:

[scene:clock.12-00]

Scene support is evolving. This reference intentionally keeps scene syntax at a high level while that model is being developed.

See Scenes for the current introduction.

Some generated content exposes values that can be substituted into answers.

A substitution uses this form:

${family.value}

For example, a generated number can be referenced as:

${numbers.number}

and used in an answer:

- ¿Qué número es? [ans-en-N: "The number is ${numbers.number}.", visual:numbers.1-100]

Other demonstrated substitutions include:

${calendar.date.en}
${calendar.date.es}
${animals.animal}
${spelling.letters}
${spelling.word}

The available substitutions depend on the generated content being used.

Several stable instructions can be used on the same line.

For example:

- Buenos días. [front:waiter, v:H, back:customer, ans-en-N: "Good morning."]

or:

- ¿Qué número es? [ans-en-N: "The number is ${numbers.number}.", visual:numbers.1-100]

Each instruction controls a separate part of the practice experience.

Kx Markdown v0.2.0