簡單的regex在我的LaTeX文件,我有數以千計下面的結構的出現:極品乳膠
$\displaystyle{...math goes here...}$
我想和
\mymath{...math goes here...}
注取代這些的$消失了,但大括號仍然存在---如果不是最後的$,這將是一個基本的查找和替換。如果只有我知道任何正則表達式,我相信它會處理這個沒有問題。我需要做什麼正則表達式?
非常感謝提前。
編輯:一些問題和疑問出現了,所以讓我澄清:
- 是,
$\displaystyle{ ... }$
可以在同一行中多次出現。 - 否,嵌套
}$
的(如$\displaystyle{...{more math}$...}$
)不能出現。我的意思是,如果你把它放在\mbox
之類的東西里,我想它可能會出現,但我無法想象爲什麼有人會在$\displaystlye{}$
這個結構裏面做到這一點,其目的是用文本內聯數學運算。無論如何,這不是我曾經做過或可能做的事情。 - 我嘗試使用Perl的建議,但雖然殼沒有提出異議,文件保持不受影響。我試過使用sed建議,但是shell反對'(''。'我以前從來沒有用過sed(和「man sed」是鈍的),但這裏是我所做的:導航到含.tex文件裏和一個目錄下鍵入「
sed s/\$\\displaystyle({[^}]+})\$/\\mymath\1/g *.tex
」沒有運氣如何使用SED做我想做什麼
同樣,許多許多感謝所有提供幫助
我認爲你可以明確一個限制,讓每個人的工作變得更簡單:數學部分內部不會有$,因爲這將表明LaTeX中數學模式的結束(更準確地說沒有未轉義的$,即\ $是允許的,但我懷疑你會有太多的數學公式與美元符號)。 – Aniko 2010-01-27 15:41:59
你是對的。數學模式沒有$(對我來說,無論如何)。 – 2010-01-27 16:00:33
不是直接編輯文件,而只是爲了看看結果是什麼,你可以使用perl -pe而不是perl -pi -e。確保沒有錯字。 – bertolami 2010-01-28 08:09:52