%%
%% This is file `glromidx.tex',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% galician.dtx  (with options: `indexgl')
%% 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}

\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
%%
%% \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 `glromidx.tex'.
