// See https://www.eva.mpg.de/lingua/resources/glossing-rules.php #let standard_abbreviations = ( "1": "first person", "2": "second person", "3": "third person", "A": "agent-like argument of canonical transitive verb", "ABL": "ablative", "ABS": "absolutive", ) #let used_fields = ( "1": false, "2": false, "3": false, "A": false, "ABL": false, "ABS": false, ) #let used_abbreviations = state("used-abbreviations", used_fields) #let print_usage_chart = { locate(loc => { let final_used_abbreviations = used_abbreviations.final(loc) for (key, value) in final_used_abbreviations { [#key was used: #value] linebreak() } linebreak() for (key, value) in final_used_abbreviations { if value { let desc = standard_abbreviations.at(key) [#smallcaps(lower(key)) #h(2em) #desc] linebreak() } } }) } #let fmnt = smallcaps([fmnt]) //Appendix: List of Standard Abbreviations #let p1 = { used_abbreviations.update(cur => { cur.at("1") = true cur }) smallcaps[1] } #let p2 = { used_abbreviations.update(cur => { cur.at("2") = true cur }) smallcaps[2] } #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])