% \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{2264} % \ProvidesFile{galician.dtx} % [2008/07/06 v4.3c Galician support from the babel system] %\iffalse %% File `galician.dtx' %% Babel package for LaTeX version 2e %% Copyright (C) 1989 - 2008 %% by Johannes Braams, TeXniek % %% Galcian Language Definition File %% Copyright (C) 1989 - 2006 %% by Manuel Carriba mcarriba at eunetcom.net %% Johannes Braams, TeXniek %% Copyright (C) 2007 - 2008 %% by Javier A. M\'ugica %% Johannes Braams, TeXniek % %% Please report errors to: Javier A. Mugica (preferably) %% jmugica at digi21.net %% J.L. Braams %% babel at braams.xs4all.nl % % This file is part of the babel system, it provides the source % code for the Galician language definition file. % The original version of the file spanish.dtx was written by Javier Bezos. % %<*filedriver> \documentclass[galician,a4paper]{ltxdoc} \usepackage[activeacute]{babel} %Small suport for the input encoding \catcode`\á=\active \defá{\'a} \catcode`\é=\active \defé{\'e} \catcode`\í=\active \defí{\'\i} \catcode`\ó=\active \defó{\'o} \catcode`\ú=\active \defú{\'u} \catcode`\ñ=\active \defñ{\~n} %end %\usepackage{ps} \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}} \setlength{\arrayrulewidth}{2\arrayrulewidth} \newcommand\toprule{\cline{1-2}\\[-2ex]} \newcommand\botrule{\\[.6ex]\cline{1-2}} \newcommand\hmk{$\string|$} \newcommand\New[1]{% \leavevmode\marginpar{\raggedleft\sffamily Novo en #1}} \newcommand\nm[1]{\unskip\,$^{#1}$} \newcommand\nt[1]{\quad$^{#1}$\,\ignorespaces} \makeatletter \renewcommand\@biblabel{} \makeatother \newcommand\DOT[1]{\msc{DOT},~#1} \newcommand\DTL[1]{\msc{DTL},~#1} \newcommand\MEA[1]{\msc{MEA},~#1} \raggedright \addtolength{\oddsidemargin}{-2pc} \addtolength{\textwidth}{2pc} \setlength{\parindent}{1em} \OnlyDescription \begin{document} \DocInput{galician.dtx} \end{document} % %\fi % % \begingroup % % \catcode`\{=11 % \catcode`\[=1 % % \gdef\ignoringuser[^^A % \bgroup % \let\end{userdtx\fi % \let\end{userdrv\fi % \aftergroup\endgroup % \catcode`\{=11 % \catcode`f=14 ^^A kills \if... and \fi % \catcode`l=14 ^^A kills \else % \catcode`o=14 ^^A kills \or % \catcode`p=14 ^^A kills \repeat % \iffalse} % % \endgroup % % ^^A\def\langdeffile{} % \newenvironment{userdtx} % {\ifx\langdeffile\undefined % \else\expandafter\ignoringuser % \fi}{} % % \newenvironment{userdrv} % {\ifx\langdeffile\undefined % \expandafter\ignoringuser % \else\fi}{} % % \begin{userdtx} %^^A ======= Beginning of text as typeset by galician.dtx ========= % % \title{Estilo \textsf{galician} para o sistema \babel\\[10pt] % \large Versión 4.3, de 29 de xaneiro do 2007} % % \author{Javier Múgica\footnote{O autor orixinal foi Javier Bezos. % Foi traduciro por min do castelán en xaneiro do 2007, e desde % entón e mantido e actualizado por min.}} % % \date{} ^^A@# % % \maketitle % % {\small\tableofcontents} % %% \section{\textsf{galician} coma lingua principal} % % En \babel{} considérase que a última lingua citada en |\usepackage| e |\documentclass|, % por esta orde, é a lingua principal. Se a lingua principal é |galician|, actívase o grupo % |\layoutgalician| que adapta varios elementos ós usos tipogr'aficos galegos do seguinte modo: % % \begin{itemize} % % \item[$\diamond$] |enumerate| e |itemize|\vadjust{\nobreak}\\[1ex] % % O primeiro usa a seguinte secuencia:\vadjust{\nobreak}\\ % \quad 1.\\ % \qquad \emph{a})\\ % \quad\qquad 1)\\ % \qquad\qquad \emph{a$'$})\\ % O segundo a seguinte:\\ % \quad\leavevmode\hbox to 1.2ex % {\hss\vrule height .95ex width .8ex depth -.15ex\hss}\\ % \qquad\textbullet\\ % \quad\qquad $\circ$\\ % \qquad\qquad $\diamond$ % % Dúas órdenes permiten outros estilos en |itemize|: con |\galiciandashitems| cámbiase a raias en tódo-los niveis % e con |\galiciansignitems|, a \textbullet{} $\circ$ % $\diamond$ $\triangleright$. % % \item[$\diamond$] |\alph| e |\Alph|\\[1ex] % % Inclúen o e'ne, pero non k, j, w nin y. % % \item[$\diamond$] |\fnsymbol|\\[1ex] % % Empréganse un, dous, tres... asteriscos (*, **, ***, etc.), % en lugar da sucesi'on angloamericana de cruces, barras, % etc.\footnote{\DOT{162}.} % % \item[$\diamond$] |\guillemotleft| e |\guillemotright|\\[1ex] % % As comiñas latinas para |OT1| son menos angulosas e xenéranse cunhas puntas de frecha |lasy|. % % \item[$\diamond$] |\roman|\\[1ex] % % Os números romanos en minúscula son propios das obras inglesas e non se empregan no continente. % Por iso se redefine |\roman| para que produza versalitas. % % \begin{quote}\small % \textbf{Nota.} MakeIndex non pode entender a forma na que % |\roman| escribe o n'umero de p'axina, polo que % elimina as liñas afectadas. Por iso o aquivo |.idx| % ten que ser convertido antes de ser procesado con MakeIndex. % Con este paquete proporciónase a utilidade |glromidx.tex| que se % encarga diso. Simplemente componse ese arquivo con \LaTeX{} % e a continuaci'on respóndese ás preguntas que se formulan. % Este proceso non é necesario se non se introduciu ningunha % entrada de 'indice en p'axinas numeradas con |\roman| (o que ser'a % o máis normal). Se un s'imbolo propio de \emph{MakeIndex} xenerara % problemas, debe encerrarse entre chaves: \verb={"|}=. % \end{quote} % % \item[$\diamond$] |\section|, |\subsection|, etc.\\[1ex] % % Os n'umeros nos t'itulos est'an seguidos dun punto tanto no texto coma % no 'indice. Adem'ais, o primeiro parágrafo tra-lo título non elimina a sangr'ia % (de novo, un costume angloamericano). % % \end{itemize} % % Estes cambios funcionan coas clases est'andar ~---con otras % tal vez algún deles non teña efecto--- e persisten durante % todo o documento (non se poden desactivar). Ningún deles é % necesario para compoñer o documento, aínda que naturalmente % o resultado ser'a distinto. % % \begin{itemize} % % \item[$\diamond$] |\selectgalician*|\vadjust{\nobreak}\\[1ex] % % Se non se desexan estes cambios, chega con usar no % pre'ambulo |\selectgalician*| (con asterisco) ou <> con: %\begin{verbatim} % \let\layoutgalician\relax %\end{verbatim} % % \end{itemize} % % \section{Descripci'on} % % \subsection{Traduccións} % % Certas ordes defínense para proporcionar traduccións % ó galego dalgúns términos, tal e como se describe no cadro 1. % % \begin{table} % \center\small % \caption{Traduccións} % \vspace{1.5ex} % \begin{tabular}{l@{\hspace{3em}}l} % \toprule % |\refname| & Referencias\\ % |\abstractname| & Resumo\\ % |\bibname| & Bibliograf'ia\\ % |\chaptername| & Cap'itulo\\ % |\appendixname| & Ap'endice\\ % |\contentsname| & 'Indice xeral\nm{a}\\ % |\listfigurename| & 'Indice de figuras\\ % |\listtablename| & 'Indice de cadros\\ % |\indexname| & 'Indice alfab'etico\\ % |\figurename| & Figura\\ % |\tablename| & Cadro\\ % |\partname| & Parte\\ % |\enclname| & Adxunto\\ % |\ccname| & Copia a\\ % |\headtoname| & A\\ % |\pagename| & P'axina\\ % |\seename| & v'exase\\ % |\alsoname| & v'exase tam'en\\ % |\proofname| & Demostraci'on % \botrule % \end{tabular} % % \vspace{1.5ex} % % \begin{minipage}{6cm}\footnotesize % \nt{a} Pero s'olo <<'Indice>> en \textsf{article}. % \end{minipage} % \end{table} % % Non existe para o índice unha terminolox'ia unificada. Tal vez % \emph{'Indice xeral} é o que m'ais se usa, as'i que a % iso me ateño salvo en |article|, onde se compón coma secci'on % e polo tanto resulta algo ostentoso.\footnote{\'O contrario que en % ingl'es, en galego o 'indice por antonomasia é o xeral.} % % Para o 'indice alfab'etico tense proposto \emph{'Indice de materias} % ou \emph{'Indice anal'itico}, aínda que estes 'indices non soamente % adoitan incluír materias, mais tamén nomes; \emph{'Indice alfab'etico} % é m'ais preciso.\footnote{\'E a usada en \DOT{300} as'i coma na meirande % parte dos libros que consultei ó azar nunha biblioteca. (J.B.)} % % En canto ós de cadros e figuras, tam'en é posible dicir % \emph{lista}, pero paréceme preferible \emph{'indice}, que % implica a correspondencia coas p'axinas. % % \emph{Table} debe traducirse por \emph{cadro}, xa que \emph{táboa} % é un \emph{falso amigo};\,\footnote{V'exanse as definicións % do \msc{DGII} e \DTL{67 ss.}} esa é a pr'actica tradicional. % (Por exemplo, <> frente a <>.) % % As traducción escríbense con min'usculas, salvo a inicial. Evítase % o anglicismo de comenzar con mai'usculas os substantivos.\footnote{\DOT{197}.} % % A orde |\today| dá a data actual. Con |\galiciandatedo| e |\galiciandatede| % óptase por \textit{do} (predeterminado) ou \textit{de}. % % \subsection{Abreviacións} % % (O que en \babel{} denomínase `shorthands'.) A lista completa % pódese atopar no cadro~2. Nos seguintes apartados daranse máis % detalles sobre algunhas delas. % % \begin{table}[!t] % \center\small % \caption{Abreviacións} % \vspace{1.5ex} % \begin{tabular}{l@{\hspace{3em}}l} % \toprule % |'a 'e 'i 'o 'u| & 'a 'e 'i 'o 'u\\ % |'A 'E 'I 'O 'U| & 'A 'E 'I 'O 'U\\ % |'n 'N| & 'n 'N\nm{a}\\ % |"u "U| & "u "U\\ % |"i "I| & "i "I\\ % |"a "A "o "O| & Ordinais: 1"a, 1"A, 1"o, 1"O\\ % |"rr "RR| & rr, pero -r cando se divide\\ % |"-| & Coma |\-|, pero permite m'ais divisións\\ % |"=| & Coma |-|, pero permite máis divisións\nm{b}\\ % |"~| & Gui'on estil'istico\nm{c}\\ % |~- ~-- ~---| & Coma |-|, |--| e |---|, pero sen divisi'on\\ % |""| & Permite máis divisións antes e despois\nm{d}\\ % |"/| & Unha barra algo m'ais baixa\\ % \verb+"|+ & Divide un logotipo\nm{e}\\ % |<< >>| & << >>\\ % |"< ">| & |\begin{quoting}| |\end{quoting}|\nm{f}\\ % |?` !`| & ?` !`\nm{g}\\ % |"? "!| & "? "! aliñados coa liña base\nm{h} % \botrule % \end{tabular} % % \vspace{1.5ex} % % \begin{minipage}{11cm} % \footnotesize % \nt{a} A forma |~n| debe considerarse en extinci'on. % \nt{b} |"=| ven a ser o mesmo que |""-""|. % \nt{c} Esta abreviaci'on ten un uso distinto noutras % linguas. \nt{d} Coma en <>. % \nt{e} Carece de uso en galego. \nt{f} V'exase sec.~2.7. % \nt{g} Non proporcionadas por este paquete, mais por cada tipo; % figuran aqu'i coma simple recordatorio. \nt{h} 'Utiles en % r'otulos en mai'usculas. % \end{minipage} % \end{table} % % Para poder usar ap'ostrofos coma abreviacións de acentos % é necesaria a opci'on |activeacute| en |\usepackage|. % Pode cambiarse este comportamento coa orde |\gl@acuteactive| % no arquivo de configuraci'on |galician.cfg|; nese caso os % ap'ostrofos actívanse sempre. % % Os caracteres usados coma abreviacións compórtanse coma % outras ordes de \TeX{} e polo tanto faise caso omiso % dos espacios que poidan seguir: \verb*|' a| é o mesmo que |'a|. % Eso tam'en implica que tras eses caracteres non pode vir unha % chave de peche e que deber'a escribirse |{... '{}}| en lugar % de |{... '}|; en modo matem'atico non hai problema e |$x^{a'}$| % ($x^{a'}$) é v'alido. % % \begin{itemize} % % \item[$\diamond$] % |\deactivatetilden|\\[1ex] % % Esta orde desactiva as abreviacións |~n| e |~N| debido ós problemas % que presentan. Pode usarse no arquivo de configuraci'on (v'exase % m'ais abaixo). % % % \item[$\diamond$] % |\galiciandeactivate{}|\\[1ex] % % Permite desactivar as abreviacións correspondentes ós caracteres dados. % Para evitar entrar en conflicto con outras linguas, ó sair de |galician| % reactívanse,\footnote{O punto para os decimais non é estrictamente % unha abreviaci'on e non se reactiva.} polo que se se desexa que % persista cómpre engadi-la orde a |\shorthandsgalician| con |\addto|. % A orde |\renewcommand\shorthandsgalician{}| é unha variante optimizada de %\begin{verbatim} % \addto\shorthandsgalician{\galiciandeactivate{.'"~<>}} %\end{verbatim} % e é o recomendado se se desea prescindir do mecanismo de abreviacións. % \end{itemize} % % \subsection{Coma decimal} % % En \textsf{galician} tómase partido, coma en castelán, por separar % a parte enteira e a parte decimal mediante unha coma. O punto é % tradicional en inglés, non en galego, e ademáis chegouse a unha % normalización internacional pola que os milleiros sepáranse por % un espacio fino e os decimais con coma. % % Dado que \TeX\ usa a coma coma separador en intervalos ou expresións % similares, o que engade un espacio fino, \textsf{galician} converte % todo punto en modo matem'atico nunha coma sempre que estea seguido % dunha cifra, pero non notras circunstancias: % \begin{quote}\small\begin{tabbing} % |$1\,234.567\,890$| \quad \= $1\,234.567\,890$\\ % |$f(1,2)=12.34.$| \> $f(1,2)=12.34.$\\ % |$1{.}000$| \> $1{.}000$, mais\\ % |1.000| \> 1.000, pois non é modo matem'atico. % \end{tabbing}\end{quote} % % As ordes |\decimalcomma| e |\decimalpoint| establecen se se usa % unha coma, que é o valor predeterminado, ou un punto, mentras que % |\galiciandecimal{}| permite darlle unha definici'on % arbitraria.\footnote{Internamente o mecanismo é o dunha abreviaci'on, % e pódese desactivar coma as outras.} % % \subsection{Divisi'on de palabras} % % \textsf{Galician} comproba a codificaci'on no momento no que se % emprega un acento: se a codificaci'on é |OT1| tómanse medidas para % facilitar a divisi'on, que pese a todo nunca ser'a perfecta, mentres % que con |T1| accédese directamente ó car'acter correspondente. % % Para matizar a divisi'on de palabras hai catro posibilidades, dúas % delas co m'etodo de abreviacións: % \begin{itemize} % \item a orde |\-| é un gui'on opcional que non permite m'ais % divisións (coma en \TeX), % % \item |"-| é similar pero permite m'ais divisións, % % \item un |-| é un gui'on que non permite m'ais divisións nin % antes nin despois (coma en \TeX), e % % \item |"=| é o equivalente que s'i as permite,\footnote{Non % é unha boa idea usar esta orde, pero en medidas moi curtas % puede resultar necesario.} % % \end{itemize} % Por exemplo (coas posibles divisións marcadas con \hmk): % \begin{quote}\small\begin{tabbing} % |Zaragoza-Barcelona|\qquad \= Zaragoza-\hmk Barcelona\\ % |Zaragoza"=Barcelona| \> % Za\hmk ra\hmk go\hmk za-\hmk Bar\hmk ce\hmk lo\hmk na\\ % |semi\-aperto| \> semi\hmk aperto\\ % |semi"-aperto| \> se\hmk mi\hmk aper\hmk to.\footnotemark % \end{tabbing}\footnotetext{Xusto antes e despóis de % {\ttfamily\string"\string-} e {\ttfamily\string"\string=} % aplícanse os correspondentes valores de % {\ttfamily\string\...hyphenmin}, o que implica que a % divis'on semia\hmk perto non é posible. % Este é un comportamento correcto.} % \end{quote} % % Adem'ais hai abreviacións que evitan divisións: |~-|, que resulta % 'util para expresar unha serie de n'umeros sen que o gui'on os % divida (12~-14, |12~-14|), e |~---|, que é a forma que debe usarse % para abrir incisos con raias, xa que do contrario pode haber unha % divisi'on entre a raia de abrir e a palabra que lle sigue: % \begin{quote}\small\begin{tabbing} % |Os concertos ~---ou academias--- que organiz'ou...| % \end{tabbing}\end{quote} % Mentras que este gui'on evita toda posible divisi'on nos elementos % que une, a raia (---) e a semirraia (--) permítenas nas palabras % que a precedan ou sigan. % % A abreviaci'on |"~| úsase cando se quere que o gui'on tam'en apareza % ó comienzo da seguinte liña. Por exemplo: % \begin{quote}\small\begin{tabbing} % |infra"~vermello| \quad \= in\hmk fra-ver\hmk mello, pero infra-\hmk-vermello. % \end{tabbing}\end{quote} % % Outra abreviaci'on é |"rr| que sirve para o 'unico cambio de escritura do % castelán en caso de haber divisi'on.\footnote{En galego non atopei un % pronunciamento ó respecto. A \msc{RAE} indica que ó a'nadir un prefixo % que reamta en vocal a unha palabra que comenza con \emph{r}, esta 'ultima debe % dobrarse a menos que se unan por un gui'on. Por exemplo: % |extra"{}rradio| divídese en ex\hmk trarra\hmk dio, mais extra-\hmk radio.} % % \subsection{Ordinais} % % As abreviaturas sempre levan punto, salvo algunhas nas que se % substitúe por unha barra (e salvo as siglas e s'imbolos, naturalmente), % que precede ás letras voladitas.\footnote{\DTL{196}. V'exase tam'en \DOT{222 e 227}.} % Por ello, \textsf{galician} proporciona a orde |\sptext| que facilita a % creaci'on destas abreviaturas. Por exemplo: |adm\sptext{'on}|, que dá % adm\sptext{'on}. Hai catro abreviacións asociadas a ordinais: % |"a|, |"A|, |"o| e |"O| que equivalen a |\sptext{a}|, etc.\footnote{Moitos % tipos engaden un pequeno subliñado que debe evitarse, e polo tanto non se debe % escribi-los ordinais con \textsf{inputenc}.} % % Para axustar o tamano o mellor posible, úsase o de 'indices en curso. % Esto funciona ben salvo para tama'nos moi grandes ou moi pequenos, onde % os resultados son meramente aceptables. % % En Plain \TeX{} execútase a orde |\sptextfont| para a letra voladita, % de xeito que |{\bf\let\sptextfont\bf 1"o}| dá o resultado correcto % (|\mit| se é para cursiva). Para usar un tipo novo con |\sptext| hai % que definir tam'en as variantes matem'aticas con |\newfam|. % % \subsection{Funcións matem'aticas} % % En castelán, tradicionalmente formáronse as abreviacións % do que en \TeX\ coñecense coma operadores a partir do nome castelán, % o que implica a presencia do acento en l'im, m'ax, m'in, 'inf e m'od. % Parece que isto e tamén o máis adecuado para o galego. % % Con |galician| pódense seguir varios criterios por medio das seguintes % ordes: % \begin{itemize} % \item[$\diamond$] |\accentedoperators| |\unaccentedoperators|\\[1ex] % Activa ou desactiva os acentos. % Por omisi'on acent'uanse, coma por exemplo: $\lim_{x\to 0}(1/x)$ % (|$\lim_{x\to 0}(1/x)$|). % % \item[$\diamond$] |\spacedoperators| |\unspacedoperators|\\[1ex] % Activa ou desactiva o espacio entre " e la funci'on. Por omisi'on % non se espacia. % \end{itemize} % % O i sen punto tam'en é accesible directamente en modo matem'atico % coa orde |\dotlessi|, de forma que se pode escribir |\acute{\dotlessi}|. % Por exemplo, % |$V_{\mathbf{cr\acute{\dotlessi}t}}$| dá $V_{\mathbf{cr\acute{\dotlessi}t}}$. % % Tam'en engádense |\sen|, |\cosec|, |\arcsen|, |\tx|, |\arctx|, e |senh|, % que dan as funcións respectivas. Ademáis |\sin|,\New{galician~4.3} % |sinh| e |arcsin| producen os mesmos resultados que |\sen|, |\senh| % e |\arcsen| respectivamente. Outras funcións trigonom'etricas % atópanse almacenadas no par'ametro |\galicianoperators|, % que inicialmente inclúe cotx e txh. Deste xeito pódense cambiar por % outras e engadir máis, coma por exemplo: %\begin{verbatim} % \renewcommand{\galicianoperators}{cotan arc\,ctx tanh} %\end{verbatim} % (separadas con espacio). Cando se selecciona |galician| créanse % ordes con eses nomes e que dan esas funcións (sempre con |\nolimits|). % Adem'ais das letras sen acentuar acéptanse as ordes |\,| e |\acute|, que % se pasan por alto para forma-lo nome. Por exemplo, |arc\,ctg| escribirase % no documento coma |\arcctg|, |M\acute{a}x| coma |\Max| e |cr\acute{i}t| % coma |\crit| (hai que usar |i| e non |\dotlessi|). A orde |\,| responde % a |\|(|un|)|spacedoperators|, e |\acute| a |\|(|un|)|accentedoperators|. % % |\renewcommand{\galicianoperators}| haberá de estar no pre'ambulo do documento, % despois de |\sepackage[galician]{babel}| e antes de |\selectgalician| ou de % |\begin{document}|. % % \subsection{Entrecomiñados} % % O entorno |quoting| entrecomiña un texto, engadindo comiñas de seguir ó % comienzo de cada parágrafo ou no seu interior.\footnote{Pódese atopar unha % detallada exposici'on das comiñas en \DTL{44 ss.} De alí tomouse alg'un exemplo.} % Tam'en pódense empregrar as abreviacións |"<| e |">| que se limitan a chamar % a |quoting|, que por ser entorno considera os seus cambios internos coma locais. % (É dicir, |"< ... ">| implica |{"< ... ">}|.) As abreviacións |<<| e |>>| % contin'uan dando sen m'ais os caracteres de comiñas de abrir e pechar. % % Por exemplo: %\begin{verbatim} % " as que son de peche, pero colócanse % ó comenzo de cada parágrafo cando se transcribe un texto % entrecomiñado con m'ais dun par'agrafo. % % No seu interior, coma de costume, úsanse as inglesas."> %\end{verbatim} % que ten por resultad: % \begin{quotation}\small % " as que son de peche, pero colócanse % ó comenzo de cada par'agrafo cando se transcribe un texto % entrecomiñado con m'ais dun par'agrafo. % % No seu interior, coma de costume, úsanse as inglesas."> % \end{quotation} % % Este entorno pódese redefinir. Por exemplo: %\begin{verbatim} % \renewenvironment{quoting}{\itshape}{} %\end{verbatim} % pero non implica un novo par'agrafo, xa que est'a pensado % para ser usado tam'en no texto. % % En caso de incluír uns entornos |quoting| dentro doutros, modifícanse % as comiñas dos niveis interiores, que tam'en engadense ás de seguir: %\begin{verbatim} % ". % % Mais al'i ningúen se aclarou."> %\end{verbatim} % % \begin{quotation}\small % ". % % Mais al'i ningúen se aclarou."> % \end{quotation} % % \begin{itemize} % \item[$\diamond$] % |\lquoti| |\rquoti| |\lquotii| |\rquotii| |\lquotiii| % |\rquotiii|\\[1ex] % % Controlan as comiñas en |quoting|, segundo o nivel no que nos % atopemos. |\lquoti| son as comiñas de abrir m'ais exteriores, % |\lquotii| as de segundo nivel, etc., e o mesmo para as de pechar % con |\rquoti|... Para as de seguir sempre se usan as de pechar. % Os valores predefinidos est'an no cadro 3. % \begin{table} % \center\small % \caption{Entrecomiñados} % \vspace{1.5ex} % \begin{tabular}{l@{\hspace{5em}}l} % \toprule % |\lquoti| &|<<|\\ % |\rquoti| &|>>|\\ % |\lquotii| &|``|\\ % |\rquotii| &|''|\\ % |\lquotiii| &|`|\\ % |\rquotiii| &|'| % \botrule % \end{tabular} % \end{table} % % \newenvironment{dialog} % {\def\lquoti{}\begin{quoting}---\ignorespaces} % {\def\rquoti{}\end{quoting}} % % As comiñas de seguir tam'en empréganse en di'alogos, incluso % se non as hai de abrir e pechar. Coa axuda do seguinte entorno, %\begin{verbatim} % \newenvironment{dialog} % {\def\lquoti{}\begin{quoting}---\ignorespaces} % {\def\rquoti{}\end{quoting}} %\end{verbatim} % podemos obter % \begin{quotation}\small % \begin{dialog}% % O di'alogo desenvolveuse deste xeito: % % "<---Eu non fun ---grit'ou Antonio. % % ---Mais colaboraches ---asegur'ou Rafael">. % % Mais al'i ninguén se aclarou. % \end{dialog} % \end{quotation} % % \item[$\diamond$] % |\activatequoting \deactivatequoting|\\[1ex] % % As incompatibilidades potenciais destas abreviacións son enormes. % Por exemplo, en \textsf{ifthen} cancélanse as comparacións entre % n'umeros;\,\footnote{E en |\string\ifnum|, etc. usado polos % desenroladores nos paquetes.} tam'en resultan inoperantes |@>>>| % e |@<<<| de \textsf{amstex}.\footnote{Aínda que neste caso cabe % empregar os sin'onimos |@)))| e |@(((|.} Por iso, dase a posibilidade % de cancelalas e reactivalas con estas ordes, aínda que se se % est'a a usar con \textsf{xmltex} xa se desactivan por completo de % modo autom'atico. O entorno |quoting| sempre permanece disponible. % \footnote{Algúns tipos posúen as ligaduras |<{}<| e |>{}>| de % forma interna para xenerar os caracteres de comiñas, polo que % neles tamb'en podemos usalos siempre.} % % \end{itemize} % % \subsection{Espaciado} % % O espaciado en galego afástase relativamente pouco do ingl'es; % Non obstante, o espacio tra-los signos de puntuaci'on debe % de ser o mesmo que o que hai entre palabras. Ou dito en % t'erminos de \TeX, |\frenchspacing| est'a activo. % % Tam'en noutros dous sitios hai diferencias. O primero son os % puntos suspensivos, para os que se redefine |\dots| e |\cdots|,\New{galician 4.3} % que os dan menos espaciados, e para |\dots| no texto engádese a % continuación un espacio igual que o que seguiría a un punto. % Por exemplo: % \begin{quote}\small\begin{tabbing} % |\dots non sei se canta\dots ou chora.|\quad \dots non sei se canta\dots ou chora.\\ % |$f(x_1,\dots,x_n,y_1,\ldots,y_m)$|\quad $f(x_1,\dots,x_n,y_1,\ldots,y_m)$\\ % |$1+2+\cdots+n$|\quad $1+2+\cdots+n$ % \end{tabbing}\end{quote} % Tam'en poder'ianse escribir os tres puntos sen m'ais... , e na % pr'actica non hai diferencia. |galician| realiza as modificacións % a moi baixo nivel, para que sexan compatibles cos cambios que tamén % introduce |amsmath| nestes comandos. % % O segundo sitio é un espacio fino antes do signo |\%| (que m'ais % exactamente é |\,|, logo pódese <> co seu oposto |\!|, % se |\%| no segue a unha cifra). % % \subsection{Pequenas e medianas versais} % % |\lsc| pódese empregar para letras en versalitas. Tamén existe % |\msc|,\New{galician 4.3} que selecciona un tipo lixeiramente maior. % Por exemplo: % \begin{quote}\small\begin{tabbing} % |\lsc{DOG}, \lsc{RenFe}| \quad \= No \lsc{DOG} publicouse que \lsc{ReNFe} deber'a...\\ % |\msc{DOG}, \msc{ReNFe}| \quad \= No \msc{DOG} publicouse que \msc{ReNFe} deber'a... % \end{tabbing}\end{quote} % Tam'en pode ser 'util para alguns usos dos n'umeros romanos: % \begin{quote}\small\begin{tabbing} % |s'eculo \msc{XVII}| \quad \= s'eculo \msc{XVII}\\ % |cap'itulo \msc{II}| \quad \= cap'itulo \msc{II}. % \end{tabbing}\end{quote} % % Para evitar que con un tipo que carece de versalitas acabe % aparecendo (por substituci'on) un texto de min'usculas inténtase % usar nestes casos as versais \emph{reais} dun tama'no menor. % Queda simplemente aceptable, pero é mellor que nada. (\LaTeX{} % tende a substituír versalitas por versalitas, pero hai % excepcións, como coas negritas.) % % \subsection{Miscel'anea} % % \begin{itemize} % \item[$\bullet$] Pódese escribir |\'i| para |\'{\i}|. % % \item[$\bullet$] Hai unha abreviaci'on adicional como utilidade % tipogr'afica m'ais que especificamente galega. En certos % tipos, coma Times, o extremo inferior da barra est'a na liña % de base e expresións coma <> resultan pouco est'eticas. % |"/| produce unha barra que, de ser necesario, báixase lexeiramente. % Computer Modern ten unha barra ben dese'nada e non é posible % ilustrar aqu'i este punto, pero en todo caso escribir'iase |am"/pm|.^^A % \footnote{En \MEA{141} recórrese a unha soluci'on que é a 'unica % sinxela en programas de maquetaci'on: usar un corpo menor. Pero % con \TeX{} é moito m'ais doado automatiza-las tareas.} % % \end{itemize} % % \section{Selecci'on da lingua} % % Por omisi'on, \babel{} deixa <> as linguas ata que se % chega a |\begin{document}| co fin de evitar conflictos polas % abreviacións; a cambio, prívase da posibilidade de usar as linguas % no pre'ambulo en ordes coma |\savebox|, |\title|, |\newtheorem|, etc. % % A orde |\selectgalician| permite activar |galician| coas súas % extensións e abreviacións antes de |\begin{document}|.\footnote{^^A % Algúns detalles, que apenas afectan a \texttt{galician}, seguen sen % activarse ata o comenzo do documento.} % Deste xeito, poder'iamos dicir %\begin{verbatim} % \documentclass{book} % \usepackage[T1]{fontenc} % \usepackage[galician]{babel} % \usepackage[latin1]{inputenc} % \usepackage[centerlast]{caption2} % ... % M'ais paquetes % % \selectgalician % % \title{T'itulo} % \author{Autor} % \newcommand{\pste}{para"-psicoloxicamente} % \newsavebox{\mybox} % \savebox{\mybox}{m'ais cosas} % ... % M'ais definicións % % \begin{document} %\end{verbatim} % % \section{Adaptaci'on} % \subsection{Configuraci'on} % % Nas súas 'ultimas versions, \babel{} proporciona a posibilidade % de cargar autom'aticamente un arquivo co mesmo nome que o % principal, pero con extensi'on |.cfg|. \textsf{Galician} % proporciona unhas poucas ordes para seren usadas neste arquivo: % \begin{itemize} % \item[$\diamond$] |\gl@activeacute|\\[1ex] % Activa as abreviacións con ap'ostrofos, sen que sexa % necesario incluír |activeacute| coma opci'on en |\usepackage|. % % \item[$\diamond$] |\gl@enumerate{}|% % |{}{}{}|\\[1ex] % Cambia os valores preestablecidos por |galician| para % |enumerate|. \textit{leveln} consiste nunha letra, que % indica qu'e formato ter'a o n'umero, seguida de cualquera % texto. A letra ten que ser: |1| (ar'abigo), |a| % (min'uscula \emph{cursiva}\,\footnote{A letra é cursiva % mais non os signos que a poidan seguir. M'ais ben debera % dicirse destacada, xa que se usa |\string\emph|. V'exase % \DTL{11}.}), |A| (versal), |i| (romano \emph{versalita}, % con |\msc|), |I| (romano versal) ou finalmente |o| (ordinal\, % \footnote{O normal é non engadir ning'un signo tras ordinal.}). % % Esta orde non est'a pensada para facer cambios elaborados, se % non solamente para meros reaxustes. Os valores preestablecidos % equivalen a %\begin{verbatim} % \gl@enumerate{1.}{a)}{1)}{a$'$)} %\end{verbatim} % % \item[$\diamond$] |\gl@itemize{}|% % |{}{}{}|\\[1ex] % O mesmo para |itemize|, s'olo que os argumentos úsanse % de forma literal. Os valores orixinais de \LaTeX{} son % similares a %\begin{verbatim} % \gl@itemize{\textbullet}{\normalfont\bfseries\textendash} % {\textasteriskcentered}{\textperiodcentered} %\end{verbatim} % % \item[$\diamond$] |\gl@operators|\\[1ex] % Todo o relativo a operadores cancélase con %\begin{verbatim} % \let\gl@operators\relax %\end{verbatim} % É boa idea incluílo se no se van usar, xa que aforra memoria. % % \end{itemize} % % Outros axustes 'utiles neste contexto son |\galicianoperators|, % |\selectgalician| e |\deactivatequoting|. % % % Recordemos que tódo-los cambios operados dende este arquivo % restan compatibilidade ó documento, polo que se se distribúe % conven adxuntarlo co entorno |filecontents|. % % \subsection{Outros cambios} % % \begin{itemize} % % \item A orde |\addto| permite % cambiar algunha das convencións internas. Esto resulta % interesante coas traduccións, xa que as formas proporcionadas % poden non ser as desexadas. Para iso é necesario que % |galician| non estea seleccionado. Por exemplo, para cambiar % \emph{'Indice de figuras} por \emph{Lista de figuras}: %\begin{verbatim} % \addto\captionsgalician{% % \def\listfigurename{Lista de figuras}} %\end{verbatim} % % \item Para voltar elimina-la sangr'ia tra-la secci'on: %\begin{verbatim} % \def\@afterindentfalse{\let\if@afterindent\iffalse} % \@afterindentfalse %\end{verbatim} % % \item Para que |\roman| proporcione n'umeros romanos en % min'uscula, segundo a forma inglesa: %\begin{verbatim} % \def\@roman#1{\romannumeral #1}; %\end{verbatim} % e para que emprege |\lsc| en troques de |\msc|: %\begin{verbatim} % \def\gl@roman##1{\protect\gl@lsc{\romannumeral##1}} %\end{verbatim} % % \item % Os extras atópanse organizados en varios grupos: % |\textgalician|, |\mathgalician|, |\shorthandsgalician| % e |\layoutgalician|. Poden cancelarse con: %\begin{verbatim} % \renewcommand\textgalician{} %\end{verbatim} % % \end{itemize} % % \section{Formatos distintos a \LaTeXe} % % O estilo |galician| funciona con outros formatos, aínda que con un % subconxunto das funcións disponibles en \LaTeXe{}. Con Plain hai % que facer %\begin{verbatim} % \input galician.sty %\end{verbatim} % e con \LaTeX2.09, incluir |galician| entre as opcións de estilo. % % Inclúense: traduccións, case todas as abreviacións, coma decimal, % utilidades para a divisi'on de palabras, ordinais nunha versi'on % simplificada (e non moi elegante), funcións matem'aticas, % entrecomiñados en \LaTeX2.09, espaciado e |\'i|. % A selecci'on da lingua é inmediata ó cargar o arquivo. % % En cambio non est'an disponibles: entrecomiñados en Plain, % |\lsc|, |\msc| nin as adaptacións proporcionadas por |\layoutgalician|. % % A partir desta versi'on, o arquivo de configuraci'on lese sempre, % polo que aqueles que xa estean escritos espec'ificamante para \LaTeXe{} % poden presentar problemas se se usan con outros formatos. Se as % versións que se usan non son moi antigas, pódese comprobar o formato % coa variable |\fmtname|, que vale |LaTeX2e| ou |plain|. Por exemplo, %\begin{verbatim} % \def\temp{LaTeX2e} % \ifx\temp\fmtname % ... % \fi %\end{verbatim} % % \section{Bibliograf'ias} % % O arquivo |glbst.tex| que se xenera con \textsf{galician} % serve para que a utilidade \textsf{custom-bib} traballe en % conxunci'on con \babel. Define unha serie de ordes, que poden % consultarse no propio arquivo, que se utilizan para as % traduccións se se selecciona |babel| coma lingua ó xenerar un % estilo bibliogr'afico. % % \section{Incompatibilidades con versións anteriores} % % ^^A\begin{itemize} % % O t'ermino correspondente a |\tablename| estaba traducido % incorrectamente coma <>. Coma queira que <> é a % palabra con que pode aparecer no propio texto, ou ben pode % haber un artigo feminino ante |\tablename|, pode reponerse o % valor antigo con: %\begin{verbatim} % \addto\captionsgalician{% % \def\tablename{Táboa}% % \def\listtablename{\'Indice de táboas}} %\end{verbatim} % % ^^A\end{itemize} % % \section*{Referencias} % \addcontentsline{toc}{section}{Referencias} % % \begingroup % \small % \leftskip1.5cm \parindent-1.5cm % % \makebox[1.5cm][l]{\msc{DGII}}\textit{Diccionario de galego}, % Ir Indo. Vigo, 2004. % % \makebox[1.5cm][l]{\msc{DOT}}Jos'e Mart'inez de Sousa, % \textit{Diccionario de ortograf'ia t'ecnica}, % Germ'an S'anchez Ruip'erez/Pir'amide. Madrid, 1987. % (Biblioteca del libro.) % % \makebox[1.5cm][l]{\msc{DTL}}Jos'e Mart'inez de Sousa, % \textit{Diccionario de tipograf'ia y del libro}, % Paraninfo. Madrid, 3"a ed., 1992. % % \makebox[1.5cm][l]{\msc{MEA}}Jos'e Mart'inez de Sousa, % \textit{Manual de edici'on y autoedici'on}, % Pir'amide. Madrid 1994. % % \makebox[1.5cm][l]{\msc{OELG}}Xos'e Feix'o Cid, % \textit{Ortografía e estilo da lingua galega}, % Pir'amide. Vigo, 2002. % % \leftskip0pt \parindent0pt \vspace{6pt} % % {\itshape % Como normalmente o primeiro contacto con \TeX{} é por unha tesis, % cito libros que est'an relacionados co tema ós que tiven acceso. % Est'an por orde de preferencia; en particular, os dous 'ultimos % parécenme pouco recomendables. (J. B.)} % % \parindent-1.5pc \leftskip1.5pc \vspace{3pt} % % Umberto Eco, % \textit{C'omo se hace una tesis}, Gedisa. % Barcelona 1982. % % Antonia Rigo Arnavat e Gabriel Genesc\`a Due'nas, % \textit{C'omo presentar una tesis y trabajos de investigaci'on}, % Eumo-Octaedro. Barcelona, 2002. % % Prudenci Comes, % \textit{Gu'ia para la redacci'on y presentaci'on de trabajos % cient'ificos, informes t'ecnicos y tesinas}, % Oikos-Tau. Barcelona, 1971. % % Javier Lasso de la Vega, % \textit{C'omo se hace una tesis doctoral}, % Fundacion Universitaria Espa~nola. Madrid, 1977. % % Jos'e Romera Castillo e outros, % \textit{Manual de estilo}, % Universidad Nacional de Educaci'on a Distancia. Madrid, 1996. % % Restituto Sierra Bravo, % \textit{Tesis doctorales y trabajos de investigaci'on cient'ifica}, % Paraninfo. Madrid, 1986. % % \parindent0pc \leftskip0pc \vspace{6pt} % % {\itshape % Para outras cuestións tipogr'aficas, as referencias % usadas son, entre outras:} % % \parindent-1.5pc \leftskip1.5pc \vspace{3pt} % % Javier Bezos, % \textit{Tipograf'ia espa'nola con \TeX}, documento electr'onico % disponible en % \textsf{http://perso.wanadoo.es/jbezos/tipografia.html}. % % Ra'ul Cabanes Mart'inez, % <>, % \textit{Mundo Electr'onico}, n"o 142, p'axs.~119~-125. 1984. % % \textit{The Chicago Manual of Style}, University of Chicago % Press, 14"a~ed., esp.~p'axs.~333~-335. Chicago, 1993. % % Jos'e Fern'andez Castillo, % \textit{Normas para correctores y compositores tip'ografos}, % Espasa-Calpe. Madrid, 1959. % % IRANOR [AENOR], Normas \msc{UNE} n'umeros 5010 (<>), 5028 (<>) e 5029 (<>). % [Obsoletas.] % % Real Academia Espa'nola, % \textit{Esbozo de una nueva gram'atica de la % lengua espa'nola}, Espasa-Calpe. Madrid, 1973. % % V.\ Mart'inez Sicluna, % \textit{Teor'ia y pr'actica de la tipograf'ia}, % Gustavo Gili. Barcelona, 1945. % % Jos'e Mart'inez de Sousa, % \textit{Diccionario de ortograf'ia de la lengua espa'nola}, % Paraninfo. Madrid, 1996. % % Juan Mart'inez Val, \textit{Tipograf'ia pr'actica}, % Laberinto. Madrid, 2002. % % Juan Jos'e Morato, \textit{Gu'ia pr'actica del compositor % tipogr'afico}, Hernando, 2"a ed. Madrid, 1908 (1"a ed., 1900, % 3"a ed., 1933). % % Marion Neubauer, % <>, % \textit{Die \TeX nisches Kom\"odie}, parte I, vol. 8, n"o 4, % p'axs. 23-40. 1996; parte II, vol. 9, n"o 1, p'axs.~25~-44. 1997. % % Jos'e Polo, % \textit{Ortograf'ia y ciencia del lenguaje}, Paraninfo. Madrid, 1974. % % Pedro Valle, % \textit{C'omo corregir sin ofender}, Lumen. Buenos Aires, 1998. % % Hugh C. Wolfe, <>, % \textit{Enciclopedia de F'isica}, t.~2, p'axs.~1423~-1451. % dir. Rita G. Lerner e George L. Trigg, Alianza. Madrid, 1987, % % \endgroup % % \end{userdtx} % % \begin{userdrv} %^^A ======= Beginning of text as typeset by user.drv ========= % % \GetFileInfo{galician.dtx} % % \section{This file} % % This file defines all the language-specific macros for the % Galician language. The file galician.dtx was translated in % January 2007 by Javier A. M\'ugica from spanish.dtx. It was % given the version number 4.3, based on the version for spanish.dtx % at those times, that was 4.2b. The original author from % v4.0 to 4.2b was Javier Bezos. Previous versions were written % by Julio S\'anchez. % I decided to make \emph{tabula rasa} of all |\changes| % logs. Only changes from spanish 4.2b to galician 4.3 and thereafter % are documented. The change history for the original spanish.dtx % can be found in that file. % % \section{The Galcian language} % % Custumization is made following mainly the books on the subject % by Jos\'e Mart\'\i nez de Sousa and Xos\'e Feix\'o Cid. % By typesetting |galician.dtx| directly you will get the full % documentation (regrettably is in Galician only, but it is % pretty long). References in this part refers to that document. % There are several aditional features documented in the Galician % version only. % % This style provides: % \begin{itemize} % \item Translations following the International \LaTeX{} % conventions, as well as |\today|. % % \item Shorthands listed in Table~\ref{tab:galician-quote-def}. % Examples in subsection~3.4 are illustrative. Note that % |"~| has a special meaning in \textsf{galician} % different to other languages, and is used mainly in linguistic % contexts. % % \begin{table}[htb] % \centering % \begin{tabular}{lp{8cm}} % |'a| & acute accented a. Also for: e, i, o, u (both % lowercase and uppercase).\\ % |'n| & \~n (also uppercase).\\ % |~n| & \~n (also uppercase). Deprecated.\\ % |"u| & \"u (also uppercase).\\ % |"i| & \"i (also uppercase).\\ % |"a| & Ordinal numbers (also |"A|, |"o|, |"O|).\\ % |"rr| & rr, but -r when hyphenated\\ % |"-| & Like |\-|, but allowing hyphenation in the rest % the word.\\ % |"=| & Like |-|, but allowing hyphenation in the rest % the word.\\ % |"~| & The hyphen is repeated at the very beginning of % the next line if the word is hyphenated at this % point.\\ % |""| & Like |"-| but producing no hyphen sign.\\ % |~-| & Like |-| but with no break after the hyphen. Also for: % en-dashes (|~--|) and em-dashes (|~---|). \\ % |"/| & A slash slightly lowered, if necessary.\\ % \verb+"|+ & disable ligatures at this point.\\ % |<<| & Left guillemets.\\ % |>>| & Right guillemets.\\ % |"<| & |\begin{quoting}|. (See text.)\\ % |">| & |\end{quoting}|. (See text.) % \end{tabular} % \caption{Extra definitions made by file \file{galician.ldf}} % \label{tab:galician-quote-def} % \end{table} % % \item |\deactivatetilden| deactivates the |~n| and |~N| shorthands. % % \item \emph{In math mode} a dot followed by a digit is replaced % by a decimal comma. % % \item Galicians ordinals and abbeviations with |\sptext| % as, for instance, |1\sptext{o}|. The % preceptive dot is included. % % \item Accented functions: l\'\i m, m\'ax, m\'\i n, m\'od. You may % globally omit the accents with |\unaccentedoperators|. Spaced % functions: arc\,cos, etc. You may globally kill that space with % |\unspacedoperators|. |\dotlessi| is provided for use in math mode. % % \item A |quoting| environment and a related pair of shorthands |<<| % and |>>|. The command % |\deactivatequoting| deactivates these shorthand in case % you want to use |<| and |>| in some AMS commands and numerical % comparisons. % % \item The command |\selectgalician| selects the |galician| language % \emph{and} its shorthands. (Intended for the preamble.) % % \item |\frenchspacing| is used. % % \item |\dots| is redefined. It is now equal to typing tree points % in a row (it preserves the space following). % % \item There is a small space before |\%|. % % \item |\msc| provides lowercase small caps. (See subsection~3.10.) % \end{itemize} % % Just in case |galician| is the main language, the group % |\layoutgalician| is activated, which modifies the standard % classes through the whole document (it cannot be deactivated) % in the following way: % \begin{itemize} % \item Both |enumerate| and |itemize| are adapted to Galician rules. % % \item Both |\alph| and |\Alph| include \textit{\~n} after \textit{n}. % % \item Symbol footmarks are one, two, three, etc., asteriscs. % % \item |OT1| guillemets are generated with two |lasy| symbols instead % of small |\ll| and |\gg|. % % \item |\roman| is redefined to write small caps roman numerals, since % lowercase roman numerals are not allowed. However, \textit{MakeIndex} % rejects entries containing pages in that format. The |.idx| file must % be preprocessed if the document has this kind of entries with % the provided |romanidx.tex| tool---just \TeX{} it and follow the % instructions. % % \item There is a dot after section numbers in titles and toc. % \end{itemize} % This group is ignored if you write |\selectgalician*| in the % preamble. % % Some additional commands are provided to be used in the % |galician.cfg| file: % \begin{itemize} % \item With |\gl@activeacute| acute accents are always active, % overriding the default \textsf{babel} behaviour. % % \item |\gl@enumerate| sets the labels to be used by |enumerate|. The % same applies to |\gl@itemize| and |itemize|. % % \item |\gl@operators| stores the operator commands. % All of them are canceled with %\begin{verbatim} % \let\gl@operators\relax %\end{verbatim} % \end{itemize} % The commands |\deactivatequoting|, |\deactivatetilden| and % |\selectgalician| may be used in this file, too. % % A subset of these commands is provided for % use in Plain \TeX{} (with |\input galician.sty|). % % \end{userdrv} % %\StopEventually{} % %^^A ========== End of manual =============== % % \begin{userdtx} % \section{The Code} % \end{userdtx} % % \begin{userdrv} % \subsection{The Code} % \end{userdrv} % % \changes{galician~4.3}{07/01/22}{Reversed "<, "> and <<, >>.} % \changes{galician~4.3}{07/01/22}{Removed the Spanish et sign.} % \changes{galician~4.3}{07/01/26}{Removed the shorthand for \c{c}. It % existed in medieval galician-portuguese, but that does not seem a % reason to be included here.} % % This file provides definition for both \LaTeXe{} and non % \LaTeXe{} formats. % % Identify the |ldf| file. % % \begin{macrocode} %<*code> \ProvidesLanguage{galician.ldf} [2008/07/06 v4.3c Galician support from the babel system] % \end{macrocode} % % The macro |\LdfInit| takes care of preventing that this file is % loaded more than once, checking the category code of the % \texttt{@} sign, etc. % When this file is read as an option, i.e. by the |\usepackage| % command, \texttt{galician} will 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. % % \begin{macrocode} \LdfInit{galician}\captionsgalician \ifx\undefined\l@galician \@nopatterns{Galician} \adddialect\l@galician0 \fi % \end{macrocode} % % We define some tools which will be used in that style file: % (1) we make sure that |~| is active, (2) |\gl@delayed| delays % the expansion of the code in conditionals (in fact, quite similar % to |\bbl@afterfi|). % % \begin{macrocode} \edef\gl@savedcatcodes{% \catcode`\noexpand\~=\the\catcode`\~ \catcode`\noexpand\"=\the\catcode`\"} \catcode`\~=\active \catcode`\"=12 \long\def\gl@delayed#1\then#2\else#3\fi{% #1% \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi {#2}{#3}} % \end{macrocode} % % Two tests are introduced. The first one tells us if the format is % \LaTeXe{}, and the second one if the format is Plain or any other. % If both are false, the format is \LaTeX2.09{}. % % \begin{macrocode} \gl@delayed \expandafter\ifx\csname documentclass\endcsname\relax\then \let\ifes@LaTeXe\iffalse \else \let\ifes@LaTeXe\iftrue \fi \gl@delayed \expandafter\ifx\csname newenvironment\endcsname\relax\then \let\ifes@plain\iftrue \else \let\ifes@plain\iffalse \fi % \end{macrocode} % % Translations for captions. % % \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\listfigurename{\'Indice de figuras}% \def\listtablename{\'Indice de cadros}% \def\indexname{\'Indice alfab\'etico}% \def\figurename{Figura}% \def\tablename{Cadro}% \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}} \expandafter\ifx\csname chapter\endcsname\relax \addto\captionsgalician{\def\contentsname{\'Indice}} \else \addto\captionsgalician{\def\contentsname{\'Indice xeral}} \fi % \end{macrocode} % % And the date. % \changes{galician~4.3}{07/01/21}{Set the default to \textit{do}} % \begin{macrocode} \def\dategalician{% \def\today{\the\day~de \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 \ \ifnum\year>1999\gl@yearl\else de\fi~\the\year}} \def\galiciandatedo{\def\gl@yearl{do}} \def\galiciandatede{\def\gl@yearl{de}} \galiciandatedo % \end{macrocode} % % The basic macros to select the language, in the preamble or the % config file. Use of |\selectlanguage| should be avoided at this % early stage because the active chars are not yet % active. |\selectgalician| makes them active. % % \begin{macrocode} \def\selectgalician{% \def\selectgalician{% \def\selectgalician{% \PackageWarning{galician}{Extra \string\selectgalician ignored}}% \gl@select}} \@onlypreamble\selectgalician \def\gl@select{% \let\gl@select\@undefined \selectlanguage{galician}% \catcode`\"\active\catcode`\~=\active} % \end{macrocode} % % Instead of joining all the extras directly in |\extrasgalician|, % we subdivide them in three further groups. % \begin{macrocode} \def\extrasgalician{% \textgalician \mathgalician \ifx\shorthandsgalician\@empty \galiciandeactivate{."'~<>}% \languageshorthands{none}% \else \shorthandsgalician \fi} \def\noextrasgalician{% \ifx\textgalician\@empty\else \notextgalician \fi \ifx\mathgalician\@empty\else \nomathgalician \fi \ifx\shorthandsgalician\@empty\else \noshorthandsgalician \fi \gl@reviveshorthands} % \end{macrocode} % % And the first of these sub-groups is defined. % % \begin{macrocode} \addto\textgalician{% \babel@save\sptext \def\sptext{\protect\gl@sptext}} % \end{macrocode} % % The definition of |\sptext| is more elaborated than that of % |\textsuperscript|. With uppercase superscript text % the scriptscriptsize is used. The mandatory dot is already % included. There are two versions, depending on the % format. % % \begin{macrocode} \ifes@LaTeXe %<<<<<< \newcommand\gl@sptext[1]{% {.\setbox\z@\hbox{8}\dimen@\ht\z@ \csname S@\f@size\endcsname \edef\@tempa{\def\noexpand\@tempc{#1}% \lowercase{\def\noexpand\@tempb{#1}}}\@tempa \ifx\@tempb\@tempc \fontsize\sf@size\z@ \selectfont \advance\dimen@-1.15ex \else \fontsize\ssf@size\z@ \selectfont \advance\dimen@-1.5ex \fi \math@fontsfalse\raise\dimen@\hbox{#1}}} \else %<<<<<< \let\sptextfont\rm \newcommand\gl@sptext[1]{% {.\setbox\z@\hbox{8}\dimen@\ht\z@ \edef\@tempa{\def\noexpand\@tempc{#1}% \lowercase{\def\noexpand\@tempb{#1}}}\@tempa \ifx\@tempb\@tempc \advance\dimen@-0.75ex \raise\dimen@\hbox{$\scriptstyle\sptextfont#1$}% \else \advance\dimen@-0.8ex \raise\dimen@\hbox{$\scriptscriptstyle\sptextfont#1$}% \fi}} \fi %<<<<<< % \end{macrocode} % % Now, lowercase small caps. First, we test if there are actual % small caps for the current font. If not, faked small caps are % used. |\msc| tries a slightly larger font. % Javier B. wrote: ``The \cs{selectfont} in \cs{gl@lsc} could % seem redundant, but it's not''. I cannot see how it can't be % redundant (it is the last thing executed by |\scshape|), but % I keep it. % % \changes{galician~4.3}{07/00/26}{Added \cs{msc}} % \begin{macrocode} \ifes@LaTeXe %<<<<<< \addto\textgalician{% \babel@save\lsc \def\lsc{\protect\gl@lsc} \babel@save\msc \def\msc{\protect\gl@msc}} \def\gl@@msc{\expandafter\@tempdima\f@size pt \divide\@tempdima by 200 \multiply\@tempdima by 219 \edef\f@size{\strip@pt\@tempdima}\selectfont} \def\gl@msc{\let\gl@do@msc\gl@@msc\lsc} \let\gl@do@msc\relax \def\gl@lsc#1{% \leavevmode \hbox{\gl@do@msc\scshape\selectfont \expandafter\ifx\csname\f@encoding/\f@family/\f@series /n/\f@size\expandafter\endcsname \csname\curr@fontshape/\f@size\endcsname \csname S@\f@size\endcsname \fontsize\sf@size\z@\selectfont \PackageInfo{galician}{Replacing undefined sc font\MessageBreak shape by faked small caps}% \MakeUppercase{#1}% \else \MakeLowercase{#1}% \fi}\let\gl@do@msc\relax} \fi %<<<<<< % \end{macrocode} % % The |quoting| environment. This part is not available % in Plain, hence the test. Overriding the default |\everypar| is % a bit tricky. % % \begin{macrocode} \newif\ifgl@listquot \ifes@plain\else %<<<<<< \csname newtoks\endcsname\gl@quottoks \csname newcount\endcsname\gl@quotdepth \ifx\quoting\c@undefined\def\next{\let\next\relax\newenvironment} \else\def\next{\PackageInfo{galician}{Redefining quoting}\let\next\relax\renewenvironment} \fi \next{quoting} {\leavevmode \advance\gl@quotdepth1 \csname lquot\romannumeral\gl@quotdepth\endcsname% \ifnum\gl@quotdepth=\@ne \gl@listquotfalse \let\gl@quotpar\everypar \let\everypar\gl@quottoks \everypar\expandafter{\the\gl@quotpar}% \gl@quotpar{\the\everypar \ifgl@listquot\global\gl@listquotfalse\else\gl@quotcont\fi}% \fi \toks@\expandafter{\gl@quotcont}% \edef\gl@quotcont{\the\toks@ \expandafter\noexpand \csname rquot\romannumeral\gl@quotdepth\endcsname}} {\csname rquot\romannumeral\gl@quotdepth\endcsname} \def\lquoti{\guillemotleft{}} \def\rquoti{\guillemotright{}} \def\lquotii{``} \def\rquotii{''} \def\lquotiii{`} \def\rquotiii{'} \let\gl@quotcont\@empty % \end{macrocode} % % If there is a margin par inside quoting, we don't add the % quotes. |\gl@listqout| stores the quotes to be used before % item labels; otherwise they could appear after the labels. % % \begin{macrocode} \addto\@marginparreset{\let\gl@quotcont\@empty} \def\gl@listquot{% \csname rquot\romannumeral\gl@quotdepth\endcsname \global\gl@listquottrue} \fi %<<<<<< % \end{macrocode} % % Now, the |\frenchspacing|, followed by |\...dots| and |\%| % Instead of redefining |\ldots| and |\cdots|, we redefine |\ldotp| % and |\cdotp|, so that this is compatible with amsmath. % In LaTeX we also redefine |\textellipsis|, and for plain or % other we redefine |\dots|. % % \changes{galician~4.3}{07/01/27}{\cs{...} is removed and instead % \cs{dots} and \cs{dots} are changed, by redefining \cs{ldotc}, % \cs{dotc} and \cs{textellipsis} or \cs{dots}} % \begin{macrocode} \addto\textgalician{\bbl@frenchspacing} \addto\notextgalician{\bbl@nonfrenchspacing} \mathchardef\gl@cdot="0201 \ifes@LaTeXe %<<<<<< \addto\textgalician{% \babel@save\textellipsis \babel@save\ldotp \babel@save\cdotp% \def\textellipsis{\hbox{...}\spacefactor\sfcode`.{} }% \mathchardef\ldotp="013A% \mathchardef\cdotp="0201% } \else %<<<<<< \addto\textgalician{% \babel@save\dots \babel@save\ldotp \babel@save\cdotp \mathchardef\ldotp="013A% \mathchardef\cdotp="0201% \def\dots{\ifmmode\ldots\else...\spacefactor\sfcode`.{} \fi}% } \fi %<<<<<< \ifes@LaTeXe %<<<<<< \addto\textgalician{% \let\percentsign\%% \babel@save\%% \def\%{\unskip\,\percentsign{}}} \else \addto\textgalician{% \let\percentsign\%% \babel@save\%% \def\%{\unskip\ifmmode\,\else$\m@th\,$\fi\percentsign{}}} \fi % \end{macrocode} % % We follow with the math group. It's not easy to add an accent % in an operator. The difficulty is that we must avoid using % text (that is, |\mbox|) because we have no control on font % and size, and at time we should access |\i|, which is a text % command forbidden in math mode. |\dotlessi| must be % converted to uppercase if necessary in \LaTeXe. There are % two versions, depending on the format. % % \begin{macrocode} \addto\mathgalician{% \babel@save\dotlessi \def\dotlessi{\protect\gl@dotlessi}} \let\nomathgalician\relax %% Unused, but called \ifes@LaTeXe %<<<<<< \def\gl@texti{\i} \addto\@uclclist{\dotlessi\gl@texti} \fi %<<<<<< \ifes@LaTeXe %<<<<<< \def\gl@dotlessi{% \ifmmode {\ifnum\mathgroup=\m@ne \imath \else \count@\escapechar \escapechar=\m@ne \expandafter\expandafter\expandafter \split@name\expandafter\string\the\textfont\mathgroup\@nil \escapechar=\count@ \@ifundefined{\f@encoding\string\i}% {\edef\f@encoding{\string?}}{}% \expandafter\count@\the\csname\f@encoding\string\i\endcsname \advance\count@"7000 \mathchar\count@ \fi}% \else \i \fi} \else %<<<<<< \def\gl@dotlessi{% \ifmmode \mathchar"7010 \else \i \fi} \fi %<<<<<< % \end{macrocode} % % The switches for accents and spaces in math. % % \changes{galician~4.3}{07/01/21}{Set the default to \cs{unspacedoperators}} % \begin{macrocode} \def\accentedoperators{% \def\gl@op@ac##1{\acute{##1}}% \def\gl@op@i{\acute{\dotlessi}}} \def\unaccentedoperators{% \def\gl@op@ac##1{##1}% \def\gl@op@i{i}} \accentedoperators \def\spacedoperators{\let\gl@op@sp\,} \def\unspacedoperators{\let\gl@op@sp\@empty} \unspacedoperators % \end{macrocode} % % The operators are stored in |\gl@operators|, which in turn is % included in the math group. Since |\operator@font| is % defined in \LaTeXe{} only, we need to define them in the plain variant. % % \changes{galician~4.3}{07/01/21}{\cs{sin}, \cs{arcsin} and \cs{sinh} % are set to produce the same as \cs{sen}, \cs{arcsen} and \cs{senh}} % \changes{galician~4.3}{07/01/27}{cosec and senh moved from % \cs{galicianoperators} to the main group} % % \begin{macrocode} \addto\mathgalician{% \gl@operators} \ifes@LaTeXe\else %<<<<<< \let\operator@font\rm \def\@empty{} \fi %<<<<<< \def\gl@operators{% \babel@save\lim \def\lim{\mathop{\operator@font l\protect\gl@op@i m}}% \babel@save\limsup \def\limsup{\mathop{\operator@font l\gl@op@i m\,sup}}% \babel@save\liminf \def\liminf{\mathop{\operator@font l\gl@op@i m\,inf}}% \babel@save\max \def\max{\mathop{\operator@font m\gl@op@ac ax}}% \babel@save\inf \def\inf{\mathop{\operator@font \protect\gl@op@i nf}}% \babel@save\min \def\min{\mathop{\operator@font m\protect\gl@op@i n}}% \babel@save\bmod \def\bmod{% \nonscript\mskip-\medmuskip\mkern5mu% \mathbin{\operator@font m\gl@op@ac od}\penalty900\mkern5mu% \nonscript\mskip-\medmuskip}% \babel@save\pmod \def\pmod##1{% \allowbreak\mkern18mu({\operator@font m\gl@op@ac od}\,\,##1)}% \def\gl@a##1 {% \gl@delayed \if^##1^\then % is it empty? do nothing and continue \gl@a \else \gl@delayed \if&##1\then % is it &? do nothing and finish \else \begingroup \let\,\@empty % \, is ignored when def'ing the macro name \let\acute\@firstofone % same \edef\gl@b{\expandafter\noexpand\csname##1\endcsname}% \def\,{\noexpand\gl@op@sp}% \def\acute####1{% \if i####1% \noexpand\gl@op@i \else \noexpand\gl@op@ac####1% \fi}% \edef\gl@a{\endgroup \noexpand\babel@save\expandafter\noexpand\gl@b \def\expandafter\noexpand\gl@b{% \mathop{\noexpand\operator@font##1}\nolimits}}% \gl@a % It restores itself \gl@a \fi \fi}% \let\gl@b\galicianoperators \addto\gl@b{ }% \expandafter\gl@a\gl@b sen tx cosec arc\,sen arc\,cos arc\,tx senh & %\, will be set to \gl@op@sp % \babel@save\sin \let\sin\sen \babel@save\arcsin \let\arcsin\arcsen \babel@save\sinh \let\sinh\senh } \def\galicianoperators{cotx txh} % \end{macrocode} % % Now comes the text shorthands. They are grouped in % |\shorthandsgalician| and this style performs some % operations before the babel shortands are called. % The goals are to allow espression like |$a^{x'}$| % and to deactivate the shorthands making them of % category `other'. After providing a |\'i| shorthand, % the new macros are defined. % % \begin{macrocode} \DeclareTextCompositeCommand{\'}{OT1}{i}{\@tabacckludge'{\i}} \def\gl@set@shorthand#1{% \expandafter\edef\csname gl@savecat\string#1\endcsname {\the\catcode`#1}% \initiate@active@char{#1}% \catcode`#1=\csname gl@savecat\string#1\endcsname\relax \expandafter\let\csname gl@math\string#1\expandafter\endcsname \csname normal@char\string#1\endcsname} \def\gl@use@shorthand{% \gl@delayed \ifx\thepage\relax\then \string \else{% \gl@delayed \ifx\protect\@unexpandable@protect\then \noexpand \else \gl@use@sh \fi}% \fi} \def\gl@text@sh#1{\csname active@char\string#1\endcsname} \def\gl@math@sh#1{\csname gl@math\string#1\endcsname} \def\gl@use@sh{% \gl@delayed \if@safe@actives\then \string \else{% \gl@delayed \ifmmode\then \gl@math@sh \else \gl@text@sh \fi}% \fi} \gdef\gl@activate#1{% \begingroup \lccode`\~=`#1 \lowercase{% \endgroup \def~{\gl@use@shorthand~}}} \def\galiciandeactivate#1{% \@tfor\@tempa:=#1\do{\expandafter\gl@spdeactivate\@tempa}} \def\gl@spdeactivate#1{% \if.#1% \mathcode`\.=\gl@period@code \else \begingroup \lccode`\~=`#1 \lowercase{% \endgroup \expandafter\let\expandafter~% \csname normal@char\string#1\endcsname}% \catcode`#1\csname gl@savecat\string#1\endcsname\relax \fi} \def\gl@reviveshorthands{% \gl@restore{"}\gl@restore{~}% \gl@restore{<}\gl@restore{>}% \gl@quoting} \def\gl@restore#1{% \catcode`#1=\active \begingroup \lccode`\~=`#1 \lowercase{% \endgroup \bbl@deactivate{~}}} % \end{macrocode} % % But \textsf{galician} allows two category codes for |'|, % so both should be taken into account in \cs{bbl@pr@m@s}. % % \begin{macrocode} \begingroup \catcode`\'=12 \lccode`~=`' \lccode`'=`' \lowercase{% \gdef\bbl@pr@m@s{% \gl@delayed \ifx~\@let@token\then \pr@@@s \else {\gl@delayed \ifx'\@let@token\then \pr@@@s \else {\gl@delayed \ifx^\@let@token\then \pr@@@t \else \egroup \fi}% \fi}% \fi}} \endgroup % \end{macrocode} % % \begin{macrocode} \expandafter\ifx\csname @tabacckludge\endcsname\relax \let\gl@tak\a \else \let\gl@tak\@tabacckludge \fi \ifes@LaTeXe %<<<<<< \def\@tabacckludge#1{\expandafter\gl@tak\string#1} \let\a\@tabacckludge \else\ifes@plain %<<<<<< \def\@tabacckludge#1{\csname\string#1\endcsname} \else %<<<<<< \def\@tabacckludge#1{\csname a\string#1\endcsname} \fi\fi %<<<<<< \expandafter\ifx\csname add@accent\endcsname\relax \def\add@accent#1#2{\accent#1 #2} \fi % \end{macrocode} % % Instead of redefining |\'|, we redefine the internal macro for the OT1 encoding. % \begin{macrocode} \ifes@LaTeXe %<<<<<< \def\gl@accent#1#2#3{% \expandafter\@text@composite \csname OT1\string#1\endcsname#3\@empty\@text@composite {\bbl@allowhyphens\add@accent{#2}{#3}\bbl@allowhyphens \setbox\@tempboxa\hbox{#3% \global\mathchardef\accent@spacefactor\spacefactor}% \spacefactor\accent@spacefactor}} \else %<<<<<< \def\gl@accent#1#2#3{% \bbl@allowhyphens\add@accent{#2}{#3}\bbl@allowhyphens \spacefactor\sfcode`#3 } \fi %<<<<<< % \end{macrocode} % % The shorthands are activated in the aux file. Now, we begin % the shorthands group. % % \begin{macrocode} \addto\shorthandsgalician{\languageshorthands{galician}} \let\noshorthandsgalician\relax % \end{macrocode} % % First, decimal comma. % % \begin{macrocode} \def\galiciandecimal#1{\def\gl@decimal{{#1}}} \def\decimalcomma{\galiciandecimal{,}} \def\decimalpoint{\galiciandecimal{.}} \decimalcomma \gl@set@shorthand{.} \@namedef{gl@math\string.}{% \@ifnextchar\egroup {\mathchar\gl@period@code\relax}% {\gl@text@sh.}} \declare@shorthand{system}{.}{\mathchar\gl@period@code\relax} % \end{macrocode} % % \begin{macrocode} \addto\shorthandsgalician{% \mathchardef\gl@period@code\the\mathcode`\.% \babel@savevariable{\mathcode`\.}% \mathcode`\.="8000 % \gl@activate{.}} \AtBeginDocument{% \catcode`\.=12 \if@filesw \immediate\write\@mainaux{% \string\catcode`\string\.=12}% \fi} \declare@shorthand{galician}{.1}{\gl@decimal1} \declare@shorthand{galician}{.2}{\gl@decimal2} \declare@shorthand{galician}{.3}{\gl@decimal3} \declare@shorthand{galician}{.4}{\gl@decimal4} \declare@shorthand{galician}{.5}{\gl@decimal5} \declare@shorthand{galician}{.6}{\gl@decimal6} \declare@shorthand{galician}{.7}{\gl@decimal7} \declare@shorthand{galician}{.8}{\gl@decimal8} \declare@shorthand{galician}{.9}{\gl@decimal9} \declare@shorthand{galician}{.0}{\gl@decimal0} % \end{macrocode} % % Now accents and tools % % \begin{macrocode} \gl@set@shorthand{"} \def\gl@umlaut#1{% \bbl@allowhyphens\add@accent{127}#1\bbl@allowhyphens \spacefactor\sfcode`#1 } % \end{macrocode} % % We override the default |"| of babel, intended for german. % % \begin{macrocode} \ifes@LaTeXe %<<<<<< \addto\shorthandsgalician{% \gl@activate{"}% \gl@activate{~}% \babel@save\bbl@umlauta \let\bbl@umlauta\gl@umlaut \expandafter\babel@save\csname OT1\string\~\endcsname \expandafter\def\csname OT1\string\~\endcsname{\gl@accent\~{126}}% \expandafter\babel@save\csname OT1\string\'\endcsname \expandafter\def\csname OT1\string\'\endcsname{\gl@accent\'{19}}} \else %<<<<<< \addto\shorthandsgalician{% \gl@activate{"}% \gl@activate{~}% \babel@save\bbl@umlauta \let\bbl@umlauta\gl@umlaut \babel@save\~% \def\~{\gl@accent\~{126}}% \babel@save\'% \def\'#1{\if#1i\gl@accent\'{19}\i\else\gl@accent\'{19}{#1}\fi}} \fi %<<<<<< % \end{macrocode} % \changes{galician~4.3}{07/01/22}{Removed the shorthands "er and "ER, % they don't exist in galician.} % \begin{macrocode} \declare@shorthand{galician}{"a}{\protect\gl@sptext{a}} \declare@shorthand{galician}{"A}{\protect\gl@sptext{A}} \declare@shorthand{galician}{"o}{\protect\gl@sptext{o}} \declare@shorthand{galician}{"O}{\protect\gl@sptext{O}} \declare@shorthand{galician}{"u}{\"u} \declare@shorthand{galician}{"U}{\"U} \declare@shorthand{galician}{"i}{\"i} \declare@shorthand{galician}{"I}{\"I} \declare@shorthand{galician}{"<}{\begin{quoting}} \declare@shorthand{galician}{">}{\end{quoting}} \declare@shorthand{galician}{"-}{\bbl@allowhyphens\-\bbl@allowhyphens} \declare@shorthand{galician}{"=}% {\bbl@allowhyphens\char\hyphenchar\font\hskip\z@skip} \declare@shorthand{galician}{"~} {\bbl@allowhyphens\discretionary{\char\hyphenchar\font}% {\char\hyphenchar\font}{\char\hyphenchar\font}\bbl@allowhyphens} \declare@shorthand{galician}{"r} {\bbl@allowhyphens\discretionary{\char\hyphenchar\font}% {}{r}\bbl@allowhyphens} \declare@shorthand{galician}{"R} {\bbl@allowhyphens\discretionary{\char\hyphenchar\font}% {}{R}\bbl@allowhyphens} \declare@shorthand{galician}{""}{\hskip\z@skip} \declare@shorthand{galician}{"/} {\setbox\z@\hbox{/}% \dimen@\ht\z@ \advance\dimen@-1ex \advance\dimen@\dp\z@ \dimen@.31\dimen@ \advance\dimen@-\dp\z@ \ifdim\dimen@>0pt \kern.01em\lower\dimen@\box\z@\kern.03em \else \box\z@ \fi} \declare@shorthand{galician}{"?} {\setbox\z@\hbox{?`}% \leavevmode\raise\dp\z@\box\z@} \declare@shorthand{galician}{"!} {\setbox\z@\hbox{!`}% \leavevmode\raise\dp\z@\box\z@} \gl@set@shorthand{~} \declare@shorthand{galician}{~n}{\~n} \declare@shorthand{galician}{~N}{\~N} \declare@shorthand{galician}{~-}{% \leavevmode \bgroup \let\@sptoken\gl@dashes % This assignation changes the \@ifnextchar-% \@ifnextchar behaviour {\gl@dashes}% {\hbox{\char\hyphenchar\font}\egroup}} \def\gl@dashes-{% \@ifnextchar-% {\bbl@allowhyphens\hbox{---}\bbl@allowhyphens\egroup\@gobble}% {\bbl@allowhyphens\hbox{--}\bbl@allowhyphens\egroup}} \def\deactivatetilden{% \expandafter\let\csname galician@sh@\string~@n@\endcsname\relax \expandafter\let\csname galician@sh@\string~@N@\endcsname\relax} % \end{macrocode} % % The shorthands for |quoting|. % % \begin{macrocode} \expandafter\ifx\csname XML@catcodes\endcsname\relax \addto\gl@select{% \catcode`\<\active\catcode`\>=\active \gl@quoting} \gl@set@shorthand{<} \gl@set@shorthand{>} \declare@shorthand{system}{<}{\csname normal@char\string<\endcsname} \declare@shorthand{system}{>}{\csname normal@char\string>\endcsname} \addto\shorthandsgalician{% \gl@activate{<}% \gl@activate{>}} % \end{macrocode} % % \begin{macrocode} \ifes@LaTeXe %<<<<<< \AtBeginDocument{% \gl@quoting \if@filesw \immediate\write\@mainaux{\string\gl@quoting}% \fi}% \fi %<<<<<< \def\activatequoting{% \catcode`>=\active \catcode`<=\active \let\gl@quoting\activatequoting} \def\deactivatequoting{% \catcode`>=12 \catcode`<=12 \let\gl@quoting\deactivatequoting} \declare@shorthand{galician}{<<}{\guillemotleft{}} \declare@shorthand{galician}{>>}{\guillemotright{}} \fi \let\gl@quoting\relax \let\deactivatequoting\relax \let\activatequoting\relax % \end{macrocode} % % The acute accents are stored in a macro. If |activeacute| was set % as an option it's executed. If not is not deleted for a possible % later use in the |cfg| file. In non \LaTeXe{} formats is always % executed. % % \begin{macrocode} \def\gl@activeacute{% \gl@set@shorthand{'}% \addto\shorthandsgalician{\gl@activate{'}}% \addto\gl@reviveshorthands{\gl@restore{'}}% \addto\gl@select{\catcode`'=\active}% \declare@shorthand{galician}{'a}{\@tabacckludge'a}% \declare@shorthand{galician}{'A}{\@tabacckludge'A}% \declare@shorthand{galician}{'e}{\@tabacckludge'e}% \declare@shorthand{galician}{'E}{\@tabacckludge'E}% \declare@shorthand{galician}{'i}{\@tabacckludge'i}% \declare@shorthand{galician}{'I}{\@tabacckludge'I}% \declare@shorthand{galician}{'o}{\@tabacckludge'o}% \declare@shorthand{galician}{'O}{\@tabacckludge'O}% \declare@shorthand{galician}{'u}{\@tabacckludge'u}% \declare@shorthand{galician}{'U}{\@tabacckludge'U}% \declare@shorthand{galician}{'n}{\~n}% \declare@shorthand{galician}{'N}{\~N}% \declare@shorthand{galician}{''}{\textquotedblright}% \let\gl@activeacute\relax} \ifes@LaTeXe %<<<<<< \@ifpackagewith{babel}{activeacute}{\gl@activeacute}{} \else %<<<<<< \gl@activeacute \fi %<<<<<<% % \end{macrocode} % % And the customization. By default these macros only % store the values and do nothing. % % \begin{macrocode} \def\gl@enumerate#1#2#3#4{% \def\gl@enum{{#1}{#2}{#3}{#4}}} \def\gl@itemize#1#2#3#4{% \def\gl@item{{#1}{#2}{#3}{#4}}} % \end{macrocode} % % The part formerly in the |.lld| file comes here. It performs % layout adaptation of \LaTeX{} to ``orthodox'' Galician rules. % \begin{macrocode} \ifes@LaTeXe %<<<<<< \gl@enumerate{1.}{a)}{1)}{a$'$} \def\galiciandashitems{\gl@itemize{---}{---}{---}{---}} \def\galiciansymbitems{% \gl@itemize {\leavevmode\hbox to 1.2ex {\hss\vrule height .9ex width .7ex depth -.2ex\hss}}% {\textbullet}% {$\m@th\circ$}% {$\m@th\diamond$}} \def\galiciansignitems{% \gl@itemize {\textbullet}% {$\m@th\circ$}% {$\m@th\diamond$}% {$\m@th\triangleright$}} \galiciansymbitems \def\gl@enumdef#1#2#3\@@{% \if#21% \@namedef{theenum#1}{\arabic{enum#1}}% \else\if#2a% \@namedef{theenum#1}{\emph{\alph{enum#1}}}% \else\if#2A% \@namedef{theenum#1}{\Alph{enum#1}}% \else\if#2i% \@namedef{theenum#1}{\roman{enum#1}}% \else\if#2I% \@namedef{theenum#1}{\Roman{enum#1}}% \else\if#2o% \@namedef{theenum#1}{\arabic{enum#1}\protect\gl@sptext{o}}% \fi\fi\fi\fi\fi\fi \toks@\expandafter{\csname theenum#1\endcsname} \expandafter\edef\csname labelenum#1\endcsname {\noexpand\gl@listquot\the\toks@#3}} \addto\layoutgalician{% \def\gl@enumerate##1##2##3##4{% \gl@enumdef{i}##1\@empty\@empty\@@ \gl@enumdef{ii}##2\@empty\@empty\@@ \gl@enumdef{iii}##3\@empty\@empty\@@ \gl@enumdef{iv}##4\@empty\@empty\@@}% \def\gl@itemize##1##2##3##4{% \def\labelitemi{\gl@listquot##1}% \def\labelitemii{\gl@listquot##2}% \def\labelitemiii{\gl@listquot##3}% \def\labelitemiv{\gl@listquot##4}}% \def\p@enumii{\theenumi}% \def\p@enumiii{\theenumi\theenumii}% \def\p@enumiv{\p@enumiii\theenumiii}% \expandafter\gl@enumerate\gl@enum \expandafter\gl@itemize\gl@item \DeclareTextCommand{\guillemotleft}{OT1}{% \ifmmode\ll \else \save@sf@q{\penalty\@M \leavevmode\hbox{\usefont{U}{lasy}{m}{n}% \char40 \kern-0.19em\char40 }}% \fi}% \DeclareTextCommand{\guillemotright}{OT1}{% \ifmmode\gg \else \save@sf@q{\penalty\@M \leavevmode\hbox{\usefont{U}{lasy}{m}{n}% \char41 \kern-0.19em\char41 }}% \fi}% \def\@fnsymbol##1% {\ifcase##1\or*\or**\or***\or****\or *****\or******\else\@ctrerr\fi}% \def\@alph##1% {\ifcase##1\or a\or b\or c\or d\or e\or f\or g\or h\or i\or l\or m\or n\or \~n\or o\or p\or q\or r\or s\or t\or u\or v\or x\or z\else\@ctrerr\fi}% \def\@Alph##1% {\ifcase##1\or A\or B\or C\or D\or E\or F\or G\or H\or I\or L\or M\or N\or \~N\or O\or P\or Q\or R\or S\or T\or U\or V\or X\or Z\else\@ctrerr\fi}% \let\@afterindentfalse\@afterindenttrue \@afterindenttrue \def\@seccntformat##1{\csname the##1\endcsname.\quad}% \def\numberline##1{\hb@xt@\@tempdima{##1\if&##1&\else.\fi\hfil}}% \def\@roman##1{\protect\gl@roman{\number##1}}% \def\gl@roman##1{\protect\gl@msc{\romannumeral##1}}% \def\glromanindex##1##2{##1{\protect\gl@msc{##2}}}} % \end{macrocode} % % We need to execute the following code when babel has been % run, in order to see if |galician| is the main language. % % \begin{macrocode} \AtEndOfPackage{% \let\gl@activeacute\@undefined \def\bbl@tempa{galician}% \ifx\bbl@main@language\bbl@tempa \AtBeginDocument{\layoutgalician}% \addto\gl@select{% \@ifstar{\let\layoutgalician\relax}% {\layoutgalician\let\layoutgalician\relax}}% \fi \selectgalician} \fi %<<<<<< % \end{macrocode} % % After restoring the catcode of |~| and setting the minimal % values for hyphenation, the |.ldf| is finished. % % \begin{macrocode} \gl@savedcatcodes \providehyphenmins{\CurrentOption}{\tw@\tw@} \ifes@LaTeXe %<<<<<< \ldf@finish{galician} \else %<<<<<< \gl@select \ldf@finish{galician} \csname activatequoting\endcsname \fi %<<<<<< % % \end{macrocode} % That's all in the main file. Now the file with % \textsf{custom-bib} macros. % % \begin{macrocode} %<*bblbst> \def\bbland{e} \def\bbleditors{directores} \def\bbleds{dirs.\@} \def\bbleditor{director} \def\bbled{dir.\@} \def\bbledby{dirixido por} \def\bbledition{edici\'on} \def\bbledn{ed.\@} \def\bbletal{e outros} \def\bblvolume{volumen} \def\bblvol{vol.\@} \def\bblof{de} \def\bblnumber{n\'umero} \def\bblno{n\sptext{o}} \def\bblin{en} \def\bblpages{p\'axinas} \def\bblpp{p\'axs.\@} \def\bblpage{p\'axina} \def\bblp{p\'ax.\@} \def\bblchapter{cap\'itulo} \def\bblchap{cap.\@} \def\bbltechreport{informe t\'ecnico} \def\bbltechrep{inf.\@ t\'ec.\@} \def\bblmthesis{proxecto de fin de carreira} \def\bblphdthesis{tesis doutoral} \def\bblfirst {primeira} \def\bblfirsto {1\sptext{a}} \def\bblsecond{segunda} \def\bblsecondo{2\sptext{a}} \def\bblthird {terceira} \def\bblthirdo {3\sptext{a}} \def\bblfourth{cuarta} \def\bblfourtho{4\sptext{a}} \def\bblfifth {quinta} \def\bblfiftho {5\sptext{a}} \def\bblth{\sptext{a}} \let\bblst\bblth \let\bblnd\bblth \let\bblrd\bblth \def\bbljan{xaneiro} \def\bblfeb{febreiro} \def\bblmar{marzo} \def\bblapr{abril} \def\bblmay{maio} \def\bbljun{xu\~no} \def\bbljul{xullo} \def\bblaug{agosto} \def\bblsep{setembro} \def\bbloct{outubro}\def\bblnov{novembro}\def\bbldec{decembro} % % \end{macrocode} % % The |galician| option writes a macro in the page field of % \textit{MakeIndex} in entries with medium caps number, and they % are rejected. This program is a preprocessor which moves this % macro to the entry field. % % \begin{macrocode} %<*indexgl> \makeatletter \newcount\gl@converted \newcount\gl@processed \def\gl@encap{`\|} \def\gl@openrange{`\(} \def\gl@closerange{`\)} \def\gl@split@file#1.#2\@@{#1} \def\gl@split@ext#1.#2\@@{#2} \typein[\answer]{^^JArchivo que convertir^^J% (extension por omision .idx):} \@expandtwoargs\in@{.}{\answer} \ifin@ \edef\gl@input@file{\expandafter\gl@split@file\answer\@@} \edef\gl@input@ext{\expandafter\gl@split@ext\answer\@@} \else \edef\gl@input@file{\answer} \def\gl@input@ext{idx} \fi \typein[\answer]{^^JArquivo de destino^^J% (arquivo por omision: \gl@input@file.eix,^^J% extension por omision .eix):} \ifx\answer\@empty \edef\gl@output{\gl@input@file.eix} \else \@expandtwoargs\in@{.}{\answer} \ifin@ \edef\gl@output{\answer} \else \edef\gl@output{\answer.eix} \fi \fi \typein[\answer]{% ^^J?Usouse algun esquema especial de controles^^J% de MakeIndex para encap, open_range ou close_range?^^J% [s/n] (n por omision)} \if s\answer \typein[\answer]{^^JCaracter para 'encap'^^J% (\string| por omision)} \ifx\answer\@empty\else \edef\gl@encap{% `\expandafter\noexpand\csname\expandafter\string\answer\endcsname} \fi \typein[\answer]{^^JCaracter para 'open_range'^^J% (\string( por omision)} \ifx\answer\@empty\else \edef\gl@openrange{% `\expandafter\noexpand\csname\expandafter\string\answer\endcsname} \fi \typein[\answer]{^^JCaracter para 'close_range'^^J% (\string) por omision)} \ifx\answer\@empty\else \edef\gl@closerange{% `\expandafter\noexpand\csname\expandafter\string\answer\endcsname} \fi \fi \newwrite\gl@indexfile \immediate\openout\gl@indexfile=\gl@output \newif\ifgl@encapsulated \def\gl@roman#1{\romannumeral#1 } \edef\gl@slash{\expandafter\@gobble\string\\} \def\indexentry{% \begingroup \@sanitize \gl@indexentry} \begingroup \catcode`\|=12 \lccode`\|=\gl@encap\relax \catcode`\(=12 \lccode`\(=\gl@openrange\relax \catcode`\)=12 \lccode`\)=\gl@closerange\relax \lowercase{ \gdef\gl@indexentry#1{% \endgroup \advance\gl@processed\@ne \gl@encapsulatedfalse \gl@bar@idx#1|\@@ \gl@idxentry}% } \lowercase{ \gdef\gl@idxentry#1{% \in@{\gl@roman}{#1}% \ifin@ \advance\gl@converted\@ne \immediate\write\gl@indexfile{% \string\indexentry{\gl@b|\ifgl@encapsulated\gl@p\fi glromanindex% {\ifx\gl@a\@empty\else\gl@slash\gl@a\fi}}{#1}}% \else \immediate\write\gl@indexfile{% \string\indexentry{\gl@b\ifgl@encapsulated|\gl@p\gl@a\fi}{#1}}% \fi} } \lowercase{ \gdef\gl@bar@idx#1|#2\@@{% \def\gl@b{#1}\def\gl@a{#2}% \ifx\gl@a\@empty\else\gl@encapsulatedtrue\gl@bar@eat#2\fi} } \lowercase{ \gdef\gl@bar@eat#1#2|{\def\gl@p{#1}\def\gl@a{#2}% \edef\gl@t{(}\ifx\gl@t\gl@p \else\edef\gl@t{)}\ifx\gl@t\gl@p \else \edef\gl@a{\gl@p\gl@a}\let\gl@p\@empty% \fi\fi} } \endgroup \input \gl@input@file.\gl@input@ext \immediate\closeout\gl@indexfile \typeout{*****************} \typeout{procesouse: \gl@input@file.\gl@input@ext } \typeout{Li'nas lidas: \the\gl@processed} \typeout{Li'nas convertidas: \the\gl@converted} \typeout{Resultado en: \gl@output} \ifnum\gl@converted>\z@ \typeout{Xenere o 'indice a partir deste arquivo} \else \typeout{Non se realizou ning'un tipo de conversi'on} \typeout{P'odese xenerar o arquivo directamente^^J% de \gl@input@file.\gl@input@ext} \fi \typeout{*****************} \@@end % % \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