diff options
Diffstat (limited to 'macros/luatex/optex/base/languages.opm')
-rw-r--r-- | macros/luatex/optex/base/languages.opm | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/macros/luatex/optex/base/languages.opm b/macros/luatex/optex/base/languages.opm new file mode 100644 index 0000000000..aedcd249f4 --- /dev/null +++ b/macros/luatex/optex/base/languages.opm @@ -0,0 +1,121 @@ +%% This is part of OpTeX project, see http://petr.olsak.net/optex + +\_codedecl \_mtext {Languages <2020-04-29>} % preloaded in format + + \_doc ----------------------------- + Only four words are generated by \OpTeX/ macros: \"Chapter", + \"Table", \"Figure" and \"Subject". These phrases can be generated depending + on the current value of `\language` register, if you use \`\_mtext``{<phrase-id>}`, + specially `\_mtext{chap}`, `\_mtext{t}`, `\_mtext{f}` or `\_mtext{subj}`. + If your macros generate more words then + you can define such words by `\sdef{_mt:<phrase-id>:<lang>}` where + `<phrase-id>` is a label for declared word and `<lang>` is language shortcut + (iso code). + \_cod ----------------------------- + +\_def\_mtext#1{\_trycs{_mt:#1:\_trycs{_lan:\_the\_language}{en}} + {\_csname _mt:#1:en\_endcsname}} + +\_sdef{_mt:chap:en}{Chapter} \_sdef{_mt:chap:cs}{Kapitola} \_sdef{_mt:chap:sk}{Kapitola} +\_sdef{_mt:t:en}{Table} \_sdef{_mt:t:cs}{Tabulka} \_sdef{_mt:t:sk}{Tabuľka} +\_sdef{_mt:f:en}{Figure} \_sdef{_mt:f:cs}{Obrázek} \_sdef{_mt:f:sk}{Obrázok} +\_sdef{_mt:subj:en}{Subject} \_sdef{_mt:subj:cs}{Věc} \_sdef{_mt:subj:sk}{Vec} + + \_doc ----------------------------- + Using \`\_langw` `<lang> <chapter> <table> <figure> <subject>` you can + declare these words more effectively: + \maxlines=13 + \_cod ----------------------------- + +\_def \_langw #1 #2 #3 #4 #5 {% + \_sdef{_mt:chap:#1}{#2}\_sdef{_mt:t:#1}{#3}\_sdef{_mt:f:#1}{#4}% + \_sdef{_mt:subj:#1}{#5}% +} + +\_langw en Chapter Table Figure Subject +%-------------------------------------------------------------- +\_langw cs Kapitola Tabulka Obrázek Věc +\_langw de Kapitel Tabelle Abbildung Subjekt +\_langw es Capítulo Tabla Figura Sujeto +\_langw fr Chaptire Tableau Figure Matière +\_langw it Capitolo Tabella Fig. Soggetto +\_langw pl Rozdział Tabela Ilustracja Temat +\_langw gr Κεφάλαιο Πίνακας Σχήμα θέμα +\_langw ru Глава Таблица Рисунок Предмет +\_langw sk Kapitola Tabuľka Obrázok Vec + + \_doc ----------------------------- + You can add more words as you wish. For example \`\today` macro: + \_cod ----------------------------- + +\_def \_monthw #1 #2 #3 #4 #5 #6 #7 {% + \_sdef{_mt:m1:#1}{#2}\_sdef{_mt:m2:#1}{#3}\_sdef{_mt:m3:#1}{#4}% + \_sdef{_mt:m4:#1}{#5}\_sdef{_mt:m5:#1}{#5}\_sdef{_mt:m6:#1}{#5}% + \_monthwB #1 +} +\_def \_monthwB #1 #2 #3 #4 #5 #6 #7 {% + \_sdef{_mt:m7:#1}{#2}\_sdef{_mt:m8:#1}{#3}\_sdef{_mt:m9:#1}{#4}% + \_sdef{_mt:m10:#1}{#5}\_sdef{_mt:m11:#1}{#5}\_sdef{_mt:m12:#1}{#5}% +} + +\_monthw en January February March April May June + July August September October November December +\_monthw cs ledna února března dubna května června + července srpna září října listopadu prosince +\_monthw sk januára februára marca apríla mája júna + júla augusta septembra októbra novembra decembra + +\_sdef{_mt:today:en}{\_mtext{m\_the\_month} \_the\_day, \_the\_year} +\_sdef{_mt:today:cs}{\_the\_day.~\_mtext{m\_the\_month} \_the\_year} +\_slet{_mt:today:sk}{_mt:today:cs} + +\_def\_today{\_mtext{today}} +\_public \today ; + + \_doc ----------------------------- + Quotes should be tagged by `\"<text>"` and `\'<text>'` if `\<iso-code>quotes` + is declared at beginning of the document (for example `\enquotes`). + If not, then the control + sequences `\"` and `\'` are undefined. Remember, that they are used in + another meaning when `\oldaccents` command is used. + The macros `\"` and `\'` are not defined as `\protected` because we need + their expansion when `\outlines` are created. + User can declare quotes by \`\quoteschars``<clqq><crqq><clq><crq>`, where + `<clqq>...<crqq>` are normal quotes and `<clq>...<crq>` are alternative quotes. + or use \`\altquotes` to swap between meaning of these two types of quotes. + \nl + \`\enquotes`, \`\csquotes`, \`\dequotes`, \`\frquotes` etc. are defined here. + \_cod ----------------------------- + +\_def \_enquotes {\_quoteschars “”‘’} +\_def \_csquotes {\_quoteschars „“‚‘} +\_def \_frquotes {\_quoteschars “”«»} +\_let \_plquotes = \_frquotes +\_let \_esquotes = \_frquotes +\_let \_grquotes = \_frquotes +\_let \_ruquotes = \_frquotes +\_let \_itquotes = \_frquotes +\_let \_skquotes = \_csquotes +\_let \_dequotes = \_csquotes + +\_def \_quoteschars #1#2#3#4{\_def\_altquotes{\_quoteschars#3#4#1#2}\_public\altquotes;% + \_def \"##1"{#1##1#2}\_def \'##1'{#3##1#4}} + + \_doc ----------------------------- + Sometimes should be usable to leave the markup `"such"` or `'such'` i.e.~without + the first backslash. Then you can make the characters `"` and `'` active + by the \`\activequotes` macro and leave quotes without first backslash. + First, declare `\<iso-code>quotes`, then \^`\altquotes` (if needed) and finally + \^`\activequotes`. + \_cod ----------------------------- + +\_def\_activequotes{\_ea\_activequotesA\"""\_ea\_activequotesA\'''} +\_def\_activequotesA#1#2#3{\_bgroup\_lccode`\~=`#3\_lowercase{\_egroup\_adef#3##1~{#1##1#2}}} + +\_public \quoteschars \activequotes \enquotes \csquotes \skquotes \frquotes \plquotes + \esquotes \grquotes \ruquotes \itquotes \dequotes ; + +\_endcode % ------------------------------------- + +2020-04-29 Obrazek -> Abbildung: bug fixed +2020-03-15 introduced
\ No newline at end of file |