[Python] \b e \r in file di testo

Daniele Zambelli daniele.zambelli a gmail.com
Ven 12 Giu 2015 13:47:20 CEST


Salve a tutti.

mi sto scontrando con un problema che non riesco a risolvere.

Ho un file di LaTeX che contiene dei simpatici "\begin" e "\ref"

ora io vorrei legerlo riga per riga e riscrivere un altro file con
alcune modifiche. il problema è che i "\b" e "\r" vengono convertiti
in BS e acapo.

esempio:

import io

EXAMPLE = """
\subsection{Sottrazione}

La sottrazione tra due numeri relativi si esegue facendo la somma del
primo numero con l'opposto del secondo.

\begin{exrig}
 \begin{esempio}
 Sottrazione di numeri relativi.
 \begin{enumeratea}
 \item $(+2)-(+3)=(+2)+(-3)=-1$;
\item $(+1)-(+3)=(+1)+(-3)=-2$;
\item $(-2)-(-1)=(-2)+(+1)=-1$;
\item $(+3)-(-7)=(+3)+(+7)=+10$;
\item $(-5)-(+5)=(-5)+(-5)=-10$
 \end{enumeratea}
 \end{esempio}
\end{exrig}

\begin{figure}[t]
 \centering\input{\folder lbr/fig006_sottrazione.pgf}
 \caption{Esempio~2.9.a.}
\end{figure}

% \ovalbox{\risolvii \ref{ese:2.9}, \ref{ese:2.10}, \ref{ese:2.11},
\ref{ese:2.12}, \ref{ese:2.13}}


"""

input_file = io.StringIO(EXAMPLE)

def th_mod(line):
    return line

print('inizio')
file_i = input_file
file_o = open('prova.txt', 'w')
for line in file_i:
    print('...')
    file_o.write(th_mod(line))
file_o.close()
print('fine')

il risultato che ottengo è:


\subsection{Sottrazione}

La sottrazione tra due numeri relativi si esegue facendo la somma del
primo numero con l'opposto del secondo.

egin{exrig}
 egin{esempio}
 Sottrazione di numeri relativi.
 egin{enumeratea}
 \item $(+2)-(+3)=(+2)+(-3)=-1$;
\item $(+1)-(+3)=(+1)+(-3)=-2$;
\item $(-2)-(-1)=(-2)+(+1)=-1$;
\item $(+3)-(-7)=(+3)+(+7)=+10$;
\item $(-5)-(+5)=(-5)+(-5)=-10$
 \end{enumeratea}
 \end{esempio}
\end{exrig}

egin{figure}[t]
 \centering\input{ older lbr/fig006_sottrazione.pgf}
 \caption{Esempio~2.9.a.}
\end{figure}

% \ovalbox{
isolvii
ef{ese:2.9},
ef{ese:2.10},
ef{ese:2.11},
ef{ese:2.12},
ef{ese:2.13}}

Qualche idea?

Grazie per l'attenzione.

-- 

Daniele

www.fugamatematica.blogspot.com

    giusto!
    nel verso
    forse è perché non guardiamo le cose
    Quando non ci capiamo,


Maggiori informazioni sulla lista Python