Hi Aditya, now I need to apologize for being so slow to reply: thanks a lot, this looks really fascinating! I don't know how many things I've read on the web to understand if regexps can handle nested delimiters or not (I think the long and short of it was that on some mathematical principle it just isn't possible); there is some pretty obscure perl stuff that might be able to do it but is highly experimental. If gema really can do this, it should be a godsend for processing TeX files. I have it installed now on my OS X box (but couldn't build the gel binary) and am looking forward to experimenting with it. All best, and thanks! Thomas On Feb 6, 2008, at 8:01 AM, Aditya Mahajan wrote:
Nested patterns is something where gema really excels. Here is a gema script to convert \footnote{{something}} to \footnote{something}
:\\footnote\W\{\{<matchbrace>\}\}=\\footnote\{$1\} matchbrace:\{#\}=\{#\} matchbrace:\\<Y1>=\\$1
Save it as footnote.gema and then run
gema -f footnote.gema tex-file > output-file
It handles these expressions correctly:
\footnote{{This $\frac{a}{b^{c+d}}$ is a strange footnote}}
\footnote{{This $\frac{a}{b^{c+d}}$ is a strange footnote with multiple {nested {expressions}}}}
\footnote{{This $\frac{\left[\frac {a}{b}\right\}}{c}$ is a strange footnote}}
It is much easier to write than regular expressions. Unfortunately, gema expressions can be as hard as regular expressions to read.
Aditya