% \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} % %\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} % %\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} % % \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