summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/generic
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/generic')
-rw-r--r--Master/texmf-dist/source/generic/babel-bulgarian/bulgarian.dtx1039
-rw-r--r--Master/texmf-dist/source/generic/babel-bulgarian/bulgarian.ins148
2 files changed, 1187 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/generic/babel-bulgarian/bulgarian.dtx b/Master/texmf-dist/source/generic/babel-bulgarian/bulgarian.dtx
new file mode 100644
index 00000000000..313018acd81
--- /dev/null
+++ b/Master/texmf-dist/source/generic/babel-bulgarian/bulgarian.dtx
@@ -0,0 +1,1039 @@
+% \iffalse meta-comment
+%
+% Copyright 1989-2008 Johannes L. Braams and any individual authors
+% listed elsewhere in this file. All rights reserved.
+%
+% This file is part of the Babel system.
+% --------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work is Johannes Braams.
+%
+% The list of all files belonging to the Babel system is
+% given in the file `manifest.bbl. See also `legal.bbl' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+% \fi
+% \CheckSum{1268}
+%
+% \iffalse
+% Tell the \LaTeX\ system who we are and write an entry on the
+% transcript.
+%<*dtx>
+\ProvidesFile{bulgarian.dtx}
+%</dtx>
+%<code>\ProvidesLanguage{bulgarian}
+ [2008/03/21 v1.0g Bulgarian support from the babel system]
+%
+%% File `bulgarian.dtx'
+%% Babel package for LaTeX version 2e
+%% Copyright (C) 1989-2008
+%% by Johannes Braams,TeXniek
+%
+%% Bulgarian Language Definition File
+%% Copyright (C) 1995-2008
+%% by Georgi.Boshnakov <georgi.boshnakov at umist.ac.uk>
+%% Johannes Braams,TeXniek
+%
+%% Adapted from russianb.dtx
+%% by Georgi.Boshnakov <georgi.boshnakov at umist.ac.uk>
+%
+%% Please report errors to:J.L.Braams
+%% babel at braams.xs4all.nl
+%
+%<*filedriver>
+\documentclass{ltxdoc}
+\newcommand\TeXhax{\TeX hax}
+\newcommand\babel{\textsf{babel}}
+\newcommand\langvar{$\langle\it lang \rangle$}
+\newcommand\note[1]{}
+\newcommand\Lopt[1]{\textsf{#1}}
+\newcommand\file[1]{\texttt{#1}}
+\newcommand\pkg[1]{\texttt{#1}}
+\begin{document}
+ \DocInput{bulgarian.dtx}
+\end{document}
+%</filedriver>
+%\fi
+% \GetFileInfo{bulgarian.dtx}
+%
+% \changes{bulgarian-0.99}{2000/06/10}{%
+% This is a prerelease version of this file.
+% Features needing further testing are removed.}
+%
+% \section{The Bulgarian language}
+%
+% The file \file{\filename}\footnote{The file described in this
+% section has version number \fileversion\ and was last revised on
+% \filedate. This file was initially derived from the August-1998
+% version of \file{russianb.dtx}.
+%
+% It is (reasonably) backward compatible with the 1994/1996
+% (non-babel) bulgarian style (bulgaria.sty) by Georgi
+% Boshnakov---files prepared for that style should compile
+% successfully (with vastly improved appearance due to usage of
+% standard fonts).} provides the language-specific macros for the
+% Bulgarian language.
+%
+% Users should take note of the vaious ``cyrillic'' dashes
+% available now (see below). These should remove many causes of
+% headache. Also, although by default the Bulgarian quotation marks
+% will appear automatically when typesetting in Bulgarian, it is
+% better to use the new commands \cs{"'} and \cs{"'} which
+% explicitly typeset them.
+% Note: automatic switch to Bulgarian quotation is withdrawn
+% for the moment and may not be reintroduced at all.
+%
+% For this language the character |"| is made active. In
+% table~\ref{tab:bulgarian-quote} an overview is given of its
+% purpose.
+%
+% \begin{table}[htb]
+% \begin{center}
+% \begin{tabular}{lp{8cm}}
+% \verb="|= & disable ligature at this position. \\
+% |"-| & an explicit hyphen sign, allowing hyphenation
+% in the rest of the word. \\
+% |"---| & Cyrillic emdash in plain text. \\
+% |"--~| & Cyrillic emdash in compound names (surnames). \\
+% |"--*| & Cyrillic emdash for denoting direct speech. \\
+% |""| & like |"-|, but producing no hyphen sign
+% (for compound words with hyphen, e.g.\ |x-""y|
+% or some other signs as ``disable/enable''). \\
+% |"~| & for a compound word mark without a breakpoint. \\
+% |"=| & for a compound word mark with a breakpoint, allowing
+% hyphenation in the composing words. \\
+% |",| & thinspace for initials with a breakpoint
+% in following surname. \\
+% |"`| & for German left double quotes
+% (looks like ,\kern-0.08em,). \\
+% |"'| & for German right double quotes (looks like ``). \\%^^A''
+% |"<| & for French left double quotes (looks like $<\!\!<$).\\
+% |">| & for French right double quotes (looks like $>\!\!>$).\\
+% \end{tabular}
+% \caption{The extra definitions made
+% by\file{bulgarian}}\label{tab:bulgarian-quote}
+% \end{center}
+% \end{table}
+%
+% The quotes in table~\ref{tab:bulgarian-quote} can also be typeset
+% by using the commands in table~\ref{tab:bmore-quote}.
+%
+% \begin{table}[htb]
+% \begin{center}
+% \begin{tabular}{lp{8cm}}
+% |\cdash---| & Cyrillic emdash in plain text. \\
+% |\cdash--~| & Cyrillic emdash in compound names (surnames). \\
+% |\cdash--*| & Cyrillic emdash for denoting direct speech. \\
+% |\glqq| & for German left double quotes
+% (looks like,\kern-0.08em,). \\
+% |\grqq| & for German right double quotes (looks like ``).\\^^A%''
+% |\flqq| & for French left double quotes (looks like $<\!\!<$).\\
+% |\frqq| & for French right double quotes (looks like $>\!\!>$).\\
+% |\dq| & the original quotes character (|"|).
+% \end{tabular}
+% \caption{More commands which produce quotes, defined
+% by \babel}\label{tab:bmore-quote}
+% \end{center}
+% \end{table}
+%
+% The French quotes are also available as ligatures `|<<|' and
+% `|>>|' in 8-bit Cyrillic font encodings (\texttt{LCY},
+% \texttt{X2}, \texttt{T2*}) and as `|<|' and `|>|' characters in
+% 7-bit Cyrillic font encodings (\texttt{OT2} and \texttt{LWN}).
+%
+% The quotation marks traditionally used in Bulgarian were borrowed
+% from German o they keep their original names. French quotation
+% marks may be seen as well in older books.
+%
+% \StopEventually{}
+%
+% The macro |\LdfInit| takes care of preventing that this file is
+% loaded more than once, checking the category code of the
+% \texttt{@} sign, etc.
+%
+% \begin{macrocode}
+%<*code>
+\LdfInit{bulgarian}{captionsbulgarian}
+% \end{macrocode}
+%
+% When this file is read as an option, i.e., by the |\usepackage|
+% command, \texttt{bulgarian} will be an `unknown' language, in
+% which case we have to make it known. So we check for the
+% existence of |\l@bulgarian| to see whether we have to do
+% something here.
+%
+% \begin{macrocode}
+\ifx\l@bulgarian\@undefined
+ \@nopatterns{Bulgarian}
+ \adddialect\l@bulgarian0
+\fi
+% \end{macrocode}
+%
+%
+%
+% \begin{macro}{\latinencoding}
+%
+% We need to know the encoding for text that is supposed to be
+% which is active at the end of the \babel\ package. If the
+% \pkg{fontenc} package is loaded later, then \ldots too bad!
+%
+% \begin{macrocode}
+\let\latinencoding\cf@encoding
+% \end{macrocode}
+%
+% \end{macro}
+%
+% The user may choose between different available Cyrillic
+% encodings---e.g., \texttt{X2}, \texttt{LCY}, or \texttt{LWN}.
+% If the user wants to use a font encoding other than the default
+% (\texttt{T2A}), he has to load the corresponding file
+% \emph{before} \file{bulgarian.sty}.
+% This may be done in the following way:
+%
+% \begin{verbatim}
+% \usepackage[LCY,OT1]{fontenc} %overwrite the default encoding;
+% \usepackage[english,bulgarian]{babel}
+% \end{verbatim}
+% \unskip
+%
+% Note: most people would prefer the \texttt{T2A} to \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 Bulgarian phrase or vice
+% versa. On the other hand, switching the language is a good
+% practice anyway. With a decent text processing program it does
+% not involve more work than switching between the Bulgarian and
+% English keyboard. Moreover that the far most common disruption
+% occurs as a result of forgetting to switch back to cyrillic
+% keyboard.
+%
+% We parse the |\cdp@list| containing the encodings known to
+% \LaTeX\ in the order they were loaded. We set the
+% |\cyrillicencoding| to the \emph{last} loaded encoding in the
+% list of supported Cyrillic encodings: \texttt{OT2}, \texttt{LWN},
+% \texttt{LCY}, \texttt{X2}, \texttt{T2C}, \texttt{T2B},
+% \texttt{T2A}, if any.
+%
+%
+% \begin{macrocode}
+\def\reserved@a#1#2{%
+ \edef\reserved@b{#1}%
+ \edef\reserved@c{#2}%
+ \ifx\reserved@b\reserved@c
+ \let\cyrillicencoding\reserved@c
+ \fi}
+\def\cdp@elt#1#2#3#4{%
+ \reserved@a{#1}{OT2}%
+ \reserved@a{#1}{LWN}%
+ \reserved@a{#1}{LCY}%
+ \reserved@a{#1}{X2}%
+ \reserved@a{#1}{T2C}%
+ \reserved@a{#1}{T2B}%
+ \reserved@a{#1}{T2A}}
+\cdp@list
+% \end{macrocode}
+%
+% Now, if |\cyrillicencoding| is undefined, then the user did not
+% load any of supported encodings. So, we have to set
+% |\cyrillicencoding| to some default value. We test the presence
+% of the encoding definition files in the order from less
+% preferable to more preferable encodings. We use the lowercase
+% names (i.e., \file{lcyenc.def} instead of \file{LCYenc.def}).
+%
+% \begin{macrocode}
+\ifx\cyrillicencoding\undefined
+ \IfFileExists{ot2enc.def}{\def\cyrillicencoding{OT2}}\relax
+ \IfFileExists{lwnenc.def}{\def\cyrillicencoding{LWN}}\relax
+ \IfFileExists{lcyenc.def}{\def\cyrillicencoding{LCY}}\relax
+ \IfFileExists{x2enc.def}{\def\cyrillicencoding{X2}}\relax
+ \IfFileExists{t2cenc.def}{\def\cyrillicencoding{T2C}}\relax
+ \IfFileExists{t2benc.def}{\def\cyrillicencoding{T2B}}\relax
+ \IfFileExists{t2aenc.def}{\def\cyrillicencoding{T2A}}\relax
+% \end{macrocode}
+%
+% If |\cyrillicencoding| is still undefined, then the user seems
+% not to have a properly installed distribution. A fatal error.
+%
+% \begin{macrocode}
+\ifx\cyrillicencoding\undefined
+ \PackageError{babel}%
+ {No Cyrillic encoding definition files were found}%
+ {Your installation is incomplete. \MessageBreak
+ You need at least one of the following files: \MessageBreak
+ \space\space
+ x2enc.def, t2aenc.def, t2benc.def, t2cenc.def, \MessageBreak
+ \space\space
+ lcyenc.def, lwnenc.def, ot2enc.def.}%
+ \else
+% \end{macrocode}
+%
+% We avoid |\usepackage[\cyrillicencoding]{fontenc}| because we
+% don't want to force the switch of |\encodingdefault|.
+%
+% \begin{macrocode}
+ \lowercase
+ \expandafter{\expandafter\input\cyrillicencoding enc.def\relax}%
+ \fi
+\fi
+% \end{macrocode}
+%
+% \begin{verbatim}
+% \PackageInfo{babel}
+% {Using `\cyrillicencoding' as a default Cyrillic encoding}%
+% \end{verbatim}
+% \unskip
+%
+%
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Bulgarian}{%
+ \fontencoding\cyrillicencoding\selectfont
+ \let\encodingdefault\cyrillicencoding
+ \expandafter\set@hyphenmins\bulgarianhyphenmins
+ \language\l@bulgarian}
+\DeclareRobustCommand{\English}{%
+ \fontencoding\latinencoding\selectfont
+ \let\encodingdefault\latinencoding
+ \expandafter\set@hyphenmins\englishhyphenmins
+ \language\l@english}
+\let\Bul\Bulgarian
+\let\Bg\Bulgarian
+\let\cyrillictext\Bulgarian
+\let\cyr\Bulgarian
+\let\Eng\English
+\def\selectenglanguage{\selectlanguage{english}}
+\def\selectbglanguage{\selectlanguage{bulgarian}}
+% \end{macrocode}
+%
+% Since the \texttt{X2} encoding does not contain Latin letters,we
+% should make some redefinitions of \LaTeX\ macros which implicitly
+% produce Latin letters.
+%
+%
+% \begin{macrocode}
+\expandafter\ifx\csname T@X2\endcsname\relax\else
+% \end{macrocode}
+%
+% 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).
+%
+% \changes{bulgarian-1.0c}{2003/06/14}{Added missing closing brace}
+% \begin{macrocode}
+ \def\@Alph@eng#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@eng#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}}%
+ \let\@Alph\@Alph@eng
+ \let\@alph\@alph@eng
+% \end{macrocode}
+%
+% 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}
+ \DeclareTextSymbolDefault{\AA}{OT1}
+ \DeclareTextSymbolDefault{\aa}{OT1}
+ \DeclareTextCommand{\AA}{OT1}{\r A}
+ \DeclareTextCommand{\aa}{OT1}{\r a}
+\fi
+% \end{macrocode}
+%
+% The following block redefines the character class of uppercase
+% Greek letters and some accents, if it is equal to 7 (variable
+% family), to avoid incorrect results if the font encoding in some
+% math family does not contain these characters in places of OT1
+% encoding. The code was taken from |amsmath.dtx|. See comments and
+% further explanation there.
+%
+% \begin{macrocode}
+\begingroup\catcode`\"=12
+% uppercase greek letters:
+\def\@tempa#1{\expandafter\@tempb\meaning#1\relax\relax\relax\relax
+ "0000\@nil#1}
+\def\@tempb#1"#2#3#4#5#6\@nil#7{%
+\ifnum"#2=7 \count@"1#3#4#5\relax
+\ifnum\count@<"1000 \else \global\mathchardef#7="0#3#4#5\relax \fi
+ \fi}
+\@tempa\Gamma\@tempa\Delta\@tempa\Theta\@tempa\Lambda\@tempa\Xi
+\@tempa\Pi\@tempa\Sigma\@tempa\Upsilon\@tempa\Phi\@tempa\Psi
+\@tempa\Omega
+% some accents:
+\def\@tempa#1#2\@nil{\def\@tempc{#1}}\def\@tempb{\mathaccent}
+\expandafter\@tempa\hat\relax\relax\@nil
+\ifx\@tempb\@tempc
+\def\@tempa#1\@nil{#1}%
+\def\@tempb#1{\afterassignment\@tempa\mathchardef\@tempc=}%
+\def\do#1"#2{}
+\def\@tempd#1{\expandafter\@tempb#1\@nil
+ \ifnum\@tempc>"FFF
+ \xdef#1{\mathaccent"\expandafter\do\meaning\@tempc\space}%
+ \fi}
+\@tempd\hat\@tempd\check\@tempd\tilde\@tempd\acute\@tempd\grave
+\@tempd\dot\@tempd\ddot\@tempd\breve\@tempd\bar
+\fi
+\endgroup
+% \end{macrocode}
+%
+% The 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 user should explicitly call the \pkg{inputenc} package by
+% |\usepackage{inputenc}|. We also removed |\AtBeginDocument|, so
+% \pkg{inputenc} should be used before \babel.
+%
+% \begin{macrocode}
+\@ifpackageloaded{inputenc}{}{%
+\def\reserved@a{LWN}%
+\ifx\reserved@a\cyrillicencoding\else
+\def\reserved@a{OT2}%
+\ifx\reserved@a\cyrillicencoding\else
+\PackageWarning{babel}%
+{No input encoding specified for Bulgarian language}\fi\fi}
+% \end{macrocode}
+%
+% Now we define two commands that offer the possibility to switch
+% between Cyrillic and Roman encodings.
+%
+% \begin{macro}{\cyrillictext}
+% \begin{macro}{\latintext}
+%
+% The command |\cyrillictext| will switch from Latin font encoding
+% to the Cyrillic font encoding, the command |\latintext| switches
+% back. This assumes that the `normal' font encoding is a Latin
+% one. These commands are \emph{declarations}, for shorter peaces
+% of text the commands |\textlatin| and |\textcyrillic| can be
+% used.
+%
+% We comment out |\latintext| since it is defined in the core of
+% babel (babel.def). We add the shorthand |\lat| for |\latintext|.
+% Note that |\cyrillictext| has been defined above.
+%
+% \begin{macrocode}
+% \DeclareRobustCommand{\latintext}{%
+% \fontencoding{\latinencoding}\selectfont
+% \def\encodingdefault{\latinencoding}}
+\let\lat\latintext
+% \end{macrocode}
+%
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\textcyrillic}
+% \begin{macro}{\textlatin}
+%
+% These commands take an argument which is then typeset using the
+% requested font encoding.
+% |\textlatin| is commented out since it is defined in the core of
+% babel. (It is defined there with |\DeclareRobustCommand| instead.)
+%
+% \begin{macrocode}
+\DeclareTextFontCommand{\textcyrillic}{\cyrillictext}
+% \DeclareTextFontCommand{\textlatin}{\latintext}
+% \end{macrocode}
+%
+% \end{macro}
+% \end{macro}
+%
+% The next step consists of defining commands to switch to (and
+% from) the Bulgarian language.
+%
+% \begin{macro}{\captionsbulgarian}
+%
+% The macro |\captionsbulgarian| defines all strings used in the
+% four standard document classes provided with \LaTeX. The two
+% commands |\cyr| and |\lat| activate Cyrillic resp. Latin encoding.
+%
+% \begin{macrocode}
+\addto\captionsbulgarian{%
+ \def\prefacename{%
+ {\cyr\CYRP\cyrr\cyre\cyrd\cyrg\cyro\cyrv\cyro\cyrr}}%
+ \def\refname{%
+ {\cyr\CYRL\cyri\cyrt\cyre\cyrr\cyra\cyrt\cyru\cyrr\cyra}}%
+ \def\abstractname{%
+ {\cyr\CYRA\cyrb\cyrs\cyrt\cyrr\cyra\cyrk\cyrt}}%
+ \def\bibname{%
+ {\cyr\CYRB\cyri\cyrb\cyrl\cyri\cyro\cyrg\cyrr\cyra\cyrf\cyri\cyrya}}%
+ \def\chaptername{%
+ {\cyr\CYRG\cyrl\cyra\cyrv\cyra}}%
+ \def\appendixname{%
+ {\cyr\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyre}}%
+ \def\contentsname{%
+ {\cyr\CYRS\cyrhrdsn\cyrd\cyrhrdsn\cyrr\cyrzh\cyra\cyrn\cyri\cyre}}%
+ \def\listfigurename{%
+ {\cyr\CYRS\cyrp\cyri\cyrs\cyrhrdsn\cyrk\ \cyrn\cyra\ \cyrf\cyri\cyrg\cyru\cyrr\cyri\cyrt\cyre}}%
+ \def\listtablename{%
+ {\cyr\CYRS\cyrp\cyri\cyrs\cyrhrdsn\cyrk\ \cyrn\cyra\ \cyrt\cyra\cyrb\cyrl\cyri\cyrc\cyri\cyrt\cyre}}%
+ \def\indexname{%
+ {\cyr\CYRA\cyrz\cyrb\cyru\cyrch\cyre\cyrn\ \cyru\cyrk\cyra\cyrz\cyra\cyrt\cyre\cyrl}}%
+ \def\authorname{%
+ {\cyr\CYRI\cyrm\cyre\cyrn\cyre\cyrn\ \cyru\cyrk\cyra\cyrz\cyra\cyrt\cyre\cyrl}}%
+ \def\figurename{%
+ {\cyr\CYRF\cyri\cyrg\cyru\cyrr\cyra}}%
+ \def\tablename{%
+ {\cyr\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyra}}%
+ \def\partname{%
+ {\cyr\CYRCH\cyra\cyrs\cyrt}}%
+ \def\enclname{%
+ {\cyr\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyrya}}%
+ \def\ccname{%
+ {\cyr\cyrk\cyro\cyrp\cyri\cyrya}}%
+ \def\headtoname{%
+ {\cyr\CYRZ\cyra}}%
+ \def\pagename{%
+ {\cyr\CYRS\cyrt\cyrr.}}%
+ \def\seename{%
+ {\cyr\cyrv\cyrzh.}}%
+ \def\alsoname{%
+ {\cyr\cyrv\cyrzh.\ \cyrs\cyrhrdsn\cyrshch\cyro\ \cyri}}%
+ \def\proofname{Proof}% <-- Needs translation
+ \def\glossaryname{Glossary}% <-- Needs translation
+}
+% \end{macrocode}
+% \end{macro}
+%%
+% \begin{macro}{\datebulgarian}
+%
+% The macro |\datebulgarian| redefines the command |\today| to
+% produce Bulgarian dates.
+% It also provides the command |\todayRoman| which produces the
+% date with the month in capital roman numerals, a popular format
+% for dates in Bulgarian.
+%
+% \begin{macrocode}
+\def\datebulgarian{%
+ \def\month@bulgarian{\ifcase\month\or
+ \cyrya\cyrn\cyru\cyra\cyrr\cyri\or
+ \cyrf\cyre\cyrv\cyrr\cyru\cyra\cyrr\cyri\or
+ \cyrm\cyra\cyrr\cyrt\or
+ \cyra\cyrp\cyrr\cyri\cyrl\or
+ \cyrm\cyra\cyrishrt\or
+ \cyryu\cyrn\cyri\or
+ \cyryu\cyrl\cyri\or
+ \cyra\cyrv\cyrg\cyru\cyrs\cyrt\or
+ \cyrs\cyre\cyrp\cyrt\cyre\cyrm\cyrv\cyrr\cyri\or
+ \cyro\cyrk\cyrt\cyro\cyrm\cyrv\cyrr\cyri\or
+ \cyrn\cyro\cyre\cyrm\cyrv\cyrr\cyri\or
+ \cyrd\cyre\cyrk\cyre\cyrm\cyrv\cyrr\cyri\fi}%
+ \def\month@Roman{\expandafter\@Roman\month}%
+ \def\today{\number\day~\month@bulgarian\ \number\year~\cyrg.}%
+ \def\todayRoman{\number\day.\,\month@Roman.\,\number\year~\cyrg.}%
+}
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
+%
+% \begin{macro}{\todayRoman}
+%
+% The month is often written with roman numbers in Bulgarian dates.
+% Here we define date in this format:
+%
+% \begin{macrocode}
+\def\Romannumeral#1{\uppercase\expandafter{\romannumeral #1}}
+\def\todayRoman{\number\day.\Romannumeral{\month}.\number\year~\cyrg.}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\extrasbulgarian}
+%
+% The macro |\extrasbulgarian| will perform all the extra
+% definitions needed for the Bulgarian language.
+% The macro |\noextrasbulgarian| is used to cancel the actions of
+% |\extrasbulgarian|.
+%
+% The first action we define is to switch on the selected Cyrillic
+% encoding whenever we enter `bulgarian'.
+%
+% \begin{macrocode}
+\addto\extrasbulgarian{\cyrillictext}
+% \end{macrocode}
+%
+% When the encoding definition file was processed by \LaTeX\ the
+% current font encoding is stored in |\latinencoding|, assuming
+% that \LaTeX\ uses \texttt{T1} or \texttt{OT1} as
+% default. Therefore we switch back to |\latinencoding| whenever
+% the Bulgarian language is no longer `active'.
+%
+% \begin{macrocode}
+\addto\noextrasbulgarian{\latintext}
+% \end{macrocode}
+%
+% For Bulgarian the \texttt{"} character also is made active.
+%
+% \begin{macrocode}
+\initiate@active@char{"}
+% \end{macrocode}
+%
+% The code above is necessary because we need extra active
+% characters. The character |"| is used as indicated in
+% table~\ref{tab:bulgarian-quote}. We specify that the Bulgarian
+% group of shorthands should be used.
+%
+% \begin{macrocode}
+\addto\extrasbulgarian{\languageshorthands{bulgarian}}
+% \end{macrocode}
+%
+% These characters are `turned on' once, later their definition may
+% vary.
+%
+% \begin{macrocode}
+\addto\extrasbulgarian{%
+ \bbl@activate{"}}
+\addto\noextrasbulgarian{%
+ \bbl@deactivate{"}}
+% \end{macrocode}
+%
+% The \texttt{X2} and \texttt{T2*} encodings do not contain
+% |spanish_shriek| and |spanish_query| symbols; as a consequence,
+% the ligatures `|?`|' and `|!`|' do not work with them (these
+% characters are useless for Cyrillic texts anyway). But we define
+% the shorthands to emulate these ligatures (optionally).
+%
+% We do not use |\latinencoding| here (but instead explicitly use
+% \texttt{OT1}) because the user may choose \texttt{T2A} to be the
+% primary encoding, but it does not contain these characters.
+%
+% \begin{macrocode}
+%<*spanishligs>
+\declare@shorthand{bulgarian}{?`}{\UseTextSymbol{OT1}\textquestiondown}
+\declare@shorthand{bulgarian}{!`}{\UseTextSymbol{OT1}\textexclamdown}
+%</spanishligs>
+% \end{macrocode}
+%
+% To be able to define the function of `|"|', we first define a
+% couple of `support' macros.
+%
+% \begin{macro}{\dq}
+%
+% We save the original double quote character in |\dq| to keep it
+% available, the math accent |\"|can now be typed as `|"|'.
+% \changes{bulgarian-1.0c}{2003/04/10}{repaired typo}
+% \begin{macrocode}
+\begingroup \catcode`\"12
+\def\reserved@a{\endgroup
+ \def\@SS{\mathchar"7019}
+ \def\dq{"}}
+\reserved@a
+% \end{macrocode}
+%
+% \end{macro}
+%
+% Now we can define the doublequote macros: german and french
+% quotes. We use definitions of these quotes made in babel.sty.
+% The french quotes are contained in the \texttt{T2*} encodings.
+%
+% \begin{macrocode}
+\declare@shorthand{bulgarian}{"`}{\glqq}
+\declare@shorthand{bulgarian}{"'}{\grqq}
+\declare@shorthand{bulgarian}{"<}{\flqq}
+\declare@shorthand{bulgarian}{">}{\frqq}
+% \end{macrocode}
+%
+% Some additional commands:
+%
+% \begin{macrocode}
+\declare@shorthand{bulgarian}{""}{\hskip\z@skip}
+\declare@shorthand{bulgarian}{"~}{\textormath{\leavevmode\hbox{-}}{-}}
+\declare@shorthand{bulgarian}{"=}{\nobreak-\hskip\z@skip}
+\declare@shorthand{bulgarian}{"|}{%
+\textormath{\nobreak\discretionary{-}{}{\kern.03em}%
+\allowhyphens}{}}
+% \end{macrocode}
+%
+% The next two macros for |"-| and |"---| are somewhat different.
+% We must check whether the second token is a hyphen character:
+%
+% \begin{macrocode}
+\declare@shorthand{bulgarian}{"-}{%
+% \end{macrocode}
+%
+% If the next token is `|-|', we typeset an emdash, otherwise a
+% hyphen sign:
+%
+% \begin{macrocode}
+ \def\bulgarian@sh@tmp{%
+ \if\bulgarian@sh@next-\expandafter\bulgarian@sh@emdash
+ \else\expandafter\bulgarian@sh@hyphen\fi
+ }%
+% \end{macrocode}
+%
+% \TeX\ looks for the next token after the first `|-|': the meaning
+% of this token is written to |\bulgarian@sh@next| and
+% |\bulgarian@sh@tmp| is called.
+%
+% \begin{macrocode}
+ \futurelet\bulgarian@sh@next\bulgarian@sh@tmp}
+% \end{macrocode}
+%
+% Here are the definitions of hyphen and emdash. First the hyphen:
+%
+% \begin{macrocode}
+\def\bulgarian@sh@hyphen{\nobreak\-\bbl@allowhyphens}
+% \end{macrocode}
+%
+% For the emdash definition, there are the two parameters: we must
+% `eat' two last hyphen signs of our emdash \dots :
+%
+% \begin{macrocode}
+\def\bulgarian@sh@emdash#1#2{\cdash-#1#2}
+% \end{macrocode}
+%
+% \begin{macro}{\cdash}
+%
+% \dots\ these two parameters are useful for another macro:
+% |\cdash|:
+%
+% \changes{bulgarian-1.0e}{2006/03/31}{Two occurences of \cmd{temp}
+% were changed into tab followed by emp}
+% \begin{macrocode}
+\ifx\cdash\undefined % should be defined earlier
+\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}
+%
+% second parameter (or third for |\cdash|) shows what kind of emdash
+% to create in next step
+% \begin{center}
+% \begin{tabular}{@{}p{.1\hsize}@{}p{.9\hsize}@{}}
+% |"---| & ordinary (plain) Cyrillic emdash inside text:
+% an unbreakable thinspace will be inserted before only in case of
+% a \textit{space} before the dash (it is necessary for dashes after
+% display maths formulae: there could be lists, enumerations etc.\
+% started with ``---where $a$ is ...'' i.e., the dash starts a line).
+% (Firstly there were planned rather soft rules for user:he may put
+% a space before the dash or not. But it is difficult to place this
+% thinspace automatically, i.e., by checking modes because after
+% display formulae \TeX{} uses horizontal mode. Maybe there is a
+% misunderstanding? Maybe there is another way?) After a dash
+% a breakable thinspace is always placed; \\
+% \end{tabular}
+% \end{center}
+%
+%
+% \begin{macrocode}
+% What is more grammatically: .2em or .2\fontdimen6\font?
+\def\@Acdash{\ifdim\lastskip>\z@\unskip\nobreak\hskip.2em\fi
+\cyrdash\hskip.2em\ignorespaces}%
+% \end{macrocode}
+%
+% \begin{center}
+% \begin{tabular}{@{}p{.1\hsize}@{}p{.9\hsize}@{}}
+% |"--~| & emdash in compound names or surnames
+% (like Mendeleev--Klapeiron); this dash has no space characters
+% around; after the dash some space is added
+% |\exhyphenalty| \\
+% \end{tabular}
+% \end{center}
+%
+% \begin{macrocode}
+\def\@Bcdash{\leavevmode\ifdim\lastskip>\z@\unskip\fi
+ \nobreak\cyrdash\penalty\exhyphenpenalty\hskip\z@skip\ignorespaces}%
+% \end{macrocode}
+%
+% \begin{center}
+% \begin{tabular}{@{}p{.1\hsize}@{}p{.9\hsize}@{}}
+% |"--*| & for denoting direct speech (a space like |\enskip|
+% must follow the emdash); \\
+% \end{tabular}
+% \end{center}
+%
+% \begin{macrocode}
+\def\@Ccdash{\leavevmode
+ \nobreak\cyrdash\nobreak\hskip.35em\ignorespaces}%
+%\fi
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
+%
+% \begin{macro}{\cyrdash}
+%
+% Finally the macro for ``body'' of the Cyrillic emdash.
+% The |\cyrdash| macro will be defined in case this macro hasn't
+% been defined in a fontenc file. For T2*fonts, cyrdash will be
+% placed in the code of the English emdash thus it uses ligature
+% |---|.
+%
+% \begin{macrocode}
+% Is there an IF necessary?
+\ifx\cyrdash\undefined
+\def\cyrdash{\hbox to.8em{--\hss--}}
+\fi
+% \end{macrocode}
+%
+% \end{macro}
+%
+% Here a really new macro---to place thinspace between initials.
+% This macro used instead of |\,| allows hyphenation in the
+% following surname.
+%
+% \begin{macrocode}
+\declare@shorthand{bulgarian}{",}{\nobreak\hskip.2em\ignorespaces}
+% \end{macrocode}
+%
+% The Bulgarian hyphenation patterns can be used with
+% |\lefthyphenmin| and |\righthyphenmin| set to~2.
+% \changes{bulgarian-1.0b}{2000/09/22}{Now use \cs{providehyphenmins} to
+% provide a default value}
+% \begin{macrocode}
+\providehyphenmins{\CurrentOption}{\tw@\tw@}
+\fi
+% \end{macrocode}
+%
+% Now the action |\extrasbulgarian| has to execute is to make sure
+% that the command |\frenchspacing| is in effect. If this is not
+% the case the execution of |\noextrasbulgarian| will switch it off
+% again.
+%
+% \begin{macrocode}
+\addto\extrasbulgarian{\bbl@frenchspacing}
+\addto\noextrasbulgarian{\bbl@nonfrenchspacing}
+% \end{macrocode}
+%
+% Make the double quotes produce the traditional quotes
+% used in Bulgarian texts (these are the German quotes).
+%
+% \begin{macrocode}
+% \initiate@active@char{`}
+% \initiate@active@char{'}
+% \addto\extrasbulgarian{%
+% \bbl@activate{`}}
+% \addto\extrasbulgarian{%
+% \bbl@activate{'}}
+% \addto\noextrasbulgarian{%
+% \bbl@deactivate{`}}
+% \addto\noextrasbulgarian{%
+% \bbl@deactivate{'}}
+% \def\mlron{\bbl@activate{`}\bbl@activate{'}}
+% \def\mlroff{\bbl@deactivate{`}\bbl@deactivate{'}}
+% \declare@shorthand{bulgarian}{``}{\glqq}
+% \declare@shorthand{bulgarian}{''}{\grqq}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% Next we add a new enumeration style for Bulgarian manuscripts with
+% Cyrillic letters,and later on we define some math operator names in
+% accordance with Bulgarian typesetting traditions.
+%
+% \begin{macro}{\@Alph@bul}
+%
+% We begin by defining |\@Alph@bul| which works like |\@Alph|, but
+% produces (uppercase) Cyrillic letters intead of Latin ones. The
+% letters ISHRT, HRDSN and SFTSN are skipped, as usual for such
+% enumeration.
+%
+% \begin{macrocode}
+\def\enumBul{\let\@Alph\@Alph@bul \let\@alph\@alph@bul}
+\def\enumEng{\let\@Alph\@Alph@eng \let\@alph\@alph@eng}
+\def\enumLat{\let\@Alph\@Alph@eng \let\@alph\@alph@eng}
+\addto\extrasbulgarian{\enumBul}
+\addto\noextrasbulgarian{\enumLat}
+\def\@Alph@bul#1{%
+ \ifcase#1\or
+ \CYRA\or \CYRB\or \CYRV\or \CYRG\or \CYRD\or \CYRE\or \CYRZH\or
+ \CYRZ\or \CYRI\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 \CYRSHCH\or \CYRYU\or \CYRYA\else
+ \@ctrerr\fi
+ }
+\def\@Alph@eng#1{%
+ \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}
+%
+% \end{macro}
+%
+%
+%
+% \begin{macro}{\@alph@bul}
+%
+% The macro |\@alph@bul| is similar to |\@Alph@bul|;
+% it produces lowercase Bulgarian letters.
+%
+% \begin{macrocode}
+\def\@alph@bul#1{%
+ \ifcase#1\or
+ \cyra\or \cyrb\or \cyrv\or \cyrg\or \cyrd\or \cyre\or \cyrzh\or
+ \cyrz\or \cyri\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 \cyrshch\or \cyryu\or \cyrya\else
+ \@ctrerr\fi
+ }
+\def\@alph@eng#1{%
+ \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}
+%
+% \end{macro}
+%
+% Set up default Cyrillic math alphabets. To use Cyrillic letters
+% in math mode user should load the |textmath| package
+% \emph{before} loading fontenc package (or \babel). Note,that by
+% default Cyrillic letters are taken from upright font in math mode
+% (unlike Latin letters).
+%
+% \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 a few commands to be able 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}
+%
+% Some math functions in Bulgarian math books have other names:
+% e.g., \texttt{sinh} in Bulgarian is written as \texttt{sh}
+% etc. So we define a number of new math operators.
+%
+% |\sinh|:
+%
+% \begin{macrocode}
+\def\sh{\mathop{\operator@font sh}\nolimits}
+% \end{macrocode}
+%
+% |\cosh|:
+%
+% \begin{macrocode}
+\def\ch{\mathop{\operator@font ch}\nolimits}
+% \end{macrocode}
+%
+% |\tan|:
+%
+% \begin{macrocode}
+\def\tg{\mathop{\operator@font tg}\nolimits}
+% \end{macrocode}
+%
+% |\arctan|:
+%
+% \begin{macrocode}
+\def\arctg{\mathop{\operator@font arctg}\nolimits}
+% \end{macrocode}
+%
+% |\arccot|:
+%
+% \begin{macrocode}
+\def\arcctg{\mathop{\operator@font arcctg}\nolimits}
+% \end{macrocode}
+%
+% The following macro conflicts with |\th| defined in Latin~1
+% encoding:
+% |\tanh|:
+% \changes{bulgarian-1.0d}{2004/05/21}{Change definition of \cs{th}
+% only for this language}
+% \begin{macrocode}
+\addto\extrasrussian{%
+ \babel@save{\th}%
+ \let\ltx@th\th
+ \def\th{\textormath{\ltx@th}%
+ {\mathop{\operator@font th}\nolimits}}%
+ }
+% \end{macrocode}
+%
+% |\cot|:
+%
+% \begin{macrocode}
+\def\ctg{\mathop{\operator@font ctg}\nolimits}
+% \end{macrocode}
+%
+% |\coth|:
+%
+% \begin{macrocode}
+\def\cth{\mathop{\operator@font cth}\nolimits}
+% \end{macrocode}
+%
+% |\csc|:
+%
+% \begin{macrocode}
+\def\cosec{\mathop{\operator@font cosec}\nolimits}
+% \end{macrocode}
+%
+% This is for compatibility with older Bulgarian packages.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\No}{%
+ \ifmmode{\nfss@text{\textnumero}}\else\textnumero\fi}
+% \end{macrocode}
+%
+% The macro |\ldf@finish| takes care of looking for a configuration
+% file, setting the main language to be switched on at
+% |\begin{document}| and resetting the category code of \texttt{@}
+% to its original value.
+%
+% \begin{macrocode}
+\ldf@finish{bulgarian}
+%</code>
+% \end{macrocode}
+%
+% \Finale
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
diff --git a/Master/texmf-dist/source/generic/babel-bulgarian/bulgarian.ins b/Master/texmf-dist/source/generic/babel-bulgarian/bulgarian.ins
new file mode 100644
index 00000000000..467e11c6ff9
--- /dev/null
+++ b/Master/texmf-dist/source/generic/babel-bulgarian/bulgarian.ins
@@ -0,0 +1,148 @@
+%%
+%% This file will generate fast loadable files and documentation
+%% driver files from the doc files in this package when run through
+%% LaTeX or TeX.
+%%
+%% Copyright 1989-2008 Johannes L. Braams and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% This file is part of the Babel system.
+%% --------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Johannes Braams.
+%%
+%% The list of all files belonging to the LaTeX base distribution is
+%% given in the file `manifest.bbl. See also `legal.bbl' for additional
+%% information.
+%%
+%% The list of derived (unpacked) files belonging to the distribution
+%% and covered by LPPL is defined by the unpacking scripts (with
+%% extension .ins) which are part of the distribution.
+%%
+%% --------------- start of docstrip commands ------------------
+%%
+\def\filedate{2000/09/21}
+\def\batchfile{bulgarian.ins}
+\input docstrip.tex
+
+{\ifx\generate\undefined
+\Msg{**********************************************}
+\Msg{*}
+\Msg{* This installation requires docstrip}
+\Msg{* version 2.3c or later.}
+\Msg{*}
+\Msg{* An older version of docstrip has been input}
+\Msg{*}
+\Msg{**********************************************}
+\errhelp{Move or rename old docstrip.tex.}
+\errmessage{Old docstrip in input path}
+\batchmode
+\csname @@end\endcsname
+\fi}
+
+\declarepreamble\mainpreamble
+This is a generated file.
+
+Copyright 1989-2008 Johannes L. Braams and any individual authors
+listed elsewhere in this file. All rights reserved.
+
+This file was generated from file(s) of the Babel system.
+---------------------------------------------------------
+
+It may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2003/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+The Current Maintainer of this work is Johannes Braams.
+
+This file may only be distributed together with a copy of the Babel
+system. You may however distribute the Babel system without
+such generated files.
+
+The list of all files belonging to the Babel distribution is
+given in the file `manifest.bbl'. See also `legal.bbl for additional
+information.
+
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
+extension .ins) which are part of the distribution.
+\endpreamble
+
+\declarepreamble\fdpreamble
+This is a generated file.
+
+Copyright 1989-2008 Johannes L. Braams and any individual authors
+listed elsewhere in this file. All rights reserved.
+
+This file was generated from file(s) of the Babel system.
+---------------------------------------------------------
+
+It may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2003/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+The Current Maintainer of this work is Johannes Braams.
+
+This file may only be distributed together with a copy of the Babel
+system. You may however distribute the Babel system without
+such generated files.
+
+The list of all files belonging to the Babel distribution is
+given in the file `manifest.bbl'. See also `legal.bbl for additional
+information.
+
+In particular, permission is granted to customize the declarations in
+this file to serve the needs of your installation.
+
+However, NO PERMISSION is granted to distribute a modified version
+of this file under its original name.
+
+\endpreamble
+
+\keepsilent
+
+\usedir{tex/generic/babel}
+
+\usepreamble\mainpreamble
+\generate{\file{bulgarian.ldf}{\from{bulgarian.dtx}{code}}
+ }
+\usepreamble\fdpreamble
+
+\ifToplevel{
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* files into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space All *.def, *.fd, *.ldf, *.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the files ending with}
+\Msg{* '.dtx' and `.fdd' through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+}
+
+\endinput \ No newline at end of file