diff --git a/example.typ b/example.typ index 77129ba..f250821 100644 --- a/example.typ +++ b/example.typ @@ -303,8 +303,9 @@ Zvýrazněné hodnoty jsou základní -- pokud vynecháte parametr, pak bude pou - Příklad: `"Pavel Novák"` nebo `"Petra Velká, Jindřich Peterka"` (oddělujte jména `", "`) #line() - `author_gender` (rod autora v českém jazyce - není potřeba pro angličtinu) - - `"male"` - Mužský rod - - `"female"` - Ženský rod + - `"masculine"` - Mužský rod + - `"feminine"` - Ženský rod + - `"we"` - Množné číslo #line() - `supervisor` (vedoucí práce) - Příklad: `"prof. Jindřich Jindřich"` diff --git a/template/classic/bp.typ b/template/classic/bp.typ index cf919ff..27a8354 100644 --- a/template/classic/bp.typ +++ b/template/classic/bp.typ @@ -40,6 +40,6 @@ toc(language); abbrlist(language); content - bibliogr(citation_file); + bibliogr(language, citation_file); }); } diff --git a/template/lang.json b/template/lang.json index fef5065..5eb3543 100644 --- a/template/lang.json +++ b/template/lang.json @@ -14,7 +14,7 @@ "toc": "Obsah", "disclaimer": "Prohlášení", - "disclaimer_content": "Prohlašuji, že {svůj} {práce:tu} jsem vypracoval{a} samostatně jako původní dílo s použitím uvedené literatury a na základě konzultací s vedoucím mé bakalářské práce a konzultantem.\n\nJsem si vědom{a} toho, že na {moji} {práce:tu} se plně vztahuje zákon č. 121/2000 Sb., o právu autorském, zejména § 60 – školní dílo.\n\nBeru na vědomí, že Technická univerzita v Liberci nezasahuje do mých autorských práv užitím {mé} {práce:té} pro vnitřní potřebu Technické univerzity v Liberci.\n\nUžiji-li {práce:tu} nebo poskytnu-li licenci k {jejímu} využití, jsem si vědom{a} povinnosti informovat o této skutečnosti Technickou univerzitu v Liberci; v tomto případě má Technická univerzita v Liberci právo ode mne požadovat úhradu nákladů, které vynaložila na vytvoření díla, až do jejich skutečné výše.\n\nSoučasně čestně prohlašuji, že text elektronické podoby práce vložený do IS/STAG se shoduje s textem tištěné podoby práce.\n\nBeru na vědomí, že {můj} {práce:ta} bude {zveřejněn} Technickou univerzitou v Liberci v souladu s § 47b zákona č. 111/1998 Sb., o vysokých školách a o změně a doplnění dalších zákonů (zákon o vysokých školách), ve znění pozdějších předpisů.\n\nJsem si vědom{a} následků, které podle zákona o vysokých školách mohou vyplývat z porušení tohoto prohlášení.", + "disclaimer_content": "Prohlašuj{g:i|i|eme}, že {svůj} {práce:tu} js{g:em|em|me} vypracoval{g:|a|i} samostatně jako původní dílo s použitím uvedené literatury a na základě konzultací s vedoucím {{g:mé|mé|naší}} bakalářské práce a konzultantem.\n\nJs{g:em|em|me} si vědom{g:|a|i} toho, že na {{g:moji|moji|naši}} {práce:tu} se plně vztahuje zákon č. 121/2000 Sb., o právu autorském, zejména § 60 – školní dílo.\n\nBer{g:u|u|eme} na vědomí, že Technická univerzita v Liberci nezasahuje do {g:mých|mých|našich} autorských práv užitím {{g:mé|mé|naší}} {práce:té} pro vnitřní potřebu Technické univerzity v Liberci.\n\nUžij{g:i|i|eme}-li {práce:tu} nebo poskytn{g:u|u|eme}-li licenci k {jejímu} využití, js{g:em|em|me} si vědom{g:|a|i} povinnosti informovat o této skutečnosti Technickou univerzitu v Liberci; v tomto případě má Technická univerzita v Liberci právo od{g:e|e|} {g:mne|mne|nás} požadovat úhradu nákladů, které vynaložila na vytvoření díla, až do jejich skutečné výše.\n\nSoučasně čestně prohlašuj{g:i|i|eme}, že text elektronické podoby práce vložený do IS/STAG se shoduje s textem tištěné podoby práce.\n\nBer{g:u|u|eme} na vědomí, že {{g:můj|můj|naše}} {práce:ta} bude {zveřejněn} Technickou univerzitou v Liberci v souladu s § 47b zákona č. 111/1998 Sb., o vysokých školách a o změně a doplnění dalších zákonů (zákon o vysokých školách), ve znění pozdějších předpisů.\n\nJs{g:em|em|me} si vědom{g:|a|i} následků, které podle zákona o vysokých školách mohou vyplývat z porušení tohoto prohlášení.", "disclaimer_replace": { "bp": { @@ -22,6 +22,9 @@ "práce:tu": "bakalářskou práci", "práce:té": "bakalářské práce", "moji": "moji", + "naše": "naše", + "naši": "naši", + "naší": "naší", "mé": "mé", "můj": "moje", "svůj": "svoji", diff --git a/template/lang.typ b/template/lang.typ index e84e494..8e6769f 100644 --- a/template/lang.typ +++ b/template/lang.typ @@ -1,4 +1,4 @@ -#import "utils.typ": assert_in_dict +#import "utils.typ": assert_in_dict, assert_in_arr #let lang_ids = ( cs: 0, @@ -21,16 +21,27 @@ return lang_items.at(lang_abbr).at(item_name); } +#let replace_czech_gender(raw, gender) = { + raw.replace(regex("\{g:([^|]*)\|([^|]*)\|([^}]*)\}"), (match) => { + if gender == "masculine" { + match.captures.at(0) + } else if gender == "feminine" { + match.captures.at(1) + } else if gender == "we" { + match.captures.at(2) + } else { + panic(); + } + }); +} + #let disclaimer(language, document_type, author_gender) = { let disclaimer = get_lang_item(language, "disclaimer_content"); let replacements = get_lang_item(language, "disclaimer_replace").at(document_type); if language == "cs" { - let gender_transforms = ( - male: "", - female: "a", - ); - assert_in_dict(author_gender, gender_transforms, "author gender"); - disclaimer = disclaimer.replace("{a}", gender_transforms.at(author_gender)); + let language_genders = ("feminine", "masculine", "they"); + assert_in_arr(author_gender, language_genders, "author gender"); + disclaimer = replace_czech_gender(disclaimer, author_gender); } for (key, value) in replacements.pairs() { disclaimer = disclaimer.replace("{" + key + "}", value);