\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{nccltrus}
         [2005/07/02 v1.06 Russian specifics (NCC)]
%
% \changes{v1.01}{2002/03/24}{This version is uploaded to CTAN}
% \changes{v1.02}{2004/04/08}{All options are passed to babel}
% \changes{v1.03}{2004/04/24}{Protect the package from use out of NCC}
% \changes{v1.03}{2004/04/24}{Partial activation of useful CP1251 symbols}
% \changes{v1.04}{2004/09/23}{Activate the CP1251-light input encoding}
% \changes{v1.04}{2004/09/23}{Protect cyrillic alpha-numbering with \text}
% \changes{v1.05}{2005/01/09}{Improve definition of \No command}
% \changes{v1.05}{2005/04/13}{Add a small kern to \glqq shorthand}
% \changes{v1.06}{2005/07/02}{Change kern with nonbreakable hspace in \glqq}
%
% The trick with temporary definition of \ver@inputenc.sty command
% removes a warning from the [russian] option of the Babel package about
% undefined input encoding. We do this trick because the input encoding
% will be defined later.
%
\@ifpackageloaded{inputenc}{%
  \expandafter\let\expandafter\NCC@tempa
    \csname ver@inputenc.sty\endcsname
}{%
  \let\NCC@tempa\relax
   \expandafter\let\csname ver@inputenc.sty\endcsname\@empty
}
\RequirePackageWithOptions{babel}
\expandafter\let\csname ver@inputenc.sty\endcsname\NCC@tempa
\ifx\cyrillicencoding\undefined \endinput\fi
%
% Add a small kern to German left double quote shorthand
%
\declare@shorthand{russian}{"`}{\glqq\nobreak\hskip.0166667em }
%
% Redefine the numero sign to work in any encoding.
%
\let\No\relax
\DeclareRobustCommand{\No}{%
  \ifmmode{\nfss@text{\textnumero}}\else{\cyr\textnumero}\fi
}
%
% Load cp1251-light input encoding at the beginning of document
% if no encoding was loaded at all
%
\AtBeginDocument{%
  \@ifpackageloaded{inputenc}{}{\usepackage[cp1251-light]{inputenc}}%
}
\@ifundefined{ifNCC@rus}{\endinput}{\ifNCC@rus \else \endinput\fi}
%
% Redefine \alph and \Alph to russian alphabet and
% save latin versions in \alphlatin and \Alphlatin
% The redefined versions of \@alph and \@Alph commands wrap
% contents with \text to be sure that alphabetic numbers never appear
% in math mode.
%
\RequirePackage{amstext}[1995/01/25]
\let\@alphlatin\@alph
\newcommand*\alphlatin[1]{\expandafter\@alphlatin\csname c@#1\endcsname}
\def\@alph#1{\text{\cyr\@asbuk{#1}}}
\let\@Alphlatin\@Alph
\newcommand*\Alphlatin[1]{\expandafter\@Alphlatin\csname c@#1\endcsname}
\def\@Alph#1{\text{\cyr\@Asbuk{#1}}}
%
% Redefine theorem-like headers for russian
%
\addto\captionsrussian{%
  \def\theoremname{{\cyr\CYRT\cyre\cyro\cyrr\cyre\cyrm\cyra}}%
  \def\lemmaname{{\cyr\CYRL\cyre\cyrm\cyrm\cyra}}%
  \def\propositionname{%
    {\cyr\CYRP\cyrr\cyre\cyrd\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyre}}%
  \def\corollaryname{%
    {\cyr\CYRS\cyrl\cyre\cyrd\cyrs\cyrt\cyrv\cyri\cyre}}%
  \def\definitionname{%
    {\cyr\CYRO\cyrp\cyrr\cyre\cyrd\cyre\cyrl\cyre\cyrn\cyri\cyre}}%
  \def\statementname{%
    {\cyr\CYRU\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyre\cyrn\cyri\cyre}}%
  \def\examplename{{\cyr\CYRP\cyrr\cyri\cyrm\cyre\cyrr}}%
  \def\remarkname{%
    {\cyr\CYRZ\cyra\cyrm\cyre\cyrch\cyra\cyrn\cyri\cyre}}%
  \def\proofname{%
    {\cyr\CYRD\cyro\cyrk\cyra\cyrz\cyra\cyrt\cyre\cyrl\cyrsftsn%
     \cyrs\cyrt\cyrv\cyro}}%
  \def\acknowname{%
    {\cyr\CYRB\cyrl\cyra\cyrg\cyro\cyrd\cyra\cyrr\cyrn\cyro\cyrs\cyrt\cyri}}%
  \def\preprintname{%
    {\cyr\CYRP\cyrr\cyre\cyrp\cyrr\cyri\cyrn\cyrt}}%
}
\endinput
