using Tabulae, CitableParserBuilder
shareddir = joinpath(repo, "datasets", "core-infl-shared")
lat25dir = joinpath(repo, "datasets", "core-infl-lat25")
ds = dataset([shareddir, lat25dir])Formatting utilities
Tabulae includes utilities for formatting traditional paradigms in Markdown.
You can create paradigms from a lexeme and a Tabulae data set.
The current version of Tabulae does not yet support generating paradigms from a lexeme + a parser, but that option is planned for a subsequent release.
With a variable repo, we create a Tabulae dataset from sources in the project github repository’s datasets directory.
Noun declensions
All the formatting functions documented here return strings of Markdown text. The code snippets use the Markdown.parse method to return a Markdown.MD object that quarto documentation formats appropriately. This works in other contexts such as Pluto notebooks and the Julia REPL.
Format a paradigm for a single noun:
using Markdown
animus = LexemeUrn("ls.n2636")
md_declension(animus, ds) |> Markdown.parse| Singular | Plural | |
|---|---|---|
| nominative | animus | animi |
| genitive | animi | animorum |
| dative | animo | animis |
| accusative | animum | animos |
| ablative | animo | animis |
| vocative | anime | animi |
Format a paradigm for a list of nouns; optionally, include a list of headings to use for the column for each noun.
agricola = LexemeUrn("ls.n1626")
md_declension([agricola, animus], ds; headings = ["1st decl.", "2nd decl."]) |> Markdown.parse| 1st decl. | 2nd decl. | |
|---|---|---|
| singular | ||
| nominative | agricola | animus |
| genitive | agricolae | animi |
| dative | agricolae | animo |
| accusative | agricolam | animum |
| ablative | agricola | animo |
| vocative | agricola | anime |
| plural | ||
| nominative | agricolae | animi |
| genitive | agricolarum | animorum |
| dative | agricolis | animis |
| accusative | agricolas | animos |
| ablative | agricolis | animis |
| vocative | agricolae | animi |
Verb conjugations
Format a verb paradigm in the indicative and subjunctive of a single tense for both active and passive voices.
amo = LexemeUrn("ls.n2280")
impft = lmpTense("imperfect")
md_tenseconjugation(impft, amo, ds) |> Markdown.parseActive voice
| Indicative | Subjunctive | |
|---|---|---|
| first singular | amabam | amarem |
| second singular | amabas | amares |
| third singular | amabat | amaret |
| first plural | amabamus | amaremus |
| second plural | amabatis | amaretis |
| third plural | amabant | amarent |
Passive voice
| Indicative | Subjunctive | |
|---|---|---|
| first singular | amabar | amarer |
| second singular | amabaris, amabare | amareris, amarere |
| third singular | amabatur | amaretur |
| first plural | amabamur | amaremur |
| second plural | amabamini | amaremini |
| third plural | amabantur | amarentur |
An entire verb:
md_verb_conjugation(amo, ds) |> Markdown.parsePresent system
Present tense
Active voice
| Indicative | Subjunctive | |
|---|---|---|
| first singular | amo | amem |
| second singular | amas | ames |
| third singular | amat | amet |
| first plural | amamus | amemus |
| second plural | amatis | ametis |
| third plural | amant | ament |
Passive voice
| Indicative | Subjunctive | |
|---|---|---|
| first singular | amor | amer |
| second singular | amaris, amare | ameris, amere |
| third singular | amatur | ametur |
| first plural | amamur | amemur |
| second plural | amamini | amemini |
| third plural | amantur | amentur |
Imperative
| Singular | Plural | |
|---|---|---|
| active | ama | amate |
| passive | amare | amamini |
Infinitives
active: amare
passive: amari
Participles
active: amans, amans, amans
Imperfect tense
Active voice
| Indicative | Subjunctive | |
|---|---|---|
| first singular | amabam | amarem |
| second singular | amabas | amares |
| third singular | amabat | amaret |
| first plural | amabamus | amaremus |
| second plural | amabatis | amaretis |
| third plural | amabant | amarent |
Passive voice
| Indicative | Subjunctive | |
|---|---|---|
| first singular | amabar | amarer |
| second singular | amabaris, amabare | amareris, amarere |
| third singular | amabatur | amaretur |
| first plural | amabamur | amaremur |
| second plural | amabamini | amaremini |
| third plural | amabantur | amarentur |