Reformatando um documento LaTeX por perl

1

Eu tenho um documento LaTeX no qual as modificações no texto e as equações são feitas em vermelho para que sejam diferenciadas do texto não modificado:

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

Esta modificação pode ser uma única palavra, uma frase, uma frase, um parágrafo ou uma equação. Por exemplo:

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

ou

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

Como posso escrever uma perl one-liner que pode substituir {\color{red} MODIFIED TEXT OR EQUATION GOES HERE.} a MODIFIED TEXT OR EQUATION GOES HERE. ? Eu quero remover {\color{red} e a chave direita } em todo o documento LaTeX .

    
por AFP 15.06.2014 / 23:32

2 respostas

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

explicação dos sinalizadores (do link ):

-p: Places a printing loop around your command so that it acts on each line of standard input. Used mostly so Perl can beat the pants off awk in terms of power AND simplicity :-)

-e: Allows you to provide the program as an argument rather than in a file. You don't want to have to create a script file for every little Perl one-liner.

-i: Modifies your input file in-place (making a backup of the original). Handy to modify files without the {copy, delete-original, rename} process.

    
por 15.06.2014 / 23:41
2

Tente isto:

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

Tags