%%
%% This is file `romanidx.tex',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% spanish.dtx  (with options: `indexes')
%% This is a generated file.
%% 
%% Copyright 1989-2004 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 `spanish.dtx'
%% Babel package for LaTeX version 2e
%% Copyright (C) 1989 - 2004
%%           by Johannes Braams, TeXniek
%% Spanish Language Definition File
%% Copyright (C) 1997 - 2004
%%           by Javier Bezos (jbezos at wanadoo.es)
%%           Apartado 116.035
%%           E-28080 Madrid
%%           Espa\~na / Espagne
%%      and
%%           by CervanTeX (www.cervantex.org)
%% Please report errors to: Javier Bezos (preferably)
%%                          jbezos at wanadoo.es
%%                          J.L. Braams
%%                          babel at braams.cistron.nl
%% \section{\textsf{spanish} como lengua principal}
\makeatletter

\newcount\es@converted
\newcount\es@processed

\def\es@encap{`\|}
\def\es@openrange{`\(}
\def\es@closerange{`\)}

\def\es@split@file#1.#2\@@{#1}
\def\es@split@ext#1.#2\@@{#2}

\typein[\answer]{^^JArchivo que convertir^^J%
   (extension por omision .idx):}

\@expandtwoargs\in@{.}{\answer}
\ifin@
  \edef\es@input@file{\expandafter\es@split@file\answer\@@}
  \edef\es@input@ext{\expandafter\es@split@ext\answer\@@}
\else
  \edef\es@input@file{\answer}
  \def\es@input@ext{idx}
\fi

\typein[\answer]{^^JArchivo de destino^^J%
   (archivo por omision: \es@input@file.eix,^^J%
    extension por omision .eix):}
\ifx\answer\@empty
  \edef\es@output{\es@input@file.eix}
\else
  \@expandtwoargs\in@{.}{\answer}
  \ifin@
     \edef\es@output{\answer}
  \else
     \edef\es@output{\answer.eix}
  \fi
\fi

\typein[\answer]{%
 ^^J?Se ha usado algun esquema especial de controles^^J%
 de MakeIndex para encap, open_range o 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\es@encap{%
      `\expandafter\noexpand\csname\expandafter\string\answer\endcsname}
  \fi
  \typein[\answer]{^^JCaracter para 'open_range'^^J%
    (\string( por omision)}
  \ifx\answer\@empty\else
    \edef\es@openrange{%
      `\expandafter\noexpand\csname\expandafter\string\answer\endcsname}
  \fi
  \typein[\answer]{^^JCaracter para 'close_range'^^J%
    (\string) por omision)}
  \ifx\answer\@empty\else
    \edef\es@closerange{%
      `\expandafter\noexpand\csname\expandafter\string\answer\endcsname}
  \fi
\fi

\newwrite\es@indexfile
\immediate\openout\es@indexfile=\es@output

\newif\ifes@encapsulated

\def\es@roman#1{\romannumeral#1 }
\edef\es@slash{\expandafter\@gobble\string\\}

\def\indexentry{%
  \begingroup
  \@sanitize
  \es@indexentry}

\begingroup

\catcode`\|=12 \lccode`\|=\es@encap\relax
\catcode`\(=12 \lccode`\(=\es@openrange\relax
\catcode`\)=12 \lccode`\)=\es@closerange\relax

\lowercase{
\gdef\es@indexentry#1{%
  \endgroup
  \advance\es@processed\@ne
  \es@encapsulatedfalse
  \es@bar@idx#1|\@@
  \es@idxentry}%
}

\lowercase{
\gdef\es@idxentry#1{%
  \in@{\es@roman}{#1}%
  \ifin@
    \advance\es@converted\@ne
    \immediate\write\es@indexfile{%
      \string\indexentry{\es@b|\ifes@encapsulated\es@p\fi esromanindex%
        {\ifx\es@a\@empty\else\es@slash\es@a\fi}}{#1}}%
  \else
    \immediate\write\es@indexfile{%
      \string\indexentry{\es@b\ifes@encapsulated|\es@p\es@a\fi}{#1}}%
  \fi}
}

\lowercase{
\gdef\es@bar@idx#1|#2\@@{%
  \def\es@b{#1}\def\es@a{#2}%
  \ifx\es@a\@empty\else\es@encapsulatedtrue\es@bar@eat#2\fi}
}

\lowercase{
\gdef\es@bar@eat#1#2|{\def\es@p{#1}\def\es@a{#2}%
  \edef\es@t{(}\ifx\es@t\es@p
  \else\edef\es@t{)}\ifx\es@t\es@p
  \else
    \edef\es@a{\es@p\es@a}\let\es@p\@empty%
  \fi\fi}
}

\endgroup

\input \es@input@file.\es@input@ext

\immediate\closeout\es@indexfile

\typeout{*****************}
\typeout{Se ha procesado: \es@input@file.\es@input@ext }
\typeout{Lineas leidas: \the\es@processed}
\typeout{Lineas convertidas: \the\es@converted}
\typeout{Resultado en: \es@output}
\ifnum\es@converted>\z@
  \typeout{Genere el indice a partir de ese archivo}
\else
  \typeout{No se ha realizado ningun tipo de conversion}
  \typeout{Se puede generar el archivo directamente^^J%
           de \es@input@file.\es@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 `romanidx.tex'.
