Perl을 사용하여 LaTeX 문서 형식 변경

Perl을 사용하여 LaTeX 문서 형식 변경

LaTeX수정되지 않은 텍스트와 구별할 수 있도록 텍스트와 방정식의 수정이 빨간색으로 수행되는 문서가 있습니다 .

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

이러한 수정은 단일 단어, 구, 문장, 단락 또는 방정식이 될 수 있습니다. 예를 들어:

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

또는

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

perl대체할 수 있는 한 줄짜리 코드를 어떻게 작성할 수 있나요 ? 전체 문서에서 오른쪽 중괄호를 제거하려는 것입니다 .{\color{red} MODIFIED TEXT OR EQUATION GOES HERE.}MODIFIED TEXT OR EQUATION GOES HERE.{\color{red}}LaTeX

답변1

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

플래그에 대한 설명(fromhttps://stackoverflow.com/a/6302045/330830):

-p: 표준 입력의 각 행에서 작동하도록 명령 주위에 인쇄 루프를 배치합니다. 주로 사용되므로 Perl은 강력함과 단순성 측면에서 최고의 성능을 발휘할 수 있습니다. :-)

-e: 프로그램을 파일이 아닌 인수로 제공할 수 있습니다. 모든 작은 Perl 한 줄짜리 스크립트 파일을 생성할 필요는 없습니다.

-i: 입력 파일을 그 자리에서 수정합니다(원본 백업 만들기). {복사, 원본 삭제, 이름 바꾸기} 프로세스 없이 파일을 수정하는 것이 편리합니다.

답변2

이 시도:

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

관련 정보