1 Gennaio 2010 alle 17:45
#38431
::
Risolto!!
Il problema era che il loop leggeva una volta in più del necessario, ho risolto inserendo un if che controlla se ci sono righe vuote nel file.
Il codice, che adesso definisce un nuovo comando \Variabile leggendo dal file esterno è il seguente:
\makeatletter
\def\Var@ParseLine#1=#2\@nil{%
\@namedef{#1}{#2}%
}
\newread\Var@InputStream
\edef\Restore@Endlinechar{\endlinechar=\the\endlinechar\relax}
\endlinechar\m@ne
\openin\Var@InputStream=Variables.tex
\count@=\z@
\loop\unless\ifeof\Var@InputStream
\read\Var@InputStream to \Var@Line
\if\Var@Line\par
\else
\expandafter\Var@ParseLine\Var@Line\@nil
\fi
\repeat
\closein\Var@InputStream
\Restore@Endlinechar
\makeatother
Buon 2010 a tutti!!!