diff options
Diffstat (limited to 'Master/texmf-dist/source/generic/babel-sorbian/usorbian.dtx')
-rw-r--r-- | Master/texmf-dist/source/generic/babel-sorbian/usorbian.dtx | 400 |
1 files changed, 400 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/generic/babel-sorbian/usorbian.dtx b/Master/texmf-dist/source/generic/babel-sorbian/usorbian.dtx new file mode 100644 index 00000000000..7c02a293cd8 --- /dev/null +++ b/Master/texmf-dist/source/generic/babel-sorbian/usorbian.dtx @@ -0,0 +1,400 @@ +% \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{344} +% \iffalse +% Tell the \LaTeX\ system who we are and write an entry on the +% transcript. +%<*dtx> +\ProvidesFile{usorbian.dtx} +%</dtx> +%<code>\ProvidesLanguage{usorbian} +%\fi +%\ProvidesFile{usorbian.dtx} + [2008/03/17 v1.0k Upper Sorbian support from the babel system] +%\iffalse +%% File `usorbian.dtx' +%% Babel package for LaTeX version 2e +%% Copyright (C) 1989 - 2008 +%% by Johannes Braams, TeXniek +% +%% Upper Sorbian Language Definition File +%% Copyright (C) 1994 - 2004 +%% by Eduard Werner +% Werner, Eduard", +% Serbski institut z. t., +% Dw\'orni\v{s}\'cowa 6 +% 02625 Budy\v{s}in/Bautzen +% Germany", +% (??)3591 497223", +% edi at kaihh.hanse.de", +% +%% Please report errors to: Eduard Werner edi at kaihh.hanse.de +%% +% This file is part of the babel system, it provides the source +% code for the Upper Sorbian definition file. +%<*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}} +\newfont{\logo}{logo10} +\newcommand*\MF{{\logo METAFONT}} +\begin{document} + \DocInput{usorbian.dtx} +\end{document} +%</filedriver> +%\fi +% \GetFileInfo{usorbian.dtx} +% +% \changes{usorbian-0.1}{1994/10/10}{First version} +% \changes{usorbian-0.1b}{1994/10/18}{Made it possible to run through +% \LaTeX; added \cs{MF} and removed extra \cs{end{macro}}} +% \changes{usorbian-1.0d}{1996/07/13}{Replaced \cs{undefined} with +% \cs{@undefined} and \cs{empty} with \cs{@empty} for consistency +% with \LaTeX} +% \changes{usorbian-1.0e}{1996/10/10}{Moved the definition of +% \cs{atcatcode} right to the beginning.} +% +% \section{The Upper Sorbian language} +% +% The file \file{\filename}\footnote{The file described in this +% section has version number \fileversion\ and was last revised on +% \filedate. It was written by Eduard Werner +% (\texttt{edi@kaihh.hanse.de}).} It defines all the +% language-specific macros for Upper Sorbian. +% +% \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. +% \changes{usorbian-1.0e}{1996/11/03}{Now use \cs{LdfInit} to perform +% initial checks} +% \changes{usorbian-1.0j}{2007/10/19}{This file can be loaded under +% more than one name.} +% \begin{macrocode} +%<*code> +\LdfInit\CurrentOption{date\CurrentOption} +% \end{macrocode} +% +% When this file is read as an option, i.e. by the |\usepackage| +% command, \texttt{usorbian} will be an `unknown' language, in which +% case we have to make it known. So we check for the existence of +% |\l@usorbian| to see whether we have to do something here. +% \changes{usorbian-1.0j}{2007/10/19}{Check for the option +% lowersorbian} +% As +% \babel\ also knwos the option \Lopt{uppersorbian} we have to +% check that as well. +% +% \begin{macrocode} +\ifx\l@uppersorbian\@undefined + \ifx\l@usorbian\@undefined + \@nopatterns{Usorbian} + \adddialect\l@usorbian\z@ + \let\l@uppersorbian\l@usorbian + \else + \let\l@uppersorbian\l@usorbian + \fi +\else + \let\l@usorbian\l@uppersorbian +\fi +% \end{macrocode} +% +% The next step consists of defining commands to switch to (and +% from) the Upper Sorbian language. +% +% \begin{macro}{\captionsusorbian} +% The macro |\captionsusorbian| defines all strings used in the four +% standard documentclasses provided with \LaTeX. +% \changes{usorbian-0.1c}{1994/11/27}{Removed two typos (Kapitel and +% Dodatki)} +% \changes{usorbian-1.0b}{1995/07/04}{Added \cs{proofname} for +% AMS-\LaTeX} +% \changes{usorbian-1.0i}{2000/09/22}{Added \cs{glossaryname}} +% \changes{usorbian-1.0j}{2007/10/19}{Make this work for more than one +% option name} +% \begin{macrocode} +\@namedef{captions\CurrentOption}{% + \def\prefacename{Zawod}% + \def\refname{Referency}% + \def\abstractname{Abstrakt}% + \def\bibname{Literatura}% + \def\chaptername{Kapitl}% + \def\appendixname{Dodawki}% + \def\contentsname{Wobsah}% + \def\listfigurename{Zapis wobrazow}% + \def\listtablename{Zapis tabulkow}% + \def\indexname{Indeks}% + \def\figurename{Wobraz}% + \def\tablename{Tabulka}% + \def\partname{D\'z\v el}% + \def\enclname{P\v r\l oha}% + \def\ccname{CC}% + \def\headtoname{Komu}% + \def\pagename{Strona}% + \def\seename{hl.}% + \def\alsoname{hl.~te\v z} + \def\proofname{Proof}% <-- needs translation + \def\glossaryname{Glossary}% <-- Needs translation + }% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\newdateusorbian} +% The macro |\newdateusorbian| redefines the command |\today| to +% produce Upper Sorbian dates. +% \changes{usorbian-1.0g}{1997/10/01}{Use \cs{edef} to define +% \cs{today} to save memory} +% \changes{usorbian-1.0g}{1998/03/28}{use \cs{def} instead of +% \cs{edef}} +% \changes{usorbian-1.0j}{2007/10/19}{Make this work for more than one +% option name} +% \begin{macrocode} +\@namedef{newdate\CurrentOption}{% + \def\today{\number\day.~\ifcase\month\or + januara\or februara\or m\v erca\or apryla\or meje\or junija\or + julija\or awgusta\or septembra\or oktobra\or + nowembra\or decembra\fi + \space \number\year}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\olddateusorbian} +% The macro |\olddateusorbian| redefines the command |\today| to +% produce old-style Upper Sorbian dates. +% \changes{usorbian-1.0g}{1997/10/01}{Use \cs{edef} to define +% \cs{today} to save memory} +% \changes{usorbian-1.0g}{1998/03/28}{use \cs{def} instead of +% \cs{edef}} +% \changes{usorbian-1.0j}{2007/10/19}{Make this work for more than one +% option name} +% \begin{macrocode} +\@namedef{olddate\CurrentOption}{% + \def\today{\number\day.~\ifcase\month\or + wulkeho r\'o\v zka\or ma\l eho r\'o\v zka\or nal\v etnika\or + jutrownika\or r\'o\v zownika\or sma\v znika\or pra\v znika\or + \v znjenca\or po\v znjenca\or winowca\or nazymnika\or + hodownika\fi \space \number\year}} +% \end{macrocode} +% \end{macro} +% +% The default will be the new-style dates. +% \changes{usorbian-1.0j}{2007/10/19}{Make this work for more than one +% option name} +% \begin{macrocode} +\expandafter\let\csname date\CurrentOption\expandafter\endcsname + \csname newdate\CurrentOption\endcsname +% \end{macrocode} +% +% \begin{macro}{\extrasusorbian} +% The macro |\extrasusorbian| will perform all the extra +% definitions needed for the Upper Sorbian language. It's pirated +% from |germanb.sty|. The macro |\noextrasusorbian| is used to +% cancel the actions of |\extrasusorbian|. +% +% Because for Upper Sorbian (as well as for Dutch) the \texttt{"} +% character is made active. This is done once, later on its +% definition may vary. +% \changes{usorbian-1.0j}{2007/10/19}{Make this work for more than one +% option name} +% \begin{macrocode} +\initiate@active@char{"} +\@namedef{extras\CurrentOption}{\languageshorthands{usorbian}} +\expandafter\addto\csname extras\CurrentOption\endcsname{% + \bbl@activate{"}} +% \end{macrocode} +% Don't forget to turn the shorthands off again. +% \changes{usorbian-1.0h}{1999/12/17}{Deactivate shorthands ouside of +% Upper Sorbian} +% \begin{macrocode} +\expandafter\addto\csname extras\CurrentOption\endcsname{% + \bbl@deactivate{"}} +% \end{macrocode} +% +% In order for \TeX\ to be able to hyphenate German Upper Sorbian +% words which contain `\ss' we have to give the character a nonzero +% |\lccode| (see Appendix H, the \TeX book). As some of the other +% language definitions turn the character |^| into a shorthand we +% need to make sure that it has it's orginial definition here. +% \changes{usorbian-1.0k}{2008/03/17}{Make sure the caret has the +% right \cs{catcdoe}} +% \begin{macrocode} +\begingroup \catcode`\^7 +\def\x{\endgroup + \expandafter\addto\csname extras\CurrentOption\endcsname{% + \babel@savevariable{\lccode`\^^Y}% + \lccode`\^^Y`\^^Y}} +\x +% \end{macrocode} +% The umlaut accent macro |\"| is changed to lower the umlaut dots. +% The redefinition is done with the help of |\umlautlow|. +% \begin{macrocode} +\expandafter\addto\csname extras\CurrentOption\endcsname{% + \babel@save\"\umlautlow} +\expandafter\addto\csname noextras\CurrentOption\endcsname{% + \umlauthigh} +% \end{macrocode} +% The Upper Sorbian hyphenation patterns can be used with +% |\lefthyphenmin| and |\righthyphenmin| set to~2. +% \changes{usorbian-1.0i}{2000/09/22}{Now use \cs{providehyphenmins} to +% provide a default value} +% \begin{macrocode} +\providehyphenmins{\CurrentOption}{\tw@\tw@} +% \end{macrocode} +% \end{macro} +% +% \changes{usorbian-1.0a}{1995/05/27}{Removed stuff that has been +% moved to \file{babel.def}} +% +% \begin{macro}{\dq} +% We save the original double quote character in |\dq| to keep it +% available, the math accent |\"| can now be typed as |"|. Also we +% store the original meaning of the command |\"| for future use. +% \begin{macrocode} +\begingroup \catcode`\"12 +\def\x{\endgroup + \def\@SS{\mathchar"7019 } + \def\dq{"}} +\x +% \end{macrocode} +% \end{macro} +% +% Now we can define the doublequote macros: the umlauts, +% \begin{macrocode} +\declare@shorthand{usorbian}{"a}{\textormath{\"{a}}{\ddot a}} +\declare@shorthand{usorbian}{"o}{\textormath{\"{o}}{\ddot o}} +\declare@shorthand{usorbian}{"u}{\textormath{\"{u}}{\ddot u}} +\declare@shorthand{usorbian}{"A}{\textormath{\"{A}}{\ddot A}} +\declare@shorthand{usorbian}{"O}{\textormath{\"{O}}{\ddot O}} +\declare@shorthand{usorbian}{"U}{\textormath{\"{U}}{\ddot U}} +% \end{macrocode} +% tremas, +% \begin{macrocode} +\declare@shorthand{usorbian}{"e}{\textormath{\"{e}}{\ddot e}} +\declare@shorthand{usorbian}{"E}{\textormath{\"{E}}{\ddot E}} +\declare@shorthand{usorbian}{"i}{\textormath{\"{\i}}{\ddot\imath}} +\declare@shorthand{usorbian}{"I}{\textormath{\"{I}}{\ddot I}} +% \end{macrocode} +% usorbian es-zet (sharp s), +% \begin{macrocode} +\declare@shorthand{usorbian}{"s}{\textormath{\ss{}}{\@SS{}}} +\declare@shorthand{usorbian}{"S}{SS} +% \end{macrocode} +% german and french quotes, +% \changes{usorbian-1.0f}{1997/04/03}{Removed empty groups after +% double quote and guillemot characters} +% \begin{macrocode} +\declare@shorthand{usorbian}{"`}{% + \textormath{\quotedblbase}{\mbox{\quotedblbase}}} +\declare@shorthand{usorbian}{"'}{% + \textormath{\textquotedblleft}{\mbox{\textquotedblleft}}} +\declare@shorthand{usorbian}{"<}{% + \textormath{\guillemotleft}{\mbox{\guillemotleft}}} +\declare@shorthand{usorbian}{">}{% + \textormath{\guillemotright}{\mbox{\guillemotright}}} +% \end{macrocode} +% discretionary commands +% \changes{usorbian-1.0c}{1996/01/24}{Now use \cs{bbl@disc}} +% \begin{macrocode} +\declare@shorthand{usorbian}{"c}{\textormath{\bbl@disc ck}{c}} +\declare@shorthand{usorbian}{"C}{\textormath{\bbl@disc CK}{C}} +\declare@shorthand{usorbian}{"f}{\textormath{\bbl@disc f{ff}}{f}} +\declare@shorthand{usorbian}{"F}{\textormath{\bbl@disc F{FF}}{F}} +\declare@shorthand{usorbian}{"l}{\textormath{\bbl@disc l{ll}}{l}} +\declare@shorthand{usorbian}{"L}{\textormath{\bbl@disc L{LL}}{L}} +\declare@shorthand{usorbian}{"m}{\textormath{\bbl@disc m{mm}}{m}} +\declare@shorthand{usorbian}{"M}{\textormath{\bbl@disc M{MM}}{M}} +\declare@shorthand{usorbian}{"n}{\textormath{\bbl@disc n{nn}}{n}} +\declare@shorthand{usorbian}{"N}{\textormath{\bbl@disc N{NN}}{N}} +\declare@shorthand{usorbian}{"p}{\textormath{\bbl@disc p{pp}}{p}} +\declare@shorthand{usorbian}{"P}{\textormath{\bbl@disc P{PP}}{P}} +\declare@shorthand{usorbian}{"t}{\textormath{\bbl@disc t{tt}}{t}} +\declare@shorthand{usorbian}{"T}{\textormath{\bbl@disc T{TT}}{T}} +% \end{macrocode} +% and some additional commands: +% \begin{macrocode} +\declare@shorthand{usorbian}{"-}{\nobreak\-\bbl@allowhyphens} +\declare@shorthand{usorbian}{"|}{% + \textormath{\nobreak\discretionary{-}{}{\kern.03em}% + \allowhyphens}{}} +\declare@shorthand{usorbian}{""}{\hskip\z@skip} +% \end{macrocode} +% +% \begin{macro}{\mdqon} +% \begin{macro}{\mdqoff} +% \begin{macro}{\ck} +% All that's left to do now is to define a couple of commands +% for reasons of compatibility with \file{german.sty}. +% \changes{usorbian-1.0g}{1998/06/07}{Now use \cs{shorthandon} and +% \cs{shorthandoff}} +% \begin{macrocode} +\def\mdqon{\shorthandon{"}} +\def\mdqoff{\shorthandoff{"}} +\def\ck{\allowhyphens\discretionary{k-}{k}{ck}\allowhyphens} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% 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. +% \changes{usorbian-1.0e}{1996/11/03}{Now use \cs{ldf@finish} to wrap +% up} +% \changes{usorbian-1.0j}{2007/10/19}{Make this work for more than one +% option name} +% \begin{macrocode} +\ldf@finish\CurrentOption +%</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 |