summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-08-10 21:20:48 +0000
committerKarl Berry <karl@freefriends.org>2017-08-10 21:20:48 +0000
commit14cc1eb93a03b49b8b2f79ef124f25c877fcc758 (patch)
tree3f0ea2e23016d67c24c32bdc162974ecf33ed578 /Master/texmf-dist
parentfb8646de6d28903d7fbff1e437e076aee1e38517 (diff)
babel-russian (10aug17)
git-svn-id: svn://tug.org/texlive/trunk@45007 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/generic/babel-russian/README95
-rw-r--r--Master/texmf-dist/doc/generic/babel-russian/russianb.pdfbin142952 -> 136621 bytes
-rw-r--r--Master/texmf-dist/source/generic/babel-russian/russianb.dtx598
-rw-r--r--Master/texmf-dist/source/generic/babel-russian/russianb.ins87
-rw-r--r--Master/texmf-dist/tex/generic/babel-russian/russianb.ldf183
5 files changed, 618 insertions, 345 deletions
diff --git a/Master/texmf-dist/doc/generic/babel-russian/README b/Master/texmf-dist/doc/generic/babel-russian/README
index 1f28e0dc148..f0b392a3570 100644
--- a/Master/texmf-dist/doc/generic/babel-russian/README
+++ b/Master/texmf-dist/doc/generic/babel-russian/README
@@ -1,6 +1,6 @@
----------------------------------------------------------------
-Russian language module for Babel, v1.3i
+Russian language module for Babel, v1.3j
Released under the LaTeX Project Public License v1.3c or later.
See http://www.latex-project.org/lppl.txt
@@ -107,6 +107,12 @@ might be absent.
5. CHANGES
+2017-08-08 version 1.3j
+
+ * TU encoding is set as default for X∃TeX and LuaTeX.
+
+ * \cyrdash now always prints dash 20% shorter than emdash.
+
2017-01-12 version 1.3i
* Bug fixed in \NOD, \NOK and similar log-functions (thanks to V. Vlasov).
@@ -174,3 +180,90 @@ Original source: russianb.dtx,
2008/03/21 v1.1r Russian support from the babel system.
----------------------------------------------------------------
+
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+
+%% Nonunicode Cyrillic Letters
+%% \CYRA=А
+%% \CYRB=Б
+%% \CYRV=В
+%% \CYRG=Г
+%% \CYRGUP=Ґ
+%% \CYRD=Д
+%% \CYRE=Е
+%% \CYRIE=Є
+%% \CYRZH=Ж
+%% \CYRZ=З
+%% \CYRI=И
+%% \CYRII=I
+%% \CYRYI=Ї
+%% \CYRISHRT=Й
+%% \CYRK=К
+%% \CYRL=Л
+%% \CYRM=М
+%% \CYRN=Н
+%% \CYRO=О
+%% \CYRP=П
+%% \CYRR=Р
+%% \CYRS=С
+%% \CYRT=Т
+%% \CYRU=У
+%% \CYRF=Ф
+%% \CYRH=Х
+%% \CYRC=Ц
+%% \CYRCH=Ч
+%% \CYRSH=Ш
+%% \CYRSHCH=Щ
+%% \CYRYU=Ю
+%% \CYRYA=Я
+%% \CYRSFTSN=Ь
+%%
+%% \cyra=а
+%% \cyrb=б
+%% \cyrv=в
+%% \cyrg=г
+%% \cyrgup=ґ
+%% \cyrd=д
+%% \cyre=е
+%% \cyrie=є
+%% \cyrzh=ж
+%% \cyrz=з
+%% \cyri=и
+%% \cyrii=i
+%% \cyryi=ї
+%% \cyrishrt=й
+%% \cyrk=к
+%% \cyrl=л
+%% \cyrm=м
+%% \cyrn=н
+%% \cyro=о
+%% \cyrp=п
+%% \cyrr=р
+%% \cyrs=с
+%% \cyrt=т
+%% \cyru=у
+%% \cyrf=ф
+%% \cyrh=х
+%% \cyrc=ц
+%% \cyrch=ч
+%% \cyrsh=ш
+%% \cyrshch=щ
+%% \cyryu=ю
+%% \cyrya=я
+%% \cyrsftsn=ь
diff --git a/Master/texmf-dist/doc/generic/babel-russian/russianb.pdf b/Master/texmf-dist/doc/generic/babel-russian/russianb.pdf
index 5a9063cc600..32025a01ef1 100644
--- a/Master/texmf-dist/doc/generic/babel-russian/russianb.pdf
+++ b/Master/texmf-dist/doc/generic/babel-russian/russianb.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/generic/babel-russian/russianb.dtx b/Master/texmf-dist/source/generic/babel-russian/russianb.dtx
index 6c9925927fe..b843e43bd23 100644
--- a/Master/texmf-dist/source/generic/babel-russian/russianb.dtx
+++ b/Master/texmf-dist/source/generic/babel-russian/russianb.dtx
@@ -7,7 +7,7 @@
%<*readme>
----------------------------------------------------------------
-Russian language module for Babel, v1.3i
+Russian language module for Babel, v1.3j
Released under the LaTeX Project Public License v1.3c or later.
See http://www.latex-project.org/lppl.txt
@@ -119,6 +119,13 @@ might be absent.
5. CHANGES
+2017-08-08 version 1.3j
+
+ * TU encoding is set as default for X∃TeX and LuaTeX.
+
+ * \cyrdash now always prints dash 20% shorter than emdash.
+
+
2017-01-12 version 1.3i
* Bug fixed in \NOD, \NOK and similar log-functions (thanks to V. Vlasov).
@@ -255,8 +262,7 @@ and the derived files russianb.ins,
%</internal>
%<*code>
\NeedsTeXFormat{LaTeX2e}
-%\ProvidesFile{russianb.ldf}[2017/01/12 1.3i Russian support for the Babel system]
-\ProvidesLanguage{russianb}[2017/01/12 1.3i Russian support for the Babel system]
+%\ProvidesFile{russianb.ldf}[2017/08/08 1.3j Russian support for the Babel system]
%</code>
%<*driver>
\documentclass[a4paper]{ltxdoc}
@@ -347,6 +353,7 @@ and the derived files russianb.ins,
,\cyr,\cyrillictext,\textcyrillic,\cyrillicencoding
,\addto,\captionsrussian,\daterussian,\noextrasrussian,\extrasrussian
,\languageattribute
+ ,\glqq,\grqq,\guillemotleft,\guillemotright
,\Asbuk,\asbuk,\ch,\sh,\tg,\ctg,\arctg,\arcctg\,\th,\cth,\cosec
,\nod3,\nok,\prog,\NOF\,\NOK,\Prog
,\dq,\Proj,\nod,\NOD,\nok,\NOK,\Prob,\Variance
@@ -402,17 +409,21 @@ and the derived files russianb.ins,
%</driver>
% \fi
%
+% \DoNotIndex{\cyra,\cyrb,\cyrv,\cyrg,\cyrd,\cyre}
+% \DoNotIndex{\CYRP,\cyrii,\cyrr,\cyre,\cyro,\CYRU,\cyrk,\cyrl,\CYRS,\cyrs|}
+% \DoNotIndex{\cyrt,\cyri,\cyrz,\CYRT,\cyrm}
+% \DoNotIndex{\cyr,\cyrc,\CYRD,\cyrery,\cyrh,\CYRK,\CYRM,\CYRN,\cyrn}
+% \DoNotIndex{\cyrp,\cyrs,\cyrshch,\cyru,\CYRV,\cyrya}
+% \DoNotIndex{\CYRA,\CYRB,\cyrch,\CYRE,\CYREREV,\CYRF,\cyrf,\CYRI,\cyrishrt}
+% \DoNotIndex{\CYRO,\CYRR,\cyrsftsn,\CYRYA,\cyryu,\cyrzh}
+% \DoNotIndex{\CYRCH, \CYRG, \CYRL, \CYRZH}
+% \DoNotIndex{\z@skip,\z@}
+% \DoNotIndex{\|,\~,\ ,\,}
+%
+
%\GetFileInfo{russianb.dtx}
%\GetFileInfo{russianb.ldf}
%
-%\title{^^A
-% \textsf{Russian} --- description text\thanks{^^A
-% This file describes version \fileversion, last revised \filedate.^^A
-% }^^A
-%}
-%\author{^^A
-% You\thanks{E-mail: you@your.domain}^^A
-%}
% \title{The Russian Language\\
% in the \babel\ system\\[0.5em]
% \large Version \fileversion}
@@ -461,11 +472,11 @@ and the derived files russianb.ins,
% (\file{.tex}) file. Output encoding is also known as the font encoding. It is
% implemented within the font files.
%
-% Generally, the user may choose between different available Cyrillic
+% Generally, the user may choose between different Cyrillic
% encodings. The current support for Cyrillic uses LH family of MetaFont fonts
% and theirs Postscript versions such as CM-super. Lua\LaTeX\ and Xe\LaTeX,
% being the Unicode-based succeeders of \LaTeX, allow also for any Open Type
-% (OTF) and True Type (TTF) fonts which has Cyrillic script, e.g. Computer
+% (OTF) and True Type (TTF) fonts which have Cyrillic script, e.g. Computer
% Modern Unicode, Linux Libertine, and many other system fonts that came with
% Linux, Mac and Windows operating systems.
%
@@ -505,7 +516,7 @@ and the derived files russianb.ins,
% Output encodings (also known as font encodings) are declared as options to
% the \pkg{fontenc} package. Known Cyrillic encodings are \texttt{T2A},
% \texttt{T2B}, \texttt{T2C}, \texttt{LCY}, and \texttt{X2};
-% \texttt{LWN} is excluded from Russian support stating version 1.2 of
+% \texttt{LWN} is excluded from Russian support starting version 1.2 of
% \file{\filename} since \texttt{LWN} is excluded from the \pkg{cyrillic}
% bundle of related files.
%
@@ -524,17 +535,17 @@ and the derived files russianb.ins,
%\usepackage[english,russian]{babel}
%\end{verbatim}
% The order of the packages is crucial for Lua\LaTeX\ in 8-bit mode. Since both
-% \pkg{luainputenc} and \pkg{babel} should know what is a selected font encoding,
-% the \pkg{fontenc} package should be loaded first. Input encoding management for
-% Lua\TeX\ is needed only for compatibility with old documents. For new
-% documents, using UTF-8 encoding and Unicode fonts is strongly recommended.
-% \emph{You've been warned!} See
+% \pkg{luainputenc} and \pkg{babel} should know what font encoding is selected,
+% the \pkg{fontenc} package should be loaded first. Legacy input encoding
+% management for Lua\TeX\ is needed only for compatibility with old documents.
+% For new documents, using UTF-8 encoding and Unicode fonts is strongly
+% recommended. \emph{You've been warned!} See
% \href{http://tex.stackexchange.com/questions/31709/can-one-instruct-lualatex-to-use-t2a-encoded-fonts}%
% {tex.stackexchange.com/questions/31709/can-one-instruct-lualatex-to-use-t2a-encoded-fonts}.
%
%
% To invoke Unicode mode, one needs to load the \pkg{fontspec} package instead
-% of \pkg{luainputenc} and \pkg{fontspec} and explicitly indicate which True Type
+% of \pkg{luainputenc} and \pkg{fontenc} and explicitly indicate which True Type
% 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:
@@ -557,8 +568,7 @@ and the derived files russianb.ins,
% \setmonofont{CMU Typewriter Text}
% \usepackage[english,russian]{babel}
%\end{verbatim}
-% Here |Renderer=Basic,Ligatures={TeX}| activates ligatures which are existed
-% in \LaTeX.
+% Here |Renderer=Basic,Ligatures={TeX}| activates ligatures available in \LaTeX.
%
% Recall that the language enlisted last in the list of options of the \pkg{babel}
% package is assumed to be the main language of the document, which is also active
@@ -576,7 +586,7 @@ and the derived files russianb.ins,
%
% In Xe\LaTeX, there is also a special mode for 8-bit compatibility.
% One can use |\XeTeXinputencoding| to change the input encoding
-% temporarily, and the \texttt{"bytes"} encoding makes Xe\LaTeX\ works
+% temporarily, and the \texttt{"bytes"} encoding makes Xe\LaTeX\ to work
% like a 8-bit \LaTeX\ engine:
% \begin{verbatim}
% \XeTeXinputencoding "bytes"
@@ -587,7 +597,7 @@ and the derived files russianb.ins,
% \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
-% into Unicode;
+% stream into Unicode;
% see \href{http://tex.stackexchange.com/questions/36188/do-xetex-and-luatex-always-use-unicode}
% {tex.stackexchange.com/questions/36188/do-xetex-and-luatex-always-use-unicode}.
%
@@ -652,8 +662,7 @@ and the derived files russianb.ins,
% \begin{enumerate}
% \item Russian hyphenation patterns are made active;
% \item |\today| prints the date in Russian;
-% \item the caption names are translated into Russian
-% (\LaTeX{} only);
+% \item the caption names are translated into Russian;
% \item emdash typed by the ligature |---| might be 20\% shorter when Russian
% is the current language; the result depends on the current encoding; |---|
% always produce long emdash in Lua\TeX\ and Xe\TeX\ since these engines
@@ -761,13 +770,12 @@ and the derived files russianb.ins,
%
% The French quotes are also available as ligatures `|<<|' and `|>>|' in
% 8-bit Cyrillic font encodings (\texttt{LCY}, \texttt{X2}, \texttt{T2*})
-% and in Unicode encodings (\texttt{EU1} and \texttt{EU2})
-% and as `|<|' and `|>|' characters in 7-bit Cyrillic font encodings
-% (\texttt{OT2} and \texttt{LWN}).
+% and in Unicode encoding (\texttt{TU}) as `|<|' and `|>|' characters in 7-bit
+% Cyrillic font encodings (\texttt{OT2} and \texttt{LWN}).
%
-% In Unicode encodings \texttt{EU1} and \texttt{EU2} cyrdashes and quotes
-% can be typed as single character if text editor makes it possible to
-% insert characters which absent of standard keyboard. This method works
+% In Unicode encoding \texttt{TU} cyrdashes and quotes
+% can be typed as single character if your text editor allows
+% inserting characters which absent of standard keyboard. This method works
% as well for 8-bit fonts encoded according to \texttt{T2A} if source file
% is encoded with \texttt{cp1251} or {utf8}.
%
@@ -841,141 +849,35 @@ and the derived files russianb.ins,
%\end{verbatim}
%
% None of Cyrillic font encoding has `iotated E' (Ѥ, ѥ). When running legacy
-% engines you are advices to substitute it with |\CYRIE|, |\cyrie| (Є, є):
+% engines you are advised to substitute it with |\CYRIE|, |\cyrie| (Є, є):
%
%\begin{verbatim}
%\DeclareUnicodeCharacter{0464}{\CYRIE}
%\DeclareUnicodeCharacter{0465}{\cyrie}
%\end{verbatim}
%
-% \cs{cyrdash} might produce dashes of different width in same document after
-% switching to/from Russian language if the document is compiled with legacy
-% engines.
-%
-% \section{History}
-%
-% \subsection*{Changes in version 1.3i}
-% \begin{itemize}
-% \item
-% Bug fixed in |\NOD|, |\NOK| and similar log-functions (thanks to Vladimir Vlasov).
-% \end{itemize}
-%
-% \subsection*{Changes in version 1.3h}
-% \begin{itemize}
-% \item
-% \cs{cyrdash} is now faked via \cs{ProvideTextCommandDefault} rather than
-% \cs{def}.
-% \item
-% Bugs fixed in captions for \cls{revtex4.cls} and \cls{revtex4-1.cls}.
-% \end{itemize}
-%
-% \subsection*{Changes in version 1.3g}
-% \begin{itemize}
-% \item
-% Added support for \cls{revtex4} and \cls{revtex4-1} classes.
-% \end{itemize}
-%
-% \subsection*{Changes in version 1.3f}
-% \begin{itemize}
-% \item
-% A documentation file russianb.pdf can now be generated by
-% running \file{pdflatex.exe} over \file{russianb.dtx} although
-% \file{xelatex.exe} is still recommended.
-% \item
-% \file{russianb.ins} was missed in version 1.3e.
-% \end{itemize}
-%
-% \subsection*{Changes in version 1.3e}
-% \begin{itemize}
-% \item
-% All stuff is now generated from single \file{dtx} file.
-% \end{itemize}
-%
-% \subsection*{Changes in version 1.3d}
-% \begin{itemize}
-% \item
-% Bug fix in |\Proj|.
-% \end{itemize}
-%
-% \subsection*{Changes in version 1.3c}
-% \begin{itemize}
-% \item
-% Bug fix in |\daterussian|.
-% \end{itemize}
-%
-% \subsection*{Changes in version 1.3b}
-% \begin{itemize}
-% \item
-% Added support for the packages \pkg{listing}, \pkg{nomencl}, and
-% \pkg{nomentbl}.
-% \end{itemize}
-%
-% \subsection*{Changes in version 1.3a}
-% \begin{itemize}
-% \item
-% ^^AAdded the Russian language attributes \Lopt{modern} (default) and
-% ^^A\Lopt{ancient} (for typesetting ancient slavonic books).
-% Added the Russian language attribute \Lopt{ancient} for typesetting
-% ancient slavonic books.
-%\end{itemize}
-%
-% \subsection*{Changes in version 1.3}
-% \begin{itemize}
-% \item
-% Updated for babel 3.9.
-% \item
-% The |\alph| and |\Alph| commands are not redefined any more by the
-% \file{russianb.ldf}.
-% \end{itemize}
-%
-% \subsection*{Changes in version 1.2a}
-% \begin{itemize}
-% \item
-% Indentation of the first paragraph after sectioning command has been removed.
-% Use \pkg{indentfirst} to make first paragraph indented.
-% \end{itemize}
-%
-% \subsection*{Changes in version 1.2}
-%
-% \begin{itemize}
-% \item
-% Font encoding \texttt{LWN} is not supported any more.
-% \item
-% Macros |\Rus|, |\English|, |\Eng| have been removed.
-% |\Russian| is now alias of |\selectlanguage{russian}|.
-% Former definition of |\Russian| is preserved in the macros
-% |\cyrillictext| and |\cyr| which should not be used at user
-% level.
-% \item
-% Lua\LaTeX\ and Xe\LaTeX\ are now supported;
-% |\cyr...| commands are bypassed if Lua\LaTeX\ or Xe\LaTeX\ run.
-%^^A\item
-%^^A First paragraph after section command is indented over the entire
-%^^A document if \Lopt{russian} is the last option of \pkg{babel} and,
-%^^A hence, Russian is the main language.
-% \item
-% The shorthands |"<| and |">| are redefined; now they match
-% |\guillemotleft| and |\guillemotright|, respectively, rather than
-% |\flqq| and |\frqq|.
-% \item
-% Definitions of |\latinencoding| and |\latintext| are removed
-% since these macros are defined in \file{babel.def}.
-% \item
-% |\cyrmathbf|, |\cyrmathsf|, |\cyrmathit|, and |\cyrmathtt| commands
-% are removed; they do work in math mode; instead of them it is advised to use corresponding
-% |\text..| command.
-% \item
-% The macro |\No| is removed since the Cyrillic number sign is available
-% on keyboard and can also be typed using the |\textnumero| macro.
-% \item
-% Added translation for Glossary.
-% \end{itemize}
-%
-%\StopEventually{^^A
-% \setlength{\postmulticols}{100pt} % 20pt by default
-% \PrintChanges
-% \PrintIndex
-%}
+% The dash might change its length after switching the current language
+% with |\selectlanguage|. Legacy engines (\texttt{latex.exe},
+% \texttt{pdflatex.exe}) take the dash symbol (---) from same code
+% point 22 of a font file but from different fonts for Cyrillic and Latin
+% languages. Cyrillic fonts take care that Cyrillic dash is 20\% shorter than
+% Latin one. Unicode engines (\texttt{xelatex.exe}, \texttt{lualatex.exe})
+% take the dash from the code point x2022, but may substitute the font dash
+% with fake symbol which is shorter. See discussion at
+% \href{https://tex.stackexchange.com/questions/294178/what-about-cyrdash-in-eu1-and-eu2-encodings}
+% {https://tex.stackexchange.com/questions/294178/what-about-cyrdash-in-eu1-and-eu2-encodings}.
+%
+%
+% \StopEventually{
+% \IndexPrologue{\section{Index}
+% Numbers written in dark blue refer to the page where the corresponding
+% entry is described; numbers in black roman refer to the code lines where
+% the entry is used.
+% }
+% \GlossaryPrologue{\section{Change History}}
+% \PrintChanges
+% \PrintIndex
+% }
%
%\iffalse
%<*code>
@@ -1019,6 +921,8 @@ and the derived files russianb.ins,
% \changes{1.1e}{1996/12/29}{Added closing brace to second
% argument of \cs{LdfInit}}
% \begin{macrocode}
+\ProvidesLanguage{russian}
+ [2017/08/12 1.3j Russian support for the Babel system]
\LdfInit{russian}{captionsrussian}
% \end{macrocode}
%
@@ -1070,8 +974,8 @@ and the derived files russianb.ins,
% \pkg{babel}. In the latter case or if these packages are not loaded at all,
% \file{russianb.ldf} ignores their effect and tries to provide some
% reasonable settings. In particular, \texttt{T2A} will be selected for
-% Russian language if \LaTeX\ is running but \texttt{EU1} in case of
-% Xe\LaTeX\ and \texttt{EU2} in case of Lua\LaTeX.
+% Russian language if \LaTeX\ is running but \texttt{TU} in case of
+% Xe\LaTeX\ or Lua\LaTeX.
%
% \begin{macro}{\latinencoding}
% \changes{1.2}{2011/10/20}{Removed \cs{latinencoding}}
@@ -1100,13 +1004,12 @@ and the derived files russianb.ins,
% |\latinencoding| will be \texttt{OT1}.
%
% In Unicode mode, the package \pkg{fontspec} should be loaded instead of
-% \pkg{fontenc} to make font preparation; \pkg{fontspec} loads the package
-% \pkg{xunicode} which sets current encoding (kept in |\cf@encoding|) to
-% \texttt{EU1} for Xe\LaTeX\ and \texttt{EU2} for Lua\LaTeX, and the \pkg{babel}
-% package sets the macro |\latinencoding| to |\cf@encoding|. Since \pkg{babel} scan
-% for value |\cf@encoding| within |\AtBeginDocument|, |\latinencoding| will
-% be set to either \texttt{EU1} for Xe\LaTeX\ or \texttt{EU2} for Lua\LaTeX\
-% no matter which of the packages, \pkg{babel} or \pkg{fontspec} is loaded first.
+% \pkg{fontenc} to make font preparation; \pkg{fontspec} sets current encoding
+% (kept in |\cf@encoding|) to \texttt{TU}, and the \pkg{babel} package sets the
+% macro |\latinencoding| to |\cf@encoding|. Since \pkg{babel} scan for value
+% |\cf@encoding| within |\AtBeginDocument|, |\latinencoding| will
+% be set to \texttt{TU} for Xe\LaTeX\ or Lua\LaTeX\ no matter which of the
+% packages, \pkg{babel} or \pkg{fontspec} is loaded first.
%
% \end{macro}
%
@@ -1120,8 +1023,9 @@ and the derived files russianb.ins,
% \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).
+% \texttt{TU} (default for Xe\LaTeX\ and Lua\LaTeX),
+% \texttt{EU1} (obsolete, formerly used for Xe\LaTeX),
+% \texttt{EU2} (obsolete, formerly used 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
@@ -1134,17 +1038,18 @@ and the derived files russianb.ins,
% every time they want to typeset a Latin word inside a Russian phrase
% or vice versa.
%
-%
% We parse the |\cdp@list| containing encodings known to \LaTeX\
-% in the order they were loaded by the time when \pkg{babel} is loaded.
+% in the order they have been loaded by the time \pkg{babel} is called.
% 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.
+% \texttt{X2}, \texttt{T2C}, \texttt{T2B}, \texttt{T2A}. In Unicode mode,
+% |\cyrillicencoding| is set to \texttt{TU} by \pkg{fontspec}. Nevertheless
+% here we provide similar definitions; 8-bit encodings are kept for Unicode
+% compilers (Lua\LaTeX\ and Xe\LaTeX) since they can run in compatibility
+% (8-bit) mode.
%
% \changes{1.2}{2011/10/20}{EU1 and EU2 encodings added}
+% \changes{1.3j}{2017/08/07}{TU encoding added}
% \begin{macrocode}
\def\@setcyrillicencoding{%
\def\sce@a##1##2{%
@@ -1161,12 +1066,15 @@ and the derived files russianb.ins,
\sce@a{##1}{T2B}%
\sce@a{##1}{T2A}%
\if@uni@ode
- \sce@a{##1}{EU1}%
- \sce@a{##1}{EU2}%
+ %\sce@a{##1}{EU1}%
+ %\sce@a{##1}{EU2}%
+ \sce@a{##1}{TU}%
\fi}%
\cdp@list
}
-\@setcyrillicencoding
+\ifx\cyrillicencoding\undefined
+ \@setcyrillicencoding
+\fi
\@onlypreamble\@setcyrillicencoding
\@onlypreamble\sce@a
\@onlypreamble\sce@b
@@ -1184,14 +1092,14 @@ and the derived files russianb.ins,
% \changes{1.2}{2011/10/20}{Removed test for present of
% encoding files}
% \begin{macrocode}
-\ifdefined\cyrillicencoding
-\else
+\ifx\cyrillicencoding\undefined
\if@uni@ode
- \ifdefined\XeTeXrevision
- \edef\cyrillicencoding{EU1}
- \else\ifdefined\luatexversion
- \edef\cyrillicencoding{EU2}
- \fi\fi
+ %\ifdefined\XeTeXrevision
+ % \edef\cyrillicencoding{EU1}
+ %\else\ifdefined\luatexversion
+ % \edef\cyrillicencoding{EU2}
+ %\fi\fi
+ \edef\cyrillicencoding{TU}
\else
\edef\cyrillicencoding{T2A}
\fi
@@ -1202,7 +1110,7 @@ and the derived files russianb.ins,
}%
\lowercase\expandafter{\expandafter\input\cyrillicencoding enc.def\relax}%
% \end{macrocode}
-% As final wisdom, we repeat |\@setcyrillicencoding| at |\begin{document}|
+% As a final wisdom, we repeat |\@setcyrillicencoding| at |\begin{document}|
% time. We could not avoid previous call to |\@setcyrillicencoding| since
% compiler scan \file{.aux} file before it executes delayed code, and
% \file{.aux} may contain |\set@langauge{russian}|; the latter rises an
@@ -1213,15 +1121,19 @@ and the derived files russianb.ins,
% \end{macrocode}
%
% \Describe\Russian{}
-% \DescribeOther\cyr{}
-% \DescribeOther\cyrillictext{}
% For the sake of backward compatibility we keep the macro |\Russian|
% but redefine its meaning; now |\Russian| is simply an alias for
% |\selectlanguage{russian}|.
+% \begin{macrocode}
+\DeclareRobustCommand{\Russian}{\selectlanguage{\russian}}
+% \end{macrocode}
%
+% \Describe\cyrillictext{}
+% \DescribeOther\cyr{}
% We define |\cyrillictext| and its alias |\cyr| but remove another alias
% |\Rus|; 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 \pkg{babel}'s.
@@ -1244,7 +1156,6 @@ and the derived files russianb.ins,
% switch caption names, dates and shorthands.
%
% \begin{macrocode}
-\DeclareRobustCommand{\Russian}{\selectlanguage{\russian}}
\DeclareRobustCommand{\cyrillictext}{%
\fontencoding\cyrillicencoding\selectfont
\let\encodingdefault\cyrillicencoding
@@ -1253,14 +1164,12 @@ and the derived files russianb.ins,
\let\cyr\cyrillictext
% \end{macrocode}
%
-% Starting from version v.1.2 we remove the |\English| macro and its
-% aliases. We believe that reasonable place for defining these macros
-% would be \file{englishb.ldf}.
-% Note also that the macro |\English| and its alias |\Eng| are absent
-% in \file{russianb.ldf}'s counterpart in the package \pkg{polyglossia},
-% analog of \pkg{babel} for Xe\LaTeX.
+% Since version v.1.2, the |\English| macro and its alias |\Eng| were removed
+% as a reasonable place for defining these macros would be \file{englishb.ldf}.
+% Note also that these macros are absent from \file{russianb.ldf}'s counterpart
+% of the package \pkg{polyglossia}, analog of \pkg{babel} for Xe\LaTeX.
%
-% \changes{1.2}{2011/10/20}{Removed \cs{English} macro}
+% \changes{1.2}{2011/10/20}{Removed \cs{English} and \cs{Eng} macros}
% \begin{macrocode}
%%\DeclareRobustCommand{\English}{%
%% \fontencoding\latinencoding\selectfont
@@ -1269,32 +1178,10 @@ and the derived files russianb.ins,
%% \language\l@english}%
%%\let\Eng\English
% \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.
-%
-% Unfortunately, the commands |\AA| and |\aa| are not encoding dependent
-% in \LaTeX\ (unlike e.g., |\oe| or |\DH|). They are defined as |\r{A}| and
-% |\r{a}|. This leads to unpredictable results when the font encoding
-% does not contain the Latin letters `A' and `a' (like \texttt{X2}).
-%
-% \begin{macrocode}
-\expandafter\ifx\csname T@X2\endcsname\relax\else
- \DeclareTextSymbolDefault{\AA}{OT1}
- \DeclareTextSymbolDefault{\aa}{OT1}
- \DeclareTextCommand{\aa}{OT1}{\r a}
- \DeclareTextCommand{\AA}{OT1}{\r A}
-\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
+% |\latintext| switches back. This method assumes that main 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.
@@ -1305,20 +1192,15 @@ and the derived files russianb.ins,
% defined by the core of babel}
% \changes{1.2}{2011/10/20}{\cs{lat} removed}
% \begin{macrocode}
-%\DeclareRobustCommand{\latintext}{%
-% \fontencoding{\latinencoding}\selectfont
-% \def\encodingdefault{\latinencoding}}
-%\let\lat\latintext
+%%\DeclareRobustCommand{\latintext}{%
+%% \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.
-%
% The macro |\textcyrillic| takes an argument which is then typeset using the
-% requested font encoding. It is thus an equivalent or
-% |\foreignlangauge{russian}|.
+% |\cyrillictext| declaration.
% \changes{1.1o}{2003/10/12}{\cs{textlatin} already defined
% by the core of babel}
% \begin{macrocode}
@@ -1326,42 +1208,64 @@ and the derived files russianb.ins,
% \end{macrocode}
%
%
+% \textsc{Next chunk 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}).
+% \begin{macrocode}
+%%\expandafter\ifx\csname T@X2\endcsname\relax\else
+%% \DeclareTextSymbolDefault{\AA}{OT1}
+%% \DeclareTextSymbolDefault{\aa}{OT1}
+%% \DeclareTextCommand{\aa}{OT1}{\r a}
+%% \DeclareTextCommand{\AA}{OT1}{\r A}
+%%\fi
+% \end{macrocode}
+%
+%
% \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} \pkg{babel}.
-% Note however that default font encoding \texttt{T2A} fits
-% well enough to Russian version of Windows ANSI encoding which is almost
-% equivalent to \texttt{cp1251}.
+% We do not assume any default input encoding of the source file,
+% so the \pkg{inputenc} package should be explicitly loaded by
+% |\usepackage[...]{inputenc}| \emph{before} \pkg{babel}.
+% Note that default font encoding \texttt{T2A} for legacy 8-bit latex
+% engines fits well enough to Russian version of Windows ANSI encoding which
+% is almost equivalent to \texttt{cp1251} input encoding.
%
-% \textsc{Should we wrap this chunk into At Begin document?}
+% \textsc{Should we wrap this chunk into AtBeginDocument? Note also that
+% \pkg{inputenc} has its own check whether it is correctly called. Also,
+% it is difficult to imagine that TU encoding is not declared in case of
+% unicode engines. Hence, we remove this check in babel starting since
+% version 1.3j.}
%
% \changes{1.1l}{1999/08/27}{Made not using inputenc a
% warning instead of an error}
% \changes{1.2}{2011/10/11}{Added EU1 and EU2 encodings}
% \changes{1.2}{2011/10/11}{Removed LWN encoding}
+% \changes{1.3j}{2017/08/08}{Removed check if inputenc is loaded}
% \begin{macrocode}
-\@ifpackageloaded{inputenc}{%
- \if@uni@ode
- \PackageWarning{babel}{inputenc should not be used with LuaTeX or XeTeX}
- \fi
-}{%
- %\def\reserved@a{LWN}%
- %\ifx\reserved@a\cyrillicencoding\else
- \def\reserved@a{OT2}%
- \ifx\reserved@a\cyrillicencoding\else
- \def\reserved@a{EU1}%
- \ifx\reserved@a\cyrillicencoding\else
- \def\reserved@a{EU2}%
- \ifx\reserved@a\cyrillicencoding\else
- \PackageWarning{babel}%
- {No input encoding specified for Russian language}
- \fi\fi\fi
- %\fi
-}
+%%\@ifpackageloaded{inputenc}{%
+%%% \if@uni@ode
+%%% \PackageWarning{babel}{inputenc should not be used with LuaTeX or XeTeX}
+%%% \fi
+%% \ifdefined\luatexversion
+%% \PackageWarning{babel}{inputenc should not be used with LuaTeX}
+%% \fi}{%
+%% %\def\reserved@a{LWN}%
+%% %\ifx\reserved@a\cyrillicencoding\else
+%% \def\reserved@a{OT2}%
+%% \ifx\reserved@a\cyrillicencoding\else
+%% \def\reserved@a{TU}%
+%% \ifx\reserved@a\cyrillicencoding\else
+%% \PackageWarning{babel}%
+%% {No input encoding specified for Russian language}
+%% \fi\fi
+%% %\fi
+%%}
% \end{macrocode}
%
%
@@ -1386,10 +1290,10 @@ and the derived files russianb.ins,
% Obsolete: Active double quote can be both activated and deactivated at any time
% using the macros |\mdqon| and |\mdqoff|.
% \begin{macrocode}
-%\def\mdqon{\bbl@activate{"}}
-%\def\mdqoff{\bbl@deactivate{"}}
+%%\def\mdqon{\bbl@activate{"}}
+%%\def\mdqoff{\bbl@deactivate{"}}
% \end{macrocode}
-% Initial activation state will set to on later in section \ref{sss:extra}.
+% Initial activation state is set in section \ref{sss:extra}.
% \end{macro}
% \end{macro}
%
@@ -1411,18 +1315,18 @@ and the derived files russianb.ins,
%
% We set |"`| and |"'| as shorthands for |\quotedblbase| and
% |\textquotedblleft|, respectively. Prior to ver.1.2, these shorthands
-% were defined through german quotes |\glqq| and |\grqq|, which in their turn
+% 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.
%
-% Prior to version 1.2, the shorthands |"<| and |">| were
+% Prior to version 1.2, the shorthands |"<| and |">| had been
% 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
+% |\guillemotright|. However, |\flqq| and |\guillemotleft| (and their right
% counterparts) are typeset differently if current encoding is not
% \texttt{T1}. Therefore, since v.1.2, we define |"<| and |">| directly
-% through |\guillemotleft| and |\guillemotrigh|.
+% through |\guillemotleft| and |\guillemotright|.
%
% \begin{macrocode}
\declare@shorthand{russian}{"`}{\quotedblbase}
@@ -1445,12 +1349,11 @@ and the derived files russianb.ins,
%
% \subsubsection{Emdash, endash and hyphenation sign}
%
-% To distinguish between |"-| and |"---| we must check whether the next
-% after |-| token is a hyphen character.
+% To distinguish between |"-| and |"---| we must check whether the next token
+% after |-| 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 |\russian@sh@next| and finally call for |\russian@sh@tmp|.
-%
% \begin{macrocode}
\declare@shorthand{russian}{"-}{%
\def\russian@sh@tmp{%
@@ -1506,28 +1409,6 @@ and the derived files russianb.ins,
\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.
-%
-% 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.
-%
-% \changes{1.2}{2011/10/20}{Warning is added if \cs{cyrdash} defined}
-% \changes{1.3h}{2016/02/18}{\cs{cyrdash} is redefined}
-% |\textthreequartersemdash|=!\textthreequartersemdash!
-% \begin{macrocode}
-%\ifx\cyrdash\undefined
-% \def\cyrdash{\hbox to.8em{--\hss--}}
-% \PackageInfo{babel}{\string\cyrdash\space is defined}
-%\fi
-\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}%
- {\hbox to.8em{--\hss--}}{\textemdash}}
-% \end{macrocode}
-%
% \changes{1.1f}{1998/06/26}{%
% Add macro for thin space between initials}
%
@@ -1540,7 +1421,35 @@ and the derived files russianb.ins,
% \end{macrocode}
%
%
-% \subsection{Switching to and from Russian}
+% \Describe\cyrdash{}
+% The |\cyrdash| macro is defined in Cyrillic font encodings (LCY, T2*, OT2,
+% and |X2|) by means of |\DeclareTextSymbol|. In T2* encodings |\cyrdash|
+% refers to same code point 22 as |\textemdash| does so that these two macros
+% are equivalent. However the dash at the code point 22 have different length
+% in different fonts. The dash in Cyrillic fonts LH is 20\% shorter as
+% compared to Latin fonts such as CM (Computer Modern). As a result, the dash
+% typed by the ligature |---| or its variations mentioned in Table
+% \ref{tab:russian-quote} might change its length after |\selectlanguage|.
+%
+% The |\cyrdash| macro is not available in Latin encodings such as T1. Therefor
+% an explicit or implicit call for |\cyrdash| when current language is English
+% causes an error. For such a case, we provide a fake default. A standard check
+% such as |\ifx\cyrdash\undefined ...\fi| fails to detect absent definitions
+% for Latin encodings since the |\cyrdash| macro is in fact defined. Therefor
+% we use the |\ProvideTextCommandDefault| method:
+% \changes{1.3j}{2017/08/08}{Default for \cs{cyrdash} is provided}
+% \begin{macrocode}
+\PackageInfo{babel}{Default for \string\cyrdash\space is provided}
+%%\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}%
+%% {\hbox to.8em{--\hss--}}{\textemdash}}
+\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}
+% \end{macrocode}%
+%
+% The |\cyrdash| macro is not defined in the Unicode encoding TU. The fake
+% definition given above cope with this case.
+%
+%
+% \subsection{Switching to/from Russian}
%
% Now we define additional macros used to reset current language to
% Russian and back
@@ -2210,11 +2119,11 @@ and the derived files russianb.ins,
% \def\NOD{\mathop{\cyrmathrm{\CYRN\CYRO\CYRD}}\nolimits}
% \def\NOK{\mathop{\cyrmathrm{\CYRN\CYRO\CYRK}}\nolimits}
% \def\Proj{\mathop{\cyrmathrm{\CYRP\cyrr}}\nolimits}
- \def\nod{\mathop{\textrm{\textup{\cyrn.\cyro.\cyrd.}}}\nolimits}
- \def\nok{\mathop{\textrm{\textup{\cyrn.\cyro.\cyrk.}}}\nolimits}
- \def\NOD{\mathop{\textrm{\textup{\CYRN\CYRO\CYRD}}}\nolimits}
- \def\NOK{\mathop{\textrm{\textup{\CYRN\CYRO\CYRK}}}\nolimits}
- \def\Proj{\mathop{\textrm{\textup{\CYRP\cyrr}}}\nolimits}
+ \def\nod{\mathop{\textnormal{\cyrn.\cyro.\cyrd.}}\nolimits}
+ \def\nok{\mathop{\textnormal{\cyrn.\cyro.\cyrk.}}\nolimits}
+ \def\NOD{\mathop{\textnormal{\CYRN\CYRO\CYRD}}\nolimits}
+ \def\NOK{\mathop{\textnormal{\CYRN\CYRO\CYRK}}\nolimits}
+ \def\Proj{\mathop{\textnormal{\CYRP\cyrr}}\nolimits}
\fi
% \end{macrocode}
%
@@ -2231,11 +2140,96 @@ and the derived files russianb.ins,
% \begin{macrocode}
\ldf@finish{russian}
% \end{macrocode}
-%
-% \begin{macrocode}
-% \end{macrocode}
%\iffalse
%</code>
%\fi
-% \CheckSum{2331}
+%\CheckSum{2327}
%\Finale
+%
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+%\endinput
+
+%% Nonunicode Cyrillic Letters
+%% \CYRA=А
+%% \CYRB=Б
+%% \CYRV=В
+%% \CYRG=Г
+%% \CYRGUP=Ґ
+%% \CYRD=Д
+%% \CYRE=Е
+%% \CYRIE=Є
+%% \CYRZH=Ж
+%% \CYRZ=З
+%% \CYRI=И
+%% \CYRII=I
+%% \CYRYI=Ї
+%% \CYRISHRT=Й
+%% \CYRK=К
+%% \CYRL=Л
+%% \CYRM=М
+%% \CYRN=Н
+%% \CYRO=О
+%% \CYRP=П
+%% \CYRR=Р
+%% \CYRS=С
+%% \CYRT=Т
+%% \CYRU=У
+%% \CYRF=Ф
+%% \CYRH=Х
+%% \CYRC=Ц
+%% \CYRCH=Ч
+%% \CYRSH=Ш
+%% \CYRSHCH=Щ
+%% \CYRYU=Ю
+%% \CYRYA=Я
+%% \CYRSFTSN=Ь
+%%
+%% \cyra=а
+%% \cyrb=б
+%% \cyrv=в
+%% \cyrg=г
+%% \cyrgup=ґ
+%% \cyrd=д
+%% \cyre=е
+%% \cyrie=є
+%% \cyrzh=ж
+%% \cyrz=з
+%% \cyri=и
+%% \cyrii=i
+%% \cyryi=ї
+%% \cyrishrt=й
+%% \cyrk=к
+%% \cyrl=л
+%% \cyrm=м
+%% \cyrn=н
+%% \cyro=о
+%% \cyrp=п
+%% \cyrr=р
+%% \cyrs=с
+%% \cyrt=т
+%% \cyru=у
+%% \cyrf=ф
+%% \cyrh=х
+%% \cyrc=ц
+%% \cyrch=ч
+%% \cyrsh=ш
+%% \cyrshch=щ
+%% \cyryu=ю
+%% \cyrya=я
+%% \cyrsftsn=ь
diff --git a/Master/texmf-dist/source/generic/babel-russian/russianb.ins b/Master/texmf-dist/source/generic/babel-russian/russianb.ins
index 2f001f1c3d9..1d77461d260 100644
--- a/Master/texmf-dist/source/generic/babel-russian/russianb.ins
+++ b/Master/texmf-dist/source/generic/babel-russian/russianb.ins
@@ -52,6 +52,93 @@ and the derived files russianb.ins,
\file{\jobname.ldf}{\from{\jobname.dtx}{code}}
}
\endbatchfile
+
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% 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 2011-2017 Igor A. Kotelnikov.
%% Copyright 1995-2008 Olga Lapko.
diff --git a/Master/texmf-dist/tex/generic/babel-russian/russianb.ldf b/Master/texmf-dist/tex/generic/babel-russian/russianb.ldf
index 8a9665a5d8e..8c64872334a 100644
--- a/Master/texmf-dist/tex/generic/babel-russian/russianb.ldf
+++ b/Master/texmf-dist/tex/generic/babel-russian/russianb.ldf
@@ -12,7 +12,9 @@
%% See http://www.latex-project.org/lppl.txt
%% ----------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesLanguage{russianb}[2017/01/12 1.3i Russian support for the Babel system]
+
+\ProvidesLanguage{russian}
+ [2017/08/12 1.3j Russian support for the Babel system]
\LdfInit{russian}{captionsrussian}
\ifdefined\if@uni@ode
\PackageError{babel}{if@uni@ode already defined.\MessageBreak
@@ -41,24 +43,27 @@
\sce@a{##1}{T2B}%
\sce@a{##1}{T2A}%
\if@uni@ode
- \sce@a{##1}{EU1}%
- \sce@a{##1}{EU2}%
+ %\sce@a{##1}{EU1}%
+ %\sce@a{##1}{EU2}%
+ \sce@a{##1}{TU}%
\fi}%
\cdp@list
}
-\@setcyrillicencoding
+\ifx\cyrillicencoding\undefined
+ \@setcyrillicencoding
+\fi
\@onlypreamble\@setcyrillicencoding
\@onlypreamble\sce@a
\@onlypreamble\sce@b
\@onlypreamble\sce@c
-\ifdefined\cyrillicencoding
-\else
+\ifx\cyrillicencoding\undefined
\if@uni@ode
- \ifdefined\XeTeXrevision
- \edef\cyrillicencoding{EU1}
- \else\ifdefined\luatexversion
- \edef\cyrillicencoding{EU2}
- \fi\fi
+ %\ifdefined\XeTeXrevision
+ % \edef\cyrillicencoding{EU1}
+ %\else\ifdefined\luatexversion
+ % \edef\cyrillicencoding{EU2}
+ %\fi\fi
+ \edef\cyrillicencoding{TU}
\else
\edef\cyrillicencoding{T2A}
\fi
@@ -83,32 +88,38 @@
%% \expandafter\set@hyphenmins\englishhyphenmins
%% \language\l@english}%
%%\let\Eng\English
-\expandafter\ifx\csname T@X2\endcsname\relax\else
- \DeclareTextSymbolDefault{\AA}{OT1}
- \DeclareTextSymbolDefault{\aa}{OT1}
- \DeclareTextCommand{\aa}{OT1}{\r a}
- \DeclareTextCommand{\AA}{OT1}{\r A}
-\fi
+%%\DeclareRobustCommand{\latintext}{%
+%% \fontencoding{\latinencoding}\selectfont
+%% \def\encodingdefault{\latinencoding}}
+%%\let\lat\latintext
\DeclareTextFontCommand{\textcyrillic}{\cyrillictext}
-\@ifpackageloaded{inputenc}{%
- \if@uni@ode
- \PackageWarning{babel}{inputenc should not be used with LuaTeX or XeTeX}
- \fi
-}{%
- %\def\reserved@a{LWN}%
- %\ifx\reserved@a\cyrillicencoding\else
- \def\reserved@a{OT2}%
- \ifx\reserved@a\cyrillicencoding\else
- \def\reserved@a{EU1}%
- \ifx\reserved@a\cyrillicencoding\else
- \def\reserved@a{EU2}%
- \ifx\reserved@a\cyrillicencoding\else
- \PackageWarning{babel}%
- {No input encoding specified for Russian language}
- \fi\fi\fi
- %\fi
-}
+%%\expandafter\ifx\csname T@X2\endcsname\relax\else
+%% \DeclareTextSymbolDefault{\AA}{OT1}
+%% \DeclareTextSymbolDefault{\aa}{OT1}
+%% \DeclareTextCommand{\aa}{OT1}{\r a}
+%% \DeclareTextCommand{\AA}{OT1}{\r A}
+%%\fi
+%%\@ifpackageloaded{inputenc}{%
+%%% \if@uni@ode
+%%% \PackageWarning{babel}{inputenc should not be used with LuaTeX or XeTeX}
+%%% \fi
+%% \ifdefined\luatexversion
+%% \PackageWarning{babel}{inputenc should not be used with LuaTeX}
+%% \fi}{%
+%% %\def\reserved@a{LWN}%
+%% %\ifx\reserved@a\cyrillicencoding\else
+%% \def\reserved@a{OT2}%
+%% \ifx\reserved@a\cyrillicencoding\else
+%% \def\reserved@a{TU}%
+%% \ifx\reserved@a\cyrillicencoding\else
+%% \PackageWarning{babel}%
+%% {No input encoding specified for Russian language}
+%% \fi\fi
+%% %\fi
+%%}
\initiate@active@char{"}
+%%\def\mdqon{\bbl@activate{"}}
+%%\def\mdqoff{\bbl@deactivate{"}}
\begingroup \catcode`\"12
\def\reserved@a{\endgroup
\def\@SS{\mathchar"7019 }
@@ -142,9 +153,11 @@
\nobreak\cyrdash\penalty\exhyphenpenalty\hskip\z@skip\ignorespaces}%
\def\@Ccdash{\leavevmode
\nobreak\cyrdash\nobreak\hskip.35em\ignorespaces}%
-\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}%
- {\hbox to.8em{--\hss--}}{\textemdash}}
\declare@shorthand{russian}{",}{\nobreak\hskip.2em\ignorespaces}
+\PackageInfo{babel}{Default for \string\cyrdash\space is provided}
+%%\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}%
+%% {\hbox to.8em{--\hss--}}{\textemdash}}
+\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}
\if@uni@ode
%\captionsrussian@modern
\addto\captionsrussian{%
@@ -551,13 +564,99 @@
\def\NOK{\mathop{\mathrm{НОК}}\nolimits}
\def\Proj{\mathop{\mathrm{Пр}}\nolimits}
\else
- \def\nod{\mathop{\textrm{\textup{\cyrn.\cyro.\cyrd.}}}\nolimits}
- \def\nok{\mathop{\textrm{\textup{\cyrn.\cyro.\cyrk.}}}\nolimits}
- \def\NOD{\mathop{\textrm{\textup{\CYRN\CYRO\CYRD}}}\nolimits}
- \def\NOK{\mathop{\textrm{\textup{\CYRN\CYRO\CYRK}}}\nolimits}
- \def\Proj{\mathop{\textrm{\textup{\CYRP\cyrr}}}\nolimits}
+ \def\nod{\mathop{\textnormal{\cyrn.\cyro.\cyrd.}}\nolimits}
+ \def\nok{\mathop{\textnormal{\cyrn.\cyro.\cyrk.}}\nolimits}
+ \def\NOD{\mathop{\textnormal{\CYRN\CYRO\CYRD}}\nolimits}
+ \def\NOK{\mathop{\textnormal{\CYRN\CYRO\CYRK}}\nolimits}
+ \def\Proj{\mathop{\textnormal{\CYRP\cyrr}}\nolimits}
\fi
\ldf@finish{russian}
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% 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 2011-2017 Igor A. Kotelnikov.
%% Copyright 1995-2008 Olga Lapko.