MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 216.73.216.27
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/texlive/texmf-dist/tex/generic/babel/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/texlive/texmf-dist/tex/generic/babel/galician.ldf
%%
%% This is file `galician.ldf',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% galician.dtx  (with options: `code')
%% This is a generated file.
%% 
%% Copyright 1989-2008 Johannes L. Braams and any individual authors
%% listed elsewhere in this file.  All rights reserved.
%% 
%% This file was generated from file(s) 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.
%% 
%% This file may only be distributed together with a copy of the Babel
%% system. You may however distribute the Babel system without
%% such generated files.
%% 
%% The list of all files belonging to the Babel distribution 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.
%% 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
%% \section{\textsf{galician} coma lingua principal}

\ProvidesLanguage{galician.ldf}
       [2008/07/06 v4.3c Galician support from the babel system]
\LdfInit{galician}\captionsgalician
\ifx\undefined\l@galician
  \@nopatterns{Galician}
  \adddialect\l@galician0
\fi
\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}}
\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
\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
\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
\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}
\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}
\addto\textgalician{%
  \babel@save\sptext
  \def\sptext{\protect\gl@sptext}}
\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            %<<<<<<
\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            %<<<<<<
\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
  \addto\@marginparreset{\let\gl@quotcont\@empty}

  \def\gl@listquot{%
    \csname rquot\romannumeral\gl@quotdepth\endcsname
    \global\gl@listquottrue}
\fi            %<<<<<<
\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
\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            %<<<<<<
\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
\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}
\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{~}}}
\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
\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
\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            %<<<<<<
\addto\shorthandsgalician{\languageshorthands{galician}}
\let\noshorthandsgalician\relax
\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}
\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}
\gl@set@shorthand{"}
\def\gl@umlaut#1{%
  \bbl@allowhyphens\add@accent{127}#1\bbl@allowhyphens
  \spacefactor\sfcode`#1 }
\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            %<<<<<<
\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}
\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{>}}
  \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
\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            %<<<<<<%
\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}}}
\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}}}}
\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            %<<<<<<
\gl@savedcatcodes

\providehyphenmins{\CurrentOption}{\tw@\tw@}

\ifes@LaTeXe   %<<<<<<
  \ldf@finish{galician}
\else          %<<<<<<
  \gl@select
  \ldf@finish{galician}
  \csname activatequoting\endcsname
\fi            %<<<<<<

%%
%% \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
%%
%% End of file `galician.ldf'.

MMCT - 2023