From 3cf6d48c1314bf02ff5de86d3c64ce69a0497958 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 14 Jun 2017 21:15:26 +0000 Subject: babel-ukrainian (14jun17) git-svn-id: svn://tug.org/texlive/trunk@44595 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/generic/babel-ukrainian/README.md | 78 +- .../doc/generic/babel-ukrainian/ukraineb.pdf | Bin 448878 -> 447411 bytes .../source/generic/babel-ukrainian/ukraineb.dtx | 1722 +++++++++----------- .../source/generic/babel-ukrainian/ukraineb.ins | 70 +- .../tex/generic/babel-ukrainian/ukraineb.ldf | 590 ++++--- 5 files changed, 1284 insertions(+), 1176 deletions(-) (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/generic/babel-ukrainian/README.md b/Master/texmf-dist/doc/generic/babel-ukrainian/README.md index 4bfc645c79e..1896280a2f1 100644 --- a/Master/texmf-dist/doc/generic/babel-ukrainian/README.md +++ b/Master/texmf-dist/doc/generic/babel-ukrainian/README.md @@ -1,6 +1,6 @@ ---------------------------------------------------------------- -Ukrainian language module for Babel, v1.4 +Ukrainian language module for Babel, v1.4a Released under the LaTeX Project Public License v1.3c or later. See http://www.latex-project.org/lppl.txt @@ -10,7 +10,7 @@ under legacy TEX engines, and under X∃TEX and LuaTEX. Based on Russian language module v1.3i by Igor A. Kotelnikov . -The Current Maintainer is Sergiy Ponomarenko . +The current maintainer is Sergiy Ponomarenko . 1. INSTALLATION @@ -81,6 +81,12 @@ files as they might have stored incompatible internal encodings. 5. CHANGES +2017-06-13 version 1.4a + + * Removing \weekday macro, since it is should be define in datetime2 class + * Removing revtex4(4-1) classes ukrainization because it unused in ukainian text typesetting + * Adding \acronymname, \lstlistingname and \lstlistlistingname macros to nonunicode captions + 2017-06-10 version 1.4 * For compatibility with older Ukrainian packages we leave definition of the \No macro @@ -120,3 +126,71 @@ Original source: russianb.dtx, %% Right brace \} Tilde \~} %% +%% Nonunicode Cyrillic Letters +%% \CYRA=А +%% \CYRB=Б +%% \CYRV=В +%% \CYRG=Г +%% \CYRGUP=Ґ +%% \CYRD=Д +%% \CYRE=Е +%% \CYRIE=Є +%% \CYRZH=Ж +%% \CYRZ=З +%% \CYRI=И +%% \CYRII=I +%% \CYRYI=Ї +%% \CYRISHRT=Й +%% \CYRK=К +%% \CYRL=Л +%% \CYRM=М +%% \CYRN=Н +%% \CYRO=О +%% \CYRP=П +%% \CYRR=Р +%% \CYRS=С +%% \CYRT=Т +%% \CYRU=У +%% \CYRF=Ф +%% \CYRH=Х +%% \CYRC=Ц +%% \CYRCH=Ч +%% \CYRSH=Ш +%% \CYRSHCH=Щ +%% \CYRYU=Ю +%% \CYRYA=Я +%% \CYRSFTSN=Ь +%% +%% \cyra=а +%% \cyrb=б +%% \cyrv=в +%% \cyrg=г +%% \cyrgup=ґ +%% \cyrd=д +%% \cyre=е +%% \cyrie=є +%% \cyrzh=ж +%% \cyrz=з +%% \cyri=и +%% \cyrii=i +%% \cyryi=ї +%% \cyrishrt=й +%% \cyrk=к +%% \cyrl=л +%% \cyrm=м +%% \cyrn=н +%% \cyro=о +%% \cyrp=п +%% \cyrr=р +%% \cyrs=с +%% \cyrt=т +%% \cyru=у +%% \cyrf=ф +%% \cyrh=х +%% \cyrc=ц +%% \cyrch=ч +%% \cyrsh=ш +%% \cyrshch=щ +%% \cyryu=ю +%% \cyrya=я +%% \cyrsftsn=ь diff --git a/Master/texmf-dist/doc/generic/babel-ukrainian/ukraineb.pdf b/Master/texmf-dist/doc/generic/babel-ukrainian/ukraineb.pdf index 480c8058e50..d85d5881f59 100644 Binary files a/Master/texmf-dist/doc/generic/babel-ukrainian/ukraineb.pdf and b/Master/texmf-dist/doc/generic/babel-ukrainian/ukraineb.pdf differ diff --git a/Master/texmf-dist/source/generic/babel-ukrainian/ukraineb.dtx b/Master/texmf-dist/source/generic/babel-ukrainian/ukraineb.dtx index c8cc19f3489..cc1f35d1bb5 100644 --- a/Master/texmf-dist/source/generic/babel-ukrainian/ukraineb.dtx +++ b/Master/texmf-dist/source/generic/babel-ukrainian/ukraineb.dtx @@ -6,7 +6,7 @@ %<*readme> ---------------------------------------------------------------- -Ukrainian language module for Babel, v1.4 +Ukrainian language module for Babel, v1.4a Released under the LaTeX Project Public License v1.3c or later. See http://www.latex-project.org/lppl.txt @@ -16,7 +16,7 @@ under legacy TEX engines, and under X∃TEX and LuaTEX. Based on Russian language module v1.3i by Igor A. Kotelnikov . -The Current Maintainer is Sergiy Ponomarenko . +The current maintainer is Sergiy Ponomarenko . 1. INSTALLATION @@ -90,6 +90,12 @@ files as they might have stored incompatible internal encodings. 5. CHANGES +2017-06-13 version 1.4a + + * Removing \weekday macro, since it is should be define in datetime2 class + * Removing revtex4(4-1) classes ukrainization because it unused in ukainian text typesetting + * Adding \acronymname, \lstlistingname and \lstlistlistingname macros to nonunicode captions + 2017-06-10 version 1.4 * For compatibility with older Ukrainian packages we leave definition of the \No macro @@ -160,30 +166,30 @@ and the derived files ukraineb.ins, \endpostamble \usedir{tex/generic/babel/contrib} \generate{ - \file{\jobname.ldf}{\from{\jobname.dtx}{code}} + \file{\jobname.ldf}{\from{\jobname.dtx}{code}} } % %\endbatchfile %<*internal> \usedir{source/latex/babel-ukrainian} \generate{ - \file{\jobname.ins}{\from{\jobname.dtx}{install}} + \file{\jobname.ins}{\from{\jobname.dtx}{install}} } \nopreamble\nopostamble \usedir{doc/latex/babel-ukrainian} \generate{ - \file{README.}{\from{\jobname.dtx}{readme}} + \file{README.}{\from{\jobname.dtx}{readme}} } \ifx\fmtname\nameofplainTeX - \expandafter\endbatchfile + \expandafter\endbatchfile \else - \expandafter\endgroup + \expandafter\endgroup \fi % %<*code> \NeedsTeXFormat{LaTeX2e} -%\ProvidesLanguage{\jobname}[2017/06/10 1.4 Ukrainian support for the Babel system] -\ProvidesLanguage{ukraineb}[2017/06/10 1.4 Ukrainian support for the Babel system] +%\ProvidesLanguage{\jobname}[2017/06/13 1.4a Ukrainian support for the Babel system] +\ProvidesLanguage{ukraineb}[2017/06/13 1.4a Ukrainian support for the Babel system] % %<*driver> \documentclass[a4paper]{ltxdoc} @@ -194,13 +200,13 @@ and the derived files ukraineb.ins, %% by LaTeX. %% \usepackage[% - a4paper,% - footskip=1cm,% - headsep=0.3cm,% - top=2cm, %поле сверху - bottom=2cm, %поле снизу - left=4cm, %поле ліворуч - right=2cm, %поле праворуч + a4paper,% + footskip=1cm,% + headsep=0.3cm,% + top=2cm, %поле сверху + bottom=2cm, %поле снизу + left=4cm, %поле ліворуч + right=2cm, %поле праворуч ]{geometry} \usepackage{ifxetex,ifluatex} \ifnum 0\ifxetex 1\fi\ifluatex 1\fi>0 @@ -238,11 +244,11 @@ and the derived files ukraineb.ins, ,linkcolor=violet %theblue % ,filecolor=purple %thegreen% ,citecolor=teal %thegreen% - ,pdfpagelayout=TwoPageRight% - ,pdfauthor={Ponomarenko S.M. aka sergiokapone}% - ,pdfdisplaydoctitle=true% - ,pdfencoding=auto% - ]{hyperref} + ,pdfpagelayout=TwoPageRight% + ,pdfauthor={Ponomarenko S.M. aka sergiokapone}% + ,pdfdisplaydoctitle=true% + ,pdfencoding=auto% + ]{hyperref} % ==================================== \newcommand*\TeXhax{\TeX hax} \newcommand*\babel{\textsf{babel}} @@ -251,76 +257,76 @@ and the derived files ukraineb.ins, \newcommand*\luatex{\textsf{luatex}} \providecommand*\m[1]{\mbox{$\langle$\normalfont\itshape#1\/$\rangle$}} \newcommand*\langlist{% - \meta{language}\texttt{,}\meta{language}\texttt{,}...} + \meta{language}\texttt{,}\meta{language}\texttt{,}...} \newcommand*\langvar{\m{lang}} \newcommand*\note[1]{} \newcommand*\Lopt[1]{\textsf{#1}} \newcommand*\Lenv[1]{\textsf{#1}} \newcommand*\menv[1]{\char`\{#1\char`\}} \newcommand*\Eenv[1]{% - \quad\ldots\quad - \texttt{\color{thered}\string\end\menv{#1}}} + \quad\ldots\quad + \texttt{\color{thered}\string\end\menv{#1}}} \newcommand*\file[1]{\texttt{#1}} \newcommand*\cls[1]{\texttt{#1}} \newcommand*\pkg[1]{\texttt{#1}} % -------------------------------------------------- \IfFileExists{listings.sty}{ - \usepackage{listings} - \lstset{ - gobble=1, - columns=flexible, - keepspaces, - basicstyle=\MacroFont, - keywords=[0]{\selectlanguage,\foreignlanguage - ,\babelhyphen,\babelhyphenation - ,\lefthyphenmin,\righthyphenmin - ,\StartBabelCommands,\SetString,\EndBabelCommands,\shorthandoff,\shorthandon - ,\languageshorthands,\useshorthands,\defineshorthand - ,\AddBabelHook,\SetStringLoop,\SetCase,\AfterBabelLanguage - ,\defaultfontfeatures,\setmainfont,\setsansfont,\setmonofont - ,\Ukrainian,\cyrdash,\cdash - ,\cyr,\cyrillictext,\textcyrillic,\cyrillicencoding - ,\addto,\captionsukrainian,\dateukrainian,\noextrasukrainian,\extrasukrainian - ,\languageattribute - ,\ch,\sh,\tg,\ctg,\arctg,\arcctg\,\th,\cth,\cosec - ,\dq - ,\XeTeXinputencoding + \usepackage{listings} + \lstset{ + gobble=1, + columns=flexible, + keepspaces, + basicstyle=\MacroFont, + keywords=[0]{\selectlanguage,\foreignlanguage + ,\babelhyphen,\babelhyphenation + ,\lefthyphenmin,\righthyphenmin + ,\StartBabelCommands,\SetString,\EndBabelCommands,\shorthandoff,\shorthandon + ,\languageshorthands,\useshorthands,\defineshorthand + ,\AddBabelHook,\SetStringLoop,\SetCase,\AfterBabelLanguage + ,\defaultfontfeatures,\setmainfont,\setsansfont,\setmonofont + ,\Ukrainian,\cyrdash,\cdash + ,\cyr,\cyrillictext,\textcyrillic,\cyrillicencoding + ,\addto,\captionsukrainian,\dateukrainian,\noextrasukrainian,\extrasukrainian + ,\languageattribute + ,\ch,\sh,\tg,\ctg,\arctg,\arcctg\,\th,\cth,\cosec + ,\dq + ,\XeTeXinputencoding + } + ,keywordstyle=[0]\color{thered} + ,keywords=[1]{main,ukrainian,english,german,frenchb + ,shorthands,extrasenglish + ,stringprocess,afterextras + ,soft,empty,nobreak,hard + ,Renderer,Ligatures + ,T1,T2A,lutf8,utf8 + ,fontspec,babel,inputenc,fontenc + }, + keywordstyle=[1]\color{thegreen}, + comment=[l]\%, + commentstyle=\color{thegrey}\itshape, + alsoother={0123456789_}, + frame=single, + backgroundcolor=\color{theshade}, + rulecolor=\color{theframe}, + framerule=\fboxrule, + } + \let\verbatim\relax + \lstnewenvironment{verbatim}[1][]{\lstset{##1}}{} + \AtBeginDocument{% + \DeleteShortVerb{\|}% + \lstMakeShortInline|% } - ,keywordstyle=[0]\color{thered} - ,keywords=[1]{main,ukrainian,english,german,frenchb - ,shorthands,extrasenglish - ,stringprocess,afterextras - ,soft,empty,nobreak,hard - ,Renderer,Ligatures - ,T1,T2A,lutf8,utf8 - ,fontspec,babel,inputenc,fontenc - }, - keywordstyle=[1]\color{thegreen}, - comment=[l]\%, - commentstyle=\color{thegrey}\itshape, - alsoother={0123456789_}, - frame=single, - backgroundcolor=\color{theshade}, - rulecolor=\color{theframe}, - framerule=\fboxrule, - } - \let\verbatim\relax - \lstnewenvironment{verbatim}[1][]{\lstset{##1}}{} - \AtBeginDocument{% - \DeleteShortVerb{\|}% - \lstMakeShortInline|% - } }{} \def\PrintDescribeMacro#1{% - \strut\MacroFont\color{thered}\normalsize\string#1} + \strut\MacroFont\color{thered}\normalsize\string#1} \def\Describe#1{% - \par\penalty-500\vskip3ex\noindent - \DescribeMacro{#1}\args} + \par\penalty-500\vskip3ex\noindent + \DescribeMacro{#1}\args} \def\DescribeOther{\vskip-5.8ex\Describe} \makeatletter \def\args#1{% - \def\bbl@tempa{#1}% - \ifx\bbl@tempa\@empty\else#1\vskip1ex\fi\ignorespaces} + \def\bbl@tempa{#1}% + \ifx\bbl@tempa\@empty\else#1\vskip1ex\fi\ignorespaces} \makeatother % ==================================== \EnableCrossrefs @@ -335,20 +341,20 @@ and the derived files ukraineb.ins, % % \fi % -%\GetFileInfo{\jobname.dtx} -%\GetFileInfo{\jobname.ldf} -% -%\title{^^A -% \textsf{Ukrainian} --- description text\thanks{^^A -% This file describes version \fileversion, last revised \filedate.^^A -% }^^A -%} -%\author{^^A -% You\thanks{E-mail: you@your.domain}^^A -%} +% \GetFileInfo{\jobname.dtx} +% \GetFileInfo{\jobname.ldf} +% +% \title{^^A +% \textsf{Ukrainian} --- description text\thanks{^^A +% This file describes version \fileversion, last revised \filedate.^^A +% }^^A +% } +% \author{^^A +% You\thanks{E-mail: you@your.domain}^^A +% } % \title{The Ukrainian Language\\ -% in the \babel\ system\\[0.5em] -% \large Version \fileversion} +% in the \babel\ system\\[0.5em] +% \large Version \fileversion} % % \author{Sergiy M. Ponomarenko\footnote{E-mail: \href{mailto:sergiy.ponomarenko@gmail.com}{sergiy dot ponomarenko at gmail dot com}.}} % @@ -432,11 +438,11 @@ and the derived files ukraineb.ins, % \pkg{luainputenc}. Source file is to be converted to \texttt{UTF8} % (Unicode-8) encoding; it is the only input encoding accepted by % Lua\LaTeX. The 8-bit mode is invoked by the following sequence of packages: -%\begin{verbatim} -%\usepackage[T1,T2A]{fontenc} -%\usepackage[lutf8]{luainputenc} -%\usepackage[english,ukrainian]{babel} -%\end{verbatim} +% \begin{verbatim} +% \usepackage[T1,T2A]{fontenc} +% \usepackage[lutf8]{luainputenc} +% \usepackage[english,ukrainian]{babel} +% \end{verbatim} % The order of the packages is crucial for Lua\LaTeX\ in 8-bit mode. Since both % \pkg{luainputenc} and \babel{} should know what is a selected font encoding, % the \pkg{fontenc} package should be loaded first. Input encoding management for @@ -452,25 +458,25 @@ and the derived files ukraineb.ins, % or Open Type fonts should be used for romanic, sans-serif and monospaced types. % The following example shows how to load Computer Modern Unicode (CMU) fonts, % which is a part of all modern \LaTeX\ distributions: -%\begin{verbatim} -%\usepackage{fontspec} -% \defaultfontfeatures{Renderer=Basic,Ligatures={TeX}} -% \setmainfont{CMU Serif} -% \setsansfont{CMU Sans Serif} -% \setmonofont{CMU Typewriter Text} -%\usepackage[english,ukrainian]{babel} -%\end{verbatim} +% \begin{verbatim} +% \usepackage{fontspec} +% \defaultfontfeatures{Renderer=Basic,Ligatures={TeX}} +% \setmainfont{CMU Serif} +% \setsansfont{CMU Sans Serif} +% \setmonofont{CMU Typewriter Text} +% \usepackage[english,ukrainian]{babel} +% \end{verbatim} % The |\defaultfontfeatures| declares default font features for subsequent % |\setmainfont| (which sets romanic fonts), |\setsansfont| (sans-serif) and % |\setmonofont| (monospaced font). Font features can be set up on per font % bases; for example % \begin{verbatim} -% \usepackage{fontspec} -% \setmainfont[Renderer=Basic,Ligatures={TeX}]{CMU Serif} -% \setsansfont[Renderer=Basic,Ligatures={TeX,Historic}]{CMU Sans Serif} -% \setmonofont{CMU Typewriter Text} -% \usepackage[english,ukrainian]{babel} -%\end{verbatim} +% \usepackage{fontspec} +% \setmainfont[Renderer=Basic,Ligatures={TeX}]{CMU Serif} +% \setsansfont[Renderer=Basic,Ligatures={TeX,Historic}]{CMU Sans Serif} +% \setmonofont{CMU Typewriter Text} +% \usepackage[english,ukrainian]{babel} +% \end{verbatim} % Here |Renderer=Basic,Ligatures={TeX}| activates ligatures which are existed % in \LaTeX. % @@ -478,10 +484,10 @@ and the derived files ukraineb.ins, % package is assumed to be the main language of the document, which is also active % language right after |\begin{document}|. As of version 3.9, the main language % can be set as a value of the |main| option as follows -%\begin{verbatim} -% \usepackage{fontspec} -% \usepackage[english,main=ukrainian,german]{babel} -%\end{verbatim} +% \begin{verbatim} +% \usepackage{fontspec} +% \usepackage[english,main=ukrainian,german]{babel} +% \end{verbatim} % %\unskip % % @@ -493,11 +499,11 @@ and the derived files ukraineb.ins, % temporarily, and the \texttt{"bytes"} encoding makes Xe\LaTeX\ works % like a 8-bit \LaTeX\ engine: % \begin{verbatim} -% \XeTeXinputencoding "bytes" -% \usepackage[utf8]{inputenc} -% \usepackage[T2A]{fontenc} -% \usepackage[english,ukrainian]{babel} -%\end{verbatim} +% \XeTeXinputencoding "bytes" +% \usepackage[utf8]{inputenc} +% \usepackage[T2A]{fontenc} +% \usepackage[english,ukrainian]{babel} +% \end{verbatim} % \unskip % Xe\TeX\ can use a different input encoding but it always uses the Unicode % internally, so that |\XeTeXinputencoding| performs a conversion of the input @@ -510,16 +516,16 @@ and the derived files ukraineb.ins, % % Unicode mode is set up same way as for Lua\LaTeX, however the option % |Renderer=Basic| can be dropped: -%\begin{verbatim} -% \usepackage{fontspec} -% \defaultfontfeatures{Ligatures={TeX}} -% \setmainfont{CMU Serif} -% \setsansfont{CMU Sans Serif} -% \setmonofont{CMU Typewriter Text} -% \usepackage[english,ukrainian]{babel} -%\end{verbatim} +% \begin{verbatim} +% \usepackage{fontspec} +% \defaultfontfeatures{Ligatures={TeX}} +% \setmainfont{CMU Serif} +% \setsansfont{CMU Sans Serif} +% \setmonofont{CMU Typewriter Text} +% \usepackage[english,ukrainian]{babel} +% \end{verbatim} % -%\section{User's commands} +% \section{User's commands} % % In a multilingual document, some typographic rules are language % dependent and should apply to the whole document. @@ -573,7 +579,7 @@ and the derived files ukraineb.ins, % % \begin{table}[!ht]\centering % \caption{Extra definitions made -% by \file{\jobname.ldf}\label{tab:ukrainian-quote}} +% by \file{\jobname.ldf}}\label{tab:ukrainian-quote} % \medskip % \begin{tabular}{llp{7cm}} % \hline\hline\\[-0.5em] @@ -655,42 +661,45 @@ and the derived files ukraineb.ins, % text commands such as |\textbf|, |\textsf|, |\textit|, |\texttt|, e.t.c. % % -% \section{\TeX{}nical details} -% -% The packages \pkg{inputenc} and \pkg{luainputenc} -% make Cyrillic letters active so that a compiler converts them into -% corresponding |\cyr...| macro at compilation time. -% For example, Ukrainian letter `a' matches -% macro |\cyra|, and capital Ukrainian letter `A' matches |\CYRA|. The -% package \pkg{fontenc} then matches every macro |\cyr...| to corresponding -% glyph in a font file depending on a declared font encoding. +% \section{\TeX{}nical details} % -% Nowadays, Unicode makes |\cyr...| macros outdated since both source -% file and font file are encoded consistently. These macros -% should therefore be removed because mixing them with Unicode characters -% breaks sorting mechanism of such utilities as \file{bibtex} and -% \file{makeindex}. For the sake of backward compatibility, |\cyr...| are -% still kept for \LaTeX, but they are bypassed if Lua\LaTeX\ or Xe\LaTeX\ -% are detected. +% The packages \pkg{inputenc} and \pkg{luainputenc} +% make Cyrillic letters active so that a compiler converts them into +% corresponding |\cyr| macro at compilation time. +% For example, Ukrainian letter `a' matches +% macro |\cyra|, and capital Ukrainian letter `A' matches |\CYRA|. The +% package \pkg{fontenc} then matches every macro |\cyr| to corresponding +% glyph in a font file depending on a declared font encoding. % -% \section{Known problems} +% Nowadays, Unicode makes |\cyr| macros outdated since both source +% file and font file are encoded consistently. These macros +% should therefore be removed because mixing them with Unicode characters +% breaks sorting mechanism of such utilities as \file{bibtex} and +% \file{makeindex}. For the sake of backward compatibility, |\cyr| are +% still kept for \LaTeX, but they are bypassed if Lua\LaTeX\ or Xe\LaTeX\ +% are detected. % -% Before switching from a legacy 8-bit engine (tex, pdftex) to an Unicode -% engine (xetex, luatex) and vise versa delete all |.aux|, |.toc|, |.lot|, -% |.lof| files as they might have stored incompatible internal encodings. +% \section{Known problems} % +% Before switching from a legacy 8-bit engine (tex, pdftex) to an Unicode +% engine (xetex, luatex) and vise versa delete all |.aux|, |.toc|, |.lot|, +% |.lof| files as they might have stored incompatible internal encodings. % -%\StopEventually{^^A -% \setlength{\postmulticols}{100pt} -% \PrintChanges -% \PrintIndex -%} % -%\iffalse +% \StopEventually{^^A +% \setlength{\postmulticols}{100pt} +% \PrintChanges +% \PrintIndex +% } +% +% \iffalse %<*code> -%\fi +% \fi % -% \section{Implementation} +% \section{Implementation} +% \changes{1.4a}{2017/06/13}{Removing \cs{weekday} macro, since it is should be define in \cls{datetime2} class} +% \changes{1.4a}{2017/06/13}{Removing \cls{revtex4(4-1)} classes ukrainization because it unused in ukainian text typesetting} +% \changes{1.4a}{2017/06/13}{Adding \cs{acronymname}, \cs{lstlistingname} and \csc{lstlistlistingname} macros to nonunicode captions} % \changes{1.4}{2017/06/10}{For compatibility with older Ukrainian packages we leave definition of the \cs{No} macro} % \changes{1.4}{2017/06/09}{Fix Ukrainian translation of babel unicode string \cs{chaptername}} % \changes{1.4}{2017/06/09}{Macros \cs{Asbuk} and \cs{asbuk} are removed} @@ -700,132 +709,137 @@ and the derived files ukraineb.ins, % \changes{1.3i}{2017/06/08}{Some math macro from original russian.ldf was removed because of seldom usage} % \changes{1.3h}{2017/06/06}{Initial version} % -% \subsection{Initial setup} +% \subsection{Initial setup} % -% The macro |\LdfInit| performs a couple of standard checks that -% must be made at the beginning of a language definition file, -% such as checking the category code of the \texttt{@}-sign, preventing -% the \file{.ldf} file from being processed twice, etc. +% The macro |\LdfInit| performs a couple of standard checks that +% must be made at the beginning of a language definition file, +% such as checking the category code of the \texttt{@}-sign, preventing +% the \file{.ldf} file from being processed twice, etc. % % \begin{macrocode} \LdfInit{ukrainian}{captionsukrainian} % \end{macrocode} % -% First, we check if Lua\LaTeX\ or Xe\LaTeX\ is running. If so, we set -% boolean key |\if@ukr@uni@ode| to true. It will be used to eliminate |\cyr...| -% commands, which were introduced in \LaTeX2e\ to handle various -% Cyrillic input encoding. With the advent of Unicode \LaTeX\ is -% moving to universal input encoding, so we consider these |\cyr...| -% commands as obsolete. They are preserved though for backward -% compatibility in case if \LaTeX\ or PDF\LaTeX\ are running. +% First, we check if Lua\LaTeX\ or Xe\LaTeX\ is running. If so, we set +% boolean key |\if@ukr@uni@ode| to true. It will be used to eliminate |\cyr...| +% commands, which were introduced in \LaTeX2e\ to handle various +% Cyrillic input encoding. With the advent of Unicode \LaTeX\ is +% moving to universal input encoding, so we consider these |\cyr...| +% commands as obsolete. They are preserved though for backward +% compatibility in case if \LaTeX\ or PDF\LaTeX\ are running. % -% We don't load the \pkg{ifluatex} or \pkg{ifxetex} package because -% |\RequirePackage| is not allowed at the stage of processing options -% (note that babel loads this file right when it processes its own options) -% but we borrow code from these packages. +% We don't load the \pkg{ifluatex} or \pkg{ifxetex} package because +% |\RequirePackage| is not allowed at the stage of processing options +% (note that babel loads this file right when it processes its own options) +% but we borrow code from these packages. % % \begin{macrocode} \ifdefined\if@ukr@uni@ode - \PackageError{babel}{if@ukr@uni@ode already defined.\MessageBreak - Please contact author of ukraineb.ldf} - \relax + \PackageError{babel}{if@ukr@uni@ode already defined.\MessageBreak + Please contact author of ukraineb.ldf} + \relax \fi \newif\if@ukr@uni@ode -\ifdefined\luatexversion \@ukr@uni@odetrue \else -\ifdefined\XeTeXrevision \@ukr@uni@odetrue \fi\fi +\ifdefined\luatexversion + \@ukr@uni@odetrue +\else + \ifdefined\XeTeXrevision + \@ukr@uni@odetrue + \fi +\fi % \end{macrocode} % -% Check if hyphenation patterns for the Ukrainian language have been -% loaded in \file{language.dat}. Namely, we check for the existence of -% |\l@ukrainian|. If it is not defined, we declare Ukrainian as dialect -% for the default language number 0 which almost for sure is English. +% Check if hyphenation patterns for the Ukrainian language have been +% loaded in \file{language.dat}. Namely, we check for the existence of +% |\l@ukrainian|. If it is not defined, we declare Ukrainian as dialect +% for the default language number 0 which almost for sure is English. % % \begin{macrocode} \ifx\l@ukrainian\@undefined - \@nopatterns{Ukrainian} + \@nopatterns{Ukrainian} \adddialect\l@ukrainian0 \fi % \end{macrocode} -% Now |\l@ukrainian| is always defined. -% -% \subsection{Output encoding} -% -% We need to know font encoding that is supposed to be -% active at the end of the \babel\ package. Default font encoding, set by -% \LaTeX\ core, is \texttt{OT1}. This can be changed by the \pkg{fontenc} -% package in case of \LaTeX\ and by \pkg{fontspec} package in case of -% Lua\LaTeX. It matters weather these packages are loaded before of after -% \babel. In the latter case or if these packages are not loaded at all, -% \file{ukraineb.ldf} ignores their effect and tries to provide some -% reasonable settings. In particular, \texttt{T2A} will be selected for -% Ukrainian language if \LaTeX\ is running but \texttt{EU1} in case of -% Xe\LaTeX\ and \texttt{EU2} in case of Lua\LaTeX. -% -% -% In Unicode mode, the package \pkg{fontspec} should be loaded instead of -% \pkg{fontenc} to make font preparation; \pkg{fontspec} loads the package -% \pkg{xunicode} which sets current encoding (kept in |\cf@encoding|) to -% \texttt{EU1} for Xe\LaTeX\ and \texttt{EU2} for Lua\LaTeX, and the \babel{} -% package sets the macro |\latinencoding| to |\cf@encoding|. Since \babel{} scan -% for value |\cf@encoding| within |\AtBeginDocument|, |\latinencoding| will -% be set to either \texttt{EU1} for Xe\LaTeX\ or \texttt{EU2} for Lua\LaTeX\ -% no matter which of the packages, \babel{} or \pkg{fontspec} is loaded first. -% -% -% \Describe\cyrillicencoding{} -% There is a limited list of encodings appropriate for Cyrillic text. We -% will look which of them is declared and keep its name in the macro -% |\cyrillicencoding|. -% Correct (but obsolete and now deleted) 7-bit Cyrillic encoding is -% \texttt{LWN}. -% Correct 8-bit Cyrillic encodings are -% \texttt{T2A} (default for 8-bit compilers), \texttt{T2B}, \texttt{T2C}, -% \texttt{LCY} and \texttt{X2}. -% Correct utf8 encodings are -% \texttt{EU1} (default for Xe\LaTeX), -% \texttt{EU2} (default for Lua\LaTeX). -% -% In 8-bit (\LaTeX) mode, user may choose between different non-unicode Cyrillic -% encodings---e.g., \texttt{X2} or \texttt{LCY}.\@ If user wants -% to use another font encoding rather than default (\texttt{T2A}), -% he has to load the corresponding file \emph{before} \file{babel.sty}. -% -% Remember that for the Ukrainian language, the \texttt{T2A} encoding is -% better than \texttt{X2}, because \texttt{X2} does not contain Latin -% letters, and users should be very careful to switch the language -% every time they want to typeset a Latin word inside a Ukrainian phrase -% or vice versa. -% -% -% We parse the |\cdp@list| containing encodings known to \LaTeX\ -% in the order they were loaded by the time when \babel{} is loaded. -% We set the |\cyrillicencoding| to the \emph{last} loaded encoding in the -% list of supported Cyrillic encodings: \texttt{OT2}, \texttt{LCY}, -% \texttt{X2}, \texttt{T2C}, \texttt{T2B}, \texttt{T2A}. In Unicode mode -% we also try the Unicode encodings \texttt{EU1} and \texttt{EU2}; 8-bit -% encodings are kept for Unicode compilers (Lua\LaTeX\ and Xe\LaTeX) since -% they can run in compatibility (8-bit) mode. +% Now |\l@ukrainian| is always defined. +% +% \subsection{Output encoding} +% +% We need to know font encoding that is supposed to be +% active at the end of the \babel\ package. Default font encoding, set by +% \LaTeX\ core, is \texttt{OT1}. This can be changed by the \pkg{fontenc} +% package in case of \LaTeX\ and by \pkg{fontspec} package in case of +% Lua\LaTeX. It matters weather these packages are loaded before of after +% \babel. In the latter case or if these packages are not loaded at all, +% \file{ukraineb.ldf} ignores their effect and tries to provide some +% reasonable settings. In particular, \texttt{T2A} will be selected for +% Ukrainian language if \LaTeX\ is running but \texttt{EU1} in case of +% Xe\LaTeX\ and \texttt{EU2} in case of Lua\LaTeX. +% +% +% In Unicode mode, the package \pkg{fontspec} should be loaded instead of +% \pkg{fontenc} to make font preparation; \pkg{fontspec} loads the package +% \pkg{xunicode} which sets current encoding (kept in |\cf@encoding|) to +% \texttt{EU1} for Xe\LaTeX\ and \texttt{EU2} for Lua\LaTeX, and the \babel{} +% package sets the macro |\latinencoding| to |\cf@encoding|. Since \babel{} scan +% for value |\cf@encoding| within |\AtBeginDocument|, |\latinencoding| will +% be set to either \texttt{EU1} for Xe\LaTeX\ or \texttt{EU2} for Lua\LaTeX\ +% no matter which of the packages, \babel{} or \pkg{fontspec} is loaded first. +% +% +% \Describe\cyrillicencoding{} +% There is a limited list of encodings appropriate for Cyrillic text. We +% will look which of them is declared and keep its name in the macro +% |\cyrillicencoding|. +% Correct (but obsolete and now deleted) 7-bit Cyrillic encoding is +% \texttt{LWN}. +% Correct 8-bit Cyrillic encodings are +% \texttt{T2A} (default for 8-bit compilers), \texttt{T2B}, \texttt{T2C}, +% \texttt{LCY} and \texttt{X2}. +% Correct utf8 encodings are +% \texttt{EU1} (default for Xe\LaTeX), +% \texttt{EU2} (default for Lua\LaTeX). +% +% In 8-bit (\LaTeX) mode, user may choose between different non-unicode Cyrillic +% encodings---e.g., \texttt{X2} or \texttt{LCY}.\@ If user wants +% to use another font encoding rather than default (\texttt{T2A}), +% he has to load the corresponding file \emph{before} \file{babel.sty}. +% +% Remember that for the Ukrainian language, the \texttt{T2A} encoding is +% better than \texttt{X2}, because \texttt{X2} does not contain Latin +% letters, and users should be very careful to switch the language +% every time they want to typeset a Latin word inside a Ukrainian phrase +% or vice versa. +% +% +% We parse the |\cdp@list| containing encodings known to \LaTeX\ +% in the order they were loaded by the time when \babel{} is loaded. +% We set the |\cyrillicencoding| to the \emph{last} loaded encoding in the +% list of supported Cyrillic encodings: \texttt{OT2}, \texttt{LCY}, +% \texttt{X2}, \texttt{T2C}, \texttt{T2B}, \texttt{T2A}. In Unicode mode +% we also try the Unicode encodings \texttt{EU1} and \texttt{EU2}; 8-bit +% encodings are kept for Unicode compilers (Lua\LaTeX\ and Xe\LaTeX) since +% they can run in compatibility (8-bit) mode. % % \begin{macrocode} \def\@setcyrillicencoding{% - \def\sce@a##1##2{% - \edef\sce@b{##1}% - \edef\sce@c{##2}% - \ifx\sce@b\sce@c - \let\cyrillicencoding\sce@c - \fi}% - \def\cdp@elt##1##2##3##4{% - \sce@a{##1}{OT2}% - \sce@a{##1}{LCY}% - \sce@a{##1}{X2}% - \sce@a{##1}{T2C}% - \sce@a{##1}{T2B}% - \sce@a{##1}{T2A}% - \if@ukr@uni@ode - \sce@a{##1}{EU1}% - \sce@a{##1}{EU2}% - \fi}% - \cdp@list + \def\sce@a##1##2{% + \edef\sce@b{##1}% + \edef\sce@c{##2}% + \ifx\sce@b\sce@c + \let\cyrillicencoding\sce@c + \fi}% + \def\cdp@elt##1##2##3##4{% + \sce@a{##1}{OT2}% + \sce@a{##1}{LCY}% + \sce@a{##1}{X2}% + \sce@a{##1}{T2C}% + \sce@a{##1}{T2B}% + \sce@a{##1}{T2A}% + \if@ukr@uni@ode + \sce@a{##1}{EU1}% + \sce@a{##1}{EU2}% + \fi}% + \cdp@list } \@setcyrillicencoding \@onlypreamble\@setcyrillicencoding @@ -833,33 +847,35 @@ and the derived files ukraineb.ins, \@onlypreamble\sce@b \@onlypreamble\sce@c % \end{macrocode} -% The last lines are to free the memory occupied by the macros -% |\@setcyrillicencoding| and |\sce@x| that are useless in the document. -% The contents of |\@begindocumenthook| is cleared automatically. +% The last lines are to free the memory occupied by the macros +% |\@setcyrillicencoding| and |\sce@x| that are useless in the document. +% The contents of |\@begindocumenthook| is cleared automatically. % -% If |\cyrillicencoding| is still undefined, we issue warning and provide -% reasonable default value for |\cyrillicencoding|. We then load default -% encoding definitions; we use the lowercase names (i.e., -% \texttt{lcyenc.def} instead of \texttt{LCYenc.def}) when we do that. +% If |\cyrillicencoding| is still undefined, we issue warning and provide +% reasonable default value for |\cyrillicencoding|. We then load default +% encoding definitions; we use the lowercase names (i.e., +% \texttt{lcyenc.def} instead of \texttt{LCYenc.def}) when we do that. % % \begin{macrocode} \ifdefined\cyrillicencoding \else - \if@ukr@uni@ode - \ifdefined\XeTeXrevision - \edef\cyrillicencoding{EU1} - \else\ifdefined\luatexversion - \edef\cyrillicencoding{EU2} - \fi\fi - \else - \edef\cyrillicencoding{T2A} - \fi - \PackageWarning{babel}% - {No Cyrillic font encoding has been loaded so far.\MessageBreak - A font encoding should be declared before babel.\MessageBreak - Default `\cyrillicencoding' encoding will be loaded + \if@ukr@uni@ode + \ifdefined\XeTeXrevision + \edef\cyrillicencoding{EU1} + \else + \ifdefined\luatexversion + \edef\cyrillicencoding{EU2} + \fi + \fi + \else + \edef\cyrillicencoding{T2A} + \fi + \PackageWarning{babel}% + {No Cyrillic font encoding has been loaded so far.\MessageBreak + A font encoding should be declared before babel.\MessageBreak + Default `\cyrillicencoding' encoding will be loaded }% - \lowercase\expandafter{\expandafter\input\cyrillicencoding enc.def\relax}% + \lowercase\expandafter{\expandafter\input\cyrillicencoding enc.def\relax}% % \end{macrocode} % As final wisdom, we repeat |\@setcyrillicencoding| at |\begin{document}| % time. We could not avoid previous call to |\@setcyrillicencoding| since @@ -867,187 +883,180 @@ and the derived files ukraineb.ins, % \file{.aux} may contain |\set@langauge{ukrainian}|; the latter rises an % error if |\cyrillicencoding| would not be defined by that time. % \begin{macrocode} - \AtBeginDocument{\@setcyrillicencoding} + \AtBeginDocument{\@setcyrillicencoding} \fi % \end{macrocode} % -% \Describe\Ukrainian{} -% \DescribeOther\cyr{} -% \DescribeOther\cyrillictext{} -% For the sake of backward compatibility we keep the macro |\Ukrainian| -% but redefine its meaning; now |\Ukrainian| is simply an alias for -% |\selectlanguage{ukrainian}|. -% -% We define |\cyrillictext| and its alias |\cyr| but remove another alias -% |\Ukr|; these macros are intended for use within \texttt{babel} macros and -% do not perform complete switch of the language. -% In particular, they to do no switch captions and the name of current -% language stored in the macro |\languagename|. This inconsistency might -% break some assumptions embedded into \babel's. -% For example, the |\iflanguage| macro will fail. -% -% Second, |\cyrillictext| does -% not activate shorthands, so that |"<|, |">|, |"`|, |"'|, -% |"---|, e.t.c. will not work. -% -% And third, |\cyrillictext| does not write its trace -% to \file{.aux} file, which might result in wrong typesetting of -% table of content, list of table and list of figures in multilingual -% documents. -% -% Due to any of these reasons the use of the declaration |\cyrillictext| and -% its aliases in ordinary text is strongly discouraged. Instead of the -% declaration |\cyrillictext| it is recommended to use |\Ukrainian| or the -% command |\foreignlanguage| defined in the \babel{} core; their -% functionality is similar to |\selectlanguage{ukrainian}| but they did not -% switch caption names, dates and shorthands. +% \Describe\Ukrainian{} +% \DescribeOther\cyr{} +% \DescribeOther\cyrillictext{} +% For the sake of backward compatibility we keep the macro |\Ukrainian| +% but redefine its meaning; now |\Ukrainian| is simply an alias for +% |\selectlanguage{ukrainian}|. +% +% We define |\cyrillictext| and its alias |\cyr| but remove another alias +% |\Ukr|; these macros are intended for use within \texttt{babel} macros and +% do not perform complete switch of the language. +% In particular, they to do no switch captions and the name of current +% language stored in the macro |\languagename|. This inconsistency might +% break some assumptions embedded into \babel's. +% For example, the |\iflanguage| macro will fail. +% +% Second, |\cyrillictext| does +% not activate shorthands, so that |"<|, |">|, |"`|, |"'|, +% |"---|, e.t.c. will not work. +% +% And third, |\cyrillictext| does not write its trace +% to \file{.aux} file, which might result in wrong typesetting of +% table of content, list of table and list of figures in multilingual +% documents. +% +% Due to any of these reasons the use of the declaration |\cyrillictext| and +% its aliases in ordinary text is strongly discouraged. Instead of the +% declaration |\cyrillictext| it is recommended to use |\Ukrainian| or the +% command |\foreignlanguage| defined in the \babel{} core; their +% functionality is similar to |\selectlanguage{ukrainian}| but they did not +% switch caption names, dates and shorthands. % % \begin{macrocode} \DeclareRobustCommand{\Ukrainian}{\selectlanguage{\ukrainian}} \DeclareRobustCommand{\cyrillictext}{% - \fontencoding\cyrillicencoding\selectfont - \let\encodingdefault\cyrillicencoding - \expandafter\set@hyphenmins\ukrainianhyphenmins - \language\l@ukrainian}% + \fontencoding\cyrillicencoding\selectfont + \let\encodingdefault\cyrillicencoding + \expandafter\set@hyphenmins\ukrainianhyphenmins + \language\l@ukrainian}% \let\cyr\cyrillictext % \end{macrocode} % -% \textsc{Next part of code should be moved to \texttt{X2enc.def}, -% \texttt{X2enc.dfu}, if needed.} -% Since the \texttt{X2} encoding does not contain Latin letters, we -% should make some redefinitions of \LaTeX\ macros which implicitly -% produce Latin letters. +% \textsc{Next part of code should be moved to \texttt{X2enc.def}, +% \texttt{X2enc.dfu}, if needed.} +% Since the \texttt{X2} encoding does not contain Latin letters, we +% should make some redefinitions of \LaTeX\ macros which implicitly +% produce Latin letters. % -% Unfortunately, the commands |\AA| and |\aa| are not encoding dependent -% in \LaTeX\ (unlike e.g., |\oe| or |\DH|). They are defined as |\r{A}| and -% |\r{a}|. This leads to unpredictable results when the font encoding -% does not contain the Latin letters `A' and `a' (like \texttt{X2}). +% Unfortunately, the commands |\AA| and |\aa| are not encoding dependent +% in \LaTeX\ (unlike e.g., |\oe| or |\DH|). They are defined as |\r{A}| and +% |\r{a}|. This leads to unpredictable results when the font encoding +% does not contain the Latin letters `A' and `a' (like \texttt{X2}). % % \begin{macrocode} \expandafter\ifx\csname T@X2\endcsname\relax\else - \DeclareTextSymbolDefault{\AA}{OT1} - \DeclareTextSymbolDefault{\aa}{OT1} - \DeclareTextCommand{\aa}{OT1}{\r a} - \DeclareTextCommand{\AA}{OT1}{\r A} + \DeclareTextSymbolDefault{\AA}{OT1} + \DeclareTextSymbolDefault{\aa}{OT1} + \DeclareTextCommand{\aa}{OT1}{\r a} + \DeclareTextCommand{\AA}{OT1}{\r A} \fi % \end{macrocode} % % -% The macro |\cyrillictext| switches current (e.g., Latin) font encoding -% to a Cyrillic font encoding stored in |\cyrillicencoding|. The macro -% |\latintext| switches back. This method assumes that an font -% encoding is a Latin one. But in fact the latter assumption does not matter -% if any other language is switched on using same method, i.e. -% if corresponding \file{.ldf} file defines required macros to switch that -% language on from same standard (Latin) state. -% Since |\latintext| is defined by the core of babel we do not repeat its -% definition here. +% The macro |\cyrillictext| switches current (e.g., Latin) font encoding +% to a Cyrillic font encoding stored in |\cyrillicencoding|. The macro +% |\latintext| switches back. This method assumes that an font +% encoding is a Latin one. But in fact the latter assumption does not matter +% if any other language is switched on using same method, i.e. +% if corresponding \file{.ldf} file defines required macros to switch that +% language on from same standard (Latin) state. +% Since |\latintext| is defined by the core of babel we do not repeat its +% definition here. % % \begin{macrocode} %\DeclareRobustCommand{\latintext}{% -% \fontencoding{\latinencoding}\selectfont -% \def\encodingdefault{\latinencoding}} +% \fontencoding{\latinencoding}\selectfont +% \def\encodingdefault{\latinencoding}} %\let\lat\latintext % \end{macrocode} % -% \Describe\textcyrillic{\marg{text}} -% The macros |\cyrillictext| and |\latintext| are declarations. -% For shorter chunks of text the commands |\textcyrillic| and |\textlatin| -% can be used. +%\Describe\textcyrillic{\marg{text}} +% The macros |\cyrillictext| and |\latintext| are declarations. +% For shorter chunks of text the commands |\textcyrillic| and |\textlatin| +% can be used. % -% The macro |\textcyrillic| takes an argument which is then typeset using the -% requested font encoding. It is thus an equivalent or -% |\foreignlangauge{ukrainian}|. +% The macro |\textcyrillic| takes an argument which is then typeset using the +% requested font encoding. It is thus an equivalent or +% |\foreignlangauge{ukrainian}|. % % \begin{macrocode} \DeclareTextFontCommand{\textcyrillic}{\cyrillictext} % \end{macrocode} % % -% \subsection{Input encoding} +% \subsection{Input encoding} % -% User should use the \pkg{inputenc} package when any 8-bit Cyrillic -% font encoding is used, selecting one of the Cyrillic input encodings. -% We do not assume any default input encoding, so -% the \pkg{inputenc} package should be explicitly called by -% |\usepackage{inputenc}| \emph{before} \babel. -% Note however that default font encoding \texttt{T2A} fits -% well enough to Ukrainian version of Windows ANSI encoding which is almost -% equivalent to \texttt{cp1251}. +% User should use the \pkg{inputenc} package when any 8-bit Cyrillic +% font encoding is used, selecting one of the Cyrillic input encodings. +% We do not assume any default input encoding, so +% the \pkg{inputenc} package should be explicitly called by +% |\usepackage{inputenc}| \emph{before} \babel. +% Note however that default font encoding \texttt{T2A} fits +% well enough to Ukrainian version of Windows ANSI encoding which is almost +% equivalent to \texttt{cp1251}. % % \begin{macrocode} \@ifpackageloaded{inputenc}{% - \if@ukr@uni@ode - \PackageWarning{babel}{inputenc should not be used with LuaTeX or XeTeX} - \fi + \if@ukr@uni@ode + \PackageWarning{babel}{inputenc should not be used with LuaTeX or XeTeX} + \fi }{% - %\def\reserved@a{LWN}% - %\ifx\reserved@a\cyrillicencoding\else + %\def\reserved@a{LWN}% + %\ifx\reserved@a\cyrillicencoding\else \def\reserved@a{OT2}% - \ifx\reserved@a\cyrillicencoding\else - \def\reserved@a{EU1}% - \ifx\reserved@a\cyrillicencoding\else - \def\reserved@a{EU2}% - \ifx\reserved@a\cyrillicencoding\else - \PackageWarning{babel}% - {No input encoding specified for Ukrainian language} - \fi\fi\fi - %\fi + \ifx\reserved@a\cyrillicencoding + \else + \def\reserved@a{EU1}% + \ifx\reserved@a\cyrillicencoding\else + \def\reserved@a{EU2}% + \ifx\reserved@a\cyrillicencoding\else + \PackageWarning{babel}% + {No input encoding specified for Ukrainian language} + \fi + \fi + \fi + %\fi } % \end{macrocode} % % % \subsection{Shorthands} % -% The double quote character \texttt{"} is declared to be active in -% Ukrainian language. +% The double quote character \texttt{"} is declared to be active in +% Ukrainian language. % % \begin{macrocode} \initiate@active@char{"} % \end{macrocode} % -% \begin{macro}{\mdqon} -% \begin{macro}{\mdqoff} -% Obsolete: Active double quote can be both activated and deactivated at any time -% using the macros |\mdqon| and |\mdqoff|. -% \begin{macrocode} -%\def\mdqon{\bbl@activate{"}} -%\def\mdqoff{\bbl@deactivate{"}} -% \end{macrocode} -% Initial activation state will set to on later in section \ref{sss:extra}. -% \end{macro} -% \end{macro} +% Initial activation state will set to on later in section \ref{sss:extra}. % -% \Describe\dq{} -% The active character |"| is used as indicated in -% table~\ref{tab:ukrainian-quote}. We save the original double quote -% character in the |\dq| macro to keep it available. -% The math accent |\"| can now be typed as `|"|'. +% \Describe\dq{} +% The active character |"| is used as indicated in +% table~\ref{tab:ukrainian-quote}. We save the original double quote +% character in the |\dq| macro to keep it available. +% The math accent |\"| can now be typed as `|"|'. % % \begin{macrocode} \begingroup \catcode`\"12 \def\reserved@a{\endgroup - \def\@SS{\mathchar"7019 } - \def\dq{"}} + \def\@SS{\mathchar"7019 } + \def\dq{"}} \reserved@a % \end{macrocode} % -% \subsubsection{Quotes} +% \subsubsection{Quotes} % -% We set |"`| and |"'| as shorthands for |\quotedblbase| and -% |\textquotedblleft|, respectively. These shorthands -% were defined through german quotes |\glqq| and |\grqq|, which in their turn -% are defined in \pkg{babel.def} via |\quotedblbase| and |\textquotedblleft|, -% respectively. It occurred, that old definition caused errors in Unicode -% mode if \pkg{fontspec} is loaded. +% We set |"`| and |"'| as shorthands for |\quotedblbase| and +% |\textquotedblleft|, respectively. These shorthands +% were defined through german quotes |\glqq| and |\grqq|, which in their turn +% are defined in \pkg{babel.def} via |\quotedblbase| and |\textquotedblleft|, +% respectively. It occurred, that old definition caused errors in Unicode +% mode if \pkg{fontspec} is loaded. % -% The shorthands |"<| and |">| were -% declared to be equivalents for the French quotes |\flqq| and |\frqq|, -% respectively. They are defined in \pkg{babel.def} via |\guillemotleft| and -% |\guillemotrigh|. However, |\flqq| and |\guillemotleft| (and their right -% counterparts) are typeset differently if current encoding is not -% \texttt{T1}. Therefore, we define |"<| and |">| directly -% through |\guillemotleft| and |\guillemotrigh|. +% The shorthands |"<| and |">| were +% declared to be equivalents for the French quotes |\flqq| and |\frqq|, +% respectively. They are defined in \pkg{babel.def} via |\guillemotleft| and +% |\guillemotrigh|. However, |\flqq| and |\guillemotleft| (and their right +% counterparts) are typeset differently if current encoding is not +% \texttt{T1}. Therefore, we define |"<| and |">| directly +% through |\guillemotleft| and |\guillemotrigh|. % % \begin{macrocode} \declare@shorthand{ukrainian}{"`}{\quotedblbase} @@ -1056,319 +1065,298 @@ and the derived files ukraineb.ins, \declare@shorthand{ukrainian}{">}{\guillemotright} % \end{macrocode} % -% Next set of shorthands is intended for variations of standard macro |\-| -% which indicates explicitly breakpoint for hyphenation in a word. Meaning -% of these shorthands is explained in table~\ref{tab:ukrainian-quote}. +% Next set of shorthands is intended for variations of standard macro |\-| +% which indicates explicitly breakpoint for hyphenation in a word. Meaning +% of these shorthands is explained in table~\ref{tab:ukrainian-quote}. % % \begin{macrocode} \declare@shorthand{ukrainian}{""}{\hskip\z@skip} \declare@shorthand{ukrainian}{"~}{\textormath{\leavevmode\hbox{-}}{-}} \declare@shorthand{ukrainian}{"=}{\nobreak-\hskip\z@skip} \declare@shorthand{ukrainian}{"|}{% - \textormath{\nobreak\discretionary{-}{}{\kern.03em}\allowhyphens}{}} + \textormath{\nobreak\discretionary{-}{}{\kern.03em}\allowhyphens}{}} % \end{macrocode} % -% \subsubsection{Emdash, endash and hyphenation sign} +% \subsubsection{Emdash, endash and hyphenation sign} % -% To distinguish between |"-| and |"---| we must check whether the next -% after |-| token is a hyphen character. -% If it is, we output an emdash, otherwise a hyphen sign. Therefor -% \TeX\ looks for the next token after the first `|-|', writes -% its meaning to |\ukrainian@sh@next| and finally call for |\ukrainian@sh@tmp|. +% To distinguish between |"-| and |"---| we must check whether the next +% after |-| token is a hyphen character. +% If it is, we output an emdash, otherwise a hyphen sign. Therefor +% \TeX\ looks for the next token after the first `|-|', writes +% its meaning to |\ukrainian@sh@next| and finally call for |\ukrainian@sh@tmp|. % % \begin{macrocode} \declare@shorthand{ukrainian}{"-}{% - \def\ukrainian@sh@tmp{% - \if\ukrainian@sh@next-\expandafter\ukrainian@sh@emdash - \else\expandafter\ukrainian@sh@hyphen\fi}% - \futurelet\ukrainian@sh@next\ukrainian@sh@tmp} + \def\ukrainian@sh@tmp{% + \if\ukrainian@sh@next-\expandafter\ukrainian@sh@emdash + \else% + \expandafter\ukrainian@sh@hyphen% + \fi}% + \futurelet\ukrainian@sh@next\ukrainian@sh@tmp} % \end{macrocode} -% Two macros |\ukrainian@sh@hyphen| and |\ukrainian@sh@emdash| called by -% |\ukrainian@sh@tmp| are defined below. The second of -% them has two parameters since it must gobble next two hyphen signs. +% Two macros |\ukrainian@sh@hyphen| and |\ukrainian@sh@emdash| called by +% |\ukrainian@sh@tmp| are defined below. The second of +% them has two parameters since it must gobble next two hyphen signs. % \begin{macrocode} \def\ukrainian@sh@hyphen{\nobreak\-\bbl@allowhyphens} \def\ukrainian@sh@emdash#1#2{\cdash-#1#2} % \end{macrocode} % -% \Describe\cdash{} -% In its turn, |\ukrainian@sh@emdash| simply calls for |\cdash| which has -% rich use. It analyses 3rd of 3 characters and calls for one of few -% predefined macros |\@Acdash|, |\@Bcdash|, |\@Ccdash|. +% \Describe\cdash{} +% In its turn, |\ukrainian@sh@emdash| simply calls for |\cdash| which has +% rich use. It analyses 3rd of 3 characters and calls for one of few +% predefined macros |\@Acdash|, |\@Bcdash|, |\@Ccdash|. % \begin{macrocode} \def\cdash#1#2#3{\def\tempx@{#3}% -\def\tempa@{-}\def\tempb@{~}\def\tempc@{*}% - \ifx\tempx@\tempa@\@Acdash\else - \ifx\tempx@\tempb@\@Bcdash\else - \ifx\tempx@\tempc@\@Ccdash\else - \errmessage{Wrong usage of cdash}\fi\fi\fi} + \def\tempa@{-}\def\tempb@{~}\def\tempc@{*}% + \ifx\tempx@\tempa@\@Acdash% + \else% + \ifx\tempx@\tempb@\@Bcdash% + \else% + \ifx\tempx@\tempc@\@Ccdash% + \else% + \errmessage{Wrong usage of cdash} + \fi + \fi + \fi +} % \end{macrocode} % -% All these 3 internal macros call for |\cyrdash|, which type Cyrillic -% emdash, but put different spaces around the dash. +% All these 3 internal macros call for |\cyrdash|, which type Cyrillic +% emdash, but put different spaces around the dash. % -% |\@Acdash| is invoked by |"---|. It types Cyrillic emdash to be used -% inside a text and puts an unbreakable thin space before the dash if a -% \textit{space} is placed before |"---| in the source file; -% can be used after display maths formulae, formatted lists, enumerations, etc. +% |\@Acdash| is invoked by |"---|. It types Cyrillic emdash to be used +% inside a text and puts an unbreakable thin space before the dash if a +% \textit{space} is placed before |"---| in the source file; +% can be used after display maths formulae, formatted lists, enumerations, etc. % \begin{macrocode} \def\@Acdash{\ifdim\lastskip>\z@\unskip\nobreak\hskip.2em\fi - \cyrdash\hskip.2em\ignorespaces}% + \cyrdash\hskip.2em\ignorespaces}% % \end{macrocode} % -% |\@Bcdash| is invoked by |"--~|. It types Cyrillic emdash in compound -% names (like Mendeleev--Klapeiron); requires no space characters around and -% adds extra space after the dash. +% |\@Bcdash| is invoked by |"--~|. It types Cyrillic emdash in compound +% names (like Mendeleev--Klapeiron); requires no space characters around and +% adds extra space after the dash. % \begin{macrocode} \def\@Bcdash{\leavevmode\ifdim\lastskip>\z@\unskip\fi - \nobreak\cyrdash\penalty\exhyphenpenalty\hskip\z@skip\ignorespaces}% + \nobreak\cyrdash\penalty\exhyphenpenalty\hskip\z@skip\ignorespaces}% % \end{macrocode} % -% |\@Ccdash| is invoked by |"--*|. It denotes direct speech and adds small -% space after the dash. +% |\@Ccdash| is invoked by |"--*|. It denotes direct speech and adds small +% space after the dash. % \begin{macrocode} \def\@Ccdash{\leavevmode - \nobreak\cyrdash\nobreak\hskip.35em\ignorespaces}% + \nobreak\cyrdash\nobreak\hskip.35em\ignorespaces}% % \end{macrocode} % -% \Describe\cyrdash{} -% The |\cyrdash| can be defined in a fontenc file as it is done for -% the \texttt{T2*} encodings. We provide fake definition of |\cyrdash| only if -% it is not defined there. +% \Describe\cyrdash{} +% The |\cyrdash| can be defined in a fontenc file as it is done for +% the \texttt{T2*} encodings. We provide fake definition of |\cyrdash| only if +% it is not defined there. % -% Cyrillic \texttt{T2*} fonts contains shorter (Cyrillic) emdash. It can be -% typeset also via the ligature |---|. So, if |\laticencoding| differs from -% \texttt{T2*} switching of languages also changes the emdash length typed as -% ligature in the source file. +% Cyrillic \texttt{T2*} fonts contains shorter (Cyrillic) emdash. It can be +% typeset also via the ligature |---|. So, if |\laticencoding| differs from +% \texttt{T2*} switching of languages also changes the emdash length typed as +% ligature in the source file. % % \begin{macrocode} -%\ifx\cyrdash\undefined -% \def\cyrdash{\hbox to.8em{--\hss--}} -% \PackageInfo{babel}{\string\cyrdash\space is defined} -%\fi \ProvideTextCommandDefault{\cyrdash}{\iflanguage{ukrainian}% {\hbox to.8em{--\hss--}}{\textemdash}} % \end{macrocode} % -% -% Finally, we define a shorthand thin space to be placed between initials -% as in |D.",Mendeleev|. When used instead of |\,| as in |D.\,Mendeleev| -% it allows hyphenation in the next word. +% Finally, we define a shorthand thin space to be placed between initials +% as in |D.",Mendeleev|. When used instead of |\,| as in |D.\,Mendeleev| +% it allows hyphenation in the next word. % % \begin{macrocode} \declare@shorthand{ukrainian}{",}{\nobreak\hskip.2em\ignorespaces} % \end{macrocode} % % -% \subsection{Switching to and from Ukrainian} +% \subsection{Switching to and from Ukrainian} % -% Now we define additional macros used to reset current language to -% Ukrainian and back -% to some original state. The package \babel{} based on the assumption -% that original state is characterized by a Latin encoding. Previously, -% for back reset the macro |\OriginalTeX| was used, but now use |\latintext| -% for the same purpose. +% Now we define additional macros used to reset current language to +% Ukrainian and back +% to some original state. The package \babel{} based on the assumption +% that original state is characterized by a Latin encoding. Previously, +% for back reset the macro |\OriginalTeX| was used, but now use |\latintext| +% for the same purpose. % % -% \subsubsection{Caption names} +% \subsubsection{Caption names} % -% First, we define Ukrainian equivalents for Ukrainian caption names. +% First, we define Ukrainian equivalents for Ukrainian caption names. % % \Describe\captionsukrainian{} -% The macro |\captionsukrainian| defines caption names used in the -% four standard document classes provided with \LaTeX. The macro |\cyr| -% activates Cyrillic encoding. It could be dropped if we would be sure -% that Ukrainian captions are called only if current language is Ukrainian. -% However, the macros such as |\Ukrainian| do not conform to strict rules -% of the package \babel{} as explained in the above. +% The macro |\captionsukrainian| defines caption names used in the +% four standard document classes provided with \LaTeX. The macro |\cyr| +% activates Cyrillic encoding. It could be dropped if we would be sure +% that Ukrainian captions are called only if current language is Ukrainian. +% However, the macros such as |\Ukrainian| do not conform to strict rules +% of the package \babel{} as explained in the above. % -% We now use \babel{}'s 3.9 |\Set| macro for defining caption names as well -% as date. If Unicode engine is running, Cyrillic letters are typed -% in by their Unicode code-points. +% We now use \babel{}'s 3.9 |\Set| macro for defining caption names as well +% as date. If Unicode engine is running, Cyrillic letters are typed +% in by their Unicode code-points. % % \begin{macrocode} - % - % ---------------------- Caption Names --------------------------- - % +% +% ------------------------- Caption Names (Unucode case) ------------------------------- +% \if@ukr@uni@ode -\PackageInfo{bulgarian.ldf}{Executing the 3.9 or latter} -\StartBabelCommands*{ukrainian}{captions}[unicode, fontenc=EU1 EU2, charset=utf8] - \SetString\prefacename{Вступ}% [babel] - \SetString\refname{Література}% [only article] - \SetString\abstractname{Анотація}% [only article, report] - \SetString\bibname{Бібліоґрафія}% [only book, report] - \SetString\chaptername{Розділ}% [only book, report] - \SetString\appendixname{Додаток}% - \SetString\contentsname{Зміст}% - \SetString\tocname{\contentsname}% - \SetString\listfigurename{Перелік ілюстрацій}% - \SetString\listtablename{Перелік таблиць}% - \SetString\indexname{Предметний покажчик}% - \SetString\authorname{Іменний покажчик}% - \SetString\figurename{Рис.}% - \SetString\tablename{Таблиця}% - \SetString\partname{Частина}% - \SetString\enclname{вкл.}% - \SetString\ccname{вих.}% - \SetString\headtoname{вх.}% - \SetString\pagename{с.}% [letter] - \SetString\seename{див.}% - \SetString\alsoname{див.\ також}% - \SetString\proofname{Доведення}% [amsthm] - \SetString\glossaryname{Словник термінів}% - \SetString\acronymname{Абревіатури}% [glossaries] {Acronyms} - \SetString\lstlistingname{Лістинг}% [listings] (the environment) {Listing} - \SetString\lstlistlistingname{Лістинги}% [listings] (the "List of") {Listings} - \SetString\nomname{Позначення} - \SetString\notesname{Нотатки}% [endnotes] {Notes} + \PackageInfo{ukrainian.ldf}{Executing the 3.9 or latter} + \StartBabelCommands*{ukrainian}{captions}[unicode, fontenc=EU1 EU2, charset=utf8] + \SetString\prefacename{Вступ}% [babel] + \SetString\refname{Література}% [only article] + \SetString\abstractname{Анотація}% [only article, report] + \SetString\bibname{Бібліоґрафія}% [only book, report] + \SetString\chaptername{Розділ}% [only book, report] + \SetString\appendixname{Додаток}% + \SetString\contentsname{Зміст}% + \SetString\tocname{\contentsname}% + \SetString\listfigurename{Перелік ілюстрацій}% + \SetString\listtablename{Перелік таблиць}% + \SetString\indexname{Предметний покажчик}% + \SetString\authorname{Іменний покажчик}% + \SetString\figurename{Рис.}% + \SetString\tablename{Таблиця}% + \SetString\partname{Частина}% + \SetString\enclname{вкл.}% + \SetString\ccname{вих.}% + \SetString\headtoname{вх.}% + \SetString\pagename{с.}% [letter] + \SetString\seename{див.}% + \SetString\alsoname{див.\ також}% + \SetString\proofname{Доведення}% [amsthm] + \SetString\glossaryname{Словник термінів}% + \SetString\acronymname{Абревіатури}% [glossaries] {Acronyms} + \SetString\lstlistingname{Лістинг}% [listings] (the environment) {Listing} + \SetString\lstlistlistingname{Лістинги}% [listings] (the "List of") {Listings} + \SetString\nomname{Позначення} + \SetString\notesname{Нотатки}% [endnotes] {Notes} % \end{macrocode} % Additional definitions for the package \pkg{nomencl}: % \begin{macrocode} - % - % ------------------------- nomencl ------------------------------ - % - \ifdefined\nomname% - \addto\captionsukrainian{% - \def\eqdeclaration#1{, див.\nobreakspace(#1)}% - \def\pagedeclaration#1{, стор.\nobreakspace#1}% - }% - \fi -% \end{macrocode} -% Additional captions for the \cls{revtex} class. -% \begin{macrocode} - % - % ------------------- RevTeX4 & RevTeX4-1 ------------------------ - % - %\@ifclassloaded{revtex4-1} - %{} - %{}% - % - \ifnum\@ifclassloaded{revtex4}{1}{\@ifclassloaded{revtex4-1}{1}{0}}>0 - \SetString\lofname{\listfigurename} - \SetString\lotname{\listtablename} - \SetString\figuresname{Рисунки} - \SetString\tablesname{Таблиці} - \SetString\appendixesname{Додатки} - \SetString\acknowledgmentsname{Подяки} - \SetString\andname{та}%{and} - \SetString\@pacs@name{PACS коди: } - \SetString\@keys@name{Ключові слова: } - \SetString\Dated@name{Дата: } - \SetString\Received@name{Отримано } - \SetString\Revised@name{Виправлена версія } - \SetString\Accepted@name{Прийнято } - \SetString\Published@name{Опубліковано } - %}{}% - \fi - \EndBabelCommands +% +% ----------------------------- nomencl (Unucode case) --------------------------------- +% + \ifdefined\nomname% + \addto\captionsukrainian{% + \def\eqdeclaration#1{, див.\nobreakspace(#1)}% + \def\pagedeclaration#1{, стор.\nobreakspace#1}% + }% + \fi + \EndBabelCommands \else -\StartBabelCommands*{ukrainian}{captions} - \SetString\prefacename{{\cyr\CYRV\cyrs\cyrt\cyru\cyrp}}% - \SetString\refname{% - {\cyr\CYRL\cyrii\cyrt\cyre\cyrr\cyra\cyrt\cyru\cyrr\cyra}}% - \SetString\abstractname{% - {\cyr\CYRA\cyrn\cyro\cyrt\cyra\cyrc\cyrii\cyrya}}% - \SetString\bibname{% - {\cyr\CYRB\cyrii\cyrb\cyrl\cyrii\cyro\cyrgup\cyrr\cyra\cyrf\cyrii\cyrya}}% - \SetString\chaptername{{\cyr\CYRR\cyro\cyrz\cyrd\cyrii\cyrl}}% - \SetString\appendixname{{\cyr\CYRD\cyro\cyrd\cyra\cyrt\cyro\cyrk}}% - \SetString\contentsname{{\cyr\CYRZ\cyrm\cyrii\cyrs\cyrt}}% - \SetString\tocname{\contentsname} - \SetString\listfigurename{{\cyr\CYRP\cyre\cyrr\cyre\cyrl\cyrii\cyrk - \ \cyrii\cyrl\cyryu\cyrs\cyrt\cyrr\cyra\cyrc\cyrii\cyrishrt}}% - \SetString\listtablename{{\cyr\CYRP\cyre\cyrr\cyre\cyrl\cyrii\cyrk - \ \cyrt\cyra\cyrb\cyrl\cyri\cyrc\cyrsftsn}}% - \SetString\indexname{{\cyr\CYRP\cyrr\cyre\cyrd\cyrm\cyre\cyrt\cyrn\cyri\cyrishrt - \ \cyrp\cyro\cyrk\cyra\cyrzh\cyrch\cyri\cyrk}}% - \SetString\authorname{{\cyr\CYRII\cyrm\cyre\cyrn\cyrn\cyri\cyrishrt - \ \cyrp\cyro\cyrk\cyra\cyrzh\cyrch\cyri\cyrk}}% - \SetString\figurename{{\cyr\CYRR\cyri\cyrs.}}% - \SetString\tablename{{\cyr\CYRT\cyra\cyrb\cyrl.}}% - \SetString\partname{{\cyr\CYRCH\cyra\cyrs\cyrt\cyri\cyrn\cyra}}% - \SetString\enclname{{\cyr\cyrv\cyrk\cyrl\cyra\cyrd\cyrk\cyra}}% - \SetString\ccname{{\cyr\cyrk\cyro\cyrp\cyrii\cyrya}}% - \SetString\headtoname{{\cyr\cyrv\cyrh.}}% - \SetString\pagename{{\cyr\cyrs.}}% - \SetString\seename{{\cyr\cyrd\cyri\cyrv.}}% - \SetString\alsoname{{\cyr\cyrd\cyri\cyrv.\ \cyrt\cyra\cyrk\cyro\cyrzh}} - \SetString\proofname{{\cyr\CYRD\cyro\cyrv\cyre\cyrd\cyre\cyrn\cyrn\cyrya}}% - \SetString\glossaryname{{\cyr\CYRS\cyrl\cyro\cyrv\cyrn\cyri\cyrk - \ \cyrt\cyre\cyrr\cyrm\cyrii\cyrn\cyrii\cyrv}}% - \SetString\nomname{\CYRP\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrn\cyrya}% - \SetString\notesname{\CYRN\cyro\cyrt\cyra\cyrt\cyrk\cyri}% - % - % ------------------- RevTeX4 & RevTeX4-1 ------------------------ - % - \ifnum \@ifclassloaded{revtex4}{1}{\@ifclassloaded{revtex4-1}{1}{0}}>0 - \SetString\lofname{\listfigurename} - \SetString\lotname{\listtablename} - \SetString\figuresname{\CYRR\cyri\cyrs\cyru\cyrn\cyrk\cyri} - \SetString\tablesname{\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyrii} - \SetString\appendixesname{\CYRD\cyro\cyrd\cyra\cyrt\cyrk\cyri} - \SetString\acknowledgmentsname{\CYRP\cyro\cyrd\cyrya\cyrk\cyri} - \SetString\andname{\cyrt\cyra}%{and} - \SetString\@pacs@name{PACS \cyrk\cyro\cyrd\cyri: } - \SetString\@keys@name{\CYRK\cyrl\cyryu\cyrch\cyro\cyrv\cyrii - \ \cyrs\cyrl\cyro\cyrv\cyra: } - \SetString\Dated@name{\CYRD\cyra\cyrt\cyra: } - \SetString\Received@name{\CYRO\cyrt\cyrr\cyri\cyrm\cyra\cyrn\cyro } - \SetString\Revised@name{\CYRV\cyri\cyrp\cyrr\cyra\cyrv\cyrl\cyre\cyrn\cyro } - \SetString\Accepted@name{\CYRP\cyrr\cyri\cyrishrt\cyrn\cyrya\cyrt\cyro }% - \SetString\Published@name{\CYRO\cyrp\cyru\cyrb\cyrl\cyrii\cyrk\cyro\cyrv\cyra\cyrn\cyro } - \fi - \EndBabelCommands +% +% ------------------------- Caption Names (Nonunucode case) ---------------------------- +% + \StartBabelCommands*{ukrainian}{captions} + \SetString\prefacename{{\cyr\CYRV\cyrs\cyrt\cyru\cyrp}}% + \SetString\refname{% + {\cyr\CYRL\cyrii\cyrt\cyre\cyrr\cyra\cyrt\cyru\cyrr\cyra}}% + \SetString\abstractname{% + {\cyr\CYRA\cyrn\cyro\cyrt\cyra\cyrc\cyrii\cyrya}}% + \SetString\bibname{% + {\cyr\CYRB\cyrii\cyrb\cyrl\cyrii\cyro\cyrgup\cyrr\cyra\cyrf\cyrii\cyrya}}% + \SetString\chaptername{{\cyr\CYRR\cyro\cyrz\cyrd\cyrii\cyrl}}% + \SetString\appendixname{{\cyr\CYRD\cyro\cyrd\cyra\cyrt\cyro\cyrk}}% + \SetString\contentsname{{\cyr\CYRZ\cyrm\cyrii\cyrs\cyrt}}% + \SetString\tocname{\contentsname} + \SetString\listfigurename{{\cyr\CYRP\cyre\cyrr\cyre\cyrl\cyrii\cyrk + \ \cyrii\cyrl\cyryu\cyrs\cyrt\cyrr\cyra\cyrc\cyrii\cyrishrt}}% + \SetString\listtablename{{\cyr\CYRP\cyre\cyrr\cyre\cyrl\cyrii\cyrk + \ \cyrt\cyra\cyrb\cyrl\cyri\cyrc\cyrsftsn}}% + \SetString\indexname{{\cyr\CYRP\cyrr\cyre\cyrd\cyrm\cyre\cyrt\cyrn\cyri\cyrishrt + \ \cyrp\cyro\cyrk\cyra\cyrzh\cyrch\cyri\cyrk}}% + \SetString\authorname{{\cyr\CYRII\cyrm\cyre\cyrn\cyrn\cyri\cyrishrt + \ \cyrp\cyro\cyrk\cyra\cyrzh\cyrch\cyri\cyrk}}% + \SetString\figurename{{\cyr\CYRR\cyri\cyrs.}}% + \SetString\tablename{{\cyr\CYRT\cyra\cyrb\cyrl.}}% + \SetString\partname{{\cyr\CYRCH\cyra\cyrs\cyrt\cyri\cyrn\cyra}}% + \SetString\enclname{{\cyr\cyrv\cyrk\cyrl\cyra\cyrd\cyrk\cyra}}% + \SetString\ccname{{\cyr\cyrk\cyro\cyrp\cyrii\cyrya}}% + \SetString\headtoname{{\cyr\cyrv\cyrh.}}% + \SetString\pagename{{\cyr\cyrs.}}% + \SetString\seename{{\cyr\cyrd\cyri\cyrv.}}% + \SetString\alsoname{{\cyr\cyrd\cyri\cyrv.\ \cyrt\cyra\cyrk\cyro\cyrzh}} + \SetString\proofname{{\cyr\CYRD\cyro\cyrv\cyre\cyrd\cyre\cyrn\cyrn\cyrya}}% + \SetString\glossaryname{{\cyr\CYRS\cyrl\cyro\cyrv\cyrn\cyri\cyrk + \ \cyrt\cyre\cyrr\cyrm\cyrii\cyrn\cyrii\cyrv}}% + \SetString\acronymname{\cyr\CYRA\cyrb\cyrr\cyre\cyrv\cyrii\cyra\cyrt\cyru\cyri\cyri}% + \SetString\lstlistingname{\cyr\CYRL\cyrii\cyrs\cyrt\cyri\cyrn\cyrg}% + \SetString\lstlistlistingname{\cyr\CYRL\cyrii\cyrs\cyrt\cyri\cyrn\cyrg\cyri}% + \SetString\nomname{\CYRP\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrn\cyrya}% + \SetString\notesname{\CYRN\cyro\cyrt\cyra\cyrt\cyrk\cyri}% + \EndBabelCommands \fi % \end{macrocode} % -% \subsubsection{Date in Ukrainian} +% \subsubsection{Date in Ukrainian} % % \Describe\dateukrainian{} -% The macro |\dateukrainian| is used to reset the macro |\today| in Ukrainian. +% The macro |\dateukrainian| is used to reset the macro |\today| in Ukrainian. % % \begin{macrocode} - % - % ---------------------- Date --------------------------- - % +% +% ---------------------------- Date (Unicode case) ------------------------------------- +% \if@ukr@uni@ode -\PackageInfo{bulgarian.ldf}{Executing the post 3.9 branch for dates} -\StartBabelCommands*{ukrainian}{date}[unicode, fontenc=EU1 EU2, charset=utf8] - \SetStringLoop{month#1name}{% - січня,лютого,березня,квітня,травня,червня,% - липня,серпня,вересня,жовтня,листопада,грудня} - - \SetStringLoop{weekday#1name}{% - понеділок,вівторок,середа,четвер,п'ятниця,субота,неділя} - - \SetString\abbgyear{р.} + \PackageInfo{ukrainian.ldf}{Executing the post 3.9 branch for dates} + \StartBabelCommands*{ukrainian}{date}[unicode, fontenc=EU1 EU2, charset=utf8] + \SetStringLoop{month#1name}{% + січня,% + лютого,% + березня,% + квітня,% + травня,% + червня,% + липня,% + серпня,% + вересня,% + жовтня,% + листопада,% + грудня% + } + \SetString\abbgyear{р.} \else -\StartBabelCommands*{ukrainian}{date} - \SetStringLoop{month#1name}{% - \cyrs\cyrii\cyrch\cyrn\cyrya,% - \cyrl\cyryu\cyrt\cyro\cyrg\cyro,% - \cyrb\cyre\cyrr\cyre\cyrz\cyrn\cyrya,% - \cyrk\cyrv\cyrii\cyrt\cyrn\cyrya,% - \cyrt\cyrr\cyra\cyrv\cyrn\cyrya,% - \cyrch\cyre\cyrr\cyrv\cyrn\cyrya,% - \cyrl\cyri\cyrp\cyrn\cyrya,% - \cyrs\cyre\cyrr\cyrp\cyrn\cyrya,% - \cyrv\cyre\cyrr\cyre\cyrs\cyrn\cyrya,% - \cyrzh\cyro\cyrv\cyrt\cyrn\cyrya,% - \cyrl\cyri\cyrs\cyrt\cyro\cyrp\cyra\cyrd\cyra,% - \cyrg\cyrr\cyru\cyrd\cyrn\cyrya% - }% - \SetString\abbgyear{\cyrr.} +% +% ---------------------------- Date (Nonunicode case) ---------------------------------- +% + \StartBabelCommands*{ukrainian}{date} + \SetStringLoop{month#1name}{% + \cyrs\cyrii\cyrch\cyrn\cyrya,% + \cyrl\cyryu\cyrt\cyro\cyrg\cyro,% + \cyrb\cyre\cyrr\cyre\cyrz\cyrn\cyrya,% + \cyrk\cyrv\cyrii\cyrt\cyrn\cyrya,% + \cyrt\cyrr\cyra\cyrv\cyrn\cyrya,% + \cyrch\cyre\cyrr\cyrv\cyrn\cyrya,% + \cyrl\cyri\cyrp\cyrn\cyrya,% + \cyrs\cyre\cyrr\cyrp\cyrn\cyrya,% + \cyrv\cyre\cyrr\cyre\cyrs\cyrn\cyrya,% + \cyrzh\cyro\cyrv\cyrt\cyrn\cyrya,% + \cyrl\cyri\cyrs\cyrt\cyro\cyrp\cyra\cyrd\cyra,% + \cyrg\cyrr\cyru\cyrd\cyrn\cyrya% + }% + \SetString\abbgyear{\cyrr.} \fi -\SetString\today{\number\day\,\csname month\romannumeral\month name\endcsname\space - \number\year\,\abbgyear} +% \end{macrocode} +% Typesetting date in both unicode and nonunicode cases +% \begin{macrocode} +% +% ---------------------------- Date typesetting ---------------------------------------- +% +\SetString\today{\number\day~\csname month\romannumeral\month name\endcsname\space + \number\year~\abbgyear} \EndBabelCommands % \end{macrocode} % -% \subsubsection{Hyphenation patterns} +% \subsubsection{Hyphenation patterns} % -% Ukrainian hyphenation patterns are automatically activated every time -% Ukrainian language is selected via |\selectlanguage|, |\foreignlanguage| -% or equivalent command. But we need to declare values of -% |\lefthyphenmin| and |\righthyphenmin|; both are set to~2. +% Ukrainian hyphenation patterns are automatically activated every time +% Ukrainian language is selected via |\selectlanguage|, |\foreignlanguage| +% or equivalent command. But we need to declare values of +% |\lefthyphenmin| and |\righthyphenmin|; both are set to~2. % % % \begin{macrocode} @@ -1376,25 +1364,25 @@ and the derived files ukraineb.ins, \providehyphenmins{ukrainian}{\tw@\tw@} % \end{macrocode} % -% \subsubsection{Extra definitions\label{sss:extra}} +% \subsubsection{Extra definitions}\label{sss:extra} % % \Describe\extrasukrainian{} % \DescribeOther\noextrasukrainian{} -% The macro |\extrasukrainian| performs extra definitions in addition to -% resetting the caption names and date. -% The macro |\noextrasukrainian| is used to cancel the actions of -% |\extrasukrainian|. +% The macro |\extrasukrainian| performs extra definitions in addition to +% resetting the caption names and date. +% The macro |\noextrasukrainian| is used to cancel the actions of +% |\extrasukrainian|. % % -% First, we instruct \babel{} to switch font encoding using earlier -% defined macros |\cyrillictext| and |\latintext|. +% First, we instruct \babel{} to switch font encoding using earlier +% defined macros |\cyrillictext| and |\latintext|. % % \begin{macrocode} \addto\extrasukrainian{\cyrillictext} \addto\noextrasukrainian{\latintext} % \end{macrocode} % -% Second, we specify that the Ukrainian group of shorthands should be used. +% Second, we specify that the Ukrainian group of shorthands should be used. % % \begin{macrocode} \addto\extrasukrainian{\languageshorthands{ukrainian}} @@ -1402,153 +1390,130 @@ and the derived files ukraineb.ins, \addto\noextrasukrainian{\bbl@deactivate{"}} % \end{macrocode} % -% Now the action |\extrasukrainian| has to execute is to make sure that the -% command |\frenchspacing| is in effect. If this is not the case the -% execution of |\noextrasukrainian| will switch it off again. +% Now the action |\extrasukrainian| has to execute is to make sure that the +% command |\frenchspacing| is in effect. If this is not the case the +% execution of |\noextrasukrainian| will switch it off again. % % \begin{macrocode} \addto\extrasukrainian{\bbl@frenchspacing} \addto\noextrasukrainian{\bbl@nonfrenchspacing} % \end{macrocode} % -% \subsection{Alphabetic enumerations} -% -% The traditional alphabetical enumerations in Ukrainan texts use the -% Cyrillic alphabet (bar several letters). In principle, enumerations are -% a matter for class and style designers but the same can be said also -% about things, other than enumerations, such as names of sections and -% bibliography lists. +% \subsection{Alphabetic enumerations} % -% The alphabet is not the only difference, differences also in the labels format. -% According to Cyrillic typesetting tradition and also with ДСТУ 3008:2015, -% label format should be with one right parenthesis and the top level enumerate should be -% alphabetical, but we believe that this is not necessary -% for including such changes in \file{\jobname.ldf}, for this purpose you can simply redefine -% required counters in preamle by common \LaTeX way. +% The traditional alphabetical enumerations in Ukrainan texts use the +% Cyrillic alphabet (bar several letters). In principle, enumerations are +% a matter for class and style designers but the same can be said also +% about things, other than enumerations, such as names of sections and +% bibliography lists. % -%\begin{verbatim} -%\def\theenumi{\alph{enumi}} -%\def\labelenumi{\theenumi)} +% The alphabet is not the only difference, differences also in the labels format. +% According to Cyrillic typesetting tradition and also with ДСТУ 3008:2015, +% label format should be with one right parenthesis and the top level enumerate should be +% alphabetical, but we believe that this is not necessary +% for including such changes in \file{\jobname.ldf}, for this purpose you can simply redefine +% required counters in preamle by common \LaTeX way. % -%\def\theenumii{\alph{enumii}} -%\def\labelenumii{\theenumii)} -%\end{verbatim} +% \begin{verbatim} +% \def\theenumi{\alph{enumi}} +% \def\labelenumi{\theenumi)} +% \def\theenumii{\alph{enumii}} +% \def\labelenumii{\theenumii)} +% \end{verbatim} % -% Nevertheless, the Ukrainian \babel{} by default turns on alphabetical enumeration -% with Cyrillic letters. This means that enumerated lists that would be labelled with -% Latin letters in Latin scripts are labelled with Cyrillic ones instead. +% Nevertheless, the Ukrainian \babel{} by default turns on alphabetical enumeration +% with Cyrillic letters. This means that enumerated lists that would be labelled with +% Latin letters in Latin scripts are labelled with Cyrillic ones instead. % -% \Describe\Alph{} -% Starting from this virsion, we remove an macro |\Asbuk| -% (also it lowercase counterpart |\asbuk|). Now we redefine the macro |\Alph|, -% which is now produces (uppercase) Cyrillic letters instead of Latin ones -% when Ukrainian is switched on. +% \Describe\Alph{} +% Starting from this virsion, we remove an macro |\Asbuk| +% (also it lowercase counterpart |\asbuk|). Now we redefine the macro |\Alph|, +% which is now produces (uppercase) Cyrillic letters instead of Latin ones +% when Ukrainian is switched on. % -% The letters Ґ, Є, З, І, Ї, Й, О, Ч, Ь, are skipped for such enumeration (see \href{http://www.uintei.kiev.ua/readarticle.php?article_id=151}{ДСТУ 3008:2015}). +% The letters Ґ, Є, З, І, Ї, Й, О, Ч, Ь, are skipped for such enumeration (see \href{http://www.uintei.kiev.ua/readarticle.php?article_id=151}{ДСТУ 3008:2015}). % % \begin{macrocode} \addto\extrasukrainian{ % \end{macrocode} -% When Ukrainian swithsed off, the previous meaning of |\@Alph| will be restored +% When Ukrainian swithsed off, the previous meaning of |\@Alph| will be restored % \begin{macrocode} -\babel@save{\@Alph} - \if@ukr@uni@ode - \def\@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 Я\else\@ctrerr\fi} - \else - \def\@Alph#1{\ifcase#1\or - \CYRA\or\CYRB\or\CYRV\or\CYRG\or\CYRD\or\CYRE\or\CYRZH\or - \CYRI\or\CYRK\or\CYRL\or\CYRM\or\CYRN\or\CYRP\or\CYRR\or - \CYRS\or\CYRT\or\CYRU\or\CYRF\or\CYRH\or\CYRC\or\CYRSH\or - \CYRSHCH\or\CYRYU\or\CYRYA\else\@ctrerr\fi} - \fi + \babel@save{\@Alph} + \if@ukr@uni@ode + \def\@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 Я% + \else% + \@ctrerr% + \fi} + \else + \def\@Alph#1{% + \ifcase#1\or% + \CYRA\or\CYRB\or\CYRV\or\CYRG\or\CYRD\or\CYRE\or\CYRZH\or% + \CYRI\or\CYRK\or\CYRL\or\CYRM\or\CYRN\or\CYRP\or\CYRR\or% + \CYRS\or\CYRT\or\CYRU\or\CYRF\or\CYRH\or\CYRC\or\CYRSH\or% + \CYRSHCH\or\CYRYU\or\CYRYA% + \else% + \@ctrerr% + \fi} + \fi } % \end{macrocode} % \Describe\alph{} -% Now the macro |\alph| produces lowercase Cyrillic letters. +% Now the macro |\alph| produces lowercase Cyrillic letters. % -% The lowercase letters ґ, є, з, і, ї, й, о, ч, ь, are also skipped such enumeration (see \href{http://www.uintei.kiev.ua/readarticle.php?article_id=151}{ДСТУ 3008:2015}). +% The lowercase letters ґ, є, з, і, ї, й, о, ч, ь, are also skipped such enumeration (see \href{http://www.uintei.kiev.ua/readarticle.php?article_id=151}{ДСТУ 3008:2015}). % \begin{macrocode} \addto\extrasukrainian{ % \end{macrocode} % When Ukrainian swithsed off, the previous meaning of |\@alph| will be restored % \begin{macrocode} -\babel@save{\@alph} - \if@ukr@uni@ode - \def\@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 я\else\@ctrerr\fi} - \else - \def\@alph#1{\ifcase#1\or - \cyra\or\cyrb\or\cyrv\or\cyrg\or\cyrd\or\cyre\or\cyrzh\or - \cyri\or\cyrk\or\cyrl\or\cyrm\or\cyrn\or\cyrp\or\cyrr\or - \cyrs\or\cyrt\or\cyru\or\cyrf\or\cyrh\or\cyrc\or\cyrsh\or - \cyrshch\or\cyryu\or\cyrya\else\@ctrerr\fi} - \fi + \babel@save{\@alph} + \if@ukr@uni@ode + \def\@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 я% + \else% + \@ctrerr% + \fi} + \else + \def\@alph#1{% + \ifcase#1\or% + \cyra\or\cyrb\or\cyrv\or\cyrg\or\cyrd\or\cyre\or\cyrzh\or% + \cyri\or\cyrk\or\cyrl\or\cyrm\or\cyrn\or\cyrp\or\cyrr\or% + \cyrs\or\cyrt\or\cyru\or\cyrf\or\cyrh\or\cyrc\or\cyrsh\or% + \cyrshch\or\cyryu\or\cyrya% + \else% + \@ctrerr% + \fi} + \fi } % \end{macrocode} % -% \subsection{Cyrillic math} -% -% For compatibility with older Ukrainian packages we leave definition of the |\No| -% macro. However the Ukrainian number sign is now superseded with |\textnumero|. -% Moreover, it can be found on the keyboard. -% \begin{macrocode} -\DeclareRobustCommand{\No}{% - \ifmmode{\nfss@text{\textnumero}}\else\textnumero\fi} -% \end{macrocode} -% -% -% The macros |\cyrmath...| are not supported any more. They -% requires package \pkg{textmath} which is not available now. Instead of -% |\cyrmath...| it is advised to use corresponding |\text...| commands; they -% do work in math mode. -% \begin{macrocode} -%\RequirePackage{textmath} -% \@ifundefined{sym\cyrillicencoding letters}{}{% -% \SetSymbolFont{\cyrillicencoding letters}{bold}\cyrillicencoding -% \rmdefault\bfdefault\updefault -% \DeclareSymbolFontAlphabet\cyrmathrm{\cyrillicencoding letters} -% \end{macrocode} -% And we need few commands to switch to different variants. -% \begin{macrocode} -%\DeclareMathAlphabet\cyrmathbf\cyrillicencoding -% \rmdefault\bfdefault\updefault -%\DeclareMathAlphabet\cyrmathsf\cyrillicencoding -% \sfdefault\mddefault\updefault -%\DeclareMathAlphabet\cyrmathit\cyrillicencoding -% \rmdefault\mddefault\itdefault -%\DeclareMathAlphabet\cyrmathtt\cyrillicencoding -% \ttdefault\mddefault\updefault -% -%\SetMathAlphabet\cyrmathsf{bold}\cyrillicencoding -% \sfdefault\bfdefault\updefault -%\SetMathAlphabet\cyrmathit{bold}\cyrillicencoding -% \rmdefault\bfdefault\itdefault -%} -% \end{macrocode} -% -% \Describe\sh{} -% \DescribeOther\ch{}% -% \DescribeOther\tg{}% -% \DescribeOther\ctg{}% -% \DescribeOther\arctg{}% -% \DescribeOther\arcctg{}% -% \DescribeOther\th{}% -% \DescribeOther\cth{}% -% \DescribeOther\cosec{}% -% We also define few math operator names according to Ukrainian typesetting -% traditions. Some math functions in Ukrainian math books have names -% different from English writings. For example, \texttt{sinh} in -% Ukrainian is called \texttt{sh}. Special consideration needs the -% macro |\th| that conflicts with the text symbol |\th| -% defined in Latin~1 encoding: +% \subsection{Ukrainian mathetematical typography traditions} +% +% \Describe\sh{} +% \DescribeOther\ch{}% +% \DescribeOther\tg{}% +% \DescribeOther\ctg{}% +% \DescribeOther\arctg{}% +% \DescribeOther\arcctg{}% +% \DescribeOther\th{}% +% \DescribeOther\cth{}% +% \DescribeOther\cosec{}% +% We also define few math operator names according to Ukrainian mathetematical +% typography traditions. Some math functions in Ukrainian math books have names +% different from English writings. For example, \texttt{sinh} in +% Ukrainian is called \texttt{sh}. Special consideration needs the +% macro |\th| that conflicts with the text symbol |\th| +% defined in Latin~1 encoding: % % \begin{macrocode} \def\sh{\mathop{\operator@font sh}\nolimits} @@ -1558,22 +1523,30 @@ and the derived files ukraineb.ins, \def\arctg{\mathop{\operator@font arctg}\nolimits} \def\arcctg{\mathop{\operator@font arcctg}\nolimits} \addto\extrasukrainian{% - \babel@save{\th}% - \let\ltx@th\th - \def\th{\textormath{\ltx@th}% - {\mathop{\operator@font th}\nolimits}}% - } + \babel@save{\th}% + \let\ltx@th\th + \def\th{\textormath{\ltx@th}% + {\mathop{\operator@font th}\nolimits}}% +} \def\cth{\mathop{\operator@font cth}\nolimits} \def\cosec{\mathop{\operator@font cosec}\nolimits} % \end{macrocode} % -% \subsection{Final settings} +% For compatibility with older Ukrainian packages we leave definition of the |\No| +% macro. However the Ukrainian number sign is now superseded with |\textnumero|. +% Moreover, it can be found on the keyboard. +% \begin{macrocode} +\DeclareRobustCommand{\No}{% + \ifmmode{\nfss@text{\textnumero}}\else\textnumero\fi} +% \end{macrocode} +% +% \subsection{Final settings} % -% The macro |\ldf@finish| does work needed -% at the end of each \file{.ldf} file. This -% includes resetting the category code of the \texttt{@}-sign, -% loading a local configuration file, and preparing the language -% to be activated at |\begin{document}| time. +% The macro |\ldf@finish| does work needed +% at the end of each \file{.ldf} file. This +% includes resetting the category code of the \texttt{@}-sign, +% loading a local configuration file, and preparing the language +% to be activated at |\begin{document}| time. % % \begin{macrocode} \ldf@finish{ukrainian} @@ -1583,7 +1556,7 @@ and the derived files ukraineb.ins, %\iffalse % %\fi -% \CheckSum{1266} +% \CheckSum{1075} %\Finale % %% @@ -1604,139 +1577,72 @@ and the derived files ukraineb.ins, %% Right brace \} Tilde \~} %% %\endinput -% -% А\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 -% Ш\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 -% у\or -% ф\or -% х\or -% ц\or -% ч\or -% ш\or -% щ\or -% ю\or -% я\or -% ь\or -%\let\CYRA=А -%\let\CYRB=Б -%\let\CYRV=В -%\let\CYRG=Г -%\let\CYRGUP=Ґ -%\let\CYRD=Д -%\let\CYRE=Е -%\let\CYRIE=Є -%\let\CYRZH=Ж -%\let\CYRZ=З -%\let\CYRI=И -%\let\CYRII=I -%\let\CYRYI=Ї -%\let\CYRISHRT=Й -%\let\CYRK=К -%\let\CYRL=Л -%\let\CYRM=М -%\let\CYRN=Н -%\let\CYRO=О -%\let\CYRP=П -%\let\CYRR=Р -%\let\CYRS=С -%\let\CYRT=Т -%\let\CYRU=У -%\let\CYRF=Ф -%\let\CYRH=Х -%\let\CYRC=Ц -%\let\CYRCH=Ч -%\let\CYRSH=Ш -%\let\CYRSHCH=Щ -%\let\CYRYU=Ю -%\let\CYRYA=Я -%\let\CYRSFTSN=Ь -% -%\let\cyra=а -%\let\cyrb=б -%\let\cyrv=в -%\let\cyrg=г -%\let\cyrgup=ґ -%\let\cyrd=д -%\let\cyre=е -%\let\cyrie=є -%\let\cyrzh=ж -%\let\cyrz=з -%\let\cyri=и -%\let\cyrii=i -%\let\cyryi=ї -%\let\cyrishrt=й -%\let\cyrk=к -%\let\cyrl=л -%\let\cyrm=м -%\let\cyrn=н -%\let\cyro=о -%\let\cyrp=п -%\let\cyrr=р -%\let\cyrs=с -%\let\cyrt=т -%\let\cyru=у -%\let\cyrf=ф -%\let\cyrh=х -%\let\cyrc=ц -%\let\cyrch=ч -%\let\cyrsh=ш -%\let\cyrshch=щ -%\let\cyryu=ю -%\let\cyrya=я -%\let\cyrsftsn=ь \ No newline at end of file +%% Nonunicode Cyrillic Letters +%% \CYRA=А +%% \CYRB=Б +%% \CYRV=В +%% \CYRG=Г +%% \CYRGUP=Ґ +%% \CYRD=Д +%% \CYRE=Е +%% \CYRIE=Є +%% \CYRZH=Ж +%% \CYRZ=З +%% \CYRI=И +%% \CYRII=I +%% \CYRYI=Ї +%% \CYRISHRT=Й +%% \CYRK=К +%% \CYRL=Л +%% \CYRM=М +%% \CYRN=Н +%% \CYRO=О +%% \CYRP=П +%% \CYRR=Р +%% \CYRS=С +%% \CYRT=Т +%% \CYRU=У +%% \CYRF=Ф +%% \CYRH=Х +%% \CYRC=Ц +%% \CYRCH=Ч +%% \CYRSH=Ш +%% \CYRSHCH=Щ +%% \CYRYU=Ю +%% \CYRYA=Я +%% \CYRSFTSN=Ь +%% +%% \cyra=а +%% \cyrb=б +%% \cyrv=в +%% \cyrg=г +%% \cyrgup=ґ +%% \cyrd=д +%% \cyre=е +%% \cyrie=є +%% \cyrzh=ж +%% \cyrz=з +%% \cyri=и +%% \cyrii=i +%% \cyryi=ї +%% \cyrishrt=й +%% \cyrk=к +%% \cyrl=л +%% \cyrm=м +%% \cyrn=н +%% \cyro=о +%% \cyrp=п +%% \cyrr=р +%% \cyrs=с +%% \cyrt=т +%% \cyru=у +%% \cyrf=ф +%% \cyrh=х +%% \cyrc=ц +%% \cyrch=ч +%% \cyrsh=ш +%% \cyrshch=щ +%% \cyryu=ю +%% \cyrya=я +%% \cyrsftsn=ь \ No newline at end of file diff --git a/Master/texmf-dist/source/generic/babel-ukrainian/ukraineb.ins b/Master/texmf-dist/source/generic/babel-ukrainian/ukraineb.ins index 2ed656dffc6..2a42612c867 100644 --- a/Master/texmf-dist/source/generic/babel-ukrainian/ukraineb.ins +++ b/Master/texmf-dist/source/generic/babel-ukrainian/ukraineb.ins @@ -51,7 +51,7 @@ and the derived files ukraineb.ins, \endpostamble \usedir{tex/generic/babel/contrib} \generate{ - \file{\jobname.ldf}{\from{\jobname.dtx}{code}} + \file{\jobname.ldf}{\from{\jobname.dtx}{code}} } \endbatchfile %% @@ -72,6 +72,74 @@ and the derived files ukraineb.ins, %% Right brace \} Tilde \~} %% +%% Nonunicode Cyrillic Letters +%% \CYRA=А +%% \CYRB=Б +%% \CYRV=В +%% \CYRG=Г +%% \CYRGUP=Ґ +%% \CYRD=Д +%% \CYRE=Е +%% \CYRIE=Є +%% \CYRZH=Ж +%% \CYRZ=З +%% \CYRI=И +%% \CYRII=I +%% \CYRYI=Ї +%% \CYRISHRT=Й +%% \CYRK=К +%% \CYRL=Л +%% \CYRM=М +%% \CYRN=Н +%% \CYRO=О +%% \CYRP=П +%% \CYRR=Р +%% \CYRS=С +%% \CYRT=Т +%% \CYRU=У +%% \CYRF=Ф +%% \CYRH=Х +%% \CYRC=Ц +%% \CYRCH=Ч +%% \CYRSH=Ш +%% \CYRSHCH=Щ +%% \CYRYU=Ю +%% \CYRYA=Я +%% \CYRSFTSN=Ь +%% +%% \cyra=а +%% \cyrb=б +%% \cyrv=в +%% \cyrg=г +%% \cyrgup=ґ +%% \cyrd=д +%% \cyre=е +%% \cyrie=є +%% \cyrzh=ж +%% \cyrz=з +%% \cyri=и +%% \cyrii=i +%% \cyryi=ї +%% \cyrishrt=й +%% \cyrk=к +%% \cyrl=л +%% \cyrm=м +%% \cyrn=н +%% \cyro=о +%% \cyrp=п +%% \cyrr=р +%% \cyrs=с +%% \cyrt=т +%% \cyru=у +%% \cyrf=ф +%% \cyrh=х +%% \cyrc=ц +%% \cyrch=ч +%% \cyrsh=ш +%% \cyrshch=щ +%% \cyryu=ю +%% \cyrya=я +%% \cyrsftsn=ь %% ---------------------------------------------------------------- %% Copyright 2017 Sergiy М. Ponomarenko %% Copyright 2011-2017 Igor A. Kotelnikov. diff --git a/Master/texmf-dist/tex/generic/babel-ukrainian/ukraineb.ldf b/Master/texmf-dist/tex/generic/babel-ukrainian/ukraineb.ldf index b8748ff7dd4..0668657cc70 100644 --- a/Master/texmf-dist/tex/generic/babel-ukrainian/ukraineb.ldf +++ b/Master/texmf-dist/tex/generic/babel-ukrainian/ukraineb.ldf @@ -12,39 +12,44 @@ %% See http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesLanguage{ukraineb}[2017/06/10 1.4 Ukrainian support for the Babel system] +\ProvidesLanguage{ukraineb}[2017/06/13 1.4a Ukrainian support for the Babel system] \LdfInit{ukrainian}{captionsukrainian} \ifdefined\if@ukr@uni@ode - \PackageError{babel}{if@ukr@uni@ode already defined.\MessageBreak - Please contact author of ukraineb.ldf} - \relax + \PackageError{babel}{if@ukr@uni@ode already defined.\MessageBreak + Please contact author of ukraineb.ldf} + \relax \fi \newif\if@ukr@uni@ode -\ifdefined\luatexversion \@ukr@uni@odetrue \else -\ifdefined\XeTeXrevision \@ukr@uni@odetrue \fi\fi +\ifdefined\luatexversion + \@ukr@uni@odetrue +\else + \ifdefined\XeTeXrevision + \@ukr@uni@odetrue + \fi +\fi \ifx\l@ukrainian\@undefined - \@nopatterns{Ukrainian} + \@nopatterns{Ukrainian} \adddialect\l@ukrainian0 \fi \def\@setcyrillicencoding{% - \def\sce@a##1##2{% - \edef\sce@b{##1}% - \edef\sce@c{##2}% - \ifx\sce@b\sce@c - \let\cyrillicencoding\sce@c - \fi}% - \def\cdp@elt##1##2##3##4{% - \sce@a{##1}{OT2}% - \sce@a{##1}{LCY}% - \sce@a{##1}{X2}% - \sce@a{##1}{T2C}% - \sce@a{##1}{T2B}% - \sce@a{##1}{T2A}% - \if@ukr@uni@ode - \sce@a{##1}{EU1}% - \sce@a{##1}{EU2}% - \fi}% - \cdp@list + \def\sce@a##1##2{% + \edef\sce@b{##1}% + \edef\sce@c{##2}% + \ifx\sce@b\sce@c + \let\cyrillicencoding\sce@c + \fi}% + \def\cdp@elt##1##2##3##4{% + \sce@a{##1}{OT2}% + \sce@a{##1}{LCY}% + \sce@a{##1}{X2}% + \sce@a{##1}{T2C}% + \sce@a{##1}{T2B}% + \sce@a{##1}{T2A}% + \if@ukr@uni@ode + \sce@a{##1}{EU1}% + \sce@a{##1}{EU2}% + \fi}% + \cdp@list } \@setcyrillicencoding \@onlypreamble\@setcyrillicencoding @@ -53,60 +58,65 @@ \@onlypreamble\sce@c \ifdefined\cyrillicencoding \else - \if@ukr@uni@ode - \ifdefined\XeTeXrevision - \edef\cyrillicencoding{EU1} - \else\ifdefined\luatexversion - \edef\cyrillicencoding{EU2} - \fi\fi - \else - \edef\cyrillicencoding{T2A} - \fi - \PackageWarning{babel}% - {No Cyrillic font encoding has been loaded so far.\MessageBreak - A font encoding should be declared before babel.\MessageBreak - Default `\cyrillicencoding' encoding will be loaded + \if@ukr@uni@ode + \ifdefined\XeTeXrevision + \edef\cyrillicencoding{EU1} + \else + \ifdefined\luatexversion + \edef\cyrillicencoding{EU2} + \fi + \fi + \else + \edef\cyrillicencoding{T2A} + \fi + \PackageWarning{babel}% + {No Cyrillic font encoding has been loaded so far.\MessageBreak + A font encoding should be declared before babel.\MessageBreak + Default `\cyrillicencoding' encoding will be loaded }% - \lowercase\expandafter{\expandafter\input\cyrillicencoding enc.def\relax}% - \AtBeginDocument{\@setcyrillicencoding} + \lowercase\expandafter{\expandafter\input\cyrillicencoding enc.def\relax}% + \AtBeginDocument{\@setcyrillicencoding} \fi \DeclareRobustCommand{\Ukrainian}{\selectlanguage{\ukrainian}} \DeclareRobustCommand{\cyrillictext}{% - \fontencoding\cyrillicencoding\selectfont - \let\encodingdefault\cyrillicencoding - \expandafter\set@hyphenmins\ukrainianhyphenmins - \language\l@ukrainian}% + \fontencoding\cyrillicencoding\selectfont + \let\encodingdefault\cyrillicencoding + \expandafter\set@hyphenmins\ukrainianhyphenmins + \language\l@ukrainian}% \let\cyr\cyrillictext \expandafter\ifx\csname T@X2\endcsname\relax\else - \DeclareTextSymbolDefault{\AA}{OT1} - \DeclareTextSymbolDefault{\aa}{OT1} - \DeclareTextCommand{\aa}{OT1}{\r a} - \DeclareTextCommand{\AA}{OT1}{\r A} + \DeclareTextSymbolDefault{\AA}{OT1} + \DeclareTextSymbolDefault{\aa}{OT1} + \DeclareTextCommand{\aa}{OT1}{\r a} + \DeclareTextCommand{\AA}{OT1}{\r A} \fi \DeclareTextFontCommand{\textcyrillic}{\cyrillictext} \@ifpackageloaded{inputenc}{% - \if@ukr@uni@ode - \PackageWarning{babel}{inputenc should not be used with LuaTeX or XeTeX} - \fi + \if@ukr@uni@ode + \PackageWarning{babel}{inputenc should not be used with LuaTeX or XeTeX} + \fi }{% - %\def\reserved@a{LWN}% - %\ifx\reserved@a\cyrillicencoding\else + %\def\reserved@a{LWN}% + %\ifx\reserved@a\cyrillicencoding\else \def\reserved@a{OT2}% - \ifx\reserved@a\cyrillicencoding\else - \def\reserved@a{EU1}% - \ifx\reserved@a\cyrillicencoding\else - \def\reserved@a{EU2}% - \ifx\reserved@a\cyrillicencoding\else - \PackageWarning{babel}% - {No input encoding specified for Ukrainian language} - \fi\fi\fi - %\fi + \ifx\reserved@a\cyrillicencoding + \else + \def\reserved@a{EU1}% + \ifx\reserved@a\cyrillicencoding\else + \def\reserved@a{EU2}% + \ifx\reserved@a\cyrillicencoding\else + \PackageWarning{babel}% + {No input encoding specified for Ukrainian language} + \fi + \fi + \fi + %\fi } \initiate@active@char{"} \begingroup \catcode`\"12 \def\reserved@a{\endgroup - \def\@SS{\mathchar"7019 } - \def\dq{"}} + \def\@SS{\mathchar"7019 } + \def\dq{"}} \reserved@a \declare@shorthand{ukrainian}{"`}{\quotedblbase} \declare@shorthand{ukrainian}{"'}{\textquotedblleft} @@ -116,188 +126,154 @@ \declare@shorthand{ukrainian}{"~}{\textormath{\leavevmode\hbox{-}}{-}} \declare@shorthand{ukrainian}{"=}{\nobreak-\hskip\z@skip} \declare@shorthand{ukrainian}{"|}{% - \textormath{\nobreak\discretionary{-}{}{\kern.03em}\allowhyphens}{}} + \textormath{\nobreak\discretionary{-}{}{\kern.03em}\allowhyphens}{}} \declare@shorthand{ukrainian}{"-}{% - \def\ukrainian@sh@tmp{% - \if\ukrainian@sh@next-\expandafter\ukrainian@sh@emdash - \else\expandafter\ukrainian@sh@hyphen\fi}% - \futurelet\ukrainian@sh@next\ukrainian@sh@tmp} + \def\ukrainian@sh@tmp{% + \if\ukrainian@sh@next-\expandafter\ukrainian@sh@emdash + \else% + \expandafter\ukrainian@sh@hyphen% + \fi}% + \futurelet\ukrainian@sh@next\ukrainian@sh@tmp} \def\ukrainian@sh@hyphen{\nobreak\-\bbl@allowhyphens} \def\ukrainian@sh@emdash#1#2{\cdash-#1#2} \def\cdash#1#2#3{\def\tempx@{#3}% -\def\tempa@{-}\def\tempb@{~}\def\tempc@{*}% - \ifx\tempx@\tempa@\@Acdash\else - \ifx\tempx@\tempb@\@Bcdash\else - \ifx\tempx@\tempc@\@Ccdash\else - \errmessage{Wrong usage of cdash}\fi\fi\fi} + \def\tempa@{-}\def\tempb@{~}\def\tempc@{*}% + \ifx\tempx@\tempa@\@Acdash% + \else% + \ifx\tempx@\tempb@\@Bcdash% + \else% + \ifx\tempx@\tempc@\@Ccdash% + \else% + \errmessage{Wrong usage of cdash} + \fi + \fi + \fi +} \def\@Acdash{\ifdim\lastskip>\z@\unskip\nobreak\hskip.2em\fi - \cyrdash\hskip.2em\ignorespaces}% + \cyrdash\hskip.2em\ignorespaces}% \def\@Bcdash{\leavevmode\ifdim\lastskip>\z@\unskip\fi - \nobreak\cyrdash\penalty\exhyphenpenalty\hskip\z@skip\ignorespaces}% + \nobreak\cyrdash\penalty\exhyphenpenalty\hskip\z@skip\ignorespaces}% \def\@Ccdash{\leavevmode - \nobreak\cyrdash\nobreak\hskip.35em\ignorespaces}% + \nobreak\cyrdash\nobreak\hskip.35em\ignorespaces}% \ProvideTextCommandDefault{\cyrdash}{\iflanguage{ukrainian}% {\hbox to.8em{--\hss--}}{\textemdash}} \declare@shorthand{ukrainian}{",}{\nobreak\hskip.2em\ignorespaces} - % - % ---------------------- Caption Names --------------------------- - % \if@ukr@uni@ode -\PackageInfo{bulgarian.ldf}{Executing the 3.9 or latter} -\StartBabelCommands*{ukrainian}{captions}[unicode, fontenc=EU1 EU2, charset=utf8] - \SetString\prefacename{Вступ}% [babel] - \SetString\refname{Література}% [only article] - \SetString\abstractname{Анотація}% [only article, report] - \SetString\bibname{Бібліоґрафія}% [only book, report] - \SetString\chaptername{Розділ}% [only book, report] - \SetString\appendixname{Додаток}% - \SetString\contentsname{Зміст}% - \SetString\tocname{\contentsname}% - \SetString\listfigurename{Перелік ілюстрацій}% - \SetString\listtablename{Перелік таблиць}% - \SetString\indexname{Предметний покажчик}% - \SetString\authorname{Іменний покажчик}% - \SetString\figurename{Рис.}% - \SetString\tablename{Таблиця}% - \SetString\partname{Частина}% - \SetString\enclname{вкл.}% - \SetString\ccname{вих.}% - \SetString\headtoname{вх.}% - \SetString\pagename{с.}% [letter] - \SetString\seename{див.}% - \SetString\alsoname{див.\ також}% - \SetString\proofname{Доведення}% [amsthm] - \SetString\glossaryname{Словник термінів}% - \SetString\acronymname{Абревіатури}% [glossaries] {Acronyms} - \SetString\lstlistingname{Лістинг}% [listings] (the environment) {Listing} - \SetString\lstlistlistingname{Лістинги}% [listings] (the "List of") {Listings} - \SetString\nomname{Позначення} - \SetString\notesname{Нотатки}% [endnotes] {Notes} - % - % ------------------------- nomencl ------------------------------ - % - \ifdefined\nomname% - \addto\captionsukrainian{% - \def\eqdeclaration#1{, див.\nobreakspace(#1)}% - \def\pagedeclaration#1{, стор.\nobreakspace#1}% - }% - \fi - % - % ------------------- RevTeX4 & RevTeX4-1 ------------------------ - % - %\@ifclassloaded{revtex4-1} - %{} - %{}% - % - \ifnum\@ifclassloaded{revtex4}{1}{\@ifclassloaded{revtex4-1}{1}{0}}>0 - \SetString\lofname{\listfigurename} - \SetString\lotname{\listtablename} - \SetString\figuresname{Рисунки} - \SetString\tablesname{Таблиці} - \SetString\appendixesname{Додатки} - \SetString\acknowledgmentsname{Подяки} - \SetString\andname{та}%{and} - \SetString\@pacs@name{PACS коди: } - \SetString\@keys@name{Ключові слова: } - \SetString\Dated@name{Дата: } - \SetString\Received@name{Отримано } - \SetString\Revised@name{Виправлена версія } - \SetString\Accepted@name{Прийнято } - \SetString\Published@name{Опубліковано } - %}{}% - \fi - \EndBabelCommands + \PackageInfo{ukrainian.ldf}{Executing the 3.9 or latter} + \StartBabelCommands*{ukrainian}{captions}[unicode, fontenc=EU1 EU2, charset=utf8] + \SetString\prefacename{Вступ}% [babel] + \SetString\refname{Література}% [only article] + \SetString\abstractname{Анотація}% [only article, report] + \SetString\bibname{Бібліоґрафія}% [only book, report] + \SetString\chaptername{Розділ}% [only book, report] + \SetString\appendixname{Додаток}% + \SetString\contentsname{Зміст}% + \SetString\tocname{\contentsname}% + \SetString\listfigurename{Перелік ілюстрацій}% + \SetString\listtablename{Перелік таблиць}% + \SetString\indexname{Предметний покажчик}% + \SetString\authorname{Іменний покажчик}% + \SetString\figurename{Рис.}% + \SetString\tablename{Таблиця}% + \SetString\partname{Частина}% + \SetString\enclname{вкл.}% + \SetString\ccname{вих.}% + \SetString\headtoname{вх.}% + \SetString\pagename{с.}% [letter] + \SetString\seename{див.}% + \SetString\alsoname{див.\ також}% + \SetString\proofname{Доведення}% [amsthm] + \SetString\glossaryname{Словник термінів}% + \SetString\acronymname{Абревіатури}% [glossaries] {Acronyms} + \SetString\lstlistingname{Лістинг}% [listings] (the environment) {Listing} + \SetString\lstlistlistingname{Лістинги}% [listings] (the "List of") {Listings} + \SetString\nomname{Позначення} + \SetString\notesname{Нотатки}% [endnotes] {Notes} + \ifdefined\nomname% + \addto\captionsukrainian{% + \def\eqdeclaration#1{, див.\nobreakspace(#1)}% + \def\pagedeclaration#1{, стор.\nobreakspace#1}% + }% + \fi + \EndBabelCommands \else -\StartBabelCommands*{ukrainian}{captions} - \SetString\prefacename{{\cyr\CYRV\cyrs\cyrt\cyru\cyrp}}% - \SetString\refname{% - {\cyr\CYRL\cyrii\cyrt\cyre\cyrr\cyra\cyrt\cyru\cyrr\cyra}}% - \SetString\abstractname{% - {\cyr\CYRA\cyrn\cyro\cyrt\cyra\cyrc\cyrii\cyrya}}% - \SetString\bibname{% - {\cyr\CYRB\cyrii\cyrb\cyrl\cyrii\cyro\cyrgup\cyrr\cyra\cyrf\cyrii\cyrya}}% - \SetString\chaptername{{\cyr\CYRR\cyro\cyrz\cyrd\cyrii\cyrl}}% - \SetString\appendixname{{\cyr\CYRD\cyro\cyrd\cyra\cyrt\cyro\cyrk}}% - \SetString\contentsname{{\cyr\CYRZ\cyrm\cyrii\cyrs\cyrt}}% - \SetString\tocname{\contentsname} - \SetString\listfigurename{{\cyr\CYRP\cyre\cyrr\cyre\cyrl\cyrii\cyrk - \ \cyrii\cyrl\cyryu\cyrs\cyrt\cyrr\cyra\cyrc\cyrii\cyrishrt}}% - \SetString\listtablename{{\cyr\CYRP\cyre\cyrr\cyre\cyrl\cyrii\cyrk - \ \cyrt\cyra\cyrb\cyrl\cyri\cyrc\cyrsftsn}}% - \SetString\indexname{{\cyr\CYRP\cyrr\cyre\cyrd\cyrm\cyre\cyrt\cyrn\cyri\cyrishrt - \ \cyrp\cyro\cyrk\cyra\cyrzh\cyrch\cyri\cyrk}}% - \SetString\authorname{{\cyr\CYRII\cyrm\cyre\cyrn\cyrn\cyri\cyrishrt - \ \cyrp\cyro\cyrk\cyra\cyrzh\cyrch\cyri\cyrk}}% - \SetString\figurename{{\cyr\CYRR\cyri\cyrs.}}% - \SetString\tablename{{\cyr\CYRT\cyra\cyrb\cyrl.}}% - \SetString\partname{{\cyr\CYRCH\cyra\cyrs\cyrt\cyri\cyrn\cyra}}% - \SetString\enclname{{\cyr\cyrv\cyrk\cyrl\cyra\cyrd\cyrk\cyra}}% - \SetString\ccname{{\cyr\cyrk\cyro\cyrp\cyrii\cyrya}}% - \SetString\headtoname{{\cyr\cyrv\cyrh.}}% - \SetString\pagename{{\cyr\cyrs.}}% - \SetString\seename{{\cyr\cyrd\cyri\cyrv.}}% - \SetString\alsoname{{\cyr\cyrd\cyri\cyrv.\ \cyrt\cyra\cyrk\cyro\cyrzh}} - \SetString\proofname{{\cyr\CYRD\cyro\cyrv\cyre\cyrd\cyre\cyrn\cyrn\cyrya}}% - \SetString\glossaryname{{\cyr\CYRS\cyrl\cyro\cyrv\cyrn\cyri\cyrk - \ \cyrt\cyre\cyrr\cyrm\cyrii\cyrn\cyrii\cyrv}}% - \SetString\nomname{\CYRP\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrn\cyrya}% - \SetString\notesname{\CYRN\cyro\cyrt\cyra\cyrt\cyrk\cyri}% - % - % ------------------- RevTeX4 & RevTeX4-1 ------------------------ - % - \ifnum \@ifclassloaded{revtex4}{1}{\@ifclassloaded{revtex4-1}{1}{0}}>0 - \SetString\lofname{\listfigurename} - \SetString\lotname{\listtablename} - \SetString\figuresname{\CYRR\cyri\cyrs\cyru\cyrn\cyrk\cyri} - \SetString\tablesname{\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyrii} - \SetString\appendixesname{\CYRD\cyro\cyrd\cyra\cyrt\cyrk\cyri} - \SetString\acknowledgmentsname{\CYRP\cyro\cyrd\cyrya\cyrk\cyri} - \SetString\andname{\cyrt\cyra}%{and} - \SetString\@pacs@name{PACS \cyrk\cyro\cyrd\cyri: } - \SetString\@keys@name{\CYRK\cyrl\cyryu\cyrch\cyro\cyrv\cyrii - \ \cyrs\cyrl\cyro\cyrv\cyra: } - \SetString\Dated@name{\CYRD\cyra\cyrt\cyra: } - \SetString\Received@name{\CYRO\cyrt\cyrr\cyri\cyrm\cyra\cyrn\cyro } - \SetString\Revised@name{\CYRV\cyri\cyrp\cyrr\cyra\cyrv\cyrl\cyre\cyrn\cyro } - \SetString\Accepted@name{\CYRP\cyrr\cyri\cyrishrt\cyrn\cyrya\cyrt\cyro }% - \SetString\Published@name{\CYRO\cyrp\cyru\cyrb\cyrl\cyrii\cyrk\cyro\cyrv\cyra\cyrn\cyro } - \fi - \EndBabelCommands + \StartBabelCommands*{ukrainian}{captions} + \SetString\prefacename{{\cyr\CYRV\cyrs\cyrt\cyru\cyrp}}% + \SetString\refname{% + {\cyr\CYRL\cyrii\cyrt\cyre\cyrr\cyra\cyrt\cyru\cyrr\cyra}}% + \SetString\abstractname{% + {\cyr\CYRA\cyrn\cyro\cyrt\cyra\cyrc\cyrii\cyrya}}% + \SetString\bibname{% + {\cyr\CYRB\cyrii\cyrb\cyrl\cyrii\cyro\cyrgup\cyrr\cyra\cyrf\cyrii\cyrya}}% + \SetString\chaptername{{\cyr\CYRR\cyro\cyrz\cyrd\cyrii\cyrl}}% + \SetString\appendixname{{\cyr\CYRD\cyro\cyrd\cyra\cyrt\cyro\cyrk}}% + \SetString\contentsname{{\cyr\CYRZ\cyrm\cyrii\cyrs\cyrt}}% + \SetString\tocname{\contentsname} + \SetString\listfigurename{{\cyr\CYRP\cyre\cyrr\cyre\cyrl\cyrii\cyrk + \ \cyrii\cyrl\cyryu\cyrs\cyrt\cyrr\cyra\cyrc\cyrii\cyrishrt}}% + \SetString\listtablename{{\cyr\CYRP\cyre\cyrr\cyre\cyrl\cyrii\cyrk + \ \cyrt\cyra\cyrb\cyrl\cyri\cyrc\cyrsftsn}}% + \SetString\indexname{{\cyr\CYRP\cyrr\cyre\cyrd\cyrm\cyre\cyrt\cyrn\cyri\cyrishrt + \ \cyrp\cyro\cyrk\cyra\cyrzh\cyrch\cyri\cyrk}}% + \SetString\authorname{{\cyr\CYRII\cyrm\cyre\cyrn\cyrn\cyri\cyrishrt + \ \cyrp\cyro\cyrk\cyra\cyrzh\cyrch\cyri\cyrk}}% + \SetString\figurename{{\cyr\CYRR\cyri\cyrs.}}% + \SetString\tablename{{\cyr\CYRT\cyra\cyrb\cyrl.}}% + \SetString\partname{{\cyr\CYRCH\cyra\cyrs\cyrt\cyri\cyrn\cyra}}% + \SetString\enclname{{\cyr\cyrv\cyrk\cyrl\cyra\cyrd\cyrk\cyra}}% + \SetString\ccname{{\cyr\cyrk\cyro\cyrp\cyrii\cyrya}}% + \SetString\headtoname{{\cyr\cyrv\cyrh.}}% + \SetString\pagename{{\cyr\cyrs.}}% + \SetString\seename{{\cyr\cyrd\cyri\cyrv.}}% + \SetString\alsoname{{\cyr\cyrd\cyri\cyrv.\ \cyrt\cyra\cyrk\cyro\cyrzh}} + \SetString\proofname{{\cyr\CYRD\cyro\cyrv\cyre\cyrd\cyre\cyrn\cyrn\cyrya}}% + \SetString\glossaryname{{\cyr\CYRS\cyrl\cyro\cyrv\cyrn\cyri\cyrk + \ \cyrt\cyre\cyrr\cyrm\cyrii\cyrn\cyrii\cyrv}}% + \SetString\acronymname{\cyr\CYRA\cyrb\cyrr\cyre\cyrv\cyrii\cyra\cyrt\cyru\cyri\cyri}% + \SetString\lstlistingname{\cyr\CYRL\cyrii\cyrs\cyrt\cyri\cyrn\cyrg}% + \SetString\lstlistlistingname{\cyr\CYRL\cyrii\cyrs\cyrt\cyri\cyrn\cyrg\cyri}% + \SetString\nomname{\CYRP\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrn\cyrya}% + \SetString\notesname{\CYRN\cyro\cyrt\cyra\cyrt\cyrk\cyri}% + \EndBabelCommands \fi - % - % ---------------------- Date --------------------------- - % \if@ukr@uni@ode -\PackageInfo{bulgarian.ldf}{Executing the post 3.9 branch for dates} -\StartBabelCommands*{ukrainian}{date}[unicode, fontenc=EU1 EU2, charset=utf8] -\SetStringLoop{month#1name}{% -січня,лютого,березня,квітня,травня,червня,% -липня,серпня,вересня,жовтня,листопада,грудня} - -\SetStringLoop{weekday#1name}{% -понеділок,вівторок,середа,четвер,п'ятниця,субота,неділя} - -\SetString\abbgyear{р.} + \PackageInfo{ukrainian.ldf}{Executing the post 3.9 branch for dates} + \StartBabelCommands*{ukrainian}{date}[unicode, fontenc=EU1 EU2, charset=utf8] + \SetStringLoop{month#1name}{% + січня,% + лютого,% + березня,% + квітня,% + травня,% + червня,% + липня,% + серпня,% + вересня,% + жовтня,% + листопада,% + грудня% + } + \SetString\abbgyear{р.} \else -\StartBabelCommands*{ukrainian}{date} -\SetStringLoop{month#1name}{% -\cyrs\cyrii\cyrch\cyrn\cyrya,% -\cyrl\cyryu\cyrt\cyro\cyrg\cyro,% -\cyrb\cyre\cyrr\cyre\cyrz\cyrn\cyrya,% -\cyrk\cyrv\cyrii\cyrt\cyrn\cyrya,% -\cyrt\cyrr\cyra\cyrv\cyrn\cyrya,% -\cyrch\cyre\cyrr\cyrv\cyrn\cyrya,% -\cyrl\cyri\cyrp\cyrn\cyrya,% -\cyrs\cyre\cyrr\cyrp\cyrn\cyrya,% -\cyrv\cyre\cyrr\cyre\cyrs\cyrn\cyrya,% -\cyrzh\cyro\cyrv\cyrt\cyrn\cyrya,% -\cyrl\cyri\cyrs\cyrt\cyro\cyrp\cyra\cyrd\cyra,% -\cyrg\cyrr\cyru\cyrd\cyrn\cyrya% -}% -\SetString\abbgyear{\cyrr.} + \StartBabelCommands*{ukrainian}{date} + \SetStringLoop{month#1name}{% + \cyrs\cyrii\cyrch\cyrn\cyrya,% + \cyrl\cyryu\cyrt\cyro\cyrg\cyro,% + \cyrb\cyre\cyrr\cyre\cyrz\cyrn\cyrya,% + \cyrk\cyrv\cyrii\cyrt\cyrn\cyrya,% + \cyrt\cyrr\cyra\cyrv\cyrn\cyrya,% + \cyrch\cyre\cyrr\cyrv\cyrn\cyrya,% + \cyrl\cyri\cyrp\cyrn\cyrya,% + \cyrs\cyre\cyrr\cyrp\cyrn\cyrya,% + \cyrv\cyre\cyrr\cyre\cyrs\cyrn\cyrya,% + \cyrzh\cyro\cyrv\cyrt\cyrn\cyrya,% + \cyrl\cyri\cyrs\cyrt\cyro\cyrp\cyra\cyrd\cyra,% + \cyrg\cyrr\cyru\cyrd\cyrn\cyrya% + }% + \SetString\abbgyear{\cyrr.} \fi -\SetString\today{\number\day\,\csname month\romannumeral\month name\endcsname\space -\number\year\,\abbgyear} +\SetString\today{\number\day~\csname month\romannumeral\month name\endcsname\space + \number\year~\abbgyear} \EndBabelCommands \providehyphenmins{\CurrentOption}{\tw@\tw@} \providehyphenmins{ukrainian}{\tw@\tw@} @@ -310,39 +286,53 @@ \addto\noextrasukrainian{\bbl@nonfrenchspacing} \addto\extrasukrainian{ -\babel@save{\@Alph} -\if@ukr@uni@ode - \def\@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 Я\else\@ctrerr\fi} -\else - \def\@Alph#1{\ifcase#1\or - \CYRA\or\CYRB\or\CYRV\or\CYRG\or\CYRD\or\CYRE\or\CYRZH\or - \CYRI\or\CYRK\or\CYRL\or\CYRM\or\CYRN\or\CYRP\or\CYRR\or - \CYRS\or\CYRT\or\CYRU\or\CYRF\or\CYRH\or\CYRC\or\CYRSH\or - \CYRSHCH\or\CYRYU\or\CYRYA\else\@ctrerr\fi} -\fi + \babel@save{\@Alph} + \if@ukr@uni@ode + \def\@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 Я% + \else% + \@ctrerr% + \fi} + \else + \def\@Alph#1{% + \ifcase#1\or% + \CYRA\or\CYRB\or\CYRV\or\CYRG\or\CYRD\or\CYRE\or\CYRZH\or% + \CYRI\or\CYRK\or\CYRL\or\CYRM\or\CYRN\or\CYRP\or\CYRR\or% + \CYRS\or\CYRT\or\CYRU\or\CYRF\or\CYRH\or\CYRC\or\CYRSH\or% + \CYRSHCH\or\CYRYU\or\CYRYA% + \else% + \@ctrerr% + \fi} + \fi } \addto\extrasukrainian{ -\babel@save{\@alph} -\if@ukr@uni@ode - \def\@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 я\else\@ctrerr\fi} -\else - \def\@alph#1{\ifcase#1\or - \cyra\or\cyrb\or\cyrv\or\cyrg\or\cyrd\or\cyre\or\cyrzh\or - \cyri\or\cyrk\or\cyrl\or\cyrm\or\cyrn\or\cyrp\or\cyrr\or - \cyrs\or\cyrt\or\cyru\or\cyrf\or\cyrh\or\cyrc\or\cyrsh\or - \cyrshch\or\cyryu\or\cyrya\else\@ctrerr\fi} -\fi + \babel@save{\@alph} + \if@ukr@uni@ode + \def\@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 я% + \else% + \@ctrerr% + \fi} + \else + \def\@alph#1{% + \ifcase#1\or% + \cyra\or\cyrb\or\cyrv\or\cyrg\or\cyrd\or\cyre\or\cyrzh\or% + \cyri\or\cyrk\or\cyrl\or\cyrm\or\cyrn\or\cyrp\or\cyrr\or% + \cyrs\or\cyrt\or\cyru\or\cyrf\or\cyrh\or\cyrc\or\cyrsh\or% + \cyrshch\or\cyryu\or\cyrya% + \else% + \@ctrerr% + \fi} + \fi } -\DeclareRobustCommand{\No}{% - \ifmmode{\nfss@text{\textnumero}}\else\textnumero\fi} \def\sh{\mathop{\operator@font sh}\nolimits} \def\ch{\mathop{\operator@font ch}\nolimits} \def\tg{\mathop{\operator@font tg}\nolimits} @@ -350,13 +340,15 @@ \def\arctg{\mathop{\operator@font arctg}\nolimits} \def\arcctg{\mathop{\operator@font arcctg}\nolimits} \addto\extrasukrainian{% - \babel@save{\th}% - \let\ltx@th\th - \def\th{\textormath{\ltx@th}% - {\mathop{\operator@font th}\nolimits}}% - } + \babel@save{\th}% + \let\ltx@th\th + \def\th{\textormath{\ltx@th}% + {\mathop{\operator@font th}\nolimits}}% +} \def\cth{\mathop{\operator@font cth}\nolimits} \def\cosec{\mathop{\operator@font cosec}\nolimits} +\DeclareRobustCommand{\No}{% + \ifmmode{\nfss@text{\textnumero}}\else\textnumero\fi} \ldf@finish{ukrainian} %% %% \CharacterTable @@ -376,6 +368,74 @@ %% Right brace \} Tilde \~} %% +%% Nonunicode Cyrillic Letters +%% \CYRA=А +%% \CYRB=Б +%% \CYRV=В +%% \CYRG=Г +%% \CYRGUP=Ґ +%% \CYRD=Д +%% \CYRE=Е +%% \CYRIE=Є +%% \CYRZH=Ж +%% \CYRZ=З +%% \CYRI=И +%% \CYRII=I +%% \CYRYI=Ї +%% \CYRISHRT=Й +%% \CYRK=К +%% \CYRL=Л +%% \CYRM=М +%% \CYRN=Н +%% \CYRO=О +%% \CYRP=П +%% \CYRR=Р +%% \CYRS=С +%% \CYRT=Т +%% \CYRU=У +%% \CYRF=Ф +%% \CYRH=Х +%% \CYRC=Ц +%% \CYRCH=Ч +%% \CYRSH=Ш +%% \CYRSHCH=Щ +%% \CYRYU=Ю +%% \CYRYA=Я +%% \CYRSFTSN=Ь +%% +%% \cyra=а +%% \cyrb=б +%% \cyrv=в +%% \cyrg=г +%% \cyrgup=ґ +%% \cyrd=д +%% \cyre=е +%% \cyrie=є +%% \cyrzh=ж +%% \cyrz=з +%% \cyri=и +%% \cyrii=i +%% \cyryi=ї +%% \cyrishrt=й +%% \cyrk=к +%% \cyrl=л +%% \cyrm=м +%% \cyrn=н +%% \cyro=о +%% \cyrp=п +%% \cyrr=р +%% \cyrs=с +%% \cyrt=т +%% \cyru=у +%% \cyrf=ф +%% \cyrh=х +%% \cyrc=ц +%% \cyrch=ч +%% \cyrsh=ш +%% \cyrshch=щ +%% \cyryu=ю +%% \cyrya=я +%% \cyrsftsn=ь %% ---------------------------------------------------------------- %% Copyright 2017 Sergiy М. Ponomarenko %% Copyright 2011-2017 Igor A. Kotelnikov. -- cgit v1.2.3