From f27ed7b89bf0d6a819103d456c011972a55f39d4 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 25 Aug 2018 20:56:42 +0000 Subject: belarusian (25aug18) git-svn-id: svn://tug.org/texlive/trunk@48484 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/generic/babel-belarusian/belarusian.dtx | 1987 ++++++++++++++++++++ .../source/generic/babel-belarusian/belarusian.ins | 83 + .../generic/babel-belarusian/belarusianb.dtx | 1968 ------------------- .../generic/babel-belarusian/belarusianb.ins | 83 - 4 files changed, 2070 insertions(+), 2051 deletions(-) create mode 100644 Master/texmf-dist/source/generic/babel-belarusian/belarusian.dtx create mode 100644 Master/texmf-dist/source/generic/babel-belarusian/belarusian.ins delete mode 100644 Master/texmf-dist/source/generic/babel-belarusian/belarusianb.dtx delete mode 100644 Master/texmf-dist/source/generic/babel-belarusian/belarusianb.ins (limited to 'Master/texmf-dist/source/generic') diff --git a/Master/texmf-dist/source/generic/babel-belarusian/belarusian.dtx b/Master/texmf-dist/source/generic/babel-belarusian/belarusian.dtx new file mode 100644 index 00000000000..583d63cc00a --- /dev/null +++ b/Master/texmf-dist/source/generic/babel-belarusian/belarusian.dtx @@ -0,0 +1,1987 @@ +% \iffalse meta-comment +% !TEX program = xeLaTeX +% !Mode:: TEX:DTX:UNIX:UTF-8:US:RU +%<*internal> +\iffalse +% +%<*readme> +Belarusian language module for Babel, v1.4 +========================================== + +Released under the LaTeX Project Public License v1.3c or later. +See http://www.latex-project.org/lppl.txt + +The package provides support for use of Babel in documents written in Belarusian +(in both official and ‘classic’ forms). The support is adapted for use both +under legacy TEX engines, and under X∃TEX and LuaTEX. + +Based on Russian language module v1.3h by Igor A. Kotelnikov +and Belarusian language module v1.1l by Aleksey Novodvorsky . + +The current maintainer is Andrej Shadura . + + +INSTALLATION +------------ + +- unpack babel-belarusian.zip +- run `xelatex belarusian.dtx` (recommended) + or `pdflatex belarusian.dtx`; + run `tex belarusian.dtx` + or `tex belarusian.ins`, if you don’t need documentation +- move "belarusian.ldf" to ${texmf}/tex/generic/babel/contrib/ +- move "belarusian.pdf" and README to ${texmf}/doc/latex/belarusian-babel/ +- update filename base (see documentation for your TeX system) + + +USAGE +----- + +Belarusian language definition file can be used both with legacy 8-bit engines +(such as latex or pdflatex) and Unicode compilers (xelatex or lualatex). +The Unicode engines can be ran either in Unicode mode or 8-bit +compatibility mode, which emulates the legacy engines. The two modes differ by +a set of packages loaded in the preamble of a source TeX file. It is important +to keep recommended order of the packages loaded, especially when running +Unicode engines in a compatibility 8-bit mode. + +In the examples below, it is assumed that a source file has utf8 input encoding. + +### 8-bit mode + +#### PDFLATeX, LaTeX + + \usepackage[T1,T2A]{fontenc} + \usepackage[utf8]{inputenc} + \usepackage[english,belarusian]{babel} + +#### LuaLaTeX + + \usepackage[T1,T2A]{fontenc} + \usepackage[lutf8]{luainputenc} + \usepackage[english,belarusian]{babel} + +#### XeLaTeX + + \XeTeXinputencoding "bytes" + \usepackage[utf8]{inputenc} + \usepackage[T2A]{fontenc} + \usepackage[english,belarusian]{babel} + +### Unicode mode, LuaLaTeX or XeLaTeX + + \usepackage{fontspec} + \defaultfontfeatures{Ligatures={TeX}} + \setmainfont{CMU Serif} + \setsansfont{CMU Sans Serif} + \setmonofont{CMU Typewriter Text} + \usepackage[english,belarusian]{babel} + +Instead of the Computer Modern Unicode (CMU) fonts loaded in this example, +you may use any True Type or Open Type fonts installed on your computer. + +### Using "classic" (Taraškievič) spelling + + \usepackage[english,belarusian]{babel} + \languageattribute{belarusian}{classic} + +or + + \usepackage[english,belarusian.classic]{babel} + +or + + \usepackage[english,belarusian]{babel} + \languageattribute{belarusian}{tarask} + +or + + \usepackage[english,belarusian.tarask]{babel} + +DOCUMENTATION +------------- + +See belarusian.pdf for more information. + + +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. + + +CHANGES +------- + +2018-08-25 version 1.4 + + * Rename belarusianb.dtx to belarusian.dtx since the patch to Babel + has been never submitted. + * Use textcomp package in the documentation. + * Formatting fixes. + * Convert the README to Markdown. + * Rename the Unicode detection macro to fix conflicts with babel-russian. + +2016-04-07 version 1.3h + + * Initial version + +Original source: russianb.dtx + +2016-02-18 v1.3h Russian support from the babel system. +% +%<*internal> +\fi +\def\nameofplainTeX{plain} +\ifx\fmtname\nameofplainTeX\else + \expandafter\begingroup +\fi +% +%<*install> +\input docstrip.tex +\keepsilent +\askforoverwritefalse +\preamble +---------------------------------------------------------------- +Belarusian Language Support for the Babel package +E-mail: andrew@shadura.me +Released under the LaTeX Project Public License v1.3c or later +See http://www.latex-project.org/lppl.txt +---------------------------------------------------------------- +\endpreamble +\postamble +---------------------------------------------------------------- +Copyright 2016, 2018 Andrej Shadura +Copyright 2011-2016 Igor A. Kotelnikov. +Copyright 2000 Aleksey Novodvorsky +Copyright 1995-2008 Olga Lapko. +Copyright 1989-2012 Johannes L. Braams. + +This file is a part of the Belarusian-Babel package. + +It may be distributed and/or modified under the +conditions of the LaTeX Project Public License (LPPL), either +version 1.3c of this license or (at your option) any later +version. The latest version of this license is in the file: + + http://www.latex-project.org/lppl.txt + +The package is "maintained" (as per LPPL maintenance status) by +Andrej Shadura. + +The package consists of the file belarusian.dtx +and the derived files belarusian.ins, + belarusian.ldf, + belarusian.pdf, + README.md +---------------------------------------------------------------- +\endpostamble +\usedir{tex/generic/babel/contrib} +\generate{ + \file{\jobname.ldf}{\from{\jobname.dtx}{code}} +} +% +%\endbatchfile +%<*internal> +\usedir{source/latex/babel-belarusian} +\generate{ + \file{\jobname.ins}{\from{\jobname.dtx}{install}} +} +\nopreamble\nopostamble +\usedir{doc/latex/babel-belarusian} +\generate{ + \file{README.md}{\from{\jobname.dtx}{readme}} +} +\ifx\fmtname\nameofplainTeX + \expandafter\endbatchfile +\else + \expandafter\endgroup +\fi +% +%<*code> +\NeedsTeXFormat{LaTeX2e} +%\ProvidesFile{belarusian.ldf}[2018/08/25 1.4 Belarusian support for the Babel system] +\ProvidesLanguage{belarusian}[2018/08/25 1.4 Belarusian support for the Babel system] +% +%<*driver> +\documentclass[a4paper]{ltxdoc} +%% +%% This document should be compiled by +%% XeLaTeX or LuaLaTex since some cyrillic +%% glyphs are absent in T2* encodings used +%% by LaTeX. +%% +\usepackage{ifxetex,ifluatex} +\ifnum 0\ifxetex 1\fi\ifluatex 1\fi>0 + \usepackage{fontspec} + \defaultfontfeatures{Ligatures={TeX}} + \setmainfont{CMU Serif} + \setsansfont{CMU Sans Serif} + \setmonofont{CMU Typewriter Text} + %\setmonofont[Scale=MatchLowercase]{Courier New} + %\setmonofont[Scale=MatchUppercase]{Courier New} + %\setmonofont{Courier New} +\else + \usepackage[X2,T2A]{fontenc} + \usepackage[utf8]{inputenc} +\fi +\usepackage{textcomp} +\usepackage[belarusian.classic,main=english]{babel} +%\languageattribute{belarusian}{classic} +\usepackage[dvipsnames,usenames]{xcolor} + \definecolor{thered} {rgb}{0.65,0.04,0.07} + \definecolor{thegreen}{rgb}{0.06,0.44,0.08} + \definecolor{thegrey} {gray}{0.8} + \definecolor{theshade}{rgb}{1,1,0.97} + \definecolor{theframe}{gray}{0.6} + \definecolor{theblue}{cmyk}{1.00, 0.50, 0.00, 0.40} +%\usepackage[numbered]{hypdoc} +\usepackage[colorlinks=true + ,linkcolor=violet %theblue % + ,filecolor=purple %thegreen% + ,citecolor=teal %thegreen% +]{hyperref} +% ==================================== +\newcommand*\TeXhax{\TeX hax} +\newcommand*\babel{\textsf{babel}} +\newcommand*\Babel{\textsf{Babel}} +\newcommand*\xetex{\textsf{xetex}} +\newcommand*\luatex{\textsf{luatex}} +\providecommand*\m[1]{\mbox{$\langle$\normalfont\itshape#1\/$\rangle$}} +\newcommand*\langlist{% + \meta{language}\texttt{,}\meta{language}\texttt{,}...} +\newcommand*\langvar{\m{lang}} +\newcommand*\note[1]{} +\newcommand*\Lopt[1]{\textsf{#1}} +\newcommand*\Lenv[1]{\textsf{#1}} +\newcommand*\menv[1]{\char`\{#1\char`\}} +\newcommand*\Eenv[1]{% + \quad\ldots\quad + \texttt{\color{thered}\string\end\menv{#1}}} +\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 + ,\Belarusian,\cyrdash,\cdash + ,\cyr,\cyrillictext,\textcyrillic,\cyrillicencoding + ,\addto,\captionsbelarusian,\datebelarusian,\noextrasbelarusian,\extrasbelarusian + ,\languageattribute + ,\Asbuk,\asbuk,\ch,\sh,\tg,\ctg,\arctg,\arcctg\,\th,\cth,\cosec + ,\nod,\nok,\prog,\NOF\,\NOK,\Prog + ,\dq,\Proj,\nad,\NAD,\nak,\NAK,\Prob,\Variance + ,\nod,\NOD,\nok,\NOK + ,\XeTeXinputencoding + } + ,keywordstyle=[0]\color{thered} + ,keywords=[1]{main,belarusian,english,german,frenchb + ,shorthands,extrasenglish + ,stringprocess,afterextras + ,soft,empty,nobreak,hard + ,Renderer,Ligatures + ,official,classic,tarask + ,T1,T2A,lutf8,utf8 + ,fontspec,babel,inputenc,fontenc + }, + keywordstyle=[1]\color{thegreen}, + comment=[l]\%, + commentstyle=\color{thegrey}\itshape, + alsoother={0123456789_}, + frame=single, + backgroundcolor=\color{theshade}, + rulecolor=\color{theframe}, + framerule=\fboxrule, + } + \let\verbatim\relax + \lstnewenvironment{verbatim}[1][]{\lstset{##1}}{} + \AtBeginDocument{% + \DeleteShortVerb{\|}% + \lstMakeShortInline|% + } +}{} +\def\PrintDescribeMacro#1{% + \strut\MacroFont\color{thered}\normalsize\string#1} +\def\Describe#1{% + \par\penalty-500\vskip3ex\noindent + \DescribeMacro{#1}\args} +\def\DescribeOther{\vskip-5.8ex\Describe} +\makeatletter +\def\args#1{% + \def\bbl@tempa{#1}% + \ifx\bbl@tempa\@empty\else#1\vskip1ex\fi\ignorespaces} +\makeatother +% ==================================== +\EnableCrossrefs +%\DisableCrossrefs % Say \DisableCrossrefs if index is ready +\CodelineIndex % Index code by line number +\RecordChanges % Gather update information +%\PageIndex % Index code by page number +% ==================================== +\begin{document} + \DocInput{\jobname.dtx} +\end{document} +% +% \fi +% +%\GetFileInfo{belarusian.dtx} +%\GetFileInfo{belarusian.ldf} +% +%\title{^^A +% \textsf{Belarusian} --- 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 Belarusian Language\\ +% in the \babel\ system\\[0.5em] +% \large Version \fileversion} +% +% \author{Andrej Shadura\footnote{E-mail: \href{mailto:andrew@shadura.me}{andrew@shadura.me}.}} +% +% \date{Released \filedate} +% +% \maketitle +% +% {\small\tableofcontents} +% +% +% \section{The Belarusian Language Definition File} +% +% The file \file{\filename}\footnote{The file described in this document +% has the version number \fileversion\ and was last revised on \filedate.} +% is the source file for the Belarusian Language Definition file +% \file{belarusian.ldf} to be loaded by the \babel\ package with +% the option \Lopt{belarusian}. It's based on the Russian language definition +% file derived by Igor A. Kotelnikov from the original version of \file{\filename}, first +% released by Olga Lapko and Johannes Braams and then +% adapted to the T2* and X2 Cyrillic encodings +% by Vladimir Volovich and Werner Lemberg, and the Belarusian language definition +% file written by Aleksey Novodvorsky based on even older version of the Russian +% language definition file. +% +% Just like \file{russianb.ldf}, \file{belarusian.ldf} is designed to work both with +% legacy non-unicode (8-bit) and new Unicode encodings of the source document +% files (input encodings) and of the font files (font encodings). This is +% achieved by excluding (bypassing) the |\cyr...| macros, which map every letter +% in a source file with given input encoding to a corresponding code point in a +% font file with a given font encoding when running modern engines, such as +% Lua\LaTeX\ or Xe\LaTeX, in native Unicode mode instead of legacy engines, such +% as \LaTeX\ or PDF\LaTeX, or Unicode engines in a compatibility (8-bit) mode. A +% few obsolete and controversial macros has been eliminated in first public +% release of version 1.2 of \file{russianb.ldf}. +% +% Similarly to \file{russianb.ldf}'s support for typesetting ancient and +% Church Slavonic books, \file{belarusian.ldf} supports two versions of Belarusian +% orthography, the official one (\Lopt{official}) and the ‘classic’ (Taraškievič) +% orthography. +% +% \section{Usage} +% +% Typesetting Belarusian texts implies that a special input and output +% encodings should be used. Input encodings are those which are used in source +% (\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 +% 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 +% Modern Unicode, Linux Libertine, and many other system fonts that came with +% Linux, Mac and Windows operating systems. +% +% With the advent of Unicode, \LaTeX\ community are moving towards eliminating +% all existing encodings in favor of Unicode, but nowadays one should take +% care when switching from \LaTeX\ to Lua\LaTeX\ or Xe\LaTeX\ since +% different packages should be loaded for those compilers. +% +% Since earlier versions \pkg{babel} did not +% support Xe\LaTeX\ (at least for some languages including Belarusian), the +% \pkg{polyglossia} package was generally recommended in the past for +% use with Xe\LaTeX\ as a replacement for \pkg{babel}. Nowadays, \pkg{babel} +% can be used with any engines, including \LaTeX, PDF\LaTeX, Lua\LaTeX, and +% Xe\LaTeX. Nevertheless some troubles may occur with some languages which +% have no promptly updated \file{.ldf} files. +% +% +% \subsection{\LaTeX} +% +% When user's document is compiled with \file{latex} or \file{pdflatex}, +% recommended set of packages includes the \pkg{inputenc} and \pkg{fontenc} +% packages. They should be loaded before \pkg{babel}, for example, +% \begin{verbatim} +% \usepackage[T1,T2A]{fontenc} +% \usepackage[utf8]{inputenc} +% \usepackage[english,belarusian]{babel} +%\end{verbatim} +% Some variations in the order of loading the packages are allowed in this case +% but it is better to follow one and the same convention at all circumstances: +% the \pkg{babel} package should go last, and \pkg{fontenc} must be the first. +% +% Input encoding should be declared as option to the \pkg{inputenc} +% package. Known Cyrillic encodings include +% \texttt{cp1251} (Windows), \texttt{koi8-u} (UNIX) and their variants. +% Nowadays, this list is appended with \texttt{utf8} input encoding. +% +% 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 not supported since \texttt{LWN} has been excluded +% from the \pkg{cyrillic} bundle of related files. +% +% +% \subsection{Lua\LaTeX} +% +% If Unicode fonts are not available, Lua\LaTeX\ can run in compatibility +% (8-bit) mode to use same font as \LaTeX\ does. However the package +% \pkg{inputenc} does not work with Lua\LaTeX\ and should be substituted with +% \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,belarusian]{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 +% \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 +% 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,belarusian]{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,belarusian]{babel} +%\end{verbatim} +% Here |Renderer=Basic,Ligatures={TeX}| activates ligatures which are existed +% 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 +% 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=belarusian,german]{babel} +%\end{verbatim} +% %\unskip +% +% +% +% \subsection{Xe\LaTeX} +% +% 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 +% like a 8-bit \LaTeX\ engine: +% \begin{verbatim} +% \XeTeXinputencoding "bytes" +% \usepackage[utf8]{inputenc} +% \usepackage[T2A]{fontenc} +% \usepackage[english,belarusian]{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 +% 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}. +% +% +% 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,belarusian]{babel} +%\end{verbatim} +% %\unskip +% +% +% \subsection{Official and ‘classic’ spelling} +% \label{ssec:spelling} +% +% By default, the official spelling is enabled. The ‘classic’ (Taraškievič) +% ancient spelling can be enabled by setting the attribute to \Lopt{classic} or +% \Lopt{tarask}. To set an attribute, put the |\languageattribute| macro +% within a document preamble after \babel, for example, +%\begin{verbatim} +% \usepackage[english,belarusian]{babel} +% \languageattribute{belarusian}{classic} +%\end{verbatim} +% Setting the \Lopt{classic} attribute changes the built-in strings (caption names) +% and a date format. For example, the references list will be entitled as +% `\textcyrillic{Спіс літаратуры}' by default and as `\textcyrillic{Сьпіс літаратуры}' if the +% Belarusian language attribute is set to \Lopt{classic}. +% The same result can be achieved using a modifier as follows: +%\begin{verbatim} +%\usepackage[english,belarusian.classic]{babel} +%\end{verbatim} +% Using a modifier in a package option is often better. A modifier is set after +% the language name, and is prefixed with a dot (only when the language is set +% as package option, neither global options nor the main key accept them). +% +% Both attributes \Lopt{classic} and \Lopt{tarask} may be used interchangeably. +% +%\section{User's commands} +% +% In a multilingual document, some typographic rules are language +% dependent and should apply to the whole document. +% +%^^AAs of version~1.2, \file{belarusian.ldf} behaves differently +%^^Aaccording to \babel's \emph{main language} defined as the \emph{last} +%^^Aoption. When Belarusian is +%^^A|babel|'s main language, it adjusts global layout of the document +%^^Aaccording to typographical conventions of Belarusian language. Namely, +%^^A\file{belarusian.ldf} makes the following changes to global layout even +%^^Ain the parts where Belarusian is not current language: +%^^A\begin{enumerate} +%^^A\item +%^^A the first paragraph of any section becomes indented (\LaTeX{} only). +%^^A (this is obsolete statement starting from version 1.2a) +%^^A\end{enumerate} +% +% Regarding local typography, the macro |\selectlanguage{belarusian}| +% switches to the Belarusian language, with the following effects: +% \begin{enumerate} +% \item Belarusian hyphenation patterns are made active; +% \item |\today| prints the date in Belarusian; +% \item the caption names are translated into Belarusian +% (\LaTeX{} only); +% \item emdash typed by the ligature |---| might be 20\% shorter when Belarusian +% is the current language; the result depends on the current encoding; |---| +% always produce long emdash in Lua\TeX\ and Xe\TeX\ since these engines +% use same encodings for all languages; +% \item emdash typed by the ligature |"---| in Belarusian is 20\% shorter, however +% the ligature |"---| might not be defined in other languges; a +% shorter emdash (i.e. |\cyrdash|) can be typeset in any language using +% special macros enlisted in table \ref{tab:belarusian-quote}. +% \end{enumerate} +% +% By default, the official spelling is used for built-it strings (caption names) and +% the date. The spelling can be reverted to the classic one by setting the language +% attribute to \Lopt{classic} in the document preamble as discussed in +% Sec.~\ref{ssec:spelling}. +% +% Since Belarusian has its own numbering system, \file{belarusian.ldf} adds macros +% |\asbuk|\marg{counter} and |\Asbuk|\marg{counter} for formatting numbers appropriately the alphabetic +% sequence in the Belarusian alphabet. Additional commands are provided +% to typeset quotes: +% \begin{enumerate} +% \item French quotation marks can be entered using the commands +% |\guillemotleft| and |\guillemotright| which work in \LaTeXe\ +% and Plain\TeX. +% \item German quotation marks can be entered using the commands +% |\glqq| and |\grqq| which work in \LaTeXe\ and Plain\TeX. +% \end{enumerate} +% +% The macro |\Belarusian| is now defined as an alias for +% |\selectlanguage{belarusian}|, and its ``opponent'' |\English|, existed +% in \file{belarusian.ldf} prior to version 1.2 has been removed since the Belarusian +% language definition file is wrong place for definition of macros which +% switch to a distinct other language. +% +% The macro |\textcyrillic|\marg{text} is intended to typeset small chunks of text +% in Belarusian; it is essentially an alias for |\foreignlanguage{belarusian}|\marg{text}. +% +% +% \subsection{Active character} +% +% Table~\ref{tab:belarusian-quote} shows macros and active string which can be +% used to typeset various dashes and quotes. +% In the Belarusian language, the character |"| is made active. It can be +% considered as second escape character in addition to |\|. Some dashes and +% all quotes can be typed using both active character |"| and ordinary +% macros as indicated in the table. However, some shorthanded hyphenations +% have no macro counterpart. +% +% \begin{table}[ht]\centering +% \caption{Extra definitions made +% by \file{belarusian.ldf}}\label{tab:belarusian-quote} +% \medskip +% \begin{tabular}{llp{7cm}} +% \hline\hline\\[-0.5em] +% |\glqq| & |"`| & +% German opening double quote (looks like ,\kern-0.08em,). \\ +% |\grqq| & |"'| & +% German closing double quote (looks like ``). \\ +% |\guillemotleft| & |"<| & +% French opening double quote (looks like $<\!\!<$). \\ +% |\guillemotright| & |">| & +% French closing double quote (looks like $>\!\!>$). \\ +% |\dq| & & +% Original quotes character (|"|). \\[0.5em] +% |\babelhyphen{soft}| +% & |"-| & Optional (soft) hyphen sign, similar to |\-| but allows +% hyphenation in the rest of the word; +% equivalent to |\babelhyphen{soft}| in \pkg{babel} 3.9. \\ +% |\babelhyphen{empty}| +% & |""| & Similar to |"-| but prints no hyphen sign +% (used for compound words with hyphen, e.g. |x-""y|); +% equivalent to |\babelhyphen{empty}| in \pkg{babel} 3.9. \\ +% |\babelhyphen*{nobreak}| +% & |"~| & Compound word mark without a breakpoint, prints hyphen +% prohibiting hyphenation at the point; +% equivalent to |\babelhyphen*{nobreak}| in \pkg{babel} 3.9. \\ +% |\babelhyphen{hard}| +% & |"=| & A compound word mark with a breakpoint, prints hyphen +% allowing hyphenation in the composing words. +% equivalent to |\babelhyphen{hard}| in \pkg{babel} 3.9. \\ +% |\babelhyphen{nobreak}| +% & \verb="|= & Disables ligature at this position; +% equivalent to |\babelhyphen{nobreak}| (??) in \pkg{babel} 3.9. +% \\[0.5em] +% |\cyrdash| & & Row Cyrillic emdash (does not care +% spaces around). \\ +% |\cdash---| & |"---| & +% Cyrillic emdash in plain text. \\ +% |\cdash--~| & |"--~| & +% Cyrillic emdash in compound names +% (as in |Mendeleev"--~Klapeiron|). \\ +% |\cdash--*| & |"--*| & +% Cyrillic emdash for denoting direct speech. \\ +% & |",| & Thin space +% (allows further hyphenation as in |D.",Mendeleev|). \\[0.5em] +% \hline\hline +% \end{tabular} +% \end{table} +% Note that the standard soft hyphen |\-| is equivalent to |\babelhyphen*{soft}|. +% +% \medskip +% +% The quotation marks traditionally used in Belarusian were borrowed from +% other languages (e.g., French and German) so they keep their original +% names. +% +% 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}). +% +% 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 +% as well for 8-bit fonts encoded according to \texttt{T2A} if source file +% is encoded with \texttt{cp1251} or {utf8}. +% +% By default, active double quote is switched on. It can be switched off +% any time using |\shorthandoff{"}| and the switched on again using +% |\shorthandon{"}|. The aliases |\mdqoff| and |\mdqon| for these two macros +% has been removed from \file{belarusian.ldf} starting from version 1.3 in favour of +% the macros |\shorthandon| and |\shorthandoff| provided in the \pkg{babel} core. +% +% +% \subsection{Math commands} +% +% \file{\filename} defines few macros than can be used independently +% of current language. These are 9 macros to be used in math mode to type +% the names of trigonometric functions common for Belarusian documents: +% |\sh|, |\ch|, |\tg|, |\ctg|, |\arctg|, |\arcctg|, |\th|, |\cth|, and +% |\cosec|. Cyrillic letters in math mode can be typed with the aid of +% text commands such as |\textbf|, |\textsf|, |\textit|, |\texttt|, e.t.c. +% +% The macros |\Prob|, |\Variance|, |\NAD|, |\nad|, |\NAK|, |\nak|, |\Proj| +% print some rare Belarusian mathematical symbols. +% +% +% \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, Belarusian letter `a' matches +% macro |\cyra|, and capital Belarusian 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. +% +% 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. +% +% Some inconsistences of prior versions of \file{\filename} was also +% overcame in the version 1.2. Those users who used |\selectlanguage| macro, +% defined in the core \pkg{babel} system, to switch between +% different languages should not worry. However, the macros +% |\Belarusian|, |\Englsih| and their aliases |\Rus|, |\cyr|, +% |\Eng| are modified or removed as they did not +% conform the mechanism of language switching encoded into the +% core of \pkg{babel} and therefore can mess it. +% +% +% \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. +% +% \cs{cyrdash} might produce dashes of different width in same document after +% switching to/from Belarusian language if the document is compiled with legacy +% engines. +% +% \section{History} +% +%\StopEventually{^^A +% \setlength{\postmulticols}{100pt} % 20pt by default +% \PrintChanges +% \PrintIndex +%} +% +%\iffalse +%<*code> +%\fi +% +% +% \section{Implementation} +% +% \changes{1.3e}{2014/10/14}{Update documentation} +% \changes{1.3d}{2014/10/02}{Fix bug in \cs{Proj}} +% \changes{1.3c}{2014/06/02}{Fix bug in \cs{datebelarusian}} +% \changes{1.3b}{2013/04/06}{Renamed to belarusian to work with babel 3.9} +% \changes{1.2b}{2013/01/08}{Renamed to belarusianu to work with babel-beta 3.9} +% \changes{1.2a}{2012/06/06}{Indentation of 1st paragraph removed} +% \changes{1.1c}{1996/07/11}{Replaced \cs{undefined} with +% \cs{@undefined} and \cs{empty} with \cs{@empty} for consistency +% with \LaTeX} +% \changes{1.1d}{1996/10/10}{Moved the definition of +% \cs{atcatcode} right to the beginning.} +% \changes{1.1k}{1999/08/19}{replaced all \cs{penalty}\cs{@M} +% with \cs{nobreak}} +% \changes{1.1f}{1998/06/26}{% +% Added definitions of Cyrillic emdash stuff and thinspace} +% \changes{1.1f}{1998/06/26}{% +% Added definitions of Cyrillic emdash stuff and thinspace} +% +% +% \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. +% +% \changes{1.1d}{1996/11/03}{Now use \cs{LdfInit} to perform +% initial checks} +% \changes{1.1e}{1996/12/29}{Added closing brace to second +% argument of \cs{LdfInit}} +% \begin{macrocode} +\LdfInit{belarusian}{captionsbelarusian} +% \end{macrocode} +% +% First, we check if Lua\LaTeX\ or Xe\LaTeX\ is running. If so, we set +% boolean key |\if@uni@ode@be| 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. +% +% \changes{1.2}{2011/10/20}{Check for LuaTeX} +% \begin{macrocode} +\ifdefined\if@uni@ode@be + \PackageError{babel}{if@uni@ode already defined.\MessageBreak + Please contact author of belarusian.ldf} + \relax +\fi +\newif\if@uni@ode@be +\ifdefined\luatexversion \@uni@ode@betrue \else +\ifdefined\XeTeXrevision \@uni@ode@betrue \fi\fi +% \end{macrocode} +% +% Check if hyphenation patterns for the Belarusian language have been +% loaded in \file{language.dat}. Namely, we check for the existence of +% |\l@belarusian|. If it is not defined, we declare Belarusian as dialect +% for the default language number 0 which almost for sure is English. +% +% \begin{macrocode} +\ifx\l@belarusian\@undefined + \@nopatterns{Belarusian} + \adddialect\l@belarusian0 +\fi +% \end{macrocode} +% Now |\l@belarusian| is always defined. +% +% \subsection{Output encoding} +% +% We need to know font encoding that is supposed to be +% active at the end of the \babel\ package. Default font encoding, set by +% \LaTeX\ core, is \texttt{OT1}. This can be changed by the \pkg{fontenc} +% package in case of \LaTeX\ and by \pkg{fontspec} package in case of +% Lua\LaTeX. It matters weather these packages are loaded before of after +% \pkg{babel}. In the latter case or if these packages are not loaded at all, +% \file{belarusian.ldf} ignores their effect and tries to provide some +% reasonable settings. In particular, \texttt{T2A} will be selected for +% Belarusian language if \LaTeX\ is running but \texttt{EU1} in case of +% Xe\LaTeX\ and \texttt{EU2} in case of Lua\LaTeX. +% +% \begin{macro}{\latinencoding} +% \changes{1.2}{2011/10/20}{Removed \cs{latinencoding}} +% +% The macro |\latinencoding| keeps the name of Latin encoding. It is +% defined in \file{babel.def} and is wrapped into |\AtBeginDocument| to allow +% for late loading \pkg{fontenc}. Therefore it does not matter +% whether \pkg{babel} is loaded before or after the \pkg{fontenc}. +% As of version 1.2, definition of |\latinencoding| was removed from +% \file{belarusian.ldf} since it is overruled in \file{babel.def}. +% For example, after +%\begin{verbatim} +%\usepackage[T1,T2A]{fontenc} +%\usepackage[english,belarusian]{babel} +%\end{verbatim}% +% as well as after +%\begin{verbatim} +%\usepackage[english,belarusian]{babel} +%\usepackage[T1,T2A]{fontenc} +%\end{verbatim}% +% |\latinencoding| will be set to \texttt{T1}. +% After +%\begin{verbatim} +%\usepackage[english,belarusian]{babel} +%\end{verbatim}% +% |\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. +% +% \end{macro} +% +% \Describe\cyrillicencoding{} +% There is a limited list of encodings appropriate for Cyrillic text. We +% will look which of them is declared and keep its name in the macro +% |\cyrillicencoding|. +% Correct (but obsolete and now deleted) 7-bit Cyrillic encoding is +% \texttt{LWN}. +% Correct 8-bit Cyrillic encodings are +% \texttt{T2A} (default for 8-bit compilers), \texttt{T2B}, \texttt{T2C}, +% \texttt{LCY} and \texttt{X2}. +% Correct utf8 encodings are +% \texttt{EU1} (default for Xe\LaTeX), +% \texttt{EU2} (default for Lua\LaTeX). +% +% In 8-bit (\LaTeX) mode, user may choose between different non-unicode Cyrillic +% encodings---e.g., \texttt{X2} or \texttt{LCY}.\@ If user wants +% to use another font encoding rather than default (\texttt{T2A}), +% he has to load the corresponding file \emph{before} \file{babel.sty}. +% +% Remember that for the Belarusian 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 Belarusian 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. +% 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. +% +% \changes{1.2}{2011/10/20}{EU1 and EU2 encodings added} +% \begin{macrocode} +\def\@setcyrillicencoding{% + \def\sce@a##1##2{% + \edef\sce@b{##1}% + \edef\sce@c{##2}% + \ifx\sce@b\sce@c + \let\cyrillicencoding\sce@c + \fi}% + \def\cdp@elt##1##2##3##4{% + \sce@a{##1}{OT2}% + \sce@a{##1}{LCY}% + \sce@a{##1}{X2}% + \sce@a{##1}{T2C}% + \sce@a{##1}{T2B}% + \sce@a{##1}{T2A}% + \if@uni@ode@be + \sce@a{##1}{EU1}% + \sce@a{##1}{EU2}% + \fi}% + \cdp@list +} +\@setcyrillicencoding +\@onlypreamble\@setcyrillicencoding +\@onlypreamble\sce@a +\@onlypreamble\sce@b +\@onlypreamble\sce@c +% \end{macrocode} +% The last lines are to free the memory occupied by the macros +% |\@setcyrillicencoding| and |\sce@x| that are useless in the document. +% The contents of |\@begindocumenthook| is cleared automatically. +% +% 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. +% +% \changes{1.2}{2011/10/20}{Removed test for present of +% encoding files} +% \begin{macrocode} +\ifdefined\cyrillicencoding +\else + \if@uni@ode@be + \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}% +% \end{macrocode} +% As 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{belarusian}|; the latter rises an +% error if |\cyrillicencoding| would not be defined by that time. +% \begin{macrocode} + \AtBeginDocument{\@setcyrillicencoding} +\fi +% \end{macrocode} +% +% \Describe\Belarusian{} +% \DescribeOther\cyr{} +% \DescribeOther\cyrillictext{} +% For the sake of backward compatibility we keep the macro |\Belarusian| +% but redefine its meaning; now |\Belarusian| is simply an alias for +% |\selectlanguage{belarusian}|. +% +% 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. +% For example, the |\iflanguage| macro will fail. +% +% Second, |\cyrillictext| does +% not activate shorthands, so that |"<|, |">|, |"`|, |"'|, +% |"---|, e.t.c. will not work. +% +% And third, |\cyrillictext| does not write its trace +% to \file{.aux} file, which might result in wrong typesetting of +% table of content, list of table and list of figures in multilingual +% documents. +% +% Due to any of these reasons the use of the declaration |\cyrillictext| and +% its aliases in ordinary text is strongly discouraged. Instead of the +% declaration |\cyrillictext| it is recommended to use |\Belarusian| or the +% command |\foreignlanguage| defined in the \pkg{babel} core; their +% functionality is similar to |\selectlanguage{belarusian}| but they did not +% switch caption names, dates and shorthands. +% +% \begin{macrocode} +\DeclareRobustCommand{\Belarusian}{\selectlanguage{\belarusian}} +\DeclareRobustCommand{\cyrillictext}{% + \fontencoding\cyrillicencoding\selectfont + \let\encodingdefault\cyrillicencoding + \expandafter\set@hyphenmins\belarusianhyphenmins + \language\l@belarusian}% +\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{belarusian.ldf}'s counterpart in the package \pkg{polyglossia}, +% analog of \pkg{babel} for Xe\LaTeX. +% +% \changes{1.2}{2011/10/20}{Removed \cs{English} macro} +% \begin{macrocode} +%%\DeclareRobustCommand{\English}{% +%% \fontencoding\latinencoding\selectfont +%% \let\encodingdefault\latinencoding +%% \expandafter\set@hyphenmins\englishhyphenmins +%% \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 +% 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. +% +% \changes{1.1o}{2003/10/12}{\cs{latintext} is already +% 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 +% \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{belarusian}|. +% \changes{1.1o}{2003/10/12}{\cs{textlatin} already defined +% by the core of babel} +% \begin{macrocode} +\DeclareTextFontCommand{\textcyrillic}{\cyrillictext} +% \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 Belarusian version of Windows ANSI encoding which is almost +% equivalent to \texttt{cp1251}. +% +% \textsc{Should we wrap this chunk into At Begin document?} +% +% \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} +% \begin{macrocode} +\@ifpackageloaded{inputenc}{% + \if@uni@ode@be + \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 Belarusian language} + \fi\fi\fi + %\fi +} +% \end{macrocode} +% +% +% \subsection{Shorthands} +% +% The double quote character \texttt{"} is declared to be active in +% Belarusian language. +% +% \changes{1.1a}{1995/03/07}{Use the new mechanism for dealing +% with active characters} +% \begin{macrocode} +\initiate@active@char{"} +% \end{macrocode} +% +% \changes{1.1f}{1998/06/26}{Added switch for +% doublequote shorthands} +% \changes{1.3}{2013/01/10}{Removed switch for +% doublequote shorthands} +% +% \begin{macro}{\mdqon} +% \begin{macro}{\mdqoff} +% Obsolete: Active double quote can be both activated and deactivated at any time +% using the macros |\mdqon| and |\mdqoff|. +% \begin{macrocode} +%\def\mdqon{\bbl@activate{"}} +%\def\mdqoff{\bbl@deactivate{"}} +% \end{macrocode} +% Initial activation state will set to on later in section \ref{sss:extra}. +% \end{macro} +% \end{macro} +% +% \Describe\dq{} +% The active character |"| is used as indicated in +% table~\ref{tab:belarusian-quote}. We save the original double quote +% character in the |\dq| macro to keep it available. +% The math accent |\"| can now be typed as `|"|'. +% +% \begin{macrocode} +\begingroup \catcode`\"12 +\def\reserved@a{\endgroup + \def\@SS{\mathchar"7019 } + \def\dq{"}} +\reserved@a +% \end{macrocode} +% +% \subsubsection{Quotes} +% +% 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 +% 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 +% 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, since v.1.2, we define |"<| and |">| directly +% through |\guillemotleft| and |\guillemotrigh|. +% +% \begin{macrocode} +\declare@shorthand{belarusian}{"`}{\quotedblbase} +\declare@shorthand{belarusian}{"'}{\textquotedblleft} +\declare@shorthand{belarusian}{"<}{\guillemotleft} +\declare@shorthand{belarusian}{">}{\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:belarusian-quote}. +% +% \begin{macrocode} +\declare@shorthand{belarusian}{""}{\hskip\z@skip} +\declare@shorthand{belarusian}{"~}{\textormath{\leavevmode\hbox{-}}{-}} +\declare@shorthand{belarusian}{"=}{\nobreak-\hskip\z@skip} +\declare@shorthand{belarusian}{"|}{% + \textormath{\nobreak\discretionary{-}{}{\kern.03em}\allowhyphens}{}} +% \end{macrocode} +% +% \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 |\belarusian@sh@next| and finally call for |\belarusian@sh@tmp|. +% +% \begin{macrocode} +\declare@shorthand{belarusian}{"-}{% + \def\belarusian@sh@tmp{% + \if\belarusian@sh@next-\expandafter\belarusian@sh@emdash + \else\expandafter\belarusian@sh@hyphen\fi}% + \futurelet\belarusian@sh@next\belarusian@sh@tmp} +% \end{macrocode} +% Two macros |\belarusian@sh@hyphen| and |\belarusian@sh@emdash| called by +% |\belarusian@sh@tmp| are defined below. The second of +% them has two parameters since it must gobble next two hyphen signs. +% \begin{macrocode} +\def\belarusian@sh@hyphen{\nobreak\-\bbl@allowhyphens} +\def\belarusian@sh@emdash#1#2{\cdash-#1#2} +% \end{macrocode} +% +% \Describe\cdash{} +% In its turn, |\belarusian@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} +% \end{macrocode} +% +% 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. +% \begin{macrocode} +\def\@Acdash{\ifdim\lastskip>\z@\unskip\nobreak\hskip.2em\fi + \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. +% \begin{macrocode} +\def\@Bcdash{\leavevmode\ifdim\lastskip>\z@\unskip\fi + \nobreak\cyrdash\penalty\exhyphenpenalty\hskip\z@skip\ignorespaces}% +% \end{macrocode} +% +% |\@Ccdash| is invoked by |"--*|. It denotes direct speech and adds small +% space after the dash. +% \begin{macrocode} +\def\@Ccdash{\leavevmode + \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{belarusian}% + {\hbox to.8em{--\hss--}}{\textemdash}} +% \end{macrocode} +% +% \changes{1.1f}{1998/06/26}{% +% Add macro for thin space between initials} +% +% Finally, we define a shorthand thin space to be placed between initials +% as in |D.",Mendeleev|. When used instead of |\,| as in |D.\,Mendeleev| +% it allows hyphenation in the next word. +% +% \begin{macrocode} +\declare@shorthand{belarusian}{",}{\nobreak\hskip.2em\ignorespaces} +% \end{macrocode} +% +% +% \subsection{Switching to and from Belarusian} +% +% Now we define additional macros used to reset current language to +% Belarusian and back +% to some original state. The package \pkg{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} +% +% First, we define Belarusian equivalents for Belarusian caption names. +% +% \Describe\captionsbelarusian{} +% The macro |\captionsbelarusian| 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 Belarusian captions are called only if current language is Belarusian. +% However, the macros such as |\Belarusian| do not conform to strict rules +% of the package \pkg{babel} as explained in the above. +% +% As of version v.1.2 we eliminate |\cyr...| macros from caption names +% if Unicode engine is running. In the latter case, Cyrillic letters are typed +% in by their Unicode code-points, the |^^^^abcd| notation is not used +% since it causes error at compilation time in case if \LaTeX\ is running +% and \texttt{utf8} input encoding is not declared. +% +% \changes{1.2}{2011/10/20}{Unicode code-points added for LuaLaTeX} +% \begin{macrocode} +\if@uni@ode@be + %\captionsbelarusian@official + \addto\captionsbelarusian{% + \def\prefacename{Прадмова}% [babel] + \def\refname{Спіс літаратуры}% [only article] + \def\abstractname{Анатацыя}% [only article, report] + \def\bibname{Літаратура}% [only book, report] + \def\chaptername{Глава}% [only book, report] + \def\appendixname{Дадатак}% + \def\contentsname{Змест}% + \let\tocname=\contentsname + \def\listfigurename{Спіс ілюстрацый}% + \def\listtablename{Спіс табліц}% + \def\indexname{Прадметны паказальнік}% + \def\authorname{Паказальнік імён}% + \def\figurename{Рыс.}% + \def\tablename{Табліца}% + \def\partname{Частка}% + \def\enclname{укл.}% + \def\ccname{зых.}% + \def\headtoname{вх.}% + \def\pagename{с.}% [letter] + \def\seename{гл.}% + \def\alsoname{гл.\ таксама}% + \def\proofname{Доказ}% [amsthm] + \def\glossaryname{Слоўнік тэрмінаў}% + \def\acronymname{Абрэвіятуры}% [glossaries] {Acronyms} + \def\lstlistingname{Лістынг}% [listings] (the environment) {Listing} + \def\lstlistlistingname{Лістынгі}% [listings] (the "List of") {Listings} + \def\notesname{Нататкі}% [endnotes] {Notes} + }% +% \end{macrocode} +% Additional definitions for the package \pkg{nomencl}: +% \begin{macrocode} + %% ========================================= + %% nomencl + \ifdefined\nomname + \addto\captionsbelarusian{% + \def\nomname{Азначэнні}% + \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} + %%{} + %%{}% + %\@ifclassloaded{revtex4-1} + %{% + \ifnum\@ifclassloaded{revtex4}{1}{\@ifclassloaded{revtex4-1}{1}{0}}>0 + \addto\captionsbelarusian{% + \def\lofname{\listfigurename} + \def\lotname{\listtablename} + \def\figuresname{Рысункі}%{Figures}% + \def\tablesname{Табліцы}%{Tables}% + \def\appendixesname{Дадаткі}%{Appendixes}% + \def\acknowledgmentsname{Падзякі}%{Acknowledgments} + \def\andname{и}%{and} + \def\@pacs@name{PACS коды: }%{PACS numbers: }% + \def\@keys@name{Ключавыя словы: }%{Keywords: }% + \def\Dated@name{Дата: }%{Dated: }% + \def\Received@name{Атрымана }%{Received }% + \def\Revised@name{Выпраўленая версія }%{Revised }% + \def\Accepted@name{Прынята }%{Accepted }% + \def\Published@name{Апублікавана }%{Published }% + }% + %}{}% + \fi +% \end{macrocode} +% +% \changes{1.3h}{2016/02/18}{Revtex captions fixed} +% Now we proceed to the classic version in Unicode encoding. +% \begin{macrocode} + \addto\captionsbelarusian@tarask{% + \def\prefacename{Прадмова}% [babel] + \def\refname{Сьпіс літаратуры}% [only article] + \def\abstractname{Анатацыя}% [only article, report] + \def\bibname{Літаратура}% [only book, report] + \def\chaptername{Глава}% [only book, report] + \def\appendixname{Дадатак}% + \def\contentsname{Зьмест}% + \let\tocname=\contentsname + \def\listfigurename{Сьпіс ілюстрацый}% + \def\listtablename{Сьпіс табліц}% + \def\indexname{Прадметны паказальнік}% + \def\authorname{Паказальнік імён}% + \def\figurename{Рыс.}% + \def\tablename{Табліца}% + \def\partname{Частка}% + \def\enclname{укл.}% + \def\ccname{зых.}% + \def\headtoname{вх.}% + \def\pagename{с.}% [letter] + \def\seename{гл.}% + \def\alsoname{гл.\ таксама}% + \def\proofname{Доказ}% [amsthm] + \def\glossaryname{Слоўнік тэрмінаў}% + \def\acronymname{Абрэвіятуры}% [glossaries] {Acronyms} + \def\lstlistingname{Лістынг}% [listings] (the environment) {Listing} + \def\lstlistlistingname{Лістынгі}% [listings] (the "List of") {Listings} + \def\nomname{Азначэньні}% + \def\notesname{Нататкі}% [endnotes] {Notes} + } + %% ========================================= + %% RevTeX4 & RevTeX4-1 + %\@ifclassloaded{revtex4-1} + %{% + \ifnum\@ifclassloaded{revtex4}{1}{\@ifclassloaded{revtex4-1}{1}{0}}>0 + \addto\captionsbelarusian@tarask{% + \def\lofname{\listfigurename} + \def\lotname{\listtablename} + \def\figuresname{Рысункі}%{Figures}% + \def\tablesname{Табліцы}%{Tables}% + \def\appendixesname{Дадаткі}%{Appendixes}% + \def\acknowledgmentsname{Падзякі}%{Acknowledgments} + \def\andname{и}%{and} + \def\@pacs@name{PACS коды: }%{PACS numbers: }% + \def\@keys@name{Ключавыя словы: }%{Keywords: }% + \def\Dated@name{Дата: }%{Dated: }% + \def\Received@name{Атрымана }%{Received }% + \def\Revised@name{Выпраўленая вэрсыя }%{Revised }% + \def\Accepted@name{Прынята }%{Accepted }% + \def\Published@name{Апублікавана }%{Published }% + }% + %}{}% + \fi + %% ========================================= +\else + %\def\captionsbelarusian@official{% + \addto\captionsbelarusian{% + \def\prefacename{\CYRP\cyrr\cyra\cyrd\cyrm\cyro\cyrv\cyra}% [babel] + \def\refname{\CYRS\cyrp\cyrii\cyrs \cyrl\cyrii\cyrt\cyra\cyrr\cyra\cyrt\cyru\cyrr\cyrery}% [only article] + \def\abstractname{\CYRA\cyrn\cyra\cyrt\cyra\cyrc\cyrery\cyrya}% [only article, report] + \def\bibname{\CYRL\cyrii\cyrt\cyra\cyrr\cyra\cyrt\cyru\cyrr\cyra}% [only book, report] + \def\chaptername{\CYRG\cyrl\cyra\cyrv\cyra}% [only book, report] + \def\appendixname{\CYRD\cyra\cyrd\cyra\cyrt\cyra\cyrk}% + \def\contentsname{\CYRZ\cyrm\cyre\cyrs\cyrt}% + \let\tocname=\contentsname + \def\listfigurename{\CYRS\cyrp\cyrii\cyrs \cyrii\cyrl\cyryu\cyrs\cyrt\cyrr\cyra\cyrc\cyrery\cyrishrt}% + \def\listtablename{\CYRS\cyrp\cyrii\cyrs \cyrt\cyra\cyrb\cyrl\cyrii\cyrc}% + \def\indexname{\CYRP\cyrr\cyra\cyrd\cyrm\cyre\cyrt\cyrn\cyrery \cyrp\cyra\cyrk\cyra\cyrz\cyra\cyrl\cyrsftsn\cyrn\cyrii\cyrk}% + \def\authorname{\CYRP\cyra\cyrk\cyra\cyrz\cyra\cyrl\cyrsftsn\cyrn\cyrii\cyrk \cyrii\cyrm\cyryo\cyrn}% + \def\figurename{\CYRR\cyrery\cyrs.}% + \def\tablename{\CYRT\cyra\cyrb\cyrl\cyrii\cyrc\cyra}% + \def\partname{\CYRCH\cyra\cyrs\cyrt\cyrk\cyra}% + \def\enclname{\cyru\cyrk\cyrl.}% + \def\ccname{\cyrz\cyrery\cyrh.}% + \def\headtoname{\cyrv\cyrh.}% + \def\pagename{\cyrs.}% [letter] + \def\seename{\cyrg\cyrl.}% + \def\alsoname{\cyrg\cyrl.\ \cyrt\cyra\cyrk\cyrs\cyra\cyrm\cyra}% + \def\proofname{\CYRD\cyro\cyrk\cyra\cyrz}% [amsthm] + \def\glossaryname{\CYRS\cyrl\cyro\cyrushrt\cyrn\cyrii\cyrk \cyrt\cyrerev\cyrr\cyrm\cyrii\cyrn\cyra\cyrushrt}% + \def\acronymname{\CYRA\cyrb\cyrr\cyrerev\cyrv\cyrii\cyrya\cyrt\cyru\cyrr\cyrery}% [glossaries] {Acronyms} + \def\lstlistingname{\CYRL\cyrii\cyrs\cyrt\cyrery\cyrn\cyrg}% [listings] (the environment) {Listing} + \def\lstlistlistingname{\CYRL\cyrii\cyrs\cyrt\cyrery\cyrn\cyrg\cyrii}% [listings] (the "List of") {Listings} + \def\nomname{\CYRA\cyrz\cyrn\cyra\cyrch\cyrerev\cyrn\cyrn\cyrii}% + \def\notesname{\CYRN\cyra\cyrt\cyra\cyrt\cyrk\cyrii}% [endnotes] {Notes} + }% + %% ========================================= + %% RevTeX4 & RevTeX4-1 + \ifnum \@ifclassloaded{revtex4}{1}{\@ifclassloaded{revtex4-1}{1}{0}}>0 + \addto\captionsbelarusian{% + \def\lofname{\listfigurename} + \def\lotname{\listtablename} + \def\figuresname{\CYRR\cyrery\cyrs\cyru\cyrn\cyrk\cyrii}%{Figures}% + \def\tablesname{\CYRT\cyra\cyrb\cyrl\cyrii\cyrc\cyrery}%{Tables}% + \def\appendixesname{\CYRD\cyra\cyrd\cyra\cyrt\cyrk\cyrii}%{Appendixes}% + \def\acknowledgmentsname{\CYRP\cyra\cyrd\cyrz\cyrya\cyrk\cyrii}%{Acknowledgments} + \def\andname{\cyri}%{and} + \def\@pacs@name{PACS \cyrk\cyro\cyrd\cyrery: }%{PACS numbers: }% + \def\@keys@name{\CYRK\cyrl\cyryu\cyrch\cyra\cyrv\cyrery\cyrya \cyrs\cyrl\cyro\cyrv\cyrery: }%{Keywords: }% + \def\Dated@name{\CYRD\cyra\cyrt\cyra: }%{Dated: }% + \def\Received@name{\CYRA\cyrt\cyrr\cyrery\cyrm\cyra\cyrn\cyra }%{Received }% + \def\Revised@name{\CYRV\cyrery\cyrp\cyrr\cyra\cyrushrt\cyrl\cyre\cyrn\cyra\cyrya \cyrv\cyre\cyrr\cyrs\cyrii\cyrya }%{Revised }% + \def\Accepted@name{\CYRP\cyrr\cyrery\cyrn\cyrya\cyrt\cyra }%{Accepted }% + \def\Published@name{\CYRA\cyrp\cyru\cyrb\cyrl\cyrii\cyrk\cyra\cyrv\cyra\cyrn\cyra }%{Published }% + }% + \fi + %% ========================================= + \addto\captionsbelarusian@tarask{% + \def\prefacename{\CYRP\cyrr\cyra\cyrd\cyrm\cyro\cyrv\cyra}% [babel] + \def\refname{\CYRS\cyrsftsn\cyrp\cyrii\cyrs \cyrl\cyrii\cyrt\cyra\cyrr\cyra\cyrt\cyru\cyrr\cyrery}% [only article] + \def\abstractname{\CYRA\cyrn\cyra\cyrt\cyra\cyrc\cyrery\cyrya}% [only article, report] + \def\bibname{\CYRL\cyrii\cyrt\cyra\cyrr\cyra\cyrt\cyru\cyrr\cyra}% [only book, report] + \def\chaptername{\CYRG\cyrl\cyra\cyrv\cyra}% [only book, report] + \def\appendixname{\CYRD\cyra\cyrd\cyra\cyrt\cyra\cyrk}% + \def\contentsname{\CYRZ\cyrsftsn\cyrm\cyre\cyrs\cyrt}% + \let\tocname=\contentsname + \def\listfigurename{\CYRS\cyrsftsn\cyrp\cyrii\cyrs \cyrii\cyrl\cyryu\cyrs\cyrt\cyrr\cyra\cyrc\cyrery\cyrishrt}% + \def\listtablename{\CYRS\cyrsftsn\cyrp\cyrii\cyrs \cyrt\cyra\cyrb\cyrl\cyrii\cyrc}% + \def\indexname{\CYRP\cyrr\cyra\cyrd\cyrm\cyre\cyrt\cyrn\cyrery \cyrp\cyra\cyrk\cyra\cyrz\cyra\cyrl\cyrsftsn\cyrn\cyrii\cyrk}% + \def\authorname{\CYRP\cyra\cyrk\cyra\cyrz\cyra\cyrl\cyrsftsn\cyrn\cyrii\cyrk \cyrii\cyrm\cyryo\cyrn}% + \def\figurename{\CYRR\cyrery\cyrs.}% + \def\tablename{\CYRT\cyra\cyrb\cyrl\cyrii\cyrc\cyra}% + \def\partname{\CYRCH\cyra\cyrs\cyrt\cyrk\cyra}% + \def\enclname{\cyru\cyrk\cyrl.}% + \def\ccname{\cyrz\cyrery\cyrh.}% + \def\headtoname{\cyrv\cyrh.}% + \def\pagename{\cyrs.}% [letter] + \def\seename{\cyrg\cyrl.}% + \def\alsoname{\cyrg\cyrl.\ \cyrt\cyra\cyrk\cyrs\cyra\cyrm\cyra}% + \def\proofname{\CYRD\cyro\cyrk\cyra\cyrz}% [amsthm] + \def\glossaryname{\CYRS\cyrl\cyro\cyrushrt\cyrn\cyrii\cyrk \cyrt\cyrerev\cyrr\cyrm\cyrii\cyrn\cyra\cyrushrt}% + \def\acronymname{\CYRA\cyrb\cyrr\cyrerev\cyrv\cyrii\cyrya\cyrt\cyru\cyrr\cyrery}% [glossaries] {Acronyms} + \def\lstlistingname{\CYRL\cyrii\cyrs\cyrt\cyrery\cyrn\cyrg}% [listings] (the environment) {Listing} + \def\lstlistlistingname{\CYRL\cyrii\cyrs\cyrt\cyrery\cyrn\cyrg\cyrii}% [listings] (the "List of") {Listings} + \def\nomname{\CYRA\cyrz\cyrn\cyra\cyrch\cyrerev\cyrn\cyrsftsn\cyrn\cyrii}% + \def\notesname{\CYRN\cyra\cyrt\cyra\cyrt\cyrk\cyrii}% [endnotes] {Notes} + }% + %% ========================================= + %% RevTeX4 & RevTeX4-1 + \ifnum \@ifclassloaded{revtex4}{1}{\@ifclassloaded{revtex4-1}{1}{0}}>0 + \addto\captionsbelarusian@tarask{% + \def\lofname{\listfigurename} + \def\lotname{\listtablename} + \def\figuresname{\CYRR\cyrery\cyrs\cyru\cyrn\cyrk\cyrii}%{Figures}% + \def\tablesname{\CYRT\cyra\cyrb\cyrl\cyrii\cyrc\cyrery}%{Tables}% + \def\appendixesname{\CYRD\cyra\cyrd\cyra\cyrt\cyrk\cyrii}%{Appendixes}% + \def\acknowledgmentsname{\CYRP\cyra\cyrd\cyrz\cyrya\cyrk\cyrii}%{Acknowledgments} + \def\andname{\cyri}%{and} + \def\@pacs@name{PACS \cyrk\cyro\cyrd\cyrery: }%{PACS numbers: }% + \def\@keys@name{\CYRK\cyrl\cyryu\cyrch\cyra\cyrv\cyrery\cyrya \cyrs\cyrl\cyro\cyrv\cyrery: }%{Keywords: }% + \def\Dated@name{\CYRD\cyra\cyrt\cyra: }%{Dated: }% + \def\Received@name{\CYRA\cyrt\cyrr\cyrery\cyrm\cyra\cyrn\cyra }%{Received }% + \def\Revised@name{\CYRV\cyrery\cyrp\cyrr\cyra\cyrushrt\cyrl\cyre\cyrn\cyra\cyrya \cyrv\cyrerev\cyrr\cyrs\cyrery\cyrya }%{Revised }% + \def\Accepted@name{\CYRP\cyrr\cyrery\cyrn\cyrya\cyrt\cyra }%{Accepted }% + \def\Published@name{\CYRA\cyrp\cyru\cyrb\cyrl\cyrii\cyrk\cyra\cyrv\cyra\cyrn\cyra }%{Published }% + }% + \fi + %% ========================================= +\fi +% \end{macrocode} +% +% \subsubsection{Date in Belarusian} +% +% \Describe\datebelarusian{} +% The macro |\datebelarusian| is used to reset the macro |\today| in Belarusian. +% +% \changes{1.2}{2011/10/20}{Unicode code-points added for LuaLaTeX} +% \begin{macrocode} +\if@uni@ode@be + \addto\datebelarusian{% + \def\today{\number\day~\ifcase\month\or + студзеня\or + лютага\or + сакавіка\or + красавіка\or + мая\or + чэрвеня\or + ліпеня\or + жніўня\or + верасня\or + кастрычніка\or + лістапада\or + снежня\fi + \space \number\year~г.}} + \def\datebelarusian@tarask{% + \def\today{\number\day~\ifcase\month\or% + студзеня\or + лютага\or + сакавіка\or + красавіка\or + траўня\or + чэрвеня\or + ліпеня\or + жніўня\or + верасьня\or + кастрычніка\or + лістапада\or + сьнежня\fi% + \space \number\year~г.}} +\else + \def\datebelarusian{% + \def\today{\number\day~\ifcase\month\or + \cyrs\cyrt\cyru\cyrd\cyrz\cyre\cyrn\cyrya\or + \cyrl\cyryu\cyrt\cyra\cyrg\cyra\or + \cyrs\cyra\cyrk\cyra\cyrv\cyrii\cyrk\cyra\or + \cyrk\cyrr\cyra\cyrs\cyra\cyrv\cyrii\cyrk\cyra\or + \cyrm\cyra\cyrya\or + \cyrch\cyrerev\cyrr\cyrv\cyre\cyrn\cyrya\or + \cyrl\cyrii\cyrp\cyre\cyrn\cyrya\or + \cyrzh\cyrn\cyrii\cyrushrt\cyrn\cyrya\or + \cyrv\cyre\cyrr\cyra\cyrs\cyrn\cyrya\or + \cyrk\cyra\cyrs\cyrt\cyrr\cyrery\cyrch\cyrn\cyrii\cyrk\cyra\or + \cyrl\cyrii\cyrs\cyrt\cyra\cyrp\cyra\cyrd\cyra\or + \cyrs\cyrn\cyre\cyrzh\cyrn\cyrya\fi + \space \number\year~\cyrg.}} + \def\datebelarusian@tarask{% + \def\today{\number\day~\ifcase\month\or + \cyrs\cyrt\cyru\cyrd\cyrz\cyre\cyrn\cyrya\or + \cyrl\cyryu\cyrt\cyra\cyrg\cyra\or + \cyrs\cyra\cyrk\cyra\cyrv\cyrii\cyrk\cyra\or + \cyrk\cyrr\cyra\cyrs\cyra\cyrv\cyrii\cyrk\cyra\or + \cyrt\cyrr\cyra\cyrushrt\cyrn\cyrya\or + \cyrch\cyrerev\cyrr\cyrv\cyre\cyrn\cyrya\or + \cyrl\cyrii\cyrp\cyre\cyrn\cyrya\or + \cyrzh\cyrn\cyrii\cyrushrt\cyrn\cyrya\or + \cyrv\cyre\cyrr\cyra\cyrs\cyrsftsn\cyrn\cyrya\or + \cyrk\cyra\cyrs\cyrt\cyrr\cyrery\cyrch\cyrn\cyrii\cyrk\cyra\or + \cyrl\cyrii\cyrs\cyrt\cyra\cyrp\cyra\cyrd\cyra\or + \cyrs\cyrsftsn\cyrn\cyre\cyrzh\cyrn\cyrya\fi% + \space \number\year~\cyrg.}} +\fi +% \end{macrocode} +% +% \subsubsection{Hyphenation patterns} +% +% Belarusian hyphenation patterns are automatically activated every time +% Belarusian language is selected via |\selectlanguage|, |\foreignlanguage| +% or equivalent command. But we need to declare values of +% |\lefthyphenmin| and |\righthyphenmin|; both are set to~2. +% +% As of v.1.2 we removed a definition for |\englishhyphenmins|. It is +% not deal of \file{belarusian.ldf}. +% +% \changes{1.1a}{1995/07/04}{use \cs{belarusianhyphenmins} to +% store the correct values} +% \changes{1.1m}{2000/09/22}{Now use \cs{providehyphenmins} to +% provide a default value} +% \changes{1.2}{2011/10/20}{\cs{englishhyphenmins} is removed} +% \begin{macrocode} +\providehyphenmins{\CurrentOption}{\tw@\tw@} +\providehyphenmins{belarusian}{\tw@\tw@} +% \end{macrocode} +% +% \subsubsection{Extra definitions} +% \label{sss:extra} +% +% \Describe\extrasbelarusian{} +% \DescribeOther\noextrasbelarusian{} +% The macro |\extrasbelarusian| performs extra definitions in addition to +% resetting the caption names and date. +% The macro |\noextrasbelarusian| is used to cancel the actions of +% |\extrasbelarusian|. +% +% \changes{1.1b}{1996/02/20}{Added switch to \texttt{LWN} +% encoding} +% +% First, we instruct \pkg{babel} to switch font encoding using earlier +% defined macros |\cyrillictext| and |\latintext|. +% +% \begin{macrocode} +\addto\extrasbelarusian{\cyrillictext} +\addto\noextrasbelarusian{\latintext} +% \end{macrocode} +% +% Second, we specify that the Belarusian group of shorthands should be used. +% +% \begin{macrocode} +\addto\extrasbelarusian{\languageshorthands{belarusian}} +\addto\extrasbelarusian{\bbl@activate{"}} +\addto\noextrasbelarusian{\bbl@deactivate{"}} +% \end{macrocode} +% +% Now the action |\extrasbelarusian| has to execute is to make sure that the +% command |\frenchspacing| is in effect. If this is not the case the +% execution of |\noextrasbelarusian| will switch it off again. +% +% \begin{macrocode} +\addto\extrasbelarusian{\bbl@frenchspacing} +\addto\noextrasbelarusian{\bbl@nonfrenchspacing} +% \end{macrocode} +% +% +% \subsection{Alphabetic counters} +% +% Do we need to reset |\@alph| and |\@Alph|? They are used in the +% \LaTeX\ core to define the macros |\alph| and |\Alph|, respectively, which +% type a counter with a corresponding letter of Latin alphabet. +% We just want to make sure that correct |\latinencoding| is used instead of +% |\latinencoding| to typeset the counter. Starting from v.1.2 we do not +% reset these macros since all Cyrillic encoding but \texttt{X2} do have +% Latin letters. When using the \texttt{X2} encoding user must himself +% take care about selecting correct encoding when he switches his keyboard. +% Our decision is motivated as follows. If selected Cyrillic font is visually +% different from Latin font, the macro |\@alph| and |\@Alph| will produce +% visually different output from surrounding text if they are used with +% Belarusian text, which is completely legitimate. +% +% Notice for commented code:\\ +% We put |\latinencoding| in braces to avoid problems with +% |\@alph| inside minipages (e.g., footnotes inside minipages) where +% |\@alph| is expanded and we get for example `|\fontencoding OT1|' +% (|\fontencoding| is robust). +% +% Note added on 2013/03/22: |{\fontencoding{\latinencoding}\selectfont| +% rises an error with recent version of \pkg{microtype} package after the +% |\appendix| declaration (which resets |\thechapter| to |\@Alph\c@chapter}|). +% Most languages do not reset |\@alph| and |\@Alph| macros and only +% \pkg{ukrainian} and \pkg{bulgarian} add |\fontencoding| to |\@alph| and +% |\@Alph|. +% +% Since v.1.3 we do not reset |\@alph| and |\@Alph| here. +% Resetting |\fontencoding| in |\@alph| and |\@Alph| causes an error +% if the package |smartref| is loaded and a |\sref| occurs after the +% |\appendix| declaration which resets |\thechapter| to |\@Alph\c@chapter|. +% \changes{1.3}{2013/03/22}{Removed \cs{@alph} and \cs{@Alph}} +% +% \begin{macrocode} +%\def\@alph#1{{\fontencoding{\latinencoding}\selectfont +% \ifcase#1\or +% a\or b\or c\or d\or e\or f\or g\or h\or +% i\or j\or k\or l\or m\or n\or o\or p\or +% q\or r\or s\or t\or u\or v\or w\or x\or +% y\or z\else\@ctrerr\fi}}% +%\def\@Alph#1{{\fontencoding{\latinencoding}\selectfont +% \ifcase#1\or +% A\or B\or C\or D\or E\or F\or G\or H\or +% I\or J\or K\or L\or M\or N\or O\or P\or +% Q\or R\or S\or T\or U\or V\or W\or X\or +% Y\or Z\else\@ctrerr\fi}}% +% \end{macrocode} +% +% We add new enumeration style for Belarusian manuscripts with +% Cyrillic letters. +% +% \Describe\Asbuk{} +% We begin by defining |\Asbuk| which works like |\Alph|, but produces +% (uppercase) Cyrillic letters instead of Latin ones. The letters YO, +% ISHRT, USHRT, ERY, and SFTSN are skipped, as usual for such +% enumeration. +% +% \begin{macrocode} +\def\Asbuk#1{\expandafter\belarusian@Alph\csname c@#1\endcsname} +\if@uni@ode@be + \def\belarusian@Alph#1{\ifcase#1\or + А\or Б\or В\or Г\or Д\or Е\or Ж\or + З\or І\or К\or Л\or М\or Н\or О\or + П\or Р\or С\or Т\or У\or Ф\or Х\or + Ц\or Ч\or Ш\or Э\or Ю\or Я\else\@ctrerr\fi} +\else + \def\belarusian@Alph#1{\ifcase#1\or + \CYRA\or\CYRB\or\CYRV\or\CYRG\or\CYRD\or\CYRE\or\CYRZH\or + \CYRZ\or\CYRII\or\CYRK\or\CYRL\or\CYRM\or\CYRN\or\CYRO\or + \CYRP\or\CYRR\or\CYRS\or\CYRT\or\CYRU\or\CYRF\or\CYRH\or + \CYRC\or\CYRCH\or\CYRSH\or\CYREREV\or\CYRYU\or + \CYRYA\else\@ctrerr\fi} +\fi +% \end{macrocode} +% +% \Describe\asbuk{} +% The macro |\asbuk| is similar to |\alph|; it produces lowercase +% Belarusian letters. +% +% \begin{macrocode} +\def\asbuk#1{\expandafter\belarusian@alph\csname c@#1\endcsname} +\if@uni@ode@be + \def\belarusian@alph#1{\ifcase#1\or + а\or б\or в\or г\or д\or е\or ж\or + з\or і\or к\or л\or м\or н\or о\or + п\or р\or с\or т\or у\or ф\or х\or + ц\or ч\or ш\or э\or ю\or я\else\@ctrerr\fi} +\else + \def\belarusian@alph#1{\ifcase#1\or + \cyra\or\cyrb\or\cyrv\or\cyrg\or\cyrd\or\cyre\or\cyrzh\or + \cyrz\or\cyrii\or\cyrk\or\cyrl\or\cyrm\or\cyrn\or\cyro\or + \cyrp\or\cyrr\or\cyrs\or\cyrt\or\cyru\or\cyrf\or\cyrh\or + \cyrc\or\cyrch\or\cyrsh\or\cyrerev\or\cyryu\or + \cyrya\else\@ctrerr\fi} +\fi +% \end{macrocode} +% +% Babel 3.9 has introduced a notion of a language attribute. +% The \Lopt{classic} attribute (or its alias \Lopt{tarask}) changes +% the default behavior which uses the official Belarusian spelling, +% and activates an alternative set of captions and date macros. +% \begin{macrocode} +\bbl@declare@ttribute{belarusian}{classic}{% + \PackageInfo{babel}{Belarusian attribute set to classic}% + \let\captionsbelarusian=\captionsbelarusian@tarask + \let\datebelarusian=\datebelarusian@tarask +} +\bbl@declare@ttribute{belarusian}{tarask}{% + \PackageInfo{babel}{Belarusian attribute set to tarask}% + \let\captionsbelarusian=\captionsbelarusian@tarask + \let\datebelarusian=\datebelarusian@tarask +} +% \end{macrocode} +% We don't want for long internal macros to waste memory. So we declare +% them to be usable within the preamble only. +% \begin{macrocode} +\@onlypreamble\captionsbelarusian@tarask +\@onlypreamble\datebelarusian@tarask +% \end{macrocode} +% +% \subsection{Cyrillic math} +% +% For compatibility with older Russian packages we could define the |\No| +% macro. However the Belarusian number sign is now superseded with |\textnumero|. +% Moreover, it can be found of Belarusian keyboard. Therefore we discard |\No| +% since v.1.2. +% \begin{macrocode} +%\DeclareRobustCommand{\No}{% +% \ifmmode{\nfss@text{\textnumero}}\else\textnumero\fi} +% \end{macrocode} +% +% +% As of version 1.2 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 Belarusian typesetting +% traditions. Some math functions in Belarusian math books have names +% different from English writings. For example, \texttt{sinh} in +% Belarusian is called \texttt{sh}. Special consideration needs the +% macro |\th| that conflicts with the text symbol |\th| +% defined in Latin~1 encoding: +% +% \changes{1.2}{2004/05/21}{Change definition of \cs{th} +% only for this language} +% \begin{macrocode} +\def\sh{\mathop{\operator@font sh}\nolimits} +\def\ch{\mathop{\operator@font ch}\nolimits} +\def\tg{\mathop{\operator@font tg}\nolimits} +\def\ctg{\mathop{\operator@font ctg}\nolimits} +\def\arctg{\mathop{\operator@font arctg}\nolimits} +\def\arcctg{\mathop{\operator@font arcctg}\nolimits} +\addto\extrasbelarusian{% + \babel@save{\th}% + \let\ltx@th\th + \def\th{\textormath{\ltx@th}% + {\mathop{\operator@font th}\nolimits}}% + } +\def\cth{\mathop{\operator@font cth}\nolimits} +\def\cosec{\mathop{\operator@font cosec}\nolimits} +% \end{macrocode} +% +% \Describe\Prob{}% +% \DescribeOther\Variance{}% +% \DescribeOther\nod{}% +% \DescribeOther\nok{}% +% \DescribeOther\NOD{}% +% \DescribeOther\NOK{}% +% \DescribeOther\Proj{}% +% Finally, we define some rare Belarusian mathematical symbols: +% \begin{macrocode} +\def\Prob{\mathop{\kern\z@\mathsf{P}}\nolimits} +\def\Variance{\mathop{\kern\z@\mathsf{D}}\nolimits} +\if@uni@ode@be + \def\nod{\mathop{\mathrm{н.а.д.}}\nolimits} + \def\nok{\mathop{\mathrm{н.а.к.}}\nolimits} + \def\NOD{\mathop{\mathrm{НАД}}\nolimits} + \def\NOK{\mathop{\mathrm{НАК}}\nolimits} + \def\nad{\mathop{\mathrm{н.а.д.}}\nolimits} + \def\nak{\mathop{\mathrm{н.а.к.}}\nolimits} + \def\NAD{\mathop{\mathrm{НАД}}\nolimits} + \def\NAK{\mathop{\mathrm{НАК}}\nolimits} + \def\Proj{\mathop{\mathrm{Пр}}\nolimits} +\else + \def\nod{\mathop{\cyrmathrm{\cyrn.\cyra.\cyrd.}}\nolimits} + \def\nok{\mathop{\cyrmathrm{\cyrn.\cyra.\cyrk.}}\nolimits} + \def\NOD{\mathop{\cyrmathrm{\CYRN\CYRA\CYRD}}\nolimits} + \def\NOK{\mathop{\cyrmathrm{\CYRN\CYRA\CYRK}}\nolimits} + \def\nad{\mathop{\cyrmathrm{\cyrn.\cyra.\cyrd.}}\nolimits} + \def\nak{\mathop{\cyrmathrm{\cyrn.\cyra.\cyrk.}}\nolimits} + \def\NAD{\mathop{\cyrmathrm{\CYRN\CYRA\CYRD}}\nolimits} + \def\NAK{\mathop{\cyrmathrm{\CYRN\CYRA\CYRK}}\nolimits} + \def\Proj{\mathop{\cyrmathrm{\CYRP\cyrr}}\nolimits} +\fi +% \end{macrocode} +% +% \subsection{Final settings} +% +% The macro |\ldf@finish| does work needed +% at the end of each \file{.ldf} file. This +% includes resetting the category code of the \texttt{@}-sign, +% loading a local configuration file, and preparing the language +% to be activated at |\begin{document}| time. +% +% \changes{1.1d}{1996/11/03}{Now use \cs{ldf@finish} to wrap +% up} +% \begin{macrocode} +\ldf@finish{belarusian} +% \end{macrocode} +% +% \begin{macrocode} +% \end{macrocode} +%\iffalse +% +%\fi +% \CheckSum{2215} +%\Finale diff --git a/Master/texmf-dist/source/generic/babel-belarusian/belarusian.ins b/Master/texmf-dist/source/generic/babel-belarusian/belarusian.ins new file mode 100644 index 00000000000..bd34f3a497d --- /dev/null +++ b/Master/texmf-dist/source/generic/babel-belarusian/belarusian.ins @@ -0,0 +1,83 @@ +%% +%% This is file `belarusian.ins', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% belarusian.dtx (with options: `install') +%% ---------------------------------------------------------------- +%% Belarusian Language Support for the Babel package +%% E-mail: andrew@shadura.me +%% Released under the LaTeX Project Public License v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% ---------------------------------------------------------------- +\input docstrip.tex +\keepsilent +\askforoverwritefalse +\preamble +---------------------------------------------------------------- +Belarusian Language Support for the Babel package +E-mail: andrew@shadura.me +Released under the LaTeX Project Public License v1.3c or later +See http://www.latex-project.org/lppl.txt +---------------------------------------------------------------- +\endpreamble +\postamble +---------------------------------------------------------------- +Copyright 2016, 2018 Andrej Shadura +Copyright 2011-2016 Igor A. Kotelnikov. +Copyright 2000 Aleksey Novodvorsky +Copyright 1995-2008 Olga Lapko. +Copyright 1989-2012 Johannes L. Braams. + +This file is a part of the Belarusian-Babel package. + +It may be distributed and/or modified under the +conditions of the LaTeX Project Public License (LPPL), either +version 1.3c of this license or (at your option) any later +version. The latest version of this license is in the file: + + http://www.latex-project.org/lppl.txt + +The package is "maintained" (as per LPPL maintenance status) by +Andrej Shadura. + +The package consists of the file belarusian.dtx +and the derived files belarusian.ins, + belarusian.ldf, + belarusian.pdf, + README.md +---------------------------------------------------------------- +\endpostamble +\usedir{tex/generic/babel/contrib} +\generate{ + \file{\jobname.ldf}{\from{\jobname.dtx}{code}} +} +\endbatchfile +%% ---------------------------------------------------------------- +%% Copyright 2016, 2018 Andrej Shadura +%% Copyright 2011-2016 Igor A. Kotelnikov. +%% Copyright 2000 Aleksey Novodvorsky +%% Copyright 1995-2008 Olga Lapko. +%% Copyright 1989-2012 Johannes L. Braams. +%% +%% This file is a part of the Belarusian-Babel package. +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License (LPPL), either +%% version 1.3c of this license or (at your option) any later +%% version. The latest version of this license is in the file: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% The package is "maintained" (as per LPPL maintenance status) by +%% Andrej Shadura. +%% +%% The package consists of the file belarusian.dtx +%% and the derived files belarusian.ins, +%% belarusian.ldf, +%% belarusian.pdf, +%% README.md +%% ---------------------------------------------------------------- +%% +%% End of file `belarusian.ins'. diff --git a/Master/texmf-dist/source/generic/babel-belarusian/belarusianb.dtx b/Master/texmf-dist/source/generic/babel-belarusian/belarusianb.dtx deleted file mode 100644 index f1d2df0fc50..00000000000 --- a/Master/texmf-dist/source/generic/babel-belarusian/belarusianb.dtx +++ /dev/null @@ -1,1968 +0,0 @@ -% \iffalse meta-comment -% !TEX program = xeLaTeX -% !Mode:: TEX:DTX:UNIX:UTF-8:US:RU -%<*internal> -\iffalse -% -%<*readme> ----------------------------------------------------------------- - -Belarusian language module for Babel, v1.3h - -Released under the LaTeX Project Public License v1.3c or later. -See http://www.latex-project.org/lppl.txt - -The package provides support for use of Babel in documents written in Belarusian -(in both official and "classic" forms). The support is adapted for use both -under legacy TEX engines, and under X∃TEX and LuaTEX. - -Based on Russian language module v1.3h by Igor A. Kotelnikov -and Belarusian language module v1.1l by Aleksey Novodvorsky . - -The Current Maintainer is Andrew Shadura . - - -1. INSTALLATION - -- unpack babel-belarusian.zip -- run "xelatex.exe belarusianb.dtx" (recommended) - or "pdflatex.exe belarusianb.dtx"; - run "tex.exe belarusianb.dtx" - or "tex.exe belarusianb.ins", if you don't need documentation -- move "belarusianb.ldf" to /tex/generic/babel/contrib/ -- move "belarusianb.pdf" and README to /doc/latex/belarusian-babel/ -- update filename base (see documentation for your TeX system) - - -2. USAGE - -Belarusian language definition file can be used both with legacy 8-bit engines -(such as latex.exe or pdflatex.exe) and Unicode compilers (xelatex.exe or -lualatex.exe). The Unicode engines can be ran either in Unicode mode or 8-bit -compatibility mode, which emulates the legacy engines. The two modes differ by -a set of packages loaded in the preamble of a source TeX file. It is important -to keep recommended order of the packages loaded, especially when running -Unicode engines in a compatibility 8-bit mode. - -In the examples below, it is assumed that a source file has utf8 input encoding. - -2.1. 8-bit mode - -2.1.1 PDFLATeX, LaTeX - - \usepackage[T1,T2A]{fontenc} - \usepackage[utf8]{inputenc} - \usepackage[english,belarusian]{babel} - -2.1.2 LuaLaTeX - - \usepackage[T1,T2A]{fontenc} - \usepackage[lutf8]{luainputenc} - \usepackage[english,belarusian]{babel} - -2.1.3 XeLaTeX - - \XeTeXinputencoding "bytes" - \usepackage[utf8]{inputenc} - \usepackage[T2A]{fontenc} - \usepackage[english,belarusian]{babel} - -2.2 Unicode mode, LuaLaTeX or XeLaTeX - - \usepackage{fontspec} - \defaultfontfeatures{Ligatures={TeX}} - \setmainfont{CMU Serif} - \setsansfont{CMU Sans Serif} - \setmonofont{CMU Typewriter Text} - \usepackage[english,belarusian]{babel} - -Instead of the Computer Modern Unicode (CMU) fonts loaded in this example, -you may use any True Type or Open Type fonts installed on your computer. - -2.3 Using "classic" (Taraškievič) spelling - - \usepackage[english,belarusian]{babel} - \languageattribute{belarusian}{classic} -or - \usepackage[english,belarusian.classic]{babel} -or - \usepackage[english,belarusian]{babel} - \languageattribute{belarusian}{tarask} -or - \usepackage[english,belarusian.tarask]{babel} - -3. DOCUMENTATION - -See belarusianb.pdf for more information. - - -4. 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. - - -5. CHANGES - -2016-04-07 version 1.3h - - * Initial version - -Original source: russianb.dtx, - 2016-02-18 v1.3h Russian support from the babel system. - ----------------------------------------------------------------- -% -%<*internal> -\fi -\def\nameofplainTeX{plain} -\ifx\fmtname\nameofplainTeX\else - \expandafter\begingroup -\fi -% -%<*install> -\input docstrip.tex -\keepsilent -\askforoverwritefalse -\preamble ----------------------------------------------------------------- -Belarusian Language Support for the Babel package -E-mail: andrew@shadura.me -Released under the LaTeX Project Public License v1.3c or later -See http://www.latex-project.org/lppl.txt ----------------------------------------------------------------- -\endpreamble -\postamble ----------------------------------------------------------------- -Copyright 2016 Andrew Shadura -Copyright 2011-2016 Igor A. Kotelnikov. -Copyright 2000 Aleksey Novodvorsky -Copyright 1995-2008 Olga Lapko. -Copyright 1989-2012 Johannes L. Braams. - -This file is a part of the Belarusian-Babel package. - -It may be distributed and/or modified under the -conditions of the LaTeX Project Public License (LPPL), either -version 1.3c of this license or (at your option) any later -version. The latest version of this license is in the file: - - http://www.latex-project.org/lppl.txt - -The package is "maintained" (as per LPPL maintenance status) by -Andrew Shadura. - -The package consists of the file belarusianb.dtx -and the derived files belarusianb.ins, - belarusianb.ldf, - belarusianb.pdf, - README. ----------------------------------------------------------------- -\endpostamble -\usedir{tex/generic/babel/contrib} -\generate{ - \file{\jobname.ldf}{\from{\jobname.dtx}{code}} -} -% -%\endbatchfile -%<*internal> -\usedir{source/latex/babel-belarusian} -\generate{ - \file{\jobname.ins}{\from{\jobname.dtx}{install}} -} -\nopreamble\nopostamble -\usedir{doc/latex/babel-belarusian} -\generate{ - \file{README.}{\from{\jobname.dtx}{readme}} -} -\ifx\fmtname\nameofplainTeX - \expandafter\endbatchfile -\else - \expandafter\endgroup -\fi -% -%<*code> -\NeedsTeXFormat{LaTeX2e} -%\ProvidesFile{belarusianb.ldf}[2016/04/07 1.3h Belarusian support for the Babel system] -\ProvidesLanguage{belarusianb}[2016/04/07 1.3h Belarusian support for the Babel system] -% -%<*driver> -\documentclass[a4paper]{ltxdoc} -%% -%% This document should be compiled by -%% XeLaTeX or LuaLaTex since some cyrillic -%% glyphs are absent in T2* encodings used -%% by LaTeX. -%% -\usepackage{ifxetex,ifluatex} -\ifnum 0\ifxetex 1\fi\ifluatex 1\fi>0 - \usepackage{fontspec} - \defaultfontfeatures{Ligatures={TeX}} - \setmainfont{CMU Serif} - \setsansfont{CMU Sans Serif} - \setmonofont{CMU Typewriter Text} - %\setmonofont[Scale=MatchLowercase]{Courier New} - %\setmonofont[Scale=MatchUppercase]{Courier New} - %\setmonofont{Courier New} -\else - \usepackage[X2,T2A]{fontenc} - \usepackage[utf8]{inputenc} -\fi -\usepackage[belarusian.classic,main=english]{babel} -%\languageattribute{belarusian}{classic} -\usepackage[dvipsnames,usenames]{xcolor} - \definecolor{thered} {rgb}{0.65,0.04,0.07} - \definecolor{thegreen}{rgb}{0.06,0.44,0.08} - \definecolor{thegrey} {gray}{0.8} - \definecolor{theshade}{rgb}{1,1,0.97} - \definecolor{theframe}{gray}{0.6} - \definecolor{theblue}{cmyk}{1.00, 0.50, 0.00, 0.40} -%\usepackage[numbered]{hypdoc} -\usepackage[colorlinks=true - ,linkcolor=violet %theblue % - ,filecolor=purple %thegreen% - ,citecolor=teal %thegreen% -]{hyperref} -% ==================================== -\newcommand*\TeXhax{\TeX hax} -\newcommand*\babel{\textsf{babel}} -\newcommand*\Babel{\textsf{Babel}} -\newcommand*\xetex{\textsf{xetex}} -\newcommand*\luatex{\textsf{luatex}} -\providecommand*\m[1]{\mbox{$\langle$\normalfont\itshape#1\/$\rangle$}} -\newcommand*\langlist{% - \meta{language}\texttt{,}\meta{language}\texttt{,}...} -\newcommand*\langvar{\m{lang}} -\newcommand*\note[1]{} -\newcommand*\Lopt[1]{\textsf{#1}} -\newcommand*\Lenv[1]{\textsf{#1}} -\newcommand*\menv[1]{\char`\{#1\char`\}} -\newcommand*\Eenv[1]{% - \quad\ldots\quad - \texttt{\color{thered}\string\end\menv{#1}}} -\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 - ,\Belarusian,\cyrdash,\cdash - ,\cyr,\cyrillictext,\textcyrillic,\cyrillicencoding - ,\addto,\captionsbelarusian,\datebelarusian,\noextrasbelarusian,\extrasbelarusian - ,\languageattribute - ,\Asbuk,\asbuk,\ch,\sh,\tg,\ctg,\arctg,\arcctg\,\th,\cth,\cosec - ,\nod,\nok,\prog,\NOF\,\NOK,\Prog - ,\dq,\Proj,\nad,\NAD,\nak,\NAK,\Prob,\Variance - ,\nod,\NOD,\nok,\NOK - ,\XeTeXinputencoding - } - ,keywordstyle=[0]\color{thered} - ,keywords=[1]{main,belarusian,english,german,frenchb - ,shorthands,extrasenglish - ,stringprocess,afterextras - ,soft,empty,nobreak,hard - ,Renderer,Ligatures - ,official,classic,tarask - ,T1,T2A,lutf8,utf8 - ,fontspec,babel,inputenc,fontenc - }, - keywordstyle=[1]\color{thegreen}, - comment=[l]\%, - commentstyle=\color{thegrey}\itshape, - alsoother={0123456789_}, - frame=single, - backgroundcolor=\color{theshade}, - rulecolor=\color{theframe}, - framerule=\fboxrule, - } - \let\verbatim\relax - \lstnewenvironment{verbatim}[1][]{\lstset{##1}}{} - \AtBeginDocument{% - \DeleteShortVerb{\|}% - \lstMakeShortInline|% - } -}{} -\def\PrintDescribeMacro#1{% - \strut\MacroFont\color{thered}\normalsize\string#1} -\def\Describe#1{% - \par\penalty-500\vskip3ex\noindent - \DescribeMacro{#1}\args} -\def\DescribeOther{\vskip-5.8ex\Describe} -\makeatletter -\def\args#1{% - \def\bbl@tempa{#1}% - \ifx\bbl@tempa\@empty\else#1\vskip1ex\fi\ignorespaces} -\makeatother -% ==================================== -\EnableCrossrefs -%\DisableCrossrefs % Say \DisableCrossrefs if index is ready -\CodelineIndex % Index code by line number -\RecordChanges % Gather update information -%\PageIndex % Index code by page number -% ==================================== -\begin{document} - \DocInput{\jobname.dtx} -\end{document} -% -% \fi -% -%\GetFileInfo{belarusianb.dtx} -%\GetFileInfo{belarusianb.ldf} -% -%\title{^^A -% \textsf{Belarusian} --- 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 Belarusian Language\\ -% in the \babel\ system\\[0.5em] -% \large Version \fileversion} -% -% \author{Andrew Shadura\footnote{E-mail: \href{mailto:andrew@shadura.me}{andrew@shadura.me}.}} -% -% \date{Released \filedate} -% -% \maketitle -% -% {\small\tableofcontents} -% -% -% \section{The Belarusian Language Definition File} -% -% The file \file{\filename}\footnote{The file described in this document -% has the version number \fileversion\ and was last revised on \filedate.} -% is the source file for the Belarusian Language Definition file -% \file{belarusianb.ldf} to be loaded by the \babel\ package with -% the option \Lopt{belarusian}. It's based on the Russian language definition -% file derived by Igor A. Kotelnikov from the original version of \file{\filename}, first -% released by Olga Lapko and Johannes Braams and then -% adapted to the T2* and X2 Cyrillic encodings -% by Vladimir Volovich and Werner Lemberg, and the Belarusian language definition -% file written by Aleksey Novodvorsky based on even older version of the Russian -% language definition file. -% -% Just like \file{russianb.ldf}, \file{belarusianb.ldf} is designed to work both with -% legacy non-unicode (8-bit) and new Unicode encodings of the source document -% files (input encodings) and of the font files (font encodings). This is -% achieved by excluding (bypassing) the |\cyr...| macros, which map every letter -% in a source file with given input encoding to a corresponding code point in a -% font file with a given font encoding when running modern engines, such as -% Lua\LaTeX\ or Xe\LaTeX, in native Unicode mode instead of legacy engines, such -% as \LaTeX\ or PDF\LaTeX, or Unicode engines in a compatibility (8-bit) mode. A -% few obsolete and controversial macros has been eliminated in first public -% release of version 1.2 of \file{russianb.ldf}. -% -% Similarly to \file{russianb.ldf}'s support for typesetting ancient and -% Church Slavonic books, \file{belarusianb.ldf} supports two versions of Belarusian -% orthography, the official one (\Lopt{official}) and the ‘classic’ (Taraškievič) -% orthography. -% -% \section{Usage} -% -% Typesetting Belarusian texts implies that a special input and output -% encodings should be used. Input encodings are those which are used in source -% (\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 -% 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 -% Modern Unicode, Linux Libertine, and many other system fonts that came with -% Linux, Mac and Windows operating systems. -% -% With the advent of Unicode, \LaTeX\ community are moving towards eliminating -% all existing encodings in favor of Unicode, but nowadays one should take -% care when switching from \LaTeX\ to Lua\LaTeX\ or Xe\LaTeX\ since -% different packages should be loaded for those compilers. -% -% Since earlier versions \pkg{babel} did not -% support Xe\LaTeX\ (at least for some languages including Belarusian), the -% \pkg{polyglossia} package was generally recommended in the past for -% use with Xe\LaTeX\ as a replacement for \pkg{babel}. Nowadays, \pkg{babel} -% can be used with any engines, including \LaTeX, PDF\LaTeX, Lua\LaTeX, and -% Xe\LaTeX. Nevertheless some troubles may occur with some languages which -% have no promptly updated \file{.ldf} files. -% -% -% \subsection{\LaTeX} -% -% When user's document is compiled with \file{latex.exe} or \file{pdflatex.exe}, -% recommended set of packages includes the \pkg{inputenc} and \pkg{fontenc} -% packages. They should be loaded before \pkg{babel}, for example, -% \begin{verbatim} -% \usepackage[T1,T2A]{fontenc} -% \usepackage[utf8]{inputenc} -% \usepackage[english,belarusian]{babel} -%\end{verbatim} -% Some variations in the order of loading the packages are allowed in this case -% but it is better to follow one and the same convention at all circumstances: -% the \pkg{babel} package should go last, and \pkg{fontenc} must be the first. -% -% Input encoding should be declared as option to the \pkg{inputenc} -% package. Known Cyrillic encodings include -% \texttt{cp1251} (Windows), \texttt{koi8-u} (UNIX) and their variants. -% Nowadays, this list is appended with \texttt{utf8} input encoding. -% -% 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 not supported since \texttt{LWN} has been excluded -% from the \pkg{cyrillic} bundle of related files. -% -% -% \subsection{Lua\LaTeX} -% -% If Unicode fonts are not available, Lua\LaTeX\ can run in compatibility -% (8-bit) mode to use same font as \LaTeX\ does. However the package -% \pkg{inputenc} does not work with Lua\LaTeX\ and should be substituted with -% \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,belarusian]{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 -% \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 -% 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,belarusian]{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,belarusian]{babel} -%\end{verbatim} -% Here |Renderer=Basic,Ligatures={TeX}| activates ligatures which are existed -% 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 -% 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=belarusian,german]{babel} -%\end{verbatim} -% %\unskip -% -% -% -% \subsection{Xe\LaTeX} -% -% 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 -% like a 8-bit \LaTeX\ engine: -% \begin{verbatim} -% \XeTeXinputencoding "bytes" -% \usepackage[utf8]{inputenc} -% \usepackage[T2A]{fontenc} -% \usepackage[english,belarusian]{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 -% 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}. -% -% -% 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,belarusian]{babel} -%\end{verbatim} -% %\unskip -% -% -% \subsection{Official and ‘classic’ spelling} -% \label{ssec:spelling} -% -% By default, the official spelling is enabled. The ‘classic’ (Taraškievič) -% ancient spelling can be enabled by setting the attribute to \Lopt{classic} or -% \Lopt{tarask}. To set an attribute, put the |\languageattribute| macro -% within a document preamble after \babel, for example, -%\begin{verbatim} -% \usepackage[english,belarusian]{babel} -% \languageattribute{belarusian}{classic} -%\end{verbatim} -% Setting the \Lopt{classic} attribute changes the built-in strings (caption names) -% and a date format. For example, the references list will be entitled as -% `\textcyrillic{Спіс літаратуры}' by default and as `\textcyrillic{Сьпіс літаратуры}' if the -% Belarusian language attribute is set to \Lopt{classic}. -% The same result can be achieved using a modifier as follows: -%\begin{verbatim} -%\usepackage[english,belarusian.classic]{babel} -%\end{verbatim} -% Using a modifier in a package option is often better. A modifier is set after -% the language name, and is prefixed with a dot (only when the language is set -% as package option, neither global options nor the main key accept them). -% -% Both attributes \Lopt{classic} and \Lopt{tarask} may be used interchangeably. -% -%\section{User's commands} -% -% In a multilingual document, some typographic rules are language -% dependent and should apply to the whole document. -% -%^^AAs of version~1.2, \file{belarusianb.ldf} behaves differently -%^^Aaccording to \babel's \emph{main language} defined as the \emph{last} -%^^Aoption. When Belarusian is -%^^A|babel|'s main language, it adjusts global layout of the document -%^^Aaccording to typographical conventions of Belarusian language. Namely, -%^^A\file{belarusianb.ldf} makes the following changes to global layout even -%^^Ain the parts where Belarusian is not current language: -%^^A\begin{enumerate} -%^^A\item -%^^A the first paragraph of any section becomes indented (\LaTeX{} only). -%^^A (this is obsolete statement starting from version 1.2a) -%^^A\end{enumerate} -% -% Regarding local typography, the macro |\selectlanguage{belarusian}| -% switches to the Belarusian language, with the following effects: -% \begin{enumerate} -% \item Belarusian hyphenation patterns are made active; -% \item |\today| prints the date in Belarusian; -% \item the caption names are translated into Belarusian -% (\LaTeX{} only); -% \item emdash typed by the ligature |---| might be 20\% shorter when Belarusian -% is the current language; the result depends on the current encoding; |---| -% always produce long emdash in Lua\TeX\ and Xe\TeX\ since these engines -% use same encodings for all languages; -% \item emdash typed by the ligature |"---| in Belarusian is 20\% shorter, however -% the ligature |"---| might not be defined in other languges; a -% shorter emdash (i.e. |\cyrdash|) can be typeset in any language using -% special macros enlisted in table \ref{tab:belarusian-quote}. -% \end{enumerate} -% -% By default, the official spelling is used for built-it strings (caption names) and -% the date. The spelling can be reverted to the classic one by setting the language -% attribute to \Lopt{classic} in the document preamble as discussed in -% Sec.~\ref{ssec:spelling}. -% -% Since Belarusian has its own numbering system, \file{belarusianb.ldf} adds macros -% |\asbuk|\marg{counter} and |\Asbuk|\marg{counter} for formatting numbers appropriately the alphabetic -% sequence in the Belarusian alphabet. Additional commands are provided -% to typeset quotes: -% \begin{enumerate} -% \item French quotation marks can be entered using the commands -% |\guillemotleft| and |\guillemotright| which work in \LaTeXe\ -% and Plain\TeX. -% \item German quotation marks can be entered using the commands -% |\glqq| and |\grqq| which work in \LaTeXe\ and Plain\TeX. -% \end{enumerate} -% -% The macro |\Belarusian| is now defined as an alias for -% |\selectlanguage{belarusian}|, and its ``opponent'' |\English|, existed -% in \file{belarusianb.ldf} prior to version 1.2 has been removed since the Belarusian -% language definition file is wrong place for definition of macros which -% switch to a distinct other language. -% -% The macro |\textcyrillic|\marg{text} is intended to typeset small chunks of text -% in Belarusian; it is essentially an alias for |\foreignlanguage{belarusian}|\marg{text}. -% -% -% \subsection{Active character} -% -% Table~\ref{tab:belarusian-quote} shows macros and active string which can be -% used to typeset various dashes and quotes. -% In the Belarusian language, the character |"| is made active. It can be -% considered as second escape character in addition to |\|. Some dashes and -% all quotes can be typed using both active character |"| and ordinary -% macros as indicated in the table. However, some shorthanded hyphenations -% have no macro counterpart. -% -% \begin{table}[ht]\centering -% \caption{Extra definitions made -% by \file{belarusianb.ldf}}\label{tab:belarusian-quote} -% \medskip -% \begin{tabular}{llp{7cm}} -% \hline\hline\\[-0.5em] -% |\glqq| & |"`| & -% German opening double quote (looks like ,\kern-0.08em,). \\ -% |\grqq| & |"'| & -% German closing double quote (looks like ``). \\ -% |\guillemotleft| & |"<| & -% French opening double quote (looks like $<\!\!<$). \\ -% |\guillemotright| & |">| & -% French closing double quote (looks like $>\!\!>$). \\ -% |\dq| & & -% Original quotes character (|"|). \\[0.5em] -% |\babelhyphen{soft}| -% & |"-| & Optional (soft) hyphen sign, similar to |\-| but allows -% hyphenation in the rest of the word; -% equivalent to |\babelhyphen{soft}| in \pkg{babel} 3.9. \\ -% |\babelhyphen{empty}| -% & |""| & Similar to |"-| but prints no hyphen sign -% (used for compound words with hyphen, e.g. |x-""y|); -% equivalent to |\babelhyphen{empty}| in \pkg{babel} 3.9. \\ -% |\babelhyphen*{nobreak}| -% & |"~| & Compound word mark without a breakpoint, prints hyphen -% prohibiting hyphenation at the point; -% equivalent to |\babelhyphen*{nobreak}| in \pkg{babel} 3.9. \\ -% |\babelhyphen{hard}| -% & |"=| & A compound word mark with a breakpoint, prints hyphen -% allowing hyphenation in the composing words. -% equivalent to |\babelhyphen{hard}| in \pkg{babel} 3.9. \\ -% |\babelhyphen{nobreak}| -% & \verb="|= & Disables ligature at this position; -% equivalent to |\babelhyphen{nobreak}| (??) in \pkg{babel} 3.9. -% \\[0.5em] -% |\cyrdash| & & Row Cyrillic emdash (does not care -% spaces around). \\ -% |\cdash---| & |"---| & -% Cyrillic emdash in plain text. \\ -% |\cdash--~| & |"--~| & -% Cyrillic emdash in compound names -% (as in |Mendeleev"--~Klapeiron|). \\ -% |\cdash--*| & |"--*| & -% Cyrillic emdash for denoting direct speech. \\ -% & |",| & Thin space -% (allows further hyphenation as in |D.",Mendeleev|). \\[0.5em] -% \hline\hline -% \end{tabular} -% \end{table} -% Note that the standard soft hyphen |\-| is equivalent to |\babelhyphen*{soft}|. -% -% \medskip -% -% The quotation marks traditionally used in Belarusian were borrowed from -% other languages (e.g., French and German) so they keep their original -% names. -% -% 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}). -% -% 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 -% as well for 8-bit fonts encoded according to \texttt{T2A} if source file -% is encoded with \texttt{cp1251} or {utf8}. -% -% By default, active double quote is switched on. It can be switched off -% any time using |\shorthandoff{"}| and the switched on again using -% |\shorthandon{"}|. The aliases |\mdqoff| and |\mdqon| for these two macros -% has been removed from \file{belarusianb.ldf} starting from version 1.3 in favour of -% the macros |\shorthandon| and |\shorthandoff| provided in the \pkg{babel} core. -% -% -% \subsection{Math commands} -% -% \file{\filename} defines few macros than can be used independently -% of current language. These are 9 macros to be used in math mode to type -% the names of trigonometric functions common for Belarusian documents: -% |\sh|, |\ch|, |\tg|, |\ctg|, |\arctg|, |\arcctg|, |\th|, |\cth|, and -% |\cosec|. Cyrillic letters in math mode can be typed with the aid of -% text commands such as |\textbf|, |\textsf|, |\textit|, |\texttt|, e.t.c. -% -% The macros |\Prob|, |\Variance|, |\NAD|, |\nad|, |\NAK|, |\nak|, |\Proj| -% print some rare Belarusian mathematical symbols. -% -% -% \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, Belarusian letter `a' matches -% macro |\cyra|, and capital Belarusian 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. -% -% 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. -% -% Some inconsistences of prior versions of \file{\filename} was also -% overcame in the version 1.2. Those users who used |\selectlanguage| macro, -% defined in the core \pkg{babel} system, to switch between -% different languages should not worry. However, the macros -% |\Belarusian|, |\Englsih| and their aliases |\Rus|, |\cyr|, -% |\Eng| are modified or removed as they did not -% conform the mechanism of language switching encoded into the -% core of \pkg{babel} and therefore can mess it. -% -% -% \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. -% -% \cs{cyrdash} might produce dashes of different width in same document after -% switching to/from Belarusian language if the document is compiled with legacy -% engines. -% -% \section{History} -% -%\StopEventually{^^A -% \setlength{\postmulticols}{100pt} % 20pt by default -% \PrintChanges -% \PrintIndex -%} -% -%\iffalse -%<*code> -%\fi -% -% -% \section{Implementation} -% -% \changes{1.3e}{2014/10/14}{Update documentation} -% \changes{1.3d}{2014/10/02}{Fix bug in \cs{Proj}} -% \changes{1.3c}{2014/06/02}{Fix bug in \cs{datebelarusian}} -% \changes{1.3b}{2013/04/06}{Renamed to belarusianb to work with babel 3.9} -% \changes{1.2b}{2013/01/08}{Renamed to belarusianu to work with babel-beta 3.9} -% \changes{1.2a}{2012/06/06}{Indentation of 1st paragraph removed} -% \changes{1.1c}{1996/07/11}{Replaced \cs{undefined} with -% \cs{@undefined} and \cs{empty} with \cs{@empty} for consistency -% with \LaTeX} -% \changes{1.1d}{1996/10/10}{Moved the definition of -% \cs{atcatcode} right to the beginning.} -% \changes{1.1k}{1999/08/19}{replaced all \cs{penalty}\cs{@M} -% with \cs{nobreak}} -% \changes{1.1f}{1998/06/26}{% -% Added definitions of Cyrillic emdash stuff and thinspace} -% \changes{1.1f}{1998/06/26}{% -% Added definitions of Cyrillic emdash stuff and thinspace} -% -% -% \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. -% -% \changes{1.1d}{1996/11/03}{Now use \cs{LdfInit} to perform -% initial checks} -% \changes{1.1e}{1996/12/29}{Added closing brace to second -% argument of \cs{LdfInit}} -% \begin{macrocode} -\LdfInit{belarusian}{captionsbelarusian} -% \end{macrocode} -% -% First, we check if Lua\LaTeX\ or Xe\LaTeX\ is running. If so, we set -% boolean key |\if@uni@ode| to true. It will be used to eliminate |\cyr...| -% commands, which were introduced in \LaTeX2e\ to handle various -% Cyrillic input encoding. With the advent of Unicode \LaTeX\ is -% moving to universal input encoding, so we consider these |\cyr...| -% commands as obsolete. They are preserved though for backward -% compatibility in case if \LaTeX\ or PDF\LaTeX\ are running. -% -% We don't load the \pkg{ifluatex} or \pkg{ifxetex} package because -% |\RequirePackage| is not allowed at the stage of processing options -% (note that babel loads this file right when it processes its own options) -% but we borrow code from these packages. -% -% \changes{1.2}{2011/10/20}{Check for LuaTeX} -% \begin{macrocode} -\ifdefined\if@uni@ode - \PackageError{babel}{if@uni@ode already defined.\MessageBreak - Please contact author of belarusianb.ldf} - \relax -\fi -\newif\if@uni@ode -\ifdefined\luatexversion \@uni@odetrue \else -\ifdefined\XeTeXrevision \@uni@odetrue \fi\fi -% \end{macrocode} -% -% Check if hyphenation patterns for the Belarusian language have been -% loaded in \file{language.dat}. Namely, we check for the existence of -% |\l@belarusian|. If it is not defined, we declare Belarusian as dialect -% for the default language number 0 which almost for sure is English. -% -% \begin{macrocode} -\ifx\l@belarusian\@undefined - \@nopatterns{Belarusian} - \adddialect\l@belarusian0 -\fi -% \end{macrocode} -% Now |\l@belarusian| is always defined. -% -% \subsection{Output encoding} -% -% We need to know font encoding that is supposed to be -% active at the end of the \babel\ package. Default font encoding, set by -% \LaTeX\ core, is \texttt{OT1}. This can be changed by the \pkg{fontenc} -% package in case of \LaTeX\ and by \pkg{fontspec} package in case of -% Lua\LaTeX. It matters weather these packages are loaded before of after -% \pkg{babel}. In the latter case or if these packages are not loaded at all, -% \file{belarusianb.ldf} ignores their effect and tries to provide some -% reasonable settings. In particular, \texttt{T2A} will be selected for -% Belarusian language if \LaTeX\ is running but \texttt{EU1} in case of -% Xe\LaTeX\ and \texttt{EU2} in case of Lua\LaTeX. -% -% \begin{macro}{\latinencoding} -% \changes{1.2}{2011/10/20}{Removed \cs{latinencoding}} -% -% The macro |\latinencoding| keeps the name of Latin encoding. It is -% defined in \file{babel.def} and is wrapped into |\AtBeginDocument| to allow -% for late loading \pkg{fontenc}. Therefore it does not matter -% whether \pkg{babel} is loaded before or after the \pkg{fontenc}. -% As of version 1.2, definition of |\latinencoding| was removed from -% \file{belarusianb.ldf} since it is overruled in \file{babel.def}. -% For example, after -%\begin{verbatim} -%\usepackage[T1,T2A]{fontenc} -%\usepackage[english,belarusian]{babel} -%\end{verbatim}% -% as well as after -%\begin{verbatim} -%\usepackage[english,belarusian]{babel} -%\usepackage[T1,T2A]{fontenc} -%\end{verbatim}% -% |\latinencoding| will be set to \texttt{T1}. -% After -%\begin{verbatim} -%\usepackage[english,belarusian]{babel} -%\end{verbatim}% -% |\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. -% -% \end{macro} -% -% \Describe\cyrillicencoding{} -% There is a limited list of encodings appropriate for Cyrillic text. We -% will look which of them is declared and keep its name in the macro -% |\cyrillicencoding|. -% Correct (but obsolete and now deleted) 7-bit Cyrillic encoding is -% \texttt{LWN}. -% Correct 8-bit Cyrillic encodings are -% \texttt{T2A} (default for 8-bit compilers), \texttt{T2B}, \texttt{T2C}, -% \texttt{LCY} and \texttt{X2}. -% Correct utf8 encodings are -% \texttt{EU1} (default for Xe\LaTeX), -% \texttt{EU2} (default for Lua\LaTeX). -% -% In 8-bit (\LaTeX) mode, user may choose between different non-unicode Cyrillic -% encodings---e.g., \texttt{X2} or \texttt{LCY}.\@ If user wants -% to use another font encoding rather than default (\texttt{T2A}), -% he has to load the corresponding file \emph{before} \file{babel.sty}. -% -% Remember that for the Belarusian 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 Belarusian 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. -% 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. -% -% \changes{1.2}{2011/10/20}{EU1 and EU2 encodings added} -% \begin{macrocode} -\def\@setcyrillicencoding{% - \def\sce@a##1##2{% - \edef\sce@b{##1}% - \edef\sce@c{##2}% - \ifx\sce@b\sce@c - \let\cyrillicencoding\sce@c - \fi}% - \def\cdp@elt##1##2##3##4{% - \sce@a{##1}{OT2}% - \sce@a{##1}{LCY}% - \sce@a{##1}{X2}% - \sce@a{##1}{T2C}% - \sce@a{##1}{T2B}% - \sce@a{##1}{T2A}% - \if@uni@ode - \sce@a{##1}{EU1}% - \sce@a{##1}{EU2}% - \fi}% - \cdp@list -} -\@setcyrillicencoding -\@onlypreamble\@setcyrillicencoding -\@onlypreamble\sce@a -\@onlypreamble\sce@b -\@onlypreamble\sce@c -% \end{macrocode} -% The last lines are to free the memory occupied by the macros -% |\@setcyrillicencoding| and |\sce@x| that are useless in the document. -% The contents of |\@begindocumenthook| is cleared automatically. -% -% 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. -% -% \changes{1.2}{2011/10/20}{Removed test for present of -% encoding files} -% \begin{macrocode} -\ifdefined\cyrillicencoding -\else - \if@uni@ode - \ifdefined\XeTeXrevision - \edef\cyrillicencoding{EU1} - \else\ifdefined\luatexversion - \edef\cyrillicencoding{EU2} - \fi\fi - \else - \edef\cyrillicencoding{T2A} - \fi - \PackageWarning{babel}% - {No Cyrillic font encoding has been loaded so far.\MessageBreak - A font encoding should be declared before babel.\MessageBreak - Default `\cyrillicencoding' encoding will be loaded - }% - \lowercase\expandafter{\expandafter\input\cyrillicencoding enc.def\relax}% -% \end{macrocode} -% As 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{belarusian}|; the latter rises an -% error if |\cyrillicencoding| would not be defined by that time. -% \begin{macrocode} - \AtBeginDocument{\@setcyrillicencoding} -\fi -% \end{macrocode} -% -% \Describe\Belarusian{} -% \DescribeOther\cyr{} -% \DescribeOther\cyrillictext{} -% For the sake of backward compatibility we keep the macro |\Belarusian| -% but redefine its meaning; now |\Belarusian| is simply an alias for -% |\selectlanguage{belarusian}|. -% -% 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. -% For example, the |\iflanguage| macro will fail. -% -% Second, |\cyrillictext| does -% not activate shorthands, so that |"<|, |">|, |"`|, |"'|, -% |"---|, e.t.c. will not work. -% -% And third, |\cyrillictext| does not write its trace -% to \file{.aux} file, which might result in wrong typesetting of -% table of content, list of table and list of figures in multilingual -% documents. -% -% Due to any of these reasons the use of the declaration |\cyrillictext| and -% its aliases in ordinary text is strongly discouraged. Instead of the -% declaration |\cyrillictext| it is recommended to use |\Belarusian| or the -% command |\foreignlanguage| defined in the \pkg{babel} core; their -% functionality is similar to |\selectlanguage{belarusian}| but they did not -% switch caption names, dates and shorthands. -% -% \begin{macrocode} -\DeclareRobustCommand{\Belarusian}{\selectlanguage{\belarusian}} -\DeclareRobustCommand{\cyrillictext}{% - \fontencoding\cyrillicencoding\selectfont - \let\encodingdefault\cyrillicencoding - \expandafter\set@hyphenmins\belarusianhyphenmins - \language\l@belarusian}% -\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{belarusianb.ldf}'s counterpart in the package \pkg{polyglossia}, -% analog of \pkg{babel} for Xe\LaTeX. -% -% \changes{1.2}{2011/10/20}{Removed \cs{English} macro} -% \begin{macrocode} -%%\DeclareRobustCommand{\English}{% -%% \fontencoding\latinencoding\selectfont -%% \let\encodingdefault\latinencoding -%% \expandafter\set@hyphenmins\englishhyphenmins -%% \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 -% 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. -% -% \changes{1.1o}{2003/10/12}{\cs{latintext} is already -% 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 -% \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{belarusian}|. -% \changes{1.1o}{2003/10/12}{\cs{textlatin} already defined -% by the core of babel} -% \begin{macrocode} -\DeclareTextFontCommand{\textcyrillic}{\cyrillictext} -% \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 Belarusian version of Windows ANSI encoding which is almost -% equivalent to \texttt{cp1251}. -% -% \textsc{Should we wrap this chunk into At Begin document?} -% -% \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} -% \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 Belarusian language} - \fi\fi\fi - %\fi -} -% \end{macrocode} -% -% -% \subsection{Shorthands} -% -% The double quote character \texttt{"} is declared to be active in -% Belarusian language. -% -% \changes{1.1a}{1995/03/07}{Use the new mechanism for dealing -% with active characters} -% \begin{macrocode} -\initiate@active@char{"} -% \end{macrocode} -% -% \changes{1.1f}{1998/06/26}{Added switch for -% doublequote shorthands} -% \changes{1.3}{2013/01/10}{Removed switch for -% doublequote shorthands} -% -% \begin{macro}{\mdqon} -% \begin{macro}{\mdqoff} -% Obsolete: Active double quote can be both activated and deactivated at any time -% using the macros |\mdqon| and |\mdqoff|. -% \begin{macrocode} -%\def\mdqon{\bbl@activate{"}} -%\def\mdqoff{\bbl@deactivate{"}} -% \end{macrocode} -% Initial activation state will set to on later in section \ref{sss:extra}. -% \end{macro} -% \end{macro} -% -% \Describe\dq{} -% The active character |"| is used as indicated in -% table~\ref{tab:belarusian-quote}. We save the original double quote -% character in the |\dq| macro to keep it available. -% The math accent |\"| can now be typed as `|"|'. -% -% \begin{macrocode} -\begingroup \catcode`\"12 -\def\reserved@a{\endgroup - \def\@SS{\mathchar"7019 } - \def\dq{"}} -\reserved@a -% \end{macrocode} -% -% \subsubsection{Quotes} -% -% 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 -% 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 -% 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, since v.1.2, we define |"<| and |">| directly -% through |\guillemotleft| and |\guillemotrigh|. -% -% \begin{macrocode} -\declare@shorthand{belarusian}{"`}{\quotedblbase} -\declare@shorthand{belarusian}{"'}{\textquotedblleft} -\declare@shorthand{belarusian}{"<}{\guillemotleft} -\declare@shorthand{belarusian}{">}{\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:belarusian-quote}. -% -% \begin{macrocode} -\declare@shorthand{belarusian}{""}{\hskip\z@skip} -\declare@shorthand{belarusian}{"~}{\textormath{\leavevmode\hbox{-}}{-}} -\declare@shorthand{belarusian}{"=}{\nobreak-\hskip\z@skip} -\declare@shorthand{belarusian}{"|}{% - \textormath{\nobreak\discretionary{-}{}{\kern.03em}\allowhyphens}{}} -% \end{macrocode} -% -% \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 |\belarusian@sh@next| and finally call for |\belarusian@sh@tmp|. -% -% \begin{macrocode} -\declare@shorthand{belarusian}{"-}{% - \def\belarusian@sh@tmp{% - \if\belarusian@sh@next-\expandafter\belarusian@sh@emdash - \else\expandafter\belarusian@sh@hyphen\fi}% - \futurelet\belarusian@sh@next\belarusian@sh@tmp} -% \end{macrocode} -% Two macros |\belarusian@sh@hyphen| and |\belarusian@sh@emdash| called by -% |\belarusian@sh@tmp| are defined below. The second of -% them has two parameters since it must gobble next two hyphen signs. -% \begin{macrocode} -\def\belarusian@sh@hyphen{\nobreak\-\bbl@allowhyphens} -\def\belarusian@sh@emdash#1#2{\cdash-#1#2} -% \end{macrocode} -% -% \Describe\cdash{} -% In its turn, |\belarusian@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} -% \end{macrocode} -% -% 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. -% \begin{macrocode} -\def\@Acdash{\ifdim\lastskip>\z@\unskip\nobreak\hskip.2em\fi - \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. -% \begin{macrocode} -\def\@Bcdash{\leavevmode\ifdim\lastskip>\z@\unskip\fi - \nobreak\cyrdash\penalty\exhyphenpenalty\hskip\z@skip\ignorespaces}% -% \end{macrocode} -% -% |\@Ccdash| is invoked by |"--*|. It denotes direct speech and adds small -% space after the dash. -% \begin{macrocode} -\def\@Ccdash{\leavevmode - \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{belarusian}% - {\hbox to.8em{--\hss--}}{\textemdash}} -% \end{macrocode} -% -% \changes{1.1f}{1998/06/26}{% -% Add macro for thin space between initials} -% -% Finally, we define a shorthand thin space to be placed between initials -% as in |D.",Mendeleev|. When used instead of |\,| as in |D.\,Mendeleev| -% it allows hyphenation in the next word. -% -% \begin{macrocode} -\declare@shorthand{belarusian}{",}{\nobreak\hskip.2em\ignorespaces} -% \end{macrocode} -% -% -% \subsection{Switching to and from Belarusian} -% -% Now we define additional macros used to reset current language to -% Belarusian and back -% to some original state. The package \pkg{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} -% -% First, we define Belarusian equivalents for Belarusian caption names. -% -% \Describe\captionsbelarusian{} -% The macro |\captionsbelarusian| 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 Belarusian captions are called only if current language is Belarusian. -% However, the macros such as |\Belarusian| do not conform to strict rules -% of the package \pkg{babel} as explained in the above. -% -% As of version v.1.2 we eliminate |\cyr...| macros from caption names -% if Unicode engine is running. In the latter case, Cyrillic letters are typed -% in by their Unicode code-points, the |^^^^abcd| notation is not used -% since it causes error at compilation time in case if \LaTeX\ is running -% and \texttt{utf8} input encoding is not declared. -% -% \changes{1.2}{2011/10/20}{Unicode code-points added for LuaLaTeX} -% \begin{macrocode} -\if@uni@ode - %\captionsbelarusian@official - \addto\captionsbelarusian{% - \def\prefacename{Прадмова}% [babel] - \def\refname{Спіс літаратуры}% [only article] - \def\abstractname{Анатацыя}% [only article, report] - \def\bibname{Літаратура}% [only book, report] - \def\chaptername{Глава}% [only book, report] - \def\appendixname{Дадатак}% - \def\contentsname{Змест}% - \let\tocname=\contentsname - \def\listfigurename{Спіс ілюстрацый}% - \def\listtablename{Спіс табліц}% - \def\indexname{Прадметны паказальнік}% - \def\authorname{Паказальнік імён}% - \def\figurename{Рыс.}% - \def\tablename{Табліца}% - \def\partname{Частка}% - \def\enclname{укл.}% - \def\ccname{зых.}% - \def\headtoname{вх.}% - \def\pagename{с.}% [letter] - \def\seename{гл.}% - \def\alsoname{гл.\ таксама}% - \def\proofname{Доказ}% [amsthm] - \def\glossaryname{Слоўнік тэрмінаў}% - \def\acronymname{Абрэвіятуры}% [glossaries] {Acronyms} - \def\lstlistingname{Лістынг}% [listings] (the environment) {Listing} - \def\lstlistlistingname{Лістынгі}% [listings] (the "List of") {Listings} - \def\notesname{Нататкі}% [endnotes] {Notes} - }% -% \end{macrocode} -% Additional definitions for the package \pkg{nomencl}: -% \begin{macrocode} - %% ========================================= - %% nomencl - \ifdefined\nomname - \addto\captionsbelarusian{% - \def\nomname{Азначэнні}% - \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} - %%{} - %%{}% - %\@ifclassloaded{revtex4-1} - %{% - \ifnum\@ifclassloaded{revtex4}{1}{\@ifclassloaded{revtex4-1}{1}{0}}>0 - \addto\captionsbelarusian{% - \def\lofname{\listfigurename} - \def\lotname{\listtablename} - \def\figuresname{Рысункі}%{Figures}% - \def\tablesname{Табліцы}%{Tables}% - \def\appendixesname{Дадаткі}%{Appendixes}% - \def\acknowledgmentsname{Падзякі}%{Acknowledgments} - \def\andname{и}%{and} - \def\@pacs@name{PACS коды: }%{PACS numbers: }% - \def\@keys@name{Ключавыя словы: }%{Keywords: }% - \def\Dated@name{Дата: }%{Dated: }% - \def\Received@name{Атрымана }%{Received }% - \def\Revised@name{Выпраўленая версія }%{Revised }% - \def\Accepted@name{Прынята }%{Accepted }% - \def\Published@name{Апублікавана }%{Published }% - }% - %}{}% - \fi -% \end{macrocode} -% -% \changes{1.3h}{2016/02/18}{Revtex captions fixed} -% Now we proceed to the classic version in Unicode encoding. -% \begin{macrocode} - \addto\captionsbelarusian@tarask{% - \def\prefacename{Прадмова}% [babel] - \def\refname{Сьпіс літаратуры}% [only article] - \def\abstractname{Анатацыя}% [only article, report] - \def\bibname{Літаратура}% [only book, report] - \def\chaptername{Глава}% [only book, report] - \def\appendixname{Дадатак}% - \def\contentsname{Зьмест}% - \let\tocname=\contentsname - \def\listfigurename{Сьпіс ілюстрацый}% - \def\listtablename{Сьпіс табліц}% - \def\indexname{Прадметны паказальнік}% - \def\authorname{Паказальнік імён}% - \def\figurename{Рыс.}% - \def\tablename{Табліца}% - \def\partname{Частка}% - \def\enclname{укл.}% - \def\ccname{зых.}% - \def\headtoname{вх.}% - \def\pagename{с.}% [letter] - \def\seename{гл.}% - \def\alsoname{гл.\ таксама}% - \def\proofname{Доказ}% [amsthm] - \def\glossaryname{Слоўнік тэрмінаў}% - \def\acronymname{Абрэвіятуры}% [glossaries] {Acronyms} - \def\lstlistingname{Лістынг}% [listings] (the environment) {Listing} - \def\lstlistlistingname{Лістынгі}% [listings] (the "List of") {Listings} - \def\nomname{Азначэньні}% - \def\notesname{Нататкі}% [endnotes] {Notes} - } - %% ========================================= - %% RevTeX4 & RevTeX4-1 - %\@ifclassloaded{revtex4-1} - %{% - \ifnum\@ifclassloaded{revtex4}{1}{\@ifclassloaded{revtex4-1}{1}{0}}>0 - \addto\captionsbelarusian@tarask{% - \def\lofname{\listfigurename} - \def\lotname{\listtablename} - \def\figuresname{Рысункі}%{Figures}% - \def\tablesname{Табліцы}%{Tables}% - \def\appendixesname{Дадаткі}%{Appendixes}% - \def\acknowledgmentsname{Падзякі}%{Acknowledgments} - \def\andname{и}%{and} - \def\@pacs@name{PACS коды: }%{PACS numbers: }% - \def\@keys@name{Ключавыя словы: }%{Keywords: }% - \def\Dated@name{Дата: }%{Dated: }% - \def\Received@name{Атрымана }%{Received }% - \def\Revised@name{Выпраўленая вэрсыя }%{Revised }% - \def\Accepted@name{Прынята }%{Accepted }% - \def\Published@name{Апублікавана }%{Published }% - }% - %}{}% - \fi - %% ========================================= -\else - %\def\captionsbelarusian@official{% - \addto\captionsbelarusian{% - \def\prefacename{\CYRP\cyrr\cyra\cyrd\cyrm\cyro\cyrv\cyra}% [babel] - \def\refname{\CYRS\cyrp\cyrii\cyrs \cyrl\cyrii\cyrt\cyra\cyrr\cyra\cyrt\cyru\cyrr\cyrery}% [only article] - \def\abstractname{\CYRA\cyrn\cyra\cyrt\cyra\cyrc\cyrery\cyrya}% [only article, report] - \def\bibname{\CYRL\cyrii\cyrt\cyra\cyrr\cyra\cyrt\cyru\cyrr\cyra}% [only book, report] - \def\chaptername{\CYRG\cyrl\cyra\cyrv\cyra}% [only book, report] - \def\appendixname{\CYRD\cyra\cyrd\cyra\cyrt\cyra\cyrk}% - \def\contentsname{\CYRZ\cyrm\cyre\cyrs\cyrt}% - \let\tocname=\contentsname - \def\listfigurename{\CYRS\cyrp\cyrii\cyrs \cyrii\cyrl\cyryu\cyrs\cyrt\cyrr\cyra\cyrc\cyrery\cyrishrt}% - \def\listtablename{\CYRS\cyrp\cyrii\cyrs \cyrt\cyra\cyrb\cyrl\cyrii\cyrc}% - \def\indexname{\CYRP\cyrr\cyra\cyrd\cyrm\cyre\cyrt\cyrn\cyrery \cyrp\cyra\cyrk\cyra\cyrz\cyra\cyrl\cyrsftsn\cyrn\cyrii\cyrk}% - \def\authorname{\CYRP\cyra\cyrk\cyra\cyrz\cyra\cyrl\cyrsftsn\cyrn\cyrii\cyrk \cyrii\cyrm\cyryo\cyrn}% - \def\figurename{\CYRR\cyrery\cyrs.}% - \def\tablename{\CYRT\cyra\cyrb\cyrl\cyrii\cyrc\cyra}% - \def\partname{\CYRCH\cyra\cyrs\cyrt\cyrk\cyra}% - \def\enclname{\cyru\cyrk\cyrl.}% - \def\ccname{\cyrz\cyrery\cyrh.}% - \def\headtoname{\cyrv\cyrh.}% - \def\pagename{\cyrs.}% [letter] - \def\seename{\cyrg\cyrl.}% - \def\alsoname{\cyrg\cyrl.\ \cyrt\cyra\cyrk\cyrs\cyra\cyrm\cyra}% - \def\proofname{\CYRD\cyro\cyrk\cyra\cyrz}% [amsthm] - \def\glossaryname{\CYRS\cyrl\cyro\cyrushrt\cyrn\cyrii\cyrk \cyrt\cyrerev\cyrr\cyrm\cyrii\cyrn\cyra\cyrushrt}% - \def\acronymname{\CYRA\cyrb\cyrr\cyrerev\cyrv\cyrii\cyrya\cyrt\cyru\cyrr\cyrery}% [glossaries] {Acronyms} - \def\lstlistingname{\CYRL\cyrii\cyrs\cyrt\cyrery\cyrn\cyrg}% [listings] (the environment) {Listing} - \def\lstlistlistingname{\CYRL\cyrii\cyrs\cyrt\cyrery\cyrn\cyrg\cyrii}% [listings] (the "List of") {Listings} - \def\nomname{\CYRA\cyrz\cyrn\cyra\cyrch\cyrerev\cyrn\cyrn\cyrii}% - \def\notesname{\CYRN\cyra\cyrt\cyra\cyrt\cyrk\cyrii}% [endnotes] {Notes} - }% - %% ========================================= - %% RevTeX4 & RevTeX4-1 - \ifnum \@ifclassloaded{revtex4}{1}{\@ifclassloaded{revtex4-1}{1}{0}}>0 - \addto\captionsbelarusian{% - \def\lofname{\listfigurename} - \def\lotname{\listtablename} - \def\figuresname{\CYRR\cyrery\cyrs\cyru\cyrn\cyrk\cyrii}%{Figures}% - \def\tablesname{\CYRT\cyra\cyrb\cyrl\cyrii\cyrc\cyrery}%{Tables}% - \def\appendixesname{\CYRD\cyra\cyrd\cyra\cyrt\cyrk\cyrii}%{Appendixes}% - \def\acknowledgmentsname{\CYRP\cyra\cyrd\cyrz\cyrya\cyrk\cyrii}%{Acknowledgments} - \def\andname{\cyri}%{and} - \def\@pacs@name{PACS \cyrk\cyro\cyrd\cyrery: }%{PACS numbers: }% - \def\@keys@name{\CYRK\cyrl\cyryu\cyrch\cyra\cyrv\cyrery\cyrya \cyrs\cyrl\cyro\cyrv\cyrery: }%{Keywords: }% - \def\Dated@name{\CYRD\cyra\cyrt\cyra: }%{Dated: }% - \def\Received@name{\CYRA\cyrt\cyrr\cyrery\cyrm\cyra\cyrn\cyra }%{Received }% - \def\Revised@name{\CYRV\cyrery\cyrp\cyrr\cyra\cyrushrt\cyrl\cyre\cyrn\cyra\cyrya \cyrv\cyre\cyrr\cyrs\cyrii\cyrya }%{Revised }% - \def\Accepted@name{\CYRP\cyrr\cyrery\cyrn\cyrya\cyrt\cyra }%{Accepted }% - \def\Published@name{\CYRA\cyrp\cyru\cyrb\cyrl\cyrii\cyrk\cyra\cyrv\cyra\cyrn\cyra }%{Published }% - }% - \fi - %% ========================================= - \addto\captionsbelarusian@tarask{% - \def\prefacename{\CYRP\cyrr\cyra\cyrd\cyrm\cyro\cyrv\cyra}% [babel] - \def\refname{\CYRS\cyrsftsn\cyrp\cyrii\cyrs \cyrl\cyrii\cyrt\cyra\cyrr\cyra\cyrt\cyru\cyrr\cyrery}% [only article] - \def\abstractname{\CYRA\cyrn\cyra\cyrt\cyra\cyrc\cyrery\cyrya}% [only article, report] - \def\bibname{\CYRL\cyrii\cyrt\cyra\cyrr\cyra\cyrt\cyru\cyrr\cyra}% [only book, report] - \def\chaptername{\CYRG\cyrl\cyra\cyrv\cyra}% [only book, report] - \def\appendixname{\CYRD\cyra\cyrd\cyra\cyrt\cyra\cyrk}% - \def\contentsname{\CYRZ\cyrsftsn\cyrm\cyre\cyrs\cyrt}% - \let\tocname=\contentsname - \def\listfigurename{\CYRS\cyrsftsn\cyrp\cyrii\cyrs \cyrii\cyrl\cyryu\cyrs\cyrt\cyrr\cyra\cyrc\cyrery\cyrishrt}% - \def\listtablename{\CYRS\cyrsftsn\cyrp\cyrii\cyrs \cyrt\cyra\cyrb\cyrl\cyrii\cyrc}% - \def\indexname{\CYRP\cyrr\cyra\cyrd\cyrm\cyre\cyrt\cyrn\cyrery \cyrp\cyra\cyrk\cyra\cyrz\cyra\cyrl\cyrsftsn\cyrn\cyrii\cyrk}% - \def\authorname{\CYRP\cyra\cyrk\cyra\cyrz\cyra\cyrl\cyrsftsn\cyrn\cyrii\cyrk \cyrii\cyrm\cyryo\cyrn}% - \def\figurename{\CYRR\cyrery\cyrs.}% - \def\tablename{\CYRT\cyra\cyrb\cyrl\cyrii\cyrc\cyra}% - \def\partname{\CYRCH\cyra\cyrs\cyrt\cyrk\cyra}% - \def\enclname{\cyru\cyrk\cyrl.}% - \def\ccname{\cyrz\cyrery\cyrh.}% - \def\headtoname{\cyrv\cyrh.}% - \def\pagename{\cyrs.}% [letter] - \def\seename{\cyrg\cyrl.}% - \def\alsoname{\cyrg\cyrl.\ \cyrt\cyra\cyrk\cyrs\cyra\cyrm\cyra}% - \def\proofname{\CYRD\cyro\cyrk\cyra\cyrz}% [amsthm] - \def\glossaryname{\CYRS\cyrl\cyro\cyrushrt\cyrn\cyrii\cyrk \cyrt\cyrerev\cyrr\cyrm\cyrii\cyrn\cyra\cyrushrt}% - \def\acronymname{\CYRA\cyrb\cyrr\cyrerev\cyrv\cyrii\cyrya\cyrt\cyru\cyrr\cyrery}% [glossaries] {Acronyms} - \def\lstlistingname{\CYRL\cyrii\cyrs\cyrt\cyrery\cyrn\cyrg}% [listings] (the environment) {Listing} - \def\lstlistlistingname{\CYRL\cyrii\cyrs\cyrt\cyrery\cyrn\cyrg\cyrii}% [listings] (the "List of") {Listings} - \def\nomname{\CYRA\cyrz\cyrn\cyra\cyrch\cyrerev\cyrn\cyrsftsn\cyrn\cyrii}% - \def\notesname{\CYRN\cyra\cyrt\cyra\cyrt\cyrk\cyrii}% [endnotes] {Notes} - }% - %% ========================================= - %% RevTeX4 & RevTeX4-1 - \ifnum \@ifclassloaded{revtex4}{1}{\@ifclassloaded{revtex4-1}{1}{0}}>0 - \addto\captionsbelarusian@tarask{% - \def\lofname{\listfigurename} - \def\lotname{\listtablename} - \def\figuresname{\CYRR\cyrery\cyrs\cyru\cyrn\cyrk\cyrii}%{Figures}% - \def\tablesname{\CYRT\cyra\cyrb\cyrl\cyrii\cyrc\cyrery}%{Tables}% - \def\appendixesname{\CYRD\cyra\cyrd\cyra\cyrt\cyrk\cyrii}%{Appendixes}% - \def\acknowledgmentsname{\CYRP\cyra\cyrd\cyrz\cyrya\cyrk\cyrii}%{Acknowledgments} - \def\andname{\cyri}%{and} - \def\@pacs@name{PACS \cyrk\cyro\cyrd\cyrery: }%{PACS numbers: }% - \def\@keys@name{\CYRK\cyrl\cyryu\cyrch\cyra\cyrv\cyrery\cyrya \cyrs\cyrl\cyro\cyrv\cyrery: }%{Keywords: }% - \def\Dated@name{\CYRD\cyra\cyrt\cyra: }%{Dated: }% - \def\Received@name{\CYRA\cyrt\cyrr\cyrery\cyrm\cyra\cyrn\cyra }%{Received }% - \def\Revised@name{\CYRV\cyrery\cyrp\cyrr\cyra\cyrushrt\cyrl\cyre\cyrn\cyra\cyrya \cyrv\cyrerev\cyrr\cyrs\cyrery\cyrya }%{Revised }% - \def\Accepted@name{\CYRP\cyrr\cyrery\cyrn\cyrya\cyrt\cyra }%{Accepted }% - \def\Published@name{\CYRA\cyrp\cyru\cyrb\cyrl\cyrii\cyrk\cyra\cyrv\cyra\cyrn\cyra }%{Published }% - }% - \fi - %% ========================================= -\fi -% \end{macrocode} -% -% \subsubsection{Date in Belarusian} -% -% \Describe\datebelarusian{} -% The macro |\datebelarusian| is used to reset the macro |\today| in Belarusian. -% -% \changes{1.2}{2011/10/20}{Unicode code-points added for LuaLaTeX} -% \begin{macrocode} -\if@uni@ode - \addto\datebelarusian{% - \def\today{\number\day~\ifcase\month\or - студзеня\or - лютага\or - сакавіка\or - красавіка\or - мая\or - чэрвеня\or - ліпеня\or - жніўня\or - верасня\or - кастрычніка\or - лістапада\or - снежня\fi - \space \number\year~г.}} - \def\datebelarusian@tarask{% - \def\today{\number\day~\ifcase\month\or% - студзеня\or - лютага\or - сакавіка\or - красавіка\or - траўня\or - чэрвеня\or - ліпеня\or - жніўня\or - верасьня\or - кастрычніка\or - лістапада\or - сьнежня\fi% - \space \number\year~г.}} -\else - \def\datebelarusian{% - \def\today{\number\day~\ifcase\month\or - \cyrs\cyrt\cyru\cyrd\cyrz\cyre\cyrn\cyrya\or - \cyrl\cyryu\cyrt\cyra\cyrg\cyra\or - \cyrs\cyra\cyrk\cyra\cyrv\cyrii\cyrk\cyra\or - \cyrk\cyrr\cyra\cyrs\cyra\cyrv\cyrii\cyrk\cyra\or - \cyrm\cyra\cyrya\or - \cyrch\cyrerev\cyrr\cyrv\cyre\cyrn\cyrya\or - \cyrl\cyrii\cyrp\cyre\cyrn\cyrya\or - \cyrzh\cyrn\cyrii\cyrushrt\cyrn\cyrya\or - \cyrv\cyre\cyrr\cyra\cyrs\cyrn\cyrya\or - \cyrk\cyra\cyrs\cyrt\cyrr\cyrery\cyrch\cyrn\cyrii\cyrk\cyra\or - \cyrl\cyrii\cyrs\cyrt\cyra\cyrp\cyra\cyrd\cyra\or - \cyrs\cyrn\cyre\cyrzh\cyrn\cyrya\fi - \space \number\year~\cyrg.}} - \def\datebelarusian@tarask{% - \def\today{\number\day~\ifcase\month\or - \cyrs\cyrt\cyru\cyrd\cyrz\cyre\cyrn\cyrya\or - \cyrl\cyryu\cyrt\cyra\cyrg\cyra\or - \cyrs\cyra\cyrk\cyra\cyrv\cyrii\cyrk\cyra\or - \cyrk\cyrr\cyra\cyrs\cyra\cyrv\cyrii\cyrk\cyra\or - \cyrt\cyrr\cyra\cyrushrt\cyrn\cyrya\or - \cyrch\cyrerev\cyrr\cyrv\cyre\cyrn\cyrya\or - \cyrl\cyrii\cyrp\cyre\cyrn\cyrya\or - \cyrzh\cyrn\cyrii\cyrushrt\cyrn\cyrya\or - \cyrv\cyre\cyrr\cyra\cyrs\cyrsftsn\cyrn\cyrya\or - \cyrk\cyra\cyrs\cyrt\cyrr\cyrery\cyrch\cyrn\cyrii\cyrk\cyra\or - \cyrl\cyrii\cyrs\cyrt\cyra\cyrp\cyra\cyrd\cyra\or - \cyrs\cyrsftsn\cyrn\cyre\cyrzh\cyrn\cyrya\fi% - \space \number\year~\cyrg.}} -\fi -% \end{macrocode} -% -% \subsubsection{Hyphenation patterns} -% -% Belarusian hyphenation patterns are automatically activated every time -% Belarusian language is selected via |\selectlanguage|, |\foreignlanguage| -% or equivalent command. But we need to declare values of -% |\lefthyphenmin| and |\righthyphenmin|; both are set to~2. -% -% As of v.1.2 we removed a definition for |\englishhyphenmins|. It is -% not deal of \file{belarusianb.ldf}. -% -% \changes{1.1a}{1995/07/04}{use \cs{belarusianhyphenmins} to -% store the correct values} -% \changes{1.1m}{2000/09/22}{Now use \cs{providehyphenmins} to -% provide a default value} -% \changes{1.2}{2011/10/20}{\cs{englishhyphenmins} is removed} -% \begin{macrocode} -\providehyphenmins{\CurrentOption}{\tw@\tw@} -\providehyphenmins{belarusian}{\tw@\tw@} -% \end{macrocode} -% -% \subsubsection{Extra definitions} -% \label{sss:extra} -% -% \Describe\extrasbelarusian{} -% \DescribeOther\noextrasbelarusian{} -% The macro |\extrasbelarusian| performs extra definitions in addition to -% resetting the caption names and date. -% The macro |\noextrasbelarusian| is used to cancel the actions of -% |\extrasbelarusian|. -% -% \changes{1.1b}{1996/02/20}{Added switch to \texttt{LWN} -% encoding} -% -% First, we instruct \pkg{babel} to switch font encoding using earlier -% defined macros |\cyrillictext| and |\latintext|. -% -% \begin{macrocode} -\addto\extrasbelarusian{\cyrillictext} -\addto\noextrasbelarusian{\latintext} -% \end{macrocode} -% -% Second, we specify that the Belarusian group of shorthands should be used. -% -% \begin{macrocode} -\addto\extrasbelarusian{\languageshorthands{belarusian}} -\addto\extrasbelarusian{\bbl@activate{"}} -\addto\noextrasbelarusian{\bbl@deactivate{"}} -% \end{macrocode} -% -% Now the action |\extrasbelarusian| has to execute is to make sure that the -% command |\frenchspacing| is in effect. If this is not the case the -% execution of |\noextrasbelarusian| will switch it off again. -% -% \begin{macrocode} -\addto\extrasbelarusian{\bbl@frenchspacing} -\addto\noextrasbelarusian{\bbl@nonfrenchspacing} -% \end{macrocode} -% -% -% \subsection{Alphabetic counters} -% -% Do we need to reset |\@alph| and |\@Alph|? They are used in the -% \LaTeX\ core to define the macros |\alph| and |\Alph|, respectively, which -% type a counter with a corresponding letter of Latin alphabet. -% We just want to make sure that correct |\latinencoding| is used instead of -% |\latinencoding| to typeset the counter. Starting from v.1.2 we do not -% reset these macros since all Cyrillic encoding but \texttt{X2} do have -% Latin letters. When using the \texttt{X2} encoding user must himself -% take care about selecting correct encoding when he switches his keyboard. -% Our decision is motivated as follows. If selected Cyrillic font is visually -% different from Latin font, the macro |\@alph| and |\@Alph| will produce -% visually different output from surrounding text if they are used with -% Belarusian text, which is completely legitimate. -% -% Notice for commented code:\\ -% We put |\latinencoding| in braces to avoid problems with -% |\@alph| inside minipages (e.g., footnotes inside minipages) where -% |\@alph| is expanded and we get for example `|\fontencoding OT1|' -% (|\fontencoding| is robust). -% -% Note added on 2013/03/22: |{\fontencoding{\latinencoding}\selectfont| -% rises an error with recent version of \pkg{microtype} package after the -% |\appendix| declaration (which resets |\thechapter| to |\@Alph\c@chapter}|). -% Most languages do not reset |\@alph| and |\@Alph| macros and only -% \pkg{ukrainian} and \pkg{bulgarian} add |\fontencoding| to |\@alph| and -% |\@Alph|. -% -% Since v.1.3 we do not reset |\@alph| and |\@Alph| here. -% Resetting |\fontencoding| in |\@alph| and |\@Alph| causes an error -% if the package |smartref| is loaded and a |\sref| occurs after the -% |\appendix| declaration which resets |\thechapter| to |\@Alph\c@chapter|. -% \changes{1.3}{2013/03/22}{Removed \cs{@alph} and \cs{@Alph}} -% -% \begin{macrocode} -%\def\@alph#1{{\fontencoding{\latinencoding}\selectfont -% \ifcase#1\or -% a\or b\or c\or d\or e\or f\or g\or h\or -% i\or j\or k\or l\or m\or n\or o\or p\or -% q\or r\or s\or t\or u\or v\or w\or x\or -% y\or z\else\@ctrerr\fi}}% -%\def\@Alph#1{{\fontencoding{\latinencoding}\selectfont -% \ifcase#1\or -% A\or B\or C\or D\or E\or F\or G\or H\or -% I\or J\or K\or L\or M\or N\or O\or P\or -% Q\or R\or S\or T\or U\or V\or W\or X\or -% Y\or Z\else\@ctrerr\fi}}% -% \end{macrocode} -% -% We add new enumeration style for Belarusian manuscripts with -% Cyrillic letters. -% -% \Describe\Asbuk{} -% We begin by defining |\Asbuk| which works like |\Alph|, but produces -% (uppercase) Cyrillic letters instead of Latin ones. The letters YO, -% ISHRT, USHRT, ERY, and SFTSN are skipped, as usual for such -% enumeration. -% -% \begin{macrocode} -\def\Asbuk#1{\expandafter\belarusian@Alph\csname c@#1\endcsname} -\if@uni@ode - \def\belarusian@Alph#1{\ifcase#1\or - А\or Б\or В\or Г\or Д\or Е\or Ж\or - З\or І\or К\or Л\or М\or Н\or О\or - П\or Р\or С\or Т\or У\or Ф\or Х\or - Ц\or Ч\or Ш\or Э\or Ю\or Я\else\@ctrerr\fi} -\else - \def\belarusian@Alph#1{\ifcase#1\or - \CYRA\or\CYRB\or\CYRV\or\CYRG\or\CYRD\or\CYRE\or\CYRZH\or - \CYRZ\or\CYRII\or\CYRK\or\CYRL\or\CYRM\or\CYRN\or\CYRO\or - \CYRP\or\CYRR\or\CYRS\or\CYRT\or\CYRU\or\CYRF\or\CYRH\or - \CYRC\or\CYRCH\or\CYRSH\or\CYREREV\or\CYRYU\or - \CYRYA\else\@ctrerr\fi} -\fi -% \end{macrocode} -% -% \Describe\asbuk{} -% The macro |\asbuk| is similar to |\alph|; it produces lowercase -% Belarusian letters. -% -% \begin{macrocode} -\def\asbuk#1{\expandafter\belarusian@alph\csname c@#1\endcsname} -\if@uni@ode - \def\belarusian@alph#1{\ifcase#1\or - а\or б\or в\or г\or д\or е\or ж\or - з\or і\or к\or л\or м\or н\or о\or - п\or р\or с\or т\or у\or ф\or х\or - ц\or ч\or ш\or э\or ю\or я\else\@ctrerr\fi} -\else - \def\belarusian@alph#1{\ifcase#1\or - \cyra\or\cyrb\or\cyrv\or\cyrg\or\cyrd\or\cyre\or\cyrzh\or - \cyrz\or\cyrii\or\cyrk\or\cyrl\or\cyrm\or\cyrn\or\cyro\or - \cyrp\or\cyrr\or\cyrs\or\cyrt\or\cyru\or\cyrf\or\cyrh\or - \cyrc\or\cyrch\or\cyrsh\or\cyrerev\or\cyryu\or - \cyrya\else\@ctrerr\fi} -\fi -% \end{macrocode} -% -% Babel 3.9 has introduced a notion of a language attribute. -% The \Lopt{classic} attribute (or its alias \Lopt{tarask}) changes -% the default behavior which uses the official Belarusian spelling, -% and activates an alternative set of captions and date macros. -% \begin{macrocode} -\bbl@declare@ttribute{belarusian}{classic}{% - \PackageInfo{babel}{Belarusian attribute set to classic}% - \let\captionsbelarusian=\captionsbelarusian@tarask - \let\datebelarusian=\datebelarusian@tarask -} -\bbl@declare@ttribute{belarusian}{tarask}{% - \PackageInfo{babel}{Belarusian attribute set to tarask}% - \let\captionsbelarusian=\captionsbelarusian@tarask - \let\datebelarusian=\datebelarusian@tarask -} -% \end{macrocode} -% We don't want for long internal macros to waste memory. So we declare -% them to be usable within the preamble only. -% \begin{macrocode} -\@onlypreamble\captionsbelarusian@tarask -\@onlypreamble\datebelarusian@tarask -% \end{macrocode} -% -% \subsection{Cyrillic math} -% -% For compatibility with older Russian packages we could define the |\No| -% macro. However the Belarusian number sign is now superseded with |\textnumero|. -% Moreover, it can be found of Belarusian keyboard. Therefore we discard |\No| -% since v.1.2. -% \begin{macrocode} -%\DeclareRobustCommand{\No}{% -% \ifmmode{\nfss@text{\textnumero}}\else\textnumero\fi} -% \end{macrocode} -% -% -% As of version 1.2 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 Belarusian typesetting -% traditions. Some math functions in Belarusian math books have names -% different from English writings. For example, \texttt{sinh} in -% Belarusian is called \texttt{sh}. Special consideration needs the -% macro |\th| that conflicts with the text symbol |\th| -% defined in Latin~1 encoding: -% -% \changes{1.2}{2004/05/21}{Change definition of \cs{th} -% only for this language} -% \begin{macrocode} -\def\sh{\mathop{\operator@font sh}\nolimits} -\def\ch{\mathop{\operator@font ch}\nolimits} -\def\tg{\mathop{\operator@font tg}\nolimits} -\def\ctg{\mathop{\operator@font ctg}\nolimits} -\def\arctg{\mathop{\operator@font arctg}\nolimits} -\def\arcctg{\mathop{\operator@font arcctg}\nolimits} -\addto\extrasbelarusian{% - \babel@save{\th}% - \let\ltx@th\th - \def\th{\textormath{\ltx@th}% - {\mathop{\operator@font th}\nolimits}}% - } -\def\cth{\mathop{\operator@font cth}\nolimits} -\def\cosec{\mathop{\operator@font cosec}\nolimits} -% \end{macrocode} -% -% \Describe\Prob{}% -% \DescribeOther\Variance{}% -% \DescribeOther\nod{}% -% \DescribeOther\nok{}% -% \DescribeOther\NOD{}% -% \DescribeOther\NOK{}% -% \DescribeOther\Proj{}% -% Finally, we define some rare Belarusian mathematical symbols: -% \begin{macrocode} -\def\Prob{\mathop{\kern\z@\mathsf{P}}\nolimits} -\def\Variance{\mathop{\kern\z@\mathsf{D}}\nolimits} -\if@uni@ode - \def\nod{\mathop{\mathrm{н.а.д.}}\nolimits} - \def\nok{\mathop{\mathrm{н.а.к.}}\nolimits} - \def\NOD{\mathop{\mathrm{НАД}}\nolimits} - \def\NOK{\mathop{\mathrm{НАК}}\nolimits} - \def\nad{\mathop{\mathrm{н.а.д.}}\nolimits} - \def\nak{\mathop{\mathrm{н.а.к.}}\nolimits} - \def\NAD{\mathop{\mathrm{НАД}}\nolimits} - \def\NAK{\mathop{\mathrm{НАК}}\nolimits} - \def\Proj{\mathop{\mathrm{Пр}}\nolimits} -\else - \def\nod{\mathop{\cyrmathrm{\cyrn.\cyra.\cyrd.}}\nolimits} - \def\nok{\mathop{\cyrmathrm{\cyrn.\cyra.\cyrk.}}\nolimits} - \def\NOD{\mathop{\cyrmathrm{\CYRN\CYRA\CYRD}}\nolimits} - \def\NOK{\mathop{\cyrmathrm{\CYRN\CYRA\CYRK}}\nolimits} - \def\nad{\mathop{\cyrmathrm{\cyrn.\cyra.\cyrd.}}\nolimits} - \def\nak{\mathop{\cyrmathrm{\cyrn.\cyra.\cyrk.}}\nolimits} - \def\NAD{\mathop{\cyrmathrm{\CYRN\CYRA\CYRD}}\nolimits} - \def\NAK{\mathop{\cyrmathrm{\CYRN\CYRA\CYRK}}\nolimits} - \def\Proj{\mathop{\cyrmathrm{\CYRP\cyrr}}\nolimits} -\fi -% \end{macrocode} -% -% \subsection{Final settings} -% -% The macro |\ldf@finish| does work needed -% at the end of each \file{.ldf} file. This -% includes resetting the category code of the \texttt{@}-sign, -% loading a local configuration file, and preparing the language -% to be activated at |\begin{document}| time. -% -% \changes{1.1d}{1996/11/03}{Now use \cs{ldf@finish} to wrap -% up} -% \begin{macrocode} -\ldf@finish{belarusian} -% \end{macrocode} -% -% \begin{macrocode} -% \end{macrocode} -%\iffalse -% -%\fi -% \CheckSum{2215} -%\Finale diff --git a/Master/texmf-dist/source/generic/babel-belarusian/belarusianb.ins b/Master/texmf-dist/source/generic/babel-belarusian/belarusianb.ins deleted file mode 100644 index 3bd07471056..00000000000 --- a/Master/texmf-dist/source/generic/babel-belarusian/belarusianb.ins +++ /dev/null @@ -1,83 +0,0 @@ -%% -%% This is file `belarusianb.ins', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% belarusianb.dtx (with options: `install') -%% ---------------------------------------------------------------- -%% Belarusian Language Support for the Babel package -%% E-mail: andrew@shadura.me -%% Released under the LaTeX Project Public License v1.3c or later -%% See http://www.latex-project.org/lppl.txt -%% ---------------------------------------------------------------- -\input docstrip.tex -\keepsilent -\askforoverwritefalse -\preamble ----------------------------------------------------------------- -Belarusian Language Support for the Babel package -E-mail: andrew@shadura.me -Released under the LaTeX Project Public License v1.3c or later -See http://www.latex-project.org/lppl.txt ----------------------------------------------------------------- -\endpreamble -\postamble ----------------------------------------------------------------- -Copyright 2016 Andrew Shadura -Copyright 2011-2016 Igor A. Kotelnikov. -Copyright 2000 Aleksey Novodvorsky -Copyright 1995-2008 Olga Lapko. -Copyright 1989-2012 Johannes L. Braams. - -This file is a part of the Belarusian-Babel package. - -It may be distributed and/or modified under the -conditions of the LaTeX Project Public License (LPPL), either -version 1.3c of this license or (at your option) any later -version. The latest version of this license is in the file: - - http://www.latex-project.org/lppl.txt - -The package is "maintained" (as per LPPL maintenance status) by -Andrew Shadura. - -The package consists of the file belarusianb.dtx -and the derived files belarusianb.ins, - belarusianb.ldf, - belarusianb.pdf, - README. ----------------------------------------------------------------- -\endpostamble -\usedir{tex/generic/babel/contrib} -\generate{ - \file{\jobname.ldf}{\from{\jobname.dtx}{code}} -} -\endbatchfile -%% ---------------------------------------------------------------- -%% Copyright 2016 Andrew Shadura -%% Copyright 2011-2016 Igor A. Kotelnikov. -%% Copyright 2000 Aleksey Novodvorsky -%% Copyright 1995-2008 Olga Lapko. -%% Copyright 1989-2012 Johannes L. Braams. -%% -%% This file is a part of the Belarusian-Babel package. -%% -%% It may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License (LPPL), either -%% version 1.3c of this license or (at your option) any later -%% version. The latest version of this license is in the file: -%% -%% http://www.latex-project.org/lppl.txt -%% -%% The package is "maintained" (as per LPPL maintenance status) by -%% Andrew Shadura. -%% -%% The package consists of the file belarusianb.dtx -%% and the derived files belarusianb.ins, -%% belarusianb.ldf, -%% belarusianb.pdf, -%% README. -%% ---------------------------------------------------------------- -%% -%% End of file `belarusianb.ins'. -- cgit v1.2.3