summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/babel-contrib/breton/breton.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/babel-contrib/breton/breton.dtx')
-rw-r--r--macros/latex/contrib/babel-contrib/breton/breton.dtx365
1 files changed, 365 insertions, 0 deletions
diff --git a/macros/latex/contrib/babel-contrib/breton/breton.dtx b/macros/latex/contrib/babel-contrib/breton/breton.dtx
new file mode 100644
index 0000000000..e87500aaf1
--- /dev/null
+++ b/macros/latex/contrib/babel-contrib/breton/breton.dtx
@@ -0,0 +1,365 @@
+% \iffalse meta-comment
+%
+% Copyright 1989-2005 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{263}
+%
+% \iffalse
+% Tell the \LaTeX\ system who we are and write an entry on the
+% transcript.
+%<*dtx>
+\ProvidesFile{breton.dtx}
+%</dtx>
+%<code>\ProvidesLanguage{breton}
+%\fi
+%\ProvidesFile{breton.dtx}
+ [2005/03/29 v1.0h Breton support from the babel system]
+%\iffalse
+%% File `breton.dtx'
+%% Babel package for LaTeX version 2e
+%% Copyright (C) 1989 - 2005
+%% by Johannes Braams, TeXniek
+%
+%% Breton Language Definition File
+%% Copyright (C) 1994 - 2005
+%% by Christian Rolland
+% Universite de Bretagne occidentale
+% Departement d'informatique
+% 6, avenue Le Gorgeu
+% BP 452
+% 29275 Brest Cedex -- FRANCE
+% Christian.Rolland at univ-brest.fr (Internet)
+%
+%% Please report errors to: J.L. Braams
+%% babel at braams.cistron.nl
+%
+% This file is part of the babel system, it provides the source
+% code for the Breton language definition file. It is based on the
+% language definition file for french, version 4.5c
+%<*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}}
+\begin{document}
+ \DocInput{breton.dtx}
+\end{document}
+%</filedriver>
+%\fi
+% \GetFileInfo{breton.dtx}
+% \changes{breton-1.0e}{1996/10/10}{Replaced \cs{undefined} with
+% \cs{@undefined} and \cs{empty} with \cs{@empty} for consistency
+% with \LaTeX, moved the definition of \cs{atcatcode} right to the
+% beginning.}
+%
+% \changes{breton-1.0}{1994/09/21}{First release}
+%
+% \section{The Breton language}
+%
+% The file \file{\filename}\footnote{The file described in this
+% section has version number \fileversion\ and was last revised on
+% \filedate.} defines all the language-specific macros for the Breton
+% language.
+%
+% There are not really typographic rules for the Breton
+% language. It is a local language (it's one of the celtic
+% languages) which is spoken in Brittany (West of France). So we
+% have a synthesis between french typographic rules and english
+% typographic rules. The characters \texttt{:}, \texttt{;},
+% \texttt{!} and \texttt{?} are made active in order to get a
+% whitespace automatically before these characters.
+%
+% \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{breton-1.0e}{1996/11/02}{Now use \cs{LdfInit} to perform
+% initial checks}
+% \begin{macrocode}
+%<*code>
+\LdfInit{breton}\captionsbreton
+% \end{macrocode}
+%
+% When this file is read as an option, i.e. by the |\usepackage|
+% command, \texttt{breton} will be an `unknown' language in which
+% case we have to make it known. So we check for the existence of
+% |\l@breton| to see whether we have to do something here.
+%
+% \begin{macrocode}
+\ifx\l@breton\@undefined
+ \@nopatterns{Breton}
+ \adddialect\l@breton0\fi
+% \end{macrocode}
+% The next step consists of defining commands to switch to the
+% English language. The reason for this is that a user might want
+% to switch back and forth between languages.
+%
+% \begin{macro}{\captionsbreton}
+% The macro |\captionsbreton| defines all strings used in the
+% four standard document classes provided with \LaTeX.
+% \changes{breton-1.0b}{1995/07/04}{Added \cs{proofname} for
+% AMS-\LaTeX}
+% \changes{breton-1.0h}{2000/09/19}{Added \cs{glossaryname}}
+% \begin{macrocode}
+\addto\captionsbreton{%
+ \def\prefacename{Rakskrid}%
+ \def\refname{Daveenno\`u}%
+ \def\abstractname{Dvierra\~n}%
+ \def\bibname{Lennadurezh}%
+ \def\chaptername{Pennad}%
+ \def\appendixname{Stagadenn}%
+ \def\contentsname{Taolenn}%
+ \def\listfigurename{Listenn ar Figurenno\`u}%
+ \def\listtablename{Listenn an taolenno\`u}%
+ \def\indexname{Meneger}%
+ \def\figurename{Figurenn}%
+ \def\tablename{Taolenn}%
+ \def\partname{Lodenn}%
+ \def\enclname{Diello\`u kevret}%
+ \def\ccname{Eilskrid da}%
+ \def\headtoname{evit}
+ \def\pagename{Pajenn}%
+ \def\seename{Gwelout}%
+ \def\alsoname{Gwelout ivez}%
+ \def\proofname{Proof}% <-- needs translation
+ \def\glossaryname{Glossary}% <-- Needs translation
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\datebreton}
+% The macro |\datebreton| redefines the command
+% |\today| to produce Breton dates.
+% \changes{breton-1.0f}{1997/10/01}{Use \cs{edef} to define \cs{today}
+% to save memory}
+% \changes{breton-1.0f}{1998/03/28}{use \cs{def} instead of \cs{edef}}
+% \begin{macrocode}
+\def\datebreton{%
+ \def\today{\ifnum\day=1\relax 1\/$^{\rm a\tilde{n}}$\else
+ \number\day\fi \space a\space viz\space\ifcase\month\or
+ Genver\or C'hwevrer\or Meurzh\or Ebrel\or Mae\or Mezheven\or
+ Gouere\or Eost\or Gwengolo\or Here\or Du\or Kerzu\fi
+ \space\number\year}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\extrasbreton}
+% \begin{macro}{\noextrasbreton}
+% The macro |\extrasbreton| will perform all the extra
+% definitions needed for the Breton language. The macro
+% |\noextrasbreton| is used to cancel the actions of
+% |\extrasbreton|.
+%
+% The category code of the characters \texttt{:}, \texttt{;},
+% \texttt{!} and \texttt{?} is made |\active| to insert a little
+% white space.
+% \changes{breton-1.0b}{1995/03/07}{Use the new mechanism for dealing
+% with active chars}
+% \begin{macrocode}
+\initiate@active@char{:}
+\initiate@active@char{;}
+\initiate@active@char{!}
+\initiate@active@char{?}
+% \end{macrocode}
+% We specify that the breton group of shorthands should be used.
+% \begin{macrocode}
+\addto\extrasbreton{\languageshorthands{breton}}
+% \end{macrocode}
+% These characters are `turned on' once, later their definition may
+% vary.
+% \begin{macrocode}
+\addto\extrasbreton{%
+ \bbl@activate{:}\bbl@activate{;}%
+ \bbl@activate{!}\bbl@activate{?}}
+% \end{macrocode}
+% Don't forget to turn the shorthands off again.
+% \changes{breton-1.0g}{1999/12/16}{Deactivate shorthands ouside of Breton}
+% \begin{macrocode}
+\addto\noextrasbreton{%
+ \bbl@deactivate{:}\bbl@deactivate{;}%
+ \bbl@deactivate{!}\bbl@deactivate{?}}
+% \end{macrocode}
+%
+% The last thing |\extrasbreton| needs to do is to make sure that
+% |\frenchspacing| is in effect. If this is not the case the
+% execution of |\noextrasbreton| will switch it of again.
+% \begin{macrocode}
+\addto\extrasbreton{\bbl@frenchspacing}
+\addto\noextrasbreton{\bbl@nonfrenchspacing}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\breton@sh@;@}
+% We have to reduce the amount of white space before \texttt{;},
+% \texttt{:} and \texttt{!} when the user types a space in front of
+% these characters. This should only happen outside mathmode, hence
+% the test with |\ifmmode|.
+%
+% \begin{macrocode}
+\declare@shorthand{breton}{;}{%
+ \ifmmode
+ \string;\space
+ \else\relax
+% \end{macrocode}
+% In horizontal mode we check for the presence of a `space' and
+% replace it by a |\thinspace|.
+% \begin{macrocode}
+ \ifhmode
+ \ifdim\lastskip>\z@
+ \unskip\penalty\@M\thinspace
+ \fi
+ \fi
+ \string;\space
+ \fi}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\breton@sh@:@}
+% \begin{macro}{\breton@sh@!@}
+% Because these definitions are very similar only one is displayed
+% in a way that the definition can be easily checked.
+% \begin{macrocode}
+\declare@shorthand{breton}{:}{%
+ \ifmmode\string:\space
+ \else\relax
+ \ifhmode
+ \ifdim\lastskip>\z@\unskip\penalty\@M\thinspace\fi
+ \fi
+ \string:\space
+ \fi}
+\declare@shorthand{breton}{!}{%
+ \ifmmode\string!\space
+ \else\relax
+ \ifhmode
+ \ifdim\lastskip>\z@\unskip\penalty\@M\thinspace\fi
+ \fi
+ \string!\space
+ \fi}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\breton@sh@?@}
+% For the question mark something different has to be done. In this
+% case the amount of white space that replaces the space character
+% depends on the dimensions of the font.
+% \begin{macrocode}
+\declare@shorthand{breton}{?}{%
+ \ifmmode
+ \string?\space
+ \else\relax
+ \ifhmode
+ \ifdim\lastskip>\z@
+ \unskip
+ \kern\fontdimen2\font
+ \kern-1.4\fontdimen3\font
+ \fi
+ \fi
+ \string?\space
+ \fi}
+% \end{macrocode}
+% \end{macro}
+%
+% All that is left to do now is provide the breton user with some
+% extra utilities.
+%
+% Some definitions for special characters.
+% \begin{macrocode}
+\DeclareTextSymbol{\at}{OT1}{64}
+\DeclareTextSymbol{\at}{T1}{64}
+\DeclareTextSymbolDefault{\at}{OT1}
+\DeclareTextSymbol{\boi}{OT1}{92}
+\DeclareTextSymbol{\boi}{T1}{16}
+\DeclareTextSymbolDefault{\boi}{OT1}
+\DeclareTextSymbol{\circonflexe}{OT1}{94}
+\DeclareTextSymbol{\circonflexe}{T1}{2}
+\DeclareTextSymbolDefault{\circonflexe}{OT1}
+\DeclareTextSymbol{\tild}{OT1}{126}
+\DeclareTextSymbol{\tild}{T1}{3}
+\DeclareTextSymbolDefault{\tild}{OT1}
+\DeclareTextSymbol{\degre}{OT1}{23}
+\DeclareTextSymbol{\degre}{T1}{6}
+\DeclareTextSymbolDefault{\degre}{OT1}
+% \end{macrocode}
+%
+% The following macros are used in the redefinition of |\^| and
+% |\"| to handle the letter i.
+% \changes{breton-1.0c}{1995/07/07}{Postpone the
+% \cs{DeclareTextCompositeCommand}s untill \cs{AtBeginDocument}}
+%
+% \begin{macrocode}
+\AtBeginDocument{%
+ \DeclareTextCompositeCommand{\^}{OT1}{i}{\^\i}
+ \DeclareTextCompositeCommand{\"}{OT1}{i}{\"\i}}
+% \end{macrocode}
+%
+% And some more macros for numbering.
+% \begin{macrocode}
+\def\kentan{1\/${}^{\rm a\tilde{n}}$}
+\def\eil{2\/${}^{\rm l}$}
+\def\re{\/${}^{\rm re}$}
+\def\trede{3\re}
+\def\pevare{4\re}
+\def\vet{\/${}^{\rm vet}$}
+\def\pempvet{5\vet}
+% \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.
+% \changes{breton-1.0e}{1996/11/02}{Now use \cs{ldf@finish} to wrap
+% up}
+% \begin{macrocode}
+\ldf@finish{breton}
+%</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