summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/generic/babel/galician.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/generic/babel/galician.dtx')
-rw-r--r--Master/texmf-dist/source/generic/babel/galician.dtx476
1 files changed, 476 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/generic/babel/galician.dtx b/Master/texmf-dist/source/generic/babel/galician.dtx
new file mode 100644
index 00000000000..89b8c59e296
--- /dev/null
+++ b/Master/texmf-dist/source/generic/babel/galician.dtx
@@ -0,0 +1,476 @@
+% \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{galician.dtx}
+%</dtx>
+%<code>\ProvidesLanguage{galician}
+%\fi
+%\ProvidesFile{galician.dtx}
+ [2005/03/30 v1.2l Galician support from the babel system]
+%\iffalse
+%% File `galician.dtx'
+%% Babel package for LaTeX version 2e
+%% Copyright (C) 1989 - 2005
+%% by Johannes Braams, TeXniek
+%
+%% Galician Language Definition File
+%% Copyright (C) 1989 - 2005
+%% by Manuel Carriba mcarriba at eunetcom.net
+%% Johannes Braams, TeXniek
+%
+%% 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 Galician language definition file.
+%
+% The 'galician' style was originally adopted from the 'spanish'
+% style.
+%
+% All the macrocodes have been translated from the spanish language
+% into the galician language, using the spanish-galician
+% dictionary:
+%
+% X.L. Franco Grande
+% Diccionario Galego-Castelan e Vocabulario Castelan-Galego
+% Editorial Galaixa, Vigo 1968
+%
+% The hyphenation patterns for the galician language should be the
+% same as the spanish language. I've inspected some galician essays
+% and nothing strange seems to point out that both languages might
+% use different hyphenation patterns. This still has to been
+% proved. I will check it anyway, and hope to report more as soon
+% as possible.
+%
+% A small note to the months in the galician language:
+%
+% 'outono' will be used sometimes instead of 'outubro', but this
+% word will be used more to assign the season.
+%
+% 'nadal' will be used sometimes instead of 'decembro', but this
+% word will be used more for the event on Christmas.
+%
+% Manuel Carriba (mcarriba at eunetcom.net)
+%
+% The file spanish.sty was written by Julio Sanchez,
+% (jsanchez at gmv.es)
+%<*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{galician.dtx}
+\end{document}
+%</filedriver>
+%\fi
+% \GetFileInfo{galician.dtx}
+%
+% \changes{galician-1.1}{1994/02/27}{Update for \LaTeXe}
+% \changes{galician-1.1c}{1994/06/26}{Removed the use of \cs{filedate}
+% and moved identification after the loading of \file{babel.def}}
+% \changes{galician-1.2e}{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.}
+%
+% \section{The Galician 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 definition macros for the
+% Galician language.
+%
+% For this language the characters |'| |~| and |"| are made
+% active. In table~\ref{tab:galician-quote} an overview is given of
+% their purpose.
+% \begin{table}[htb]
+% \centering
+% \begin{tabular}{lp{8cm}}
+% \verb="|= & disable ligature at this position.\\
+% |"-| & an explicit hyphen sign, allowing hyphenation
+% in the rest of the word.\\
+% |\-| & like the old |\-|, but allowing hyphenation
+% in the rest of the word. \\
+% |'a| & an accent that allows hyphenation. Valid for all
+% vowels uppercase and lowercase.\\
+% |'n| & a n with a tilde. This is included to
+% improve compatibility with FTC. Works for uppercase too.\\
+% |"u| & a u with dieresis allowing hyphenation.\\
+% |"a| & feminine ordinal as in
+% 1{\raise1ex\hbox{\underbar{\scriptsize a}}}.\\
+% |"o| & masculine ordinal as in
+% 1{\raise1ex\hbox{\underbar{\scriptsize o}}}.\\
+% |~n| & a n with tilde. Works for uppercase too.
+% \end{tabular}
+% \caption{The extra definitions made by \texttt{galician.ldf}}
+% \label{tab:galician-quote}
+% \end{table}
+% These active accents character behave according to their original
+% definitions if not followed by one of the characters indicated in
+% that table.
+%
+% \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{galician-1.2e}{1996/11/02}{Now use \cs{LdfInit} to perform
+% initial checks}
+% \begin{macrocode}
+%<*code>
+\LdfInit{galician}\captionsgalician
+% \end{macrocode}
+%
+% When this file is read as an option, i.e. by the |\usepackage|
+% command, \texttt{galician} could be an `unknown' language in which
+% case we have to make it known. So we check for the existence of
+% |\l@galician| to see whether we have to do something here.
+%
+% \changes{galician-1.1c}{1994/06/26}{Now use \cs{@nopatterns} to
+% produce the warning}
+% \begin{macrocode}
+\ifx\l@galician\@undefined
+ \@nopatterns{Galician}
+ \adddialect\l@galician0\fi
+% \end{macrocode}
+%
+% The next step consists of defining commands to switch to (and
+% from) the Galician language.
+%
+% \begin{macro}{\captionsgalician}
+% The macro |\captionsgalician| defines all strings used
+% in the four standard documentclasses provided with \LaTeX.
+% \changes{galician-1.1d}{1994/11/09}{Added a few missing
+% translations}
+% \changes{galician-1.2b}{1995/07/02}{Added \cs{proofname} for
+% AMS-\LaTeX}
+% \changes{galician-1.2j}{2000/09/20}{Added \cs{glossaryname}}
+% \changes{galician-1.2k}{2001/02/20}{Translated Proof}
+% \changes{galician-1.2l}{2003/05/23}{Translated Gloassary}
+% \begin{macrocode}
+\addto\captionsgalician{%
+ \def\prefacename{Prefacio}%
+ \def\refname{Referencias}%
+ \def\abstractname{Resumo}%
+ \def\bibname{Bibliograf\'{\i}a}%
+ \def\chaptername{Cap\'{\i}tulo}%
+ \def\appendixname{Ap\'endice}%
+ \def\contentsname{\'Indice Xeral}%
+ \def\listfigurename{\'Indice de Figuras}%
+ \def\listtablename{\'Indice de T\'aboas}%
+ \def\indexname{\'Indice de Materias}%
+ \def\figurename{Figura}%
+ \def\tablename{T\'aboa}%
+ \def\partname{Parte}%
+ \def\enclname{Adxunto}%
+ \def\ccname{Copia a}%
+ \def\headtoname{A}%
+ \def\pagename{P\'axina}%
+ \def\seename{v\'exase}%
+ \def\alsoname{v\'exase tam\'en}%
+ \def\proofname{Demostraci\'on}%
+ \def\glossaryname{Glosario}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\dategalician}
+% The macro |\dategalician| redefines the command |\today| to
+% produce Galician dates.
+% \changes{galician-1.1d}{1994/11/09}{Corrected the name of the month
+% marzo from marzal}
+% \changes{galician-1.2h}{1997/10/01}{Use \cs{edef} to define
+% \cs{today} to save memory}
+% \changes{galician-1.2h}{1998/03/28}{use \cs{def} instead of \cs{edef}}
+% \begin{macrocode}
+\def\dategalician{%
+ \def\today{\number\day~de\space\ifcase\month\or
+ xaneiro\or febreiro\or marzo\or abril\or maio\or xu\~no\or
+ xullo\or agosto\or setembro\or outubro\or novembro\or decembro\fi
+ \space de~\number\year}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\extrasgalician}
+% \changes{galician-1.2a}{1995/03/14}{Handling of active characters
+% completely rewritten}
+% \begin{macro}{\noextrasgalician}
+%
+% The macro |\extrasgalician| will perform all the extra
+% definitions needed for the Galician language. The macro
+% |\noextrasgalician| is used to cancel the actions of
+% |\extrasgalician|.
+%
+% For Galician, some characters are made active or are
+% redefined. In particular, the \texttt{"} character and the |~|
+% character receive new meanings this can also happen for the
+% \texttt{'} character when the option \Lopt{activeacute} is
+% specified.
+%
+% \changes{galician-1.2c}{1995/07/08}{Make active accent optional}
+% \changes{galician-1.2d}{1995/08/17}{Need to split up the
+% \cs{@ifpackagewith} statement}
+% \begin{macrocode}
+\addto\extrasgalician{\languageshorthands{galician}}
+\initiate@active@char{"}
+\initiate@active@char{~}
+\addto\extrasgalician{%
+ \bbl@activate{"}\bbl@activate{~}}
+\@ifpackagewith{babel}{activeacute}{%
+ \initiate@active@char{'}}{}
+\@ifpackagewith{babel}{activeacute}{%
+ \addto\extrasgalician{\bbl@activate{'}}}{}
+% \end{macrocode}
+% Now make sure that the characters that have been turned into
+% shorthanfd characters expand to `normal' characters outside the
+% catalan environment.
+% \changes{galician-1.2i}{1999/12/16}{Don't forget do deactivate the
+% shorthands}
+% \begin{macrocode}
+\addto\noextrasgalician{%
+ \bbl@deactivate{"}\bbl@deactivate{~}}
+\@ifpackagewith{babel}{activeacute}{%
+ \addto\noextrascatalan{\bbl@deactivate{'}}}{}
+% \end{macrocode}
+%
+% \changes{galician-1.2a}{1995/03/14}{All the code for handling active
+% characters is now moved to \file{babel.def}}
+%
+% Apart from the active characters some other macros get a new
+% definition. Therefore we store the current one to be able to
+% restore them later.
+%
+% \changes{galician-1.2f}{1997/01/08}{Added some comment signs to
+% prevent unwanted spaces in the output}
+% \begin{macrocode}
+\addto\extrasgalician{%
+ \babel@save\"\babel@save\~%
+ \def\"{\protect\@umlaut}%
+ \def\~{\protect\@tilde}}
+\@ifpackagewith{babel}{activeacute}{%
+ \babel@save\'%
+ \addto\extrasgalician{\def\'{\protect\@acute}}
+ }{}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% All the code above is necessary because we need a few extra
+% active characters. These characters are then used as indicated in
+% table~\ref{tab:galician-quote}.
+%
+% This option includes some support for working with extended,
+% 8-bit fonts, if available. This assumes that the user has some
+% macros predefined. For instance, if the user has a |\@ac@a| macro
+% defined, the sequence |\'a| or |'a| will both expand to whatever
+% |\@ac@a| is defined to expand, presumably \texttt{\'a}. The
+% names of these macros are the same as those in Ferguson's
+% ML-\TeX{} compatibility package on purpose. Using this method,
+% and provided that adequate hyphenation patterns exist, it is
+% possible to get better hyphenation for Galician than before. If
+% the user has a terminal able to produce these codes directly, it
+% is possible to do so. If the need arises to send the document to
+% someone who does not have such support, it is possible to
+% mechanically translate the document so that the receiver can make
+% use of it.
+%
+% To be able to define the function of the new accents, we first
+% define a couple of `support' macros.
+%
+% \begin{macro}{\dieresis}
+% \begin{macro}{\textacute}
+% \changes{galician-1.1c}{1994/06/26}{Renamed from \cs{acute} as that
+% is a \cs{mathaccent}}
+% \begin{macro}{\texttilde}
+% \changes{galician-1.1c}{1994/06/26}{Renamed from \cs{tilde} as that
+% is a \cs{mathaccent}}
+%
+% The original definition of |\"| is stored as |\dieresis|, because
+% the definition of |\"| might not be the default plain \TeX\
+% one. If the user uses \textsc{PostScript} fonts with the Adobe
+% font encoding the \texttt{"} character is not in the same
+% position as in Knuth's font encoding. In this case |\"| will not
+% be defined as |\accent"7F #1|, but as |\accent'310 #1|. Something
+% similar happens when using fonts that follow the Cork
+% encoding. For this reason we save the definition of |\"| and use
+% that in the definition of other macros. We do likewise for |\'|
+% and |\~|.
+% \begin{macrocode}
+\let\dieresis\"
+\let\texttilde\~
+\@ifpackagewith{babel}{activeacute}{\let\textacute\'}{}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@umlaut}
+% \begin{macro}{\@acute}
+% \begin{macro}{\@tilde}
+% If the user setup has extended fonts, the Ferguson macros are
+% required to be defined. We check for their existance and, if
+% defined, expand to whatever they are defined to. For instance,
+% |\'a| would check for the existance of a |\@ac@a| macro. It is
+% assumed to expand to the code of the accented letter. If it is
+% not defined, we assume that no extended codes are available and
+% expand to the original definition but enabling hyphenation beyond
+% the accent. This is as best as we can do. It is better if you
+% have extended fonts or ML-\TeX{} because the hyphenation
+% algorithm can work on the whole word. The following macros are
+% directly derived from ML-\TeX{}.\footnote{A problem is perceived
+% here with these macros when used in a multilingual environment
+% where extended hyphenation patterns are available for some but
+% not all languages. Assume that no extended patterns exist at some
+% site for French and that \file{french.sty} would adopt this
+% scheme too. In that case, \texttt{'e} in French would
+% produce the combined accented letter, but hyphenation around it
+% would be suppressed. Both language options would need an
+% independent method to know whether they have extended patterns
+% available. The precise impact of this problem and the possible
+% solutions are under study.}
+%
+% \begin{macrocode}
+\def\@umlaut#1{\allowhyphens\dieresis{#1}\allowhyphens}
+\def\@tilde#1{\allowhyphens\texttilde{#1}\allowhyphens}
+\@ifpackagewith{babel}{activeacute}{%
+ \def\@acute#1{\allowhyphens\textacute{#1}\allowhyphens}}{}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% Now we can define our shorthands: the umlauts,
+% \begin{macrocode}
+\declare@shorthand{galician}{"-}{\nobreak-\bbl@allowhyphens}
+\declare@shorthand{galician}{"|}{\discretionary{-}{}{\kern.03em}}
+\declare@shorthand{galician}{"u}{\@umlaut{u}}
+\declare@shorthand{galician}{"U}{\@umlaut{U}}
+% \end{macrocode}
+% ordinals\footnote{The code for the ordinals was taken from the
+% answer provided by Raymond Chen
+% {\texttt(raymond@math.berkeley.edu}) to a question by Joseph Gil
+% (\texttt{yogi@cs.ubc.ca}) in \texttt{comp.text.tex}.},
+% \changes{galician-1.2f}{1997/01/08}{Added \cs{leavevmode} to
+% definitions of \texttt{"a} and \texttt{"o}}
+% \begin{macrocode}
+\declare@shorthand{galician}{"o}{%
+ \leavevmode\raise1ex\hbox{\underbar{\scriptsize o}}}
+\declare@shorthand{galician}{"a}{%
+ \leavevmode\raise1ex\hbox{\underbar{\scriptsize a}}}
+% \end{macrocode}
+% acute accents,
+% \changes{galician-1.2b}{1995/07/03}{Changed mathmode definition of
+% acute shorthands to expand to a single prime followed by the next
+% character in the input}
+% \begin{macrocode}
+\@ifpackagewith{babel}{activeacute}{%
+ \declare@shorthand{galician}{'a}{\textormath{\@acute a}{^{\prime} a}}
+ \declare@shorthand{galician}{'e}{\textormath{\@acute e}{^{\prime} e}}
+ \declare@shorthand{galician}{'i}{\textormath{\@acute\i{}}{^{\prime}i}}
+ \declare@shorthand{galician}{'o}{\textormath{\@acute o}{^{\prime} o}}
+ \declare@shorthand{galician}{'u}{\textormath{\@acute u}{^{\prime} u}}
+ \declare@shorthand{galician}{'A}{\textormath{\@acute A}{^{\prime} A}}
+ \declare@shorthand{galician}{'E}{\textormath{\@acute E}{^{\prime} E}}
+ \declare@shorthand{galician}{'I}{\textormath{\@acute I}{^{\prime} I}}
+ \declare@shorthand{galician}{'O}{\textormath{\@acute O}{^{\prime} O}}
+ \declare@shorthand{galician}{'U}{\textormath{\@acute U}{^{\prime} U}}
+% \end{macrocode}
+% tildes,
+% \begin{macrocode}
+ \declare@shorthand{galician}{'n}{\textormath{\~n}{^{\prime} n}}
+ \declare@shorthand{galician}{'N}{\textormath{\~N}{^{\prime} N}}
+% \end{macrocode}
+% the acute accent,
+% \changes{galician-1.2d}{1995/11/11}{Added '{}' as an axtra shorthand}
+% \begin{macrocode}
+ \declare@shorthand{galician}{''}{%
+ \textormath{\textquotedblright}{\sp\bgroup\prim@s'}}
+ }{}
+\declare@shorthand{galician}{~n}{\textormath{\~n}{\@tilde n}}
+\declare@shorthand{galician}{~N}{\textormath{\~N}{\@tilde N}}
+% \end{macrocode}
+%
+% \begin{macro}{\-}
+%
+% All that is left now is the redefinition of |\-|. The new version
+% of |\-| should indicate an extra hyphenation position, while
+% allowing other hyphenation positions to be generated
+% automatically. The standard behaviour of \TeX\ in this respect is
+% unfortunate for Galician but not as much as for Dutch or German,
+% where long compound words are quite normal and all one needs is a
+% means to indicate an extra hyphenation position on top of the
+% ones that \TeX\ can generate from the hyphenation
+% patterns. However, the average length of words in Galician makes
+% this desirable and so it is kept here.
+%
+% \begin{macrocode}
+\addto\extrasgalician{%
+ \babel@save{\-}%
+ \def\-{\bbl@allowhyphens\discretionary{-}{}{}\bbl@allowhyphens}}
+% \end{macrocode}
+% \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{galician-1.2e}{1996/11/02}{Now use \cs{ldf@finish} to wrap
+% up}
+% \begin{macrocode}
+\ldf@finish{galician}
+%</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