Perl

通過 perl 重新格式化 LaTeX 文件

  • June 15, 2014

我有一個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

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

標誌的解釋(來自https://stackoverflow.com/a/6302045/330830):

-p:在您的命令周圍放置一個列印循環,以便它作用於標準輸入的每一行。主要用於 Perl 可以在功能和簡單性方面擊敗 awk :-)

-e:允許您將程序作為參數而不是在文件中提供。您不想為每個小的 Perl 單行程式碼創建一個腳本文件。

-i:就地修改您的輸入文件(製作原始文件的備份)。無需 {copy, delete-original, rename} 過程即可方便地修改文件。

引用自:https://unix.stackexchange.com/questions/137309