Reformatear un documento LaTeX por perl

Reformatear un documento LaTeX por perl

Tengo un LaTeXdocumento en el que las modificaciones en el texto y las ecuaciones se hacen en color rojo para que se distingan del texto no modificado:

{\color{red} MODIFIED TEXT OR EQUATION GOES HERE.}

Esta modificación puede ser una sola palabra, una frase, una oración, un párrafo o una ecuación. Por ejemplo:

 \pi \rho \hat{\bf x} \int\omega_{\color{red} \theta}

o

{\color{red} This work presents the ``numerical study'' of convection in vertical annuli;}

¿Cómo puedo escribir una perlfrase que pueda reemplazar {\color{red} MODIFIED TEXT OR EQUATION GOES HERE.}a MODIFIED TEXT OR EQUATION GOES HERE.? Me refiero a eliminar {\color{red}y la llave correcta }en todo el LaTeXdocumento.

Respuesta1

perl -p -i -e 's/{\\color{red}(.*)}/\1/g' filename

explicación de las banderas (dehttps://stackoverflow.com/a/6302045/330830):

-p: coloca un bucle de impresión alrededor de su comando para que actúe en cada línea de entrada estándar. Se usa principalmente para que Perl pueda superar a los demás en términos de potencia Y simplicidad :-)

-e: Le permite proporcionar el programa como argumento en lugar de en un archivo. No querrás tener que crear un archivo de script para cada pequeña frase en Perl.

-i: modifica su archivo de entrada en el lugar (haciendo una copia de seguridad del original). Útil para modificar archivos sin el proceso de {copiar, eliminar original, cambiar nombre}.

Respuesta2

Prueba esto:

$ echo "{\color{red} MODIFIED TEXT OR EQUATION GOES HERE.}" | \
perl -pe 's/\{\\color\{red\} (.*?)\}/$1/g'
MODIFIED TEXT OR EQUATION GOES HERE.

información relacionada