You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
tex-compiler/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf

255 lines
8.0 KiB

\ProvidesFile{gloss-serbian.ldf}[polyglossia: module for serbian]
%TODO split into gloss-serbiancyr.ldf and gloss-serbianlat.ldf
%% load these automatically from polyglossia.sty according to the script option ??
%% same thing for all languages that have a "script" key !
%% BETTER APPROACH: see gloss-sanskrit!
\RequirePackage{xpg-cyrillicnumbers}
\PolyglossiaSetup{serbian}{
bcp47=sr-Latn,
langtag=SRB,
hyphennames={serbian},
hyphenmins={2,2},
indentfirst=true,
fontsetup=false,
localnumeral=serbiannumerals,
Localnumeral=Serbiannumerals
%TODO localalph
}
% BCP-47 compliant aliases
\setlanguagealias*{serbian}{sr}
\setlanguagealias*[script=Cyrillic]{serbian}{sr-Cyrl}
\setlanguagealias*[script=Latin]{serbian}{sr-Latn}
% Babel aliases
\setlanguagealias[script=Cyrillic]{serbian}{serbianc}
\newif\if@serbian@cyr
\define@choicekey*+{serbian}{Script}[\xpg@val\xpg@nr]{cyrillic,latin}[cyrillic]{%
\ifcase\xpg@nr\relax
% cyrillic:
\@serbian@cyrtrue
\SetLanguageKeys{serbian}{scripttag=cyrl,script=Cyrillic,babelname=serbianc,bcp47=sr-Cyrl}
\xpg@fontsetup@nonlatin{serbian}%
\or
% latin:
\@serbian@cyrfalse
\SetLanguageKeys{serbian}{scripttag=latn,script=Latin,bcp47=sr-Latn}
\xpg@fontsetup@latin{serbian}%
%TODO \def\serbian@language{\language=\l@serbianlat}%
% or should we use Croatian patterns as a fallback for the time being???
\fi
\xpg@info{Option: Serbian, script=\xpg@val}%
}{\xpg@warning{Unknown Serbian script `#1'}}
\define@key{serbian}{script}[Cyrillic]{\setkeys{serbian}{Script=#1}}
\newif\ifcyrillic@numerals
\newif\ifcyrillic@asbuk@numerals
\define@choicekey*+{serbian}{numerals}[\xpg@val\xpg@nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
\ifcase\xpg@nr\relax
% arabic:
\cyrillic@numeralsfalse%
\cyrillic@asbuk@numeralsfalse%
\or
% cyrillic:
\cyrillic@numeralstrue%
\cyrillic@asbuk@numeralsfalse%
\or
% cyrillic-trad:
\cyrillic@numeralstrue%
\cyrillic@asbuk@numeralsfalse%
\or
% cyrillic-alph:
\cyrillic@numeralstrue%
\cyrillic@asbuk@numeralstrue%
\fi
\xpg@info{Option: Serbian, numerals=\xpg@val}%
}{\xpg@warning{Unknown Serbian numerals value `#1'}}
\setkeys{serbian}{Script,numerals}
% Register default options
\xpg@initialize@gloss@options{serbian}{script=Cyrillic,numerals=arabic}
\def\captionsserbian{%
\if@serbian@cyr\captionsserbian@cyr\else\captionsserbian@lat\fi
}
\def\dateserbian{%
\if@serbian@cyr\dateserbian@cyr\else\dateserbian@lat\fi
}
\def\captionsserbian@lat{%
\def\refname{Bibliografija}%
\def\abstractname{Sažetak}%
\def\bibname{Literatura}%
\def\prefacename{Predgovor}%
\def\chaptername{Glava}%
\def\appendixname{Dodatak}%
\def\contentsname{Sadržaj}%
\def\listfigurename{Spisak slika}%
\def\listtablename{Spisak tabela}%
\def\indexname{Registar}%
\def\figurename{Slika}%
\def\tablename{Tabela}%
\def\partname{Deo}%
\renewcommand\thepart{\ifcase\value{part}\or Prvi\or Drugi\or
Treći\or Čevrti\or Peti\or Šesti\or Sedmi\or Osmi\or
Deveti\or Deseti\or Jedanaesti\or Dvanaesti\or Trinaesti\or
Četrnaesti\or Petnaesti\or Šesnaesti\or Sedamnaesti\or
Osamnaesti\or Devetnaesti\or Dvadeseti\fi}%
\def\pagename{Strana}%
\def\seename{Vidi}%
\def\alsoname{Vidi takođe}%
\def\enclname{Prilozi}%
\def\ccname{Kopije}%
\def\headtoname{Prima}%
\def\proofname{Dokaz}%
\def\glossaryname{Rečnik nepoznatih reči}%
}
\def\dateserbian@lat{%
\def\today{\number\day .~\ifcase\month\or
januar\or februar\or mart\or april\or maj\or
jun\or jul\or avgust\or septembar\or oktobar\or novembar\or
decembar\fi \space \number\year.}%
}
\def\captionsserbian@cyr{%
\def\refname{Библиографија}%
\def\abstractname{Сажетак}%
\def\bibname{Литература}%
\def\prefacename{Предговор}%
\def\chaptername{Глава}%
\def\appendixname{Додатак}%
\def\contentsname{Садржај}%
\def\listfigurename{Списак слика}%
\def\listtablename{Списак табела}%
\def\indexname{Регистар}%
\def\figurename{Слика}%
\def\tablename{Табела}%
\def\partname{Део}%
\renewcommand\thepart{\ifcase\value{part}\or Први\or Други\or Трећи\or
Четврти\or Пети\or Шести\or Седми\or Осми\or Девети\or Десети\or
Једанаести\or Дванаести\or Тринаести\or Четрнаести\or Петнаести\or
Шеснаести\or Седамнаести\or Осамнаести\or Деветнаести\or Двадесети\fi}%
\def\pagename{Страна}%
\def\seename{Види}%
\def\alsoname{Види такође}%
\def\enclname{Прилози}%
\def\ccname{Копије}%
\def\headtoname{Прима}%
\def\proofname{Доказ}%
\def\glossaryname{Речник непознатих речи}%
}
\def\dateserbian@cyr{%
\def\today{\number\day .~\ifcase\month\or
јануар\or фебруар\or март\or април\or мај\or
јун\or јул\or август\or септембар\or октобар\or новембар\or
децембар\fi \space \number\year.}%
}
\newcommand{\serbiannumerals}[2]{\serbiannumber{#2}}
\newcommand{\Serbiannumerals}[2]{\Serbiannumber{#2}}
\def\serbiannumber#1{%
\ifcyrillic@numerals
\ifcyrillic@asbuk@numerals
\serbian@asbuk@alph{#1}%
\else
\cyr@alph{#1}%
\fi
\else
\number#1%
\fi%
}
\def\Serbiannumber#1{%
\ifcyrillic@numerals
\ifcyrillic@asbuk@numerals
\serbian@asbuk@Alph{#1}%
\else
\cyr@Alph{#1}%
\fi
\else
\number#1%
\fi%
}
\let\serbiannumeral=\serbiannumber
\let\Serbiannumeral=\Serbiannumber
\def\serbian@numbers{%
\let\latin@alph\@alph
\let\latin@Alph\@Alph
\ifcyrillic@numerals
\def\serbian@alph##1{\expandafter\serbiannumeral\expandafter{\the##1}}%
\def\serbian@Alph##1{\expandafter\Serbiannumeral\expandafter{\the##1}}%
\let\@alph\serbian@alph%
\let\@Alph\serbian@Alph%
\fi
}
\def\noserbian@numbers{%
\let\@alph\latin@alph
\let\@Alph\latin@Alph
}
\def\blockextras@serbian{%
\ifcyrillic@numerals\serbian@numbers\fi
}
\def\noextras@serbian{%
\ifcyrillic@numerals\noserbian@numbers\fi
}
\def\Asbuk#1{\expandafter\serbian@asbuk@Alph\csname c@#1\endcsname}
\def\asbuk#1{\expandafter\serbian@asbuk@alph\csname c@#1\endcsname}
\def\AsbukTrad#1{\expandafter\cyr@Alph\csname c@#1\endcsname}
\def\asbukTrad#1{\expandafter\cyr@alph\csname c@#1\endcsname}
% This is a poor man's cyrillic alphanumeric. It just uses the alphabet and
% thus ends at 30.
\def\serbian@asbuk@Alph#1{\ifcase#1\or
А\or Б\or В\or Г\or Д\or Е\or Ж\or
З\or И\or К\or Л\or М\or Н\or О\or
П\or Р\or С\or Т\or У\or Ф\or Х\or
Ц\or Ч\or Ш\or Щ\or Э\or Ю\or Я%
\else\xpg@ill@value{#1}{serbian@asbuk@Alph}\fi%
}
\def\serbian@asbuk@alph#1{\ifcase#1\or
а\or б\or в\or г\or д\or е\or ж\or
з\or и\or к\or л\or м\or н\or о\or
п\or р\or с\or т\or у\or ф\or х\or
ц\or ч\or ш\or щ\or э\or ю\or я%
\else\xpg@ill@value{#1}{serbian@asbuk@alph}\fi%
}
\endinput
% TODO ? stuff from babel
\def\sh{\mathop{\operator@font sh}\nolimits} % same as \sinh
\def\ch{\mathop{\operator@font ch}\nolimits} % same as \cosh
\def\th{\mathop{\operator@font th}\nolimits} % same as \tanh
\def\cth{\mathop{\operator@font cth}\nolimits} % same as \coth
\def\arsh{\mathop{\operator@font arsh}\nolimits}
\def\arch{\mathop{\operator@font arch}\nolimits}
\def\arth{\mathop{\operator@font arth}\nolimits}
\def\arcth{\mathop{\operator@font arcth}\nolimits}
\def\tg{\mathop{\operator@font tg}\nolimits} % same as \tan
\def\ctg{\mathop{\operator@font ctg}\nolimits} % same as \cot
\def\arctg{\mathop{\operator@font arctg}\nolimits} % same as \arctan
\def\arcctg{\mathop{\operator@font arcctg}\nolimits}
\def\Prob{\mathop{\mathsf P\hskip0pt}\nolimits}
\def\Expect{\mathop{\mathsf E\hskip0pt}\nolimits}
\def\Variance{\mathop{\mathsf D\hskip0pt}\nolimits}