Compare commits

...

3 Commits

Author SHA1 Message Date
Greg Shuflin
26e0bbdab6 Flesh out full linguistics abbreviation chart 2023-07-10 02:44:03 -07:00
Greg Shuflin
ffec36460d Simplify how tracking abbreviations works 2023-07-10 02:23:15 -07:00
Greg Shuflin
c45e645b1a Concision 2023-07-10 02:19:57 -07:00
4 changed files with 177 additions and 175 deletions

View File

@ -13,4 +13,10 @@ The #p1 pronoun in Spanish is "yo"
The #p2 pronoun in Spanish is "tu" The #p2 pronoun in Spanish is "tu"
The #ABL case exists in Latin. The #abl case exists in Latin.
I use #acc for breakfast
#all case best casea
#voc best case

Binary file not shown.

View File

@ -65,7 +65,7 @@ for common glossing abbreviations:
#gloss( #gloss(
source_text: ([I'm], [eat-ing], [your], [head]), source_text: ([I'm], [eat-ing], [your], [head]),
source_text_style: (item) => text(fill: red)[#item], source_text_style: (item) => text(fill: red)[#item],
morphemes: ([1#sg.#sbj\=to.be], [eat-#prog], [2#sg.#pos], [head]), morphemes: ([1#sg.#sbj\=to.be], [eat-#prog], [2#sg.#poss], [head]),
morphemes_style: text.with(fill: blue), morphemes_style: text.with(fill: blue),
translation: text(weight: "semibold")[I'm eating your head!], translation: text(weight: "semibold")[I'm eating your head!],
) )
@ -174,7 +174,7 @@ way will override any contradictory line-level formatting.
header_text_style: text.with(weight: "bold", fill: green), header_text_style: text.with(weight: "bold", fill: green),
source_text: (text(fill:black)[I'm], [eat-ing], [your], [head]), source_text: (text(fill:black)[I'm], [eat-ing], [your], [head]),
source_text_style: text.with(style: "italic", fill: red), source_text_style: text.with(style: "italic", fill: red),
morphemes: ([1#sg.#sbj\=to.be], text(fill:black)[eat-#prog], [2#sg.#pos], [head]), morphemes: ([1#sg.#sbj\=to.be], text(fill:black)[eat-#prog], [2#sg.#poss], [head]),
morphemes_style: text.with(fill: blue), morphemes_style: text.with(fill: blue),
translation: text(weight: "bold")[I'm eating your head!], translation: text(weight: "bold")[I'm eating your head!],
) )
@ -185,7 +185,7 @@ way will override any contradictory line-level formatting.
header_text_style: text.with(weight: "bold", fill: green), header_text_style: text.with(weight: "bold", fill: green),
source_text: (text(fill:black)[I'm], [eat-ing], [your], [head]), source_text: (text(fill:black)[I'm], [eat-ing], [your], [head]),
source_text_style: text.with(style: "italic", fill: red), source_text_style: text.with(style: "italic", fill: red),
morphemes: ([1#sg.#sbj\=to.be], text(fill:black)[eat-#prog], [2#sg.#pos], [head]), morphemes: ([1#sg.#sbj\=to.be], text(fill:black)[eat-#prog], [2#sg.#poss], [head]),
morphemes_style: text.with(fill: blue), morphemes_style: text.with(fill: blue),
translation: text(weight: "bold")[I'm eating your head!], translation: text(weight: "bold")[I'm eating your head!],
) )

View File

@ -6,18 +6,89 @@
"A": "agent-like argument of canonical transitive verb", "A": "agent-like argument of canonical transitive verb",
"ABL": "ablative", "ABL": "ablative",
"ABS": "absolutive", "ABS": "absolutive",
"ACC": "accusative",
"ADJ": "adjective",
"ADV": "adverb(ial)",
"AGR": "agreement",
"ALL": "allative",
"ANTIP": "antipassive",
"APPL": "applicative",
"ART": "article",
"AUX": "auxiliary",
"BEN": "benefactive",
"CAUS": "causative",
"CLF": "classifier",
"COM": "comitative",
"COMP": "complementizer",
"COMPL": "completive",
"COND": "conditional",
"COP": "copula",
"CVB": "converb",
"DAT": "dative",
"DECL": "declarative",
"DEF": "definite",
"DEM": "demonstrative",
"DET": "determiner",
"DIST": "distal",
"DISTR": "distributive",
"DU": "dual",
"DUR": "durative",
"ERG": "ergative",
"EXCL": "exclusive",
"F": "feminine",
"FOC": "focus",
"FUT": "future",
"GEN": "genitive",
"IMP": "imperative",
"INCL": "inclusive",
"IND": "indicative",
"INDF": "indefinite",
"INF": "infinitive",
"INS": "instrumental",
"INTR": "intransitive",
"IPFV": "imperfective",
"IRR": "irrealis",
"LOC": "locative",
"M": "masculine",
"N": "neuter",
"N-": "non- (e.g. NSG nonsingular, NPST nonpast)",
"NEG": "negation, negative",
"NMLZ": "nominalizer/nominalization",
"NOM": "nominative",
"OBJ": "object",
"OBL": "oblique",
"P": "patient-like argument of canonical transitive verb",
"PASS": "passive",
"PFV": "perfective",
"PL": "plural",
"POSS": "possessive",
"PRED": "predicative",
"PRF": "perfect",
"PRS": "present",
"PROG": "progressive",
"PROH": "prohibitive",
"PROX": "proximal/proximate",
"PST": "past",
"PTCP": "participle",
"PURP": "purposive",
"Q": "question particle/marker",
"QUOT": "quotative",
"RECP": "reciprocal",
"REFL": "reflexive",
"REL": "relative",
"RES": "resultative",
"S": "single argument of canonical intransitive verb",
"SBJ": "subject",
"SBJV": "subjunctive",
"SG": "singular",
"TOP": "topic",
"TR": "transitive",
"VOC": "vocative",
) )
#let used_fields = (
"1": false,
"2": false,
"3": false,
"A": false,
"ABL": false,
"ABS": false,
)
#let used_abbreviations = state("used-abbreviations", used_fields) #let used_abbreviations = state("used-abbreviations", (:))
#let print_usage_chart = { #let print_usage_chart = {
locate(loc => { locate(loc => {
let final_used_abbreviations = used_abbreviations.final(loc) let final_used_abbreviations = used_abbreviations.final(loc)
@ -43,171 +114,96 @@
//Appendix: List of Standard Abbreviations //Appendix: List of Standard Abbreviations
#let p1 = { #let mark_used(symbol) = {
used_abbreviations.update(cur => { used_abbreviations.update(cur => {
cur.at("1") = true cur.insert(symbol, true)
cur cur
}) })
smallcaps[1]
} }
#let p2 = { #let p1 = { mark_used("1"); smallcaps[1] }
used_abbreviations.update(cur => { #let p2 = { mark_used("2"); smallcaps[2] }
cur.at("2") = true #let p3 = { mark_used("3"); smallcaps[3] }
cur #let A = { mark_used("A"); smallcaps[a] }
}) #let abl = { mark_used("ABL"); smallcaps[abl] }
smallcaps[2] #let abs = { mark_used("ABS");smallcaps[abs] }
} #let acc = { mark_used("ACC");smallcaps[acc] }
#let adj = { mark_used("ADJ"); smallcaps[adj] }
#let adv = { mark_used("ADV"); smallcaps[adv] }
#let agr = { mark_used("AGR"); smallcaps[agr] }
#let all = { mark_used("ALL"); smallcaps[all] }
#let antip = { mark_used("ANTIP"); smallcaps[antip] }
#let appl = { mark_used("APPL"); smallcaps[appl] }
#let art = { mark_used("ART"); smallcaps[art] }
#let aux = { mark_used("AUX"); smallcaps[aux] }
#let ben = { mark_used("BEN"); smallcaps[ben] }
#let caus = { mark_used("CAUS"); smallcaps[caus] }
#let clf = { mark_used("CLF"); smallcaps[clf] }
#let com = { mark_used("COM"); smallcaps[com] }
#let comp = { mark_used("COMP"); smallcaps[comp] }
#let compl = { mark_used("COMPL"); smallcaps[compl] }
#let cond = { mark_used("COND"); smallcaps[cond] }
#let cop = { mark_used("COP"); smallcaps[cop] }
#let cvb = { mark_used("CVB"); smallcaps[cvb] }
#let dat = { mark_used("DAT"); smallcaps[dat] }
#let decl = { mark_used("DECL"); smallcaps[decl] }
#let def = { mark_used("DEF"); smallcaps[def] }
#let dem = { mark_used("DEM"); smallcaps[dem] }
#let det = { mark_used("DET"); smallcaps[det] }
#let dist = { mark_used("DIST"); smallcaps[dist] }
#let distr = { mark_used("DISTR"); smallcaps[distr] }
#let du = { mark_used("DU"); smallcaps[du] }
#let dur = { mark_used("DUR"); smallcaps[dur] }
#let erg = { mark_used("ERG"); smallcaps[erg] }
#let excl = { mark_used("EXCL"); smallcaps[excl] }
#let f = { mark_used("F"); smallcaps[f] }
#let foc = { mark_used("FOC"); smallcaps[foc] }
#let fut = { mark_used("FUT"); smallcaps[fut] }
#let gen = { mark_used("GEN"); smallcaps[gen] }
#let imp = { mark_used("IMP"); smallcaps[imp] }
#let incl = { mark_used("INCL"); smallcaps[incl] }
#let ind = { mark_used("IND"); smallcaps[ind] }
#let indf = { mark_used("INDF"); smallcaps[indf] }
#let inf = { mark_used("INF"); smallcaps[inf] }
#let ins = { mark_used("INS"); smallcaps[ins] }
#let intr = { mark_used("INTR"); smallcaps[intr] }
#let ipfv = { mark_used("IPFV"); smallcaps[ipfv] }
#let irr = { mark_used("IRR"); smallcaps[irr] }
#let loc = { mark_used("LOC"); smallcaps[loc] }
#let m = { mark_used("M"); smallcaps[m] }
#let n = { mark_used("N"); smallcaps[n] }
//TODO special handling?
//#let n- = { mark_used("N-"); smallcaps[n-] }
#let neg = { mark_used("NEG"); smallcaps[neg] }
#let nmlz = { mark_used("NMLZ"); smallcaps[nmlz] }
#let nom = { mark_used("NOM"); smallcaps[nom] }
#let obj = { mark_used("OBJ"); smallcaps[obj] }
#let obl = { mark_used("OBL"); smallcaps[obl] }
#let P = { mark_used("P"); smallcaps[p] }
#let pass = { mark_used("PASS"); smallcaps[pass] }
#let pfv = { mark_used("PFV"); smallcaps[pfv] }
#let pl = { mark_used("PL"); smallcaps[pl] }
#let poss = { mark_used("POSS"); smallcaps[poss] }
#let pred = { mark_used("PRED"); smallcaps[pred] }
#let prf = { mark_used("PRF"); smallcaps[prf] }
#let prs = { mark_used("PRS"); smallcaps[prs] }
#let prog = { mark_used("PROG"); smallcaps[prog] }
#let proh = { mark_used("PROH"); smallcaps[proh] }
#let prox = { mark_used("PROX"); smallcaps[prox] }
#let pst = { mark_used("PST"); smallcaps[pst] }
#let ptcp = { mark_used("PTCP"); smallcaps[ptcp] }
#let purp = { mark_used("PURP"); smallcaps[purp] }
#let q = { mark_used("Q"); smallcaps[q] }
#let quot = { mark_used("QUOT"); smallcaps[quot] }
#let recp = { mark_used("RECP"); smallcaps[recp] }
#let refl = { mark_used("REFL"); smallcaps[refl] }
#let rel = { mark_used("REL"); smallcaps[rel] }
#let res = { mark_used("RES"); smallcaps[res] }
#let s = { mark_used("S"); smallcaps[s] }
#let sbj = { mark_used("SBJ"); smallcaps[sbj] }
#let sbjv = { mark_used("SBJV"); smallcaps[sbjv] }
#let sg = { mark_used("SG"); smallcaps[sg] }
#let top = { mark_used("TOP"); smallcaps[top] }
#let tr = { mark_used("TR"); smallcaps[tr] }
#let voc = { mark_used("VOC"); smallcaps[voc] }
#let p3 = {
used_abbreviations.update(cur => {
cur.at("3") = true
cur
})
smallcaps[3]
}
#let A = {
used_abbreviations.update(cur => {
cur.at("A") = true
cur
})
smallcaps[A]
}
#let ABL = {
used_abbreviations.update(cur => {
cur.at("ABL") = true
cur
})
smallcaps[abl]
}
#let ABS = {
used_abbreviations.update(cur => {
cur.at("ABS") = true
cur
})
smallcaps[ABS]
}
/*
ABL ablative
ABS absolutive
ACC accusative
ADJ adjective
ADV adverb(ial)
AGR agreement
ALL allative
ANTIP antipassive
APPL applicative
ART article
AUX auxiliary
BEN benefactive
*/
#let all = smallcaps([all])
#let art = smallcaps([art])
/*
CAUS causative
CLF classifier
COM comitative
COMP complementizer
COMPL completive
COND conditional
COP copula
CVB converb
DAT dative
DECL declarative
DEF definite
DEM demonstrative
DET determiner
DIST distal
*/
#let com = smallcaps([com])
#let dat = smallcaps([dat])
/*
DISTR distributive
DU dual
DUR durative
ERG ergative
EXCL exclusive
F feminine
FOC focus
FUT future
GEN genitive
IMP imperative
INCL inclusive
IND indicative
INDF indefinite
INF infinitive
INS instrumental
INTR intransitive
IPFV imperfective
*/
#let du = smallcaps([du])
#let fut = smallcaps([fut])
#let gen = smallcaps([gen])
#let inf = smallcaps([inf])
#let ins = smallcaps([ins])
/*
IRR irrealis
LOC locative
M masculine
N neuter
N- non- (e.g. NSG nonsingular, NPST nonpast)
NEG negation, negative
NMLZ nominalizer/nominalization
NOM nominative
OBJ object
OBL oblique
P patient-like argument of canonical transitive verb
PASS passive
PFV perfective
PL plural
*/
#let obl = smallcaps([obl])
#let neg = smallcaps([neg])
#let obj = smallcaps([obj])
#let pl = smallcaps([pl])
/*
POSS possessive
PRED predicative
PRF perfect
PRS present
PROG progressive
PROH prohibitive
PROX proximal/proximate
PST past
PTCP participle
PURP purposive
Q question particle/marker
QUOT quotative
RECP reciprocal
REFL reflexive
*/
#let P = smallcaps([p])
#let pos = smallcaps([pos])
#let prog = smallcaps([prog])
#let pst = smallcaps([pst])
/*
REL relative
RES resultative
S single argument of canonical intransitive verb
SBJ subject
SBJV subjunctive
SG singular
TOP topic
TR transitive
VOC vocative
*/
#let sg = smallcaps([sg])
#let sbj = smallcaps([sbj])