texlive[44595] Master/texmf-dist: babel-ukrainian (14jun17)

commits+karl at tug.org commits+karl at tug.org
Wed Jun 14 23:15:27 CEST 2017


Revision: 44595
          http://tug.org/svn/texlive?view=revision&revision=44595
Author:   karl
Date:     2017-06-14 23:15:26 +0200 (Wed, 14 Jun 2017)
Log Message:
-----------
babel-ukrainian (14jun17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/generic/babel-ukrainian/README.md
    trunk/Master/texmf-dist/doc/generic/babel-ukrainian/ukraineb.pdf
    trunk/Master/texmf-dist/source/generic/babel-ukrainian/ukraineb.dtx
    trunk/Master/texmf-dist/source/generic/babel-ukrainian/ukraineb.ins
    trunk/Master/texmf-dist/tex/generic/babel-ukrainian/ukraineb.ldf

Modified: trunk/Master/texmf-dist/doc/generic/babel-ukrainian/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/generic/babel-ukrainian/README.md	2017-06-14 21:15:05 UTC (rev 44594)
+++ trunk/Master/texmf-dist/doc/generic/babel-ukrainian/README.md	2017-06-14 21:15:26 UTC (rev 44595)
@@ -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 @@
 
 Based on Russian language module v1.3i by Igor A. Kotelnikov <kia999 at mail dot ru>.
 
-The Current Maintainer is Sergiy Ponomarenko <sergiy.ponomarenko at gmail.com>.
+The current maintainer is Sergiy Ponomarenko <sergiy.ponomarenko at gmail.com>.
 
 1. INSTALLATION
 
@@ -81,6 +81,12 @@
 
 5. CHANGES
 
+2017-06-13 version 1.4a
+
+    * Removing \week<roman number>day 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 @@
 %%   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=ь

Modified: trunk/Master/texmf-dist/doc/generic/babel-ukrainian/ukraineb.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/generic/babel-ukrainian/ukraineb.dtx
===================================================================
--- trunk/Master/texmf-dist/source/generic/babel-ukrainian/ukraineb.dtx	2017-06-14 21:15:05 UTC (rev 44594)
+++ trunk/Master/texmf-dist/source/generic/babel-ukrainian/ukraineb.dtx	2017-06-14 21:15:26 UTC (rev 44595)
@@ -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 @@
 
 Based on Russian language module v1.3i by Igor A. Kotelnikov <kia999 at mail dot ru>.
 
-The Current Maintainer is Sergiy Ponomarenko <sergiy.ponomarenko at gmail.com>.
+The current maintainer is Sergiy Ponomarenko <sergiy.ponomarenko at gmail.com>.
 
 
 1. INSTALLATION
@@ -90,6 +90,12 @@
 
 5. CHANGES
 
+2017-06-13 version 1.4a
+
+    * Removing \week<roman number>day 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,7 +166,7 @@
 \endpostamble
 \usedir{tex/generic/babel/contrib}
 \generate{
-  \file{\jobname.ldf}{\from{\jobname.dtx}{code}}
+    \file{\jobname.ldf}{\from{\jobname.dtx}{code}}
 }
 %</install>
 %<install>\endbatchfile
@@ -167,23 +173,23 @@
 %<*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
 %</internal>
 %<*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]
 %</code>
 %<*driver>
 \documentclass[a4paper]{ltxdoc}
@@ -194,13 +200,13 @@
 %% 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 @@
     ,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,7 +257,7 @@
 \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}}
@@ -258,69 +264,69 @@
 \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,
     }
-    ,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|%
-  }
+    \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 at tempa{#1}%
-  \ifx\bbl at tempa\@empty\else#1\vskip1ex\fi\ignorespaces}
+    \def\bbl at tempa{#1}%
+    \ifx\bbl at tempa\@empty\else#1\vskip1ex\fi\ignorespaces}
 \makeatother
 % ====================================
 \EnableCrossrefs
@@ -335,20 +341,20 @@
 %</driver>
 % \fi
 %
-%\GetFileInfo{\jobname.dtx}
-%\GetFileInfo{\jobname.ldf}
+% \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 at your.domain}^^A
-%}
+% \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 at 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 at gmail.com}{sergiy dot ponomarenko at gmail dot com}.}}
 %
