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

표지판 설명 (에서https://stackoverflow.com/a/6302045/330830):

-p: 표준 입력의 모든 행에서 작동하도록 명령 주위에 인쇄 루프를 배치합니다. 주로 Perl이 기능과 단순성 측면에서 awk를 능가합니다 :-)

-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.

관련 정보