continue rewrite
This commit is contained in:
@ -1,4 +1,4 @@
|
|||||||
#import "/templates/article.typ": setup, gloss, low, high, dictionary, figure, ref
|
#import "/templates/article.typ": setup, gloss, low, high, dictionary, figure, ref, xtable
|
||||||
|
|
||||||
#let opts = (
|
#let opts = (
|
||||||
title: "Mosici",
|
title: "Mosici",
|
||||||
@ -6,7 +6,6 @@
|
|||||||
make-pdf: true
|
make-pdf: true
|
||||||
)
|
)
|
||||||
#let doc(p) = [
|
#let doc(p) = [
|
||||||
#set heading(numbering: "1.")
|
|
||||||
#show: setup
|
#show: setup
|
||||||
|
|
||||||
*Mosici* ( [ãmoziciç eʎa]) is a Nielf languages spoken in the confederation of the eastern isles.
|
*Mosici* ( [ãmoziciç eʎa]) is a Nielf languages spoken in the confederation of the eastern isles.
|
||||||
@ -22,28 +21,28 @@ This page mostly treats of the Cairneshalese (of
|
|||||||
Mosici has the phonemes described in #ref(p+"consonants") and #ref(p+"vowels").
|
Mosici has the phonemes described in #ref(p+"consonants") and #ref(p+"vowels").
|
||||||
#figure(
|
#figure(
|
||||||
caption: [Mosici consonants],
|
caption: [Mosici consonants],
|
||||||
table(columns: 5,
|
xtable(columns: 5,
|
||||||
table.header[][Labial][Coronal][Palatal][Dorsal],
|
table.header[][Labial][Coronal][Palatal][Dorsal],
|
||||||
strong[Nasal], [m], [n], [], [],
|
[Nasal], [m], [n], [], [],
|
||||||
strong[Plosive], [p], [t], [], [k],
|
[Plosive], [p], [t], [], [k],
|
||||||
strong[Fricative], [f v], [s z], [ʃ ʒ], [ʀ],
|
[Fricative], [f v], [s z], [ʃ ʒ], [ʀ],
|
||||||
strong[Approximant], [w], [], [j], [ʟ],
|
[Approximant], [w], [], [j], [ʟ],
|
||||||
),
|
),
|
||||||
label: p+"consonants",
|
label: p+"consonants",
|
||||||
)
|
)
|
||||||
#figure(
|
#figure(
|
||||||
caption: [Mosici vowels],
|
caption: [Mosici vowels],
|
||||||
table(columns: 4,
|
xtable(columns: 4,
|
||||||
table.header(
|
table.header(
|
||||||
table.cell(rowspan: 2)[],
|
table.cell(rowspan: 2)[],
|
||||||
table.cell(colspan: 2)[Front],
|
table.cell(colspan: 2)[Front],
|
||||||
table.cell(rowspan: 2)[Back],
|
table.cell(rowspan: 2)[Back],
|
||||||
[Unrounded], [Rounded]
|
[Unrounded], [Rounded]
|
||||||
),
|
),
|
||||||
strong[Close], [i], [u], [y],
|
[Close], [i], [u], [y],
|
||||||
strong[Close-Mid], [e], [ø], [o],
|
[Close-Mid], [e], [ø], [o],
|
||||||
strong[Open-Mid], [ɛ], [], [ɔ],
|
[Open-Mid], [ɛ], [], [ɔ],
|
||||||
strong[Open], [a], [], []
|
[Open], [a], [], []
|
||||||
),
|
),
|
||||||
label: p + "vowels"
|
label: p + "vowels"
|
||||||
)
|
)
|
||||||
@ -82,18 +81,18 @@ The sound change proceeds in 4 steps:
|
|||||||
+ Merge any remaining /V#sub[1];.V#sub[2]/ pairs as per #ref(p+"coal").
|
+ Merge any remaining /V#sub[1];.V#sub[2]/ pairs as per #ref(p+"coal").
|
||||||
|
|
||||||
#figure(caption: [Mosici vowel coalescence (values in IPA)],
|
#figure(caption: [Mosici vowel coalescence (values in IPA)],
|
||||||
table(
|
xtable(
|
||||||
columns: 10,
|
columns: 10,
|
||||||
table.header[V#sub[2]#sym.arrow\ V#sub[1]#sym.arrow.b][a][ɛ][ɔ][e][ø][o][i][y][u],
|
table.header[V#sub[2]#sym.arrow\ V#sub[1]#sym.arrow.b][a][ɛ][ɔ][e][ø][o][i][y][u],
|
||||||
strong[a], [ɔ], [a], [ɔ], [ɛ], [ɛ], [ɔ], [e], [ø], [o],
|
[a], [ɔ], [a], [ɔ], [ɛ], [ɛ], [ɔ], [e], [ø], [o],
|
||||||
strong[ɛ], [ɛ], [i], [ø], [i], [e], [ø], [i], [ø], [ø],
|
[ɛ], [ɛ], [i], [ø], [i], [e], [ø], [i], [ø], [ø],
|
||||||
strong[ɔ], [ɔ], [ø], [ɔ], [ø], [ø], [o], [ø], [ø], [o],
|
[ɔ], [ɔ], [ø], [ɔ], [ø], [ø], [o], [ø], [ø], [o],
|
||||||
strong[e], [ɛ], [i], [ø], [i], [e], [ø], [i], [ø], [ø],
|
[e], [ɛ], [i], [ø], [i], [e], [ø], [i], [ø], [ø],
|
||||||
strong[ø], [ø], [e], [ø], [e], [y], [o], [y], [y], [y],
|
[ø], [ø], [e], [ø], [e], [y], [o], [y], [y], [y],
|
||||||
strong[o], [ɔ], [ø], [o], [ø], [ø], [u], [ø], [ø], [u],
|
[o], [ɔ], [ø], [o], [ø], [ø], [u], [ø], [ø], [u],
|
||||||
strong[i], [ja], [jɛ], [jɔ], [je], [jø], [jo], [i], [jy], [ju],
|
[i], [ja], [jɛ], [jɔ], [je], [jø], [jo], [i], [jy], [ju],
|
||||||
strong[a], [ø], [ø], [ø], [ø], [y], [ø], [i], [i], [y],
|
[a], [ø], [ø], [ø], [ø], [y], [ø], [i], [i], [y],
|
||||||
strong[u], [wa], [wɛ], [wɔ], [we], [wø], [wo], [wi], [y], [u],
|
[u], [wa], [wɛ], [wɔ], [we], [wø], [wo], [wi], [y], [u],
|
||||||
),
|
),
|
||||||
label: p+"coal"
|
label: p+"coal"
|
||||||
)
|
)
|
||||||
@ -154,7 +153,7 @@ Nouns are declined according to 7 gramatical cases: 5 simple cases --- agent, pa
|
|||||||
Mosici inflects according to a split-active morpho-syntactic system: Transitive agents are inflected like agent-like intransitive subjects, and transitive patients are inflected like patient-like intransitive subjects. Whether an intransitive clause takes an agent form or a patient form depends on the verb, divided along somewhat semantic lines
|
Mosici inflects according to a split-active morpho-syntactic system: Transitive agents are inflected like agent-like intransitive subjects, and transitive patients are inflected like patient-like intransitive subjects. Whether an intransitive clause takes an agent form or a patient form depends on the verb, divided along somewhat semantic lines
|
||||||
|
|
||||||
#figure(caption: [Mosici eclension patterns],
|
#figure(caption: [Mosici eclension patterns],
|
||||||
table(columns: 8,
|
xtable(columns: 8,
|
||||||
table.header[][∅][][][][][][],
|
table.header[][∅][][][][][][],
|
||||||
[Agent], [],[],[],[],[],[],[],
|
[Agent], [],[],[],[],[],[],[],
|
||||||
[Patient], table.cell(colspan: 7)[],
|
[Patient], table.cell(colspan: 7)[],
|
||||||
@ -310,8 +309,79 @@ The spatial locative #low[SPLOC] is used to indicate a position in space. It is
|
|||||||
|
|
||||||
|
|
||||||
==== Temporal Locative
|
==== Temporal Locative
|
||||||
=== Proper noun enclitic
|
|
||||||
|
There are four temporal locatives: past, present, future and gnomic #low[TMPLOC.PST, TMPLOC.PRS, TMPLOC.FUT, TMPLOC.GNO]. The past case (resp. present and future) is used, as its name indicates, to locate events that happened in the past (resp. present and future). The gnomic case locates events that are either generally happening, happening at an unknown point in time, or happening repeatedly.
|
||||||
|
|
||||||
|
The past case (resp. present, future, gnomic) are indicated by expressing the noun in the patient case followed by the particle ⟨anip⟩ (resp ⟨anep⟩, ⟨anop⟩ and ⟨anap⟩). however those are pronounced as there was no word boundary between the word and the particle. In particular it doesn't cause the lenition of the final of the patient marking.
|
||||||
|
|
||||||
|
Note that the present spatial locative is rarely used outside of set phrases like "today" or "now". Another common phrase using the gnomic temporal locative is "at some point".
|
||||||
|
|
||||||
|
#gloss(
|
||||||
|
[Present temporal locative],
|
||||||
|
txt: [#high[ ] ],
|
||||||
|
translit: [#high[fint anep] marefess.],
|
||||||
|
split: (high[fin], high[-t anep], [maref], [-ess]),
|
||||||
|
phono: (high[\[vẽ], high[-dãnɛh], [maʀɛv], [-ɛs]),
|
||||||
|
morphemes: (high[day], high[-TMPLOC.PRES], [be\_cold], [-PRES.3SG.INAN]),
|
||||||
|
translation: [It's cold #high[today]]
|
||||||
|
)
|
||||||
|
#gloss(
|
||||||
|
[Past temporal locative],
|
||||||
|
txt: [ #high[ ] ],
|
||||||
|
translit: [il #high[fionreit anip] cirtalin.],
|
||||||
|
split: ([il], high[fionre], high[-i], high[-t anip], [cirtal], [-in]),
|
||||||
|
phono: ([\[eɥ], high[vjõʀ], high[\\i], high[-taneh], [keɐ̯daʎ], [ẽ\]]),
|
||||||
|
morphemes: ([1SG.AGE], high[eat], high[-PAST.INF], high[-TMPLOC.PAST], [write], [-PAST.2SG]),
|
||||||
|
translation: [#high[When I ate], you#sub(low[SG]) wrote.]
|
||||||
|
)
|
||||||
|
#gloss(
|
||||||
|
[Future temporal locative],
|
||||||
|
txt: [ #high[ ] ],
|
||||||
|
translit: [il #high[fionreot anop] cirtalon.],
|
||||||
|
split: ([il], high[fionre], high[-o], high[-t anop], [cirtal], [-on]),
|
||||||
|
phono: ([\[eɥ], high[vjõʀ], high[\\ø], high[-tanoh], [keɐ̯daʟ], [õ\]]),
|
||||||
|
morphemes: ([1SG.AGE], high[eat], high[-FUT.INF], high[-TMPLOC.FUT], [write], [-FUT.2SG]),
|
||||||
|
translation: [#high[When I’ll eat], you#sub(low[SG])'ll write.]
|
||||||
|
)
|
||||||
|
#gloss(
|
||||||
|
[Gnomic temporal locative],
|
||||||
|
txt: [ #high[ ] ],
|
||||||
|
translit: [il #high[fionreat anap] cirtalan.],
|
||||||
|
split: ([il], high[fionre], high[-a], high[-t anap], [cirtal], [-an]),
|
||||||
|
phono: ([\[eɥ], high[vjõʀ], high[\\ɛ], high[-tanah], [keɐ̯daʟ], [ã\]]),
|
||||||
|
morphemes: ([1SG.AGE], high[eat], high[-GNO.INF], high[-TMPLOC.GNO], [write], [-GNO.2SG]),
|
||||||
|
translation: [#high[Whenever I eat], you#sub(low[SG]) write.]
|
||||||
|
)
|
||||||
|
|
||||||
|
=== Proper noun clitic
|
||||||
|
|
||||||
|
Proper nouns that aren't personal names are always marked with the proper noun clitic . It is pronounced as expected [ã] in front of consonants, but is pronounced [ãt] in front of vowels (instead of the expected [ãn]).
|
||||||
|
|
||||||
|
The prefix --- which on proper nouns forms demonyms --- is attached before the proper noun clitic: gives not \* or \*. The plural of thus-formed demonyms is also marked on the anclitic: the plural form of is and not \*.
|
||||||
|
|
||||||
== Pronouns
|
== Pronouns
|
||||||
|
|
||||||
|
Mosici has a personal pronouns for all persons distninguishing in number, and in animacy for the 3rd person (see #ref(p + "pronouns"))
|
||||||
|
|
||||||
|
|
||||||
|
#figure(caption: [Mosici pronouns], label: p+"pronouns", xtable(
|
||||||
|
columns: 6,
|
||||||
|
table.header[][AGE][PAT][GEN][DAT][ABL],
|
||||||
|
[1SG],[\ #low[il]], [\ #low[ilt]], [\ #low[ilc]], [\ #low[ilssi]], [\ #low[ilfia]],
|
||||||
|
[1PL],[\ #low[íl]], [\ #low[ílt]], [\ #low[ílc]], [\ #low[ílssi]], [\ #low[ílfia]],
|
||||||
|
[2SG],[\ #low[el]], [\ #low[elt]], [\ #low[elc]], [\ #low[elssi]], [\ #low[elfia]],
|
||||||
|
[2SG],[\ #low[él]], [\ #low[élt]], [\ #low[élc]], [\ #low[élssi]], [\ #low[élfia]],
|
||||||
|
[3SG.AN],[\ #low[ie]], [\ #low[iet]], [\ #low[iec]], [\ #low[iessi]], [\ #low[iefia]],
|
||||||
|
[3PL.AN],[\ #low[ié]], [\ #low[iét]], [\ #low[iéc]], [\ #low[iéssi]], [\ #low[iéfia]],
|
||||||
|
[3SG.INAN],[\ #low[ain]], [\ #low[aint]], [\ #low[ainc]], [\ #low[ainssi]], [\ #low[ainfia]],
|
||||||
|
[3PL.INAN],[\ #low[aín]], [\ #low[aínt]], [\ #low[aínc]], [\ #low[aínssi]], [\ #low[aínfia]],
|
||||||
|
[DEM.SG],[\ #low[mpa]], [\ #low[mpat]], [\ #low[mpac]], [\ #low[mpassi]], [\ #low[mpafia]],
|
||||||
|
[DEM.PL],[\ #low[mpá]], [\ #low[mpát]], [\ #low[mpác]], [\ #low[mpássi]], [\ #low[mpáfia]],
|
||||||
|
[Q],[\ #low[aótss]], [\ #low[aót]], [\ #low[aóc]], [\ #low[aótssi]], [\ #low[aófia]],
|
||||||
|
))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
== Verbs
|
== Verbs
|
||||||
=== Aspect, mood ⁊ related nonsense
|
=== Aspect, mood ⁊ related nonsense
|
||||||
==== Conditional
|
==== Conditional
|
||||||
|
|||||||
12
root.typ
12
root.typ
@ -53,15 +53,18 @@
|
|||||||
})
|
})
|
||||||
[#metadata(none) #std.label(page-slug + "--end")]
|
[#metadata(none) #std.label(page-slug + "--end")]
|
||||||
if not opts.at("no-toc", default: false) {
|
if not opts.at("no-toc", default: false) {
|
||||||
aside(outline(
|
aside(details(open: true, {
|
||||||
|
summary(strong[Contents])
|
||||||
|
outline(title: none,
|
||||||
target: heading.where(level: 1)
|
target: heading.where(level: 1)
|
||||||
.or(heading.where(level: 2))
|
.or(heading.where(level: 2))
|
||||||
.or(heading.where(level: 3))
|
.or(heading.where(level: 3))
|
||||||
.or(heading.where(level: 4))
|
.or(heading.where(level: 4))
|
||||||
.or(heading.where(level: 5))
|
.or(heading.where(level: 5))
|
||||||
.after(std.label(page-slug + "--start"))
|
.after(std.label(page-slug + "--start"))
|
||||||
.before(std.label(page-slug + "--end"))
|
.before(std.label(page-slug + "--end")))
|
||||||
))}
|
}))
|
||||||
|
}
|
||||||
})
|
})
|
||||||
if not opts.at("no-foot", default: false) {
|
if not opts.at("no-foot", default: false) {
|
||||||
footer[
|
footer[
|
||||||
@ -95,6 +98,9 @@
|
|||||||
#link(site-root + page + ".html", raw(page)) on #site-name as of
|
#link(site-root + page + ".html", raw(page)) on #site-name as of
|
||||||
#datetime.today().display("[year]-[month]-[day]").
|
#datetime.today().display("[year]-[month]-[day]").
|
||||||
#show figure.where(kind: table): set figure(placement: bottom )
|
#show figure.where(kind: table): set figure(placement: bottom )
|
||||||
|
#show strong: set text(weight: 900)
|
||||||
|
#show heading: set text(weight: 900)
|
||||||
|
#show table.header: set text(weight: 900)
|
||||||
#line(length: 100%, stroke: gray)
|
#line(length: 100%, stroke: gray)
|
||||||
|
|
||||||
#title()
|
#title()
|
||||||
|
|||||||
@ -896,7 +896,7 @@
|
|||||||
/* Dark colorscheme*/
|
/* Dark colorscheme*/
|
||||||
--d-bg: #1d2021;
|
--d-bg: #1d2021;
|
||||||
--d-fg: #fbf1c7;
|
--d-fg: #fbf1c7;
|
||||||
--d-bg-accent: #504945;
|
--d-bg-accent: #3c3836;
|
||||||
--d-fg-inactive: #bdae93;
|
--d-fg-inactive: #bdae93;
|
||||||
--d-fg-accent: #fe8019;
|
--d-fg-accent: #fe8019;
|
||||||
--d-fg-error: #fb4934;
|
--d-fg-error: #fb4934;
|
||||||
@ -993,6 +993,9 @@ footer {
|
|||||||
width: calc(100% - 20em);
|
width: calc(100% - 20em);
|
||||||
}
|
}
|
||||||
aside {
|
aside {
|
||||||
|
position: -webkit-sticky; /* Safari */
|
||||||
|
position: sticky;
|
||||||
|
top: 0;
|
||||||
margin: 10pt, 10pt, 10pt, 0pt;
|
margin: 10pt, 10pt, 10pt, 0pt;
|
||||||
width: 20em;
|
width: 20em;
|
||||||
}
|
}
|
||||||
@ -1013,9 +1016,14 @@ main table {
|
|||||||
margin: 1em;
|
margin: 1em;
|
||||||
}
|
}
|
||||||
main td, main th {
|
main td, main th {
|
||||||
padding: 0em 1em;
|
padding: 0.25em 1em;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
main th, main td:has(strong)
|
||||||
|
{
|
||||||
|
background-color: light-dark(var(--l-bg-accent), var(--d-bg-accent));
|
||||||
|
}
|
||||||
|
|
||||||
main .low {
|
main .low {
|
||||||
color: light-dark(var(--l-fg-inactive), var(--d-fg-inactive));
|
color: light-dark(var(--l-fg-inactive), var(--d-fg-inactive));
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
|
|||||||
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
#let setup(doc) = multi-target(
|
#let setup(doc) = multi-target(
|
||||||
(body) => {
|
(body) => {
|
||||||
|
set heading(numbering: "A.I.1.a⟩")
|
||||||
show regex("[\u{e3e0}-\u{e3ff}]+(\s+[\u{e3e0}-\u{e3ff}]+)*"): {
|
show regex("[\u{e3e0}-\u{e3ff}]+(\s+[\u{e3e0}-\u{e3ff}]+)*"): {
|
||||||
html.span.with(class: "scr-nahan")
|
html.span.with(class: "scr-nahan")
|
||||||
}
|
}
|
||||||
@ -35,6 +36,7 @@
|
|||||||
body
|
body
|
||||||
},
|
},
|
||||||
(body) => {
|
(body) => {
|
||||||
|
set heading(numbering: "A.I.1.a.")
|
||||||
show regex("[\u{e3e0}-\u{e3ff}]+(\s+[\u{e3e0}-\u{e3ff}]+)*"): {
|
show regex("[\u{e3e0}-\u{e3ff}]+(\s+[\u{e3e0}-\u{e3ff}]+)*"): {
|
||||||
text.with(font: "AndikaAmbNaran")
|
text.with(font: "AndikaAmbNaran")
|
||||||
}
|
}
|
||||||
@ -171,3 +173,9 @@
|
|||||||
label: none,
|
label: none,
|
||||||
..args
|
..args
|
||||||
) = figure(kind: "gloss", supplement: "Example", gloss-raw(..args), caption: caption, label: label)
|
) = figure(kind: "gloss", supplement: "Example", gloss-raw(..args), caption: caption, label: label)
|
||||||
|
|
||||||
|
#let xtable(..args) = {
|
||||||
|
show table.cell.where(x: 0): strong
|
||||||
|
show table.cell.where(y: 0): strong
|
||||||
|
table(..args)
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user