@@ -432,11 +438,11 @@
 % \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 @@
 % 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 @@
 % 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 @@
 % 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 @@
 %
 % 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 @@
 %
 % \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 @@
 % text commands such as |\textbf|, |\textsf|, |\textit|, |\texttt|, e.t.c.
 %
 %
-%    \section{\TeX{}nical details}
+% \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.
+% The packages \pkg{inputenc} and  \pkg{luainputenc}
+% make Cyrillic letters active so that a compiler converts them into
+% corresponding |\cyr<letter>| 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<letter>| to corresponding
+% glyph in a font file depending on a declared font encoding.
 %
-%    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.
+% Nowadays, Unicode makes |\cyr<letter>| 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<letter>| are
+% still kept for \LaTeX, but they are bypassed if Lua\LaTeX\ or  Xe\LaTeX\
+% are detected.
 %
-%    \section{Known problems}
+% \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.
+% 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{week<roman number>day} 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 @@
 % \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 at ukr@uni at 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 at ukr@uni at 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 at ukr@uni at ode
-  \PackageError{babel}{if at ukr@uni at ode already defined.\MessageBreak
-    Please contact author of ukraineb.ldf}
-  \relax
+    \PackageError{babel}{if at ukr@uni at ode already defined.\MessageBreak
+        Please contact author of ukraineb.ldf}
+    \relax
 \fi
 \newif\if at ukr@uni at ode
-\ifdefined\luatexversion \@ukr at uni@odetrue \else
-\ifdefined\XeTeXrevision \@ukr at uni@odetrue \fi\fi
+\ifdefined\luatexversion 
+    \@ukr at uni@odetrue
+\else
+    \ifdefined\XeTeXrevision 
+        \@ukr at 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 at 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 at 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 at ukrainian\@undefined
-  \@nopatterns{Ukrainian}
+    \@nopatterns{Ukrainian}
   \adddialect\l at ukrainian0
 \fi
 %    \end{macrocode}
-%    Now |\l at ukrainian| is always defined.
+% Now |\l at ukrainian| is always defined.
 %
-%    \subsection{Output encoding}
+% \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.
+% 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 at encoding|) to
-%    \texttt{EU1} for Xe\LaTeX\ and \texttt{EU2} for Lua\LaTeX, and the \babel{}
-%    package sets the macro |\latinencoding| to |\cf at encoding|. Since \babel{} scan
-%    for value |\cf at 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.
+% 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 at encoding|) to
+% \texttt{EU1} for Xe\LaTeX\ and \texttt{EU2} for Lua\LaTeX, and the \babel{}
+% package sets the macro |\latinencoding| to |\cf at encoding|. Since \babel{} scan
+% for value |\cf at 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).
+% \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}.
+% 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.
+% 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 at 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.
+% We parse the |\cdp at 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 at a##1##2{%
-    \edef\sce at b{##1}%
-    \edef\sce at c{##2}%
-    \ifx\sce at b\sce at c
-      \let\cyrillicencoding\sce at c
-    \fi}%
-  \def\cdp at elt##1##2##3##4{%
-    \sce at a{##1}{OT2}%
-    \sce at a{##1}{LCY}%
-    \sce at a{##1}{X2}%
-    \sce at a{##1}{T2C}%
-    \sce at a{##1}{T2B}%
-    \sce at a{##1}{T2A}%
-    \if at ukr@uni at ode
-      \sce at a{##1}{EU1}%
-      \sce at a{##1}{EU2}%
-    \fi}%
-  \cdp at list
+    \def\sce at a##1##2{%
+        \edef\sce at b{##1}%
+        \edef\sce at c{##2}%
+        \ifx\sce at b\sce at c
+            \let\cyrillicencoding\sce at c
+        \fi}%
+    \def\cdp at elt##1##2##3##4{%
+        \sce at a{##1}{OT2}%
+        \sce at a{##1}{LCY}%
+        \sce at a{##1}{X2}%
+        \sce at a{##1}{T2C}%
+        \sce at a{##1}{T2B}%
+        \sce at a{##1}{T2A}%
+        \if at ukr@uni at ode
+            \sce at a{##1}{EU1}%
+            \sce at a{##1}{EU2}%
+        \fi}%
+     \cdp at list
 }
 \@setcyrillicencoding
 \@onlypreamble\@setcyrillicencoding
@@ -833,33 +847,35 @@
 \@onlypreamble\sce at b
 \@onlypreamble\sce at c
 %    \end{macrocode}
-%    The last lines are to free the memory occupied by the macros
-%    |\@setcyrillicencoding| and |\sce at 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 at 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 at ukr@uni at 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 at ukr@uni at 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,97 +883,97 @@
 %    \file{.aux} may contain |\set at 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}|.
+% \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.
+% 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.
+% 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.
+% 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.
+% 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 at hyphenmins\ukrainianhyphenmins
-  \language\l at ukrainian}%
+    \fontencoding\cyrillicencoding\selectfont
+    \let\encodingdefault\cyrillicencoding
+    \expandafter\set at hyphenmins\ukrainianhyphenmins
+    \language\l at 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 at 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}
@@ -964,35 +980,38 @@
 %    \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 at ukr@uni at ode
-   \PackageWarning{babel}{inputenc should not be used with LuaTeX or XeTeX}
- \fi
+    \if at ukr@uni at ode
+        \PackageWarning{babel}{inputenc should not be used with LuaTeX or XeTeX}
+    \fi
 }{%
-  %\def\reserved at a{LWN}%
-  %\ifx\reserved at a\cyrillicencoding\else
+    %\def\reserved at a{LWN}%
+    %\ifx\reserved at a\cyrillicencoding\else
     \def\reserved at a{OT2}%
-    \ifx\reserved at a\cyrillicencoding\else
-       \def\reserved at a{EU1}%
-       \ifx\reserved at a\cyrillicencoding\else
-          \def\reserved at a{EU2}%
-          \ifx\reserved at a\cyrillicencoding\else
-             \PackageWarning{babel}%
-                {No input encoding specified for Ukrainian language}
-    \fi\fi\fi
-  %\fi
+        \ifx\reserved at a\cyrillicencoding
+        \else
+            \def\reserved at a{EU1}%
+            \ifx\reserved at a\cyrillicencoding\else
+                \def\reserved at a{EU2}%
+                \ifx\reserved at a\cyrillicencoding\else
+                     \PackageWarning{babel}%
+                        {No input encoding specified for Ukrainian language}
+                \fi
+            \fi
+        \fi
+    %\fi
 }
 %    \end{macrocode}
 %
@@ -999,55 +1018,45 @@
 %
 %    \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 at 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 at activate{"}}
-%\def\mdqoff{\bbl at 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 at a{\endgroup
-  \def\@SS{\mathchar"7019 }
-  \def\dq{"}}
+    \def\@SS{\mathchar"7019 }
+    \def\dq{"}}
 \reserved at 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 at shorthand{ukrainian}{"`}{\quotedblbase}
@@ -1056,9 +1065,9 @@
 \declare at 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 at shorthand{ukrainian}{""}{\hskip\z at skip}
@@ -1065,310 +1074,289 @@
 \declare at shorthand{ukrainian}{"~}{\textormath{\leavevmode\hbox{-}}{-}}
 \declare at shorthand{ukrainian}{"=}{\nobreak-\hskip\z at skip}
 \declare at 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 at sh@next| and finally call for |\ukrainian at 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 at sh@next| and finally call for |\ukrainian at sh@tmp|.
 %
 %    \begin{macrocode}
 \declare at shorthand{ukrainian}{"-}{%
-  \def\ukrainian at sh@tmp{%
-    \if\ukrainian at sh@next-\expandafter\ukrainian at sh@emdash
-    \else\expandafter\ukrainian at sh@hyphen\fi}%
-  \futurelet\ukrainian at sh@next\ukrainian at sh@tmp}
+    \def\ukrainian at sh@tmp{%
+        \if\ukrainian at sh@next-\expandafter\ukrainian at sh@emdash
+        \else%
+            \expandafter\ukrainian at sh@hyphen%
+        \fi}%
+   \futurelet\ukrainian at sh@next\ukrainian at sh@tmp}
 %    \end{macrocode}
-%    Two macros |\ukrainian at sh@hyphen| and |\ukrainian at sh@emdash| called by
-%    |\ukrainian at sh@tmp|  are defined below. The second of
-%    them has two parameters since it must gobble next two hyphen signs.
+% Two macros |\ukrainian at sh@hyphen| and |\ukrainian at sh@emdash| called by
+% |\ukrainian at sh@tmp|  are defined below. The second of
+% them has two parameters since it must gobble next two hyphen signs.
 %    \begin{macrocode}
 \def\ukrainian at sh@hyphen{\nobreak\-\bbl at allowhyphens}
 \def\ukrainian at sh@emdash#1#2{\cdash-#1#2}
 %    \end{macrocode}
 %
-%  \Describe\cdash{}
-%    In its turn, |\ukrainian at 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 at 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 at skip\ignorespaces}%
+    \nobreak\cyrdash\penalty\exhyphenpenalty\hskip\z at 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 at 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>| 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>| 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 at ukr@uni at 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}
-  %{<true code>}
-  %{<false coode>}%
-  %
-  \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 at name{PACS коди: }
-    \SetString\@keys at name{Ключові слова: }
-    \SetString\Dated at name{Дата: }
-    \SetString\Received at name{Отримано }
-    \SetString\Revised at name{Виправлена версія }
-    \SetString\Accepted at name{Прийнято }
-    \SetString\Published at 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 at name{PACS \cyrk\cyro\cyrd\cyri: }
-    \SetString\@keys at name{\CYRK\cyrl\cyryu\cyrch\cyro\cyrv\cyrii
-	    \ \cyrs\cyrl\cyro\cyrv\cyra: }
-    \SetString\Dated at name{\CYRD\cyra\cyrt\cyra: }
-    \SetString\Received at name{\CYRO\cyrt\cyrr\cyri\cyrm\cyra\cyrn\cyro }
-    \SetString\Revised at name{\CYRV\cyri\cyrp\cyrr\cyra\cyrv\cyrl\cyre\cyrn\cyro }
-    \SetString\Accepted at name{\CYRP\cyrr\cyri\cyrishrt\cyrn\cyrya\cyrt\cyro }%
-    \SetString\Published at 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 at ukr@uni at 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,18 +1364,18 @@
 \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}
@@ -1394,7 +1382,7 @@
 \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,9 +1390,9 @@
 \addto\noextrasukrainian{\bbl at 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 at frenchspacing}
@@ -1411,146 +1399,123 @@
 \addto\noextrasukrainian{\bbl at nonfrenchspacing}
 %    \end{macrocode}
 %
-%    \subsection{Alphabetic enumerations}
+% \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.
+% 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.
 %
-%    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 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.
 %
-%\begin{verbatim}
-%\def\theenumi{\alph{enumi}}
-%\def\labelenumi{\theenumi)}
-%
-%\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 at save{\@Alph} 
-	\if at ukr@uni at 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 at save{\@Alph} 
+     \if at ukr@uni at 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 at save{\@alph}
-	\if at ukr@uni at 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 at save{\@alph}
+    \if at ukr@uni at 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}
+% \subsection{Ukrainian mathetematical typography traditions}
 %
-%    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 at text{\textnumero}}\else\textnumero\fi}
-%    \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 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:
 %
-%
-%    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:
-%
-%    \begin{macrocode}
 \def\sh{\mathop{\operator at font sh}\nolimits}
 \def\ch{\mathop{\operator at font ch}\nolimits}
 \def\tg{\mathop{\operator at font tg}\nolimits}
@@ -1558,23 +1523,31 @@
 \def\arctg{\mathop{\operator at font arctg}\nolimits}
 \def\arcctg{\mathop{\operator at font arcctg}\nolimits}
 \addto\extrasukrainian{%
-  \babel at save{\th}%
-  \let\ltx at th\th
-  \def\th{\textormath{\ltx at th}%
-                     {\mathop{\operator at font th}\nolimits}}%
-  }
+    \babel at save{\th}%
+    \let\ltx at th\th
+    \def\th{\textormath{\ltx at th}%
+        {\mathop{\operator at font th}\nolimits}}%
+}
 \def\cth{\mathop{\operator at font cth}\nolimits}
 \def\cosec{\mathop{\operator at 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 at text{\textnumero}}\else\textnumero\fi}
+%    \end{macrocode}
 %
-%    The macro |\ldf at 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.
+% \subsection{Final settings}
 %
+% The macro |\ldf at 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 at finish{ukrainian}
 %    \end{macrocode}
@@ -1583,7 +1556,7 @@
 %\iffalse
 %</code>
 %\fi
-% \CheckSum{1266}
+% \CheckSum{1075}
 %\Finale
 %
 %%
@@ -1604,139 +1577,72 @@
 %%   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

Modified: trunk/Master/texmf-dist/source/generic/babel-ukrainian/ukraineb.ins
===================================================================
--- trunk/Master/texmf-dist/source/generic/babel-ukrainian/ukraineb.ins	2017-06-14 21:15:05 UTC (rev 44594)
+++ trunk/Master/texmf-dist/source/generic/babel-ukrainian/ukraineb.ins	2017-06-14 21:15:26 UTC (rev 44595)
@@ -51,7 +51,7 @@
 \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 @@
 %%   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.

Modified: trunk/Master/texmf-dist/tex/generic/babel-ukrainian/ukraineb.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel-ukrainian/ukraineb.ldf	2017-06-14 21:15:05 UTC (rev 44594)
+++ trunk/Master/texmf-dist/tex/generic/babel-ukrainian/ukraineb.ldf	2017-06-14 21:15:26 UTC (rev 44595)
@@ -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 at ukr@uni at ode
-  \PackageError{babel}{if at ukr@uni at ode already defined.\MessageBreak
-    Please contact author of ukraineb.ldf}
-  \relax
+    \PackageError{babel}{if at ukr@uni at ode already defined.\MessageBreak
+        Please contact author of ukraineb.ldf}
+    \relax
 \fi
 \newif\if at ukr@uni at ode
-\ifdefined\luatexversion \@ukr at uni@odetrue \else
-\ifdefined\XeTeXrevision \@ukr at uni@odetrue \fi\fi
+\ifdefined\luatexversion
+    \@ukr at uni@odetrue
+\else
+    \ifdefined\XeTeXrevision
+        \@ukr at uni@odetrue
+    \fi
+\fi
 \ifx\l at ukrainian\@undefined
-  \@nopatterns{Ukrainian}
+    \@nopatterns{Ukrainian}
   \adddialect\l at ukrainian0
 \fi
 \def\@setcyrillicencoding{%
-  \def\sce at a##1##2{%
-    \edef\sce at b{##1}%
-    \edef\sce at c{##2}%
-    \ifx\sce at b\sce at c
-      \let\cyrillicencoding\sce at c
-    \fi}%
-  \def\cdp at elt##1##2##3##4{%
-    \sce at a{##1}{OT2}%
-    \sce at a{##1}{LCY}%
-    \sce at a{##1}{X2}%
-    \sce at a{##1}{T2C}%
-    \sce at a{##1}{T2B}%
-    \sce at a{##1}{T2A}%
-    \if at ukr@uni at ode
-      \sce at a{##1}{EU1}%
-      \sce at a{##1}{EU2}%
-    \fi}%
-  \cdp at list
+    \def\sce at a##1##2{%
+        \edef\sce at b{##1}%
+        \edef\sce at c{##2}%
+        \ifx\sce at b\sce at c
+            \let\cyrillicencoding\sce at c
+        \fi}%
+    \def\cdp at elt##1##2##3##4{%
+        \sce at a{##1}{OT2}%
+        \sce at a{##1}{LCY}%
+        \sce at a{##1}{X2}%
+        \sce at a{##1}{T2C}%
+        \sce at a{##1}{T2B}%
+        \sce at a{##1}{T2A}%
+        \if at ukr@uni at ode
+            \sce at a{##1}{EU1}%
+            \sce at a{##1}{EU2}%
+        \fi}%
+     \cdp at list
 }
 \@setcyrillicencoding
 \@onlypreamble\@setcyrillicencoding
@@ -53,60 +58,65 @@
 \@onlypreamble\sce at c
 \ifdefined\cyrillicencoding
 \else
-  \if at ukr@uni at 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 at ukr@uni at 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 at hyphenmins\ukrainianhyphenmins
-  \language\l at ukrainian}%
+    \fontencoding\cyrillicencoding\selectfont
+    \let\encodingdefault\cyrillicencoding
+    \expandafter\set at hyphenmins\ukrainianhyphenmins
+    \language\l at ukrainian}%
 \let\cyr\cyrillictext
 \expandafter\ifx\csname T at 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 at ukr@uni at ode
-   \PackageWarning{babel}{inputenc should not be used with LuaTeX or XeTeX}
- \fi
+    \if at ukr@uni at ode
+        \PackageWarning{babel}{inputenc should not be used with LuaTeX or XeTeX}
+    \fi
 }{%
-  %\def\reserved at a{LWN}%
-  %\ifx\reserved at a\cyrillicencoding\else
+    %\def\reserved at a{LWN}%
+    %\ifx\reserved at a\cyrillicencoding\else
     \def\reserved at a{OT2}%
-    \ifx\reserved at a\cyrillicencoding\else
-       \def\reserved at a{EU1}%
-       \ifx\reserved at a\cyrillicencoding\else
-          \def\reserved at a{EU2}%
-          \ifx\reserved at a\cyrillicencoding\else
-             \PackageWarning{babel}%
-                {No input encoding specified for Ukrainian language}
-    \fi\fi\fi
-  %\fi
+        \ifx\reserved at a\cyrillicencoding
+        \else
+            \def\reserved at a{EU1}%
+            \ifx\reserved at a\cyrillicencoding\else
+                \def\reserved at a{EU2}%
+                \ifx\reserved at a\cyrillicencoding\else
+                     \PackageWarning{babel}%
+                        {No input encoding specified for Ukrainian language}
+                \fi
+            \fi
+        \fi
+    %\fi
 }
 \initiate at active@char{"}
 \begingroup \catcode`\"12
 \def\reserved at a{\endgroup
-  \def\@SS{\mathchar"7019 }
-  \def\dq{"}}
+    \def\@SS{\mathchar"7019 }
+    \def\dq{"}}
 \reserved at a
 \declare at shorthand{ukrainian}{"`}{\quotedblbase}
 \declare at shorthand{ukrainian}{"'}{\textquotedblleft}
@@ -116,188 +126,154 @@
 \declare at shorthand{ukrainian}{"~}{\textormath{\leavevmode\hbox{-}}{-}}
 \declare at shorthand{ukrainian}{"=}{\nobreak-\hskip\z at skip}
 \declare at shorthand{ukrainian}{"|}{%
-  \textormath{\nobreak\discretionary{-}{}{\kern.03em}\allowhyphens}{}}
+    \textormath{\nobreak\discretionary{-}{}{\kern.03em}\allowhyphens}{}}
 \declare at shorthand{ukrainian}{"-}{%
-  \def\ukrainian at sh@tmp{%
-    \if\ukrainian at sh@next-\expandafter\ukrainian at sh@emdash
-    \else\expandafter\ukrainian at sh@hyphen\fi}%
-  \futurelet\ukrainian at sh@next\ukrainian at sh@tmp}
+    \def\ukrainian at sh@tmp{%
+        \if\ukrainian at sh@next-\expandafter\ukrainian at sh@emdash
+        \else%
+            \expandafter\ukrainian at sh@hyphen%
+        \fi}%
+   \futurelet\ukrainian at sh@next\ukrainian at sh@tmp}
 \def\ukrainian at sh@hyphen{\nobreak\-\bbl at allowhyphens}
 \def\ukrainian at 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 at skip\ignorespaces}%
+    \nobreak\cyrdash\penalty\exhyphenpenalty\hskip\z at 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 at shorthand{ukrainian}{",}{\nobreak\hskip.2em\ignorespaces}
-  %
-  % ---------------------- Caption Names ---------------------------
-  %
 \if at ukr@uni at 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}
-  %{<true code>}
-  %{<false coode>}%
-  %
-  \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 at name{PACS коди: }
-    \SetString\@keys at name{Ключові слова: }
-    \SetString\Dated at name{Дата: }
-    \SetString\Received at name{Отримано }
-    \SetString\Revised at name{Виправлена версія }
-    \SetString\Accepted at name{Прийнято }
-    \SetString\Published at 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 at name{PACS \cyrk\cyro\cyrd\cyri: }
-    \SetString\@keys at name{\CYRK\cyrl\cyryu\cyrch\cyro\cyrv\cyrii
-    \ \cyrs\cyrl\cyro\cyrv\cyra: }
-    \SetString\Dated at name{\CYRD\cyra\cyrt\cyra: }
-    \SetString\Received at name{\CYRO\cyrt\cyrr\cyri\cyrm\cyra\cyrn\cyro }
-    \SetString\Revised at name{\CYRV\cyri\cyrp\cyrr\cyra\cyrv\cyrl\cyre\cyrn\cyro }
-    \SetString\Accepted at name{\CYRP\cyrr\cyri\cyrishrt\cyrn\cyrya\cyrt\cyro }%
-    \SetString\Published at 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 at ukr@uni at 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 at nonfrenchspacing}
 
 \addto\extrasukrainian{
-\babel at save{\@Alph}
-\if at ukr@uni at 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 at save{\@Alph}
+     \if at ukr@uni at 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 at save{\@alph}
-\if at ukr@uni at 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 at save{\@alph}
+    \if at ukr@uni at 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 at text{\textnumero}}\else\textnumero\fi}
 \def\sh{\mathop{\operator at font sh}\nolimits}
 \def\ch{\mathop{\operator at font ch}\nolimits}
 \def\tg{\mathop{\operator at font tg}\nolimits}
@@ -350,13 +340,15 @@
 \def\arctg{\mathop{\operator at font arctg}\nolimits}
 \def\arcctg{\mathop{\operator at font arcctg}\nolimits}
 \addto\extrasukrainian{%
-  \babel at save{\th}%
-  \let\ltx at th\th
-  \def\th{\textormath{\ltx at th}%
-                     {\mathop{\operator at font th}\nolimits}}%
-  }
+    \babel at save{\th}%
+    \let\ltx at th\th
+    \def\th{\textormath{\ltx at th}%
+        {\mathop{\operator at font th}\nolimits}}%
+}
 \def\cth{\mathop{\operator at font cth}\nolimits}
 \def\cosec{\mathop{\operator at font cosec}\nolimits}
+\DeclareRobustCommand{\No}{%
+    \ifmmode{\nfss at text{\textnumero}}\else\textnumero\fi}
 \ldf at 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.



More information about the tex-live-commits mailing list