[OS X TeX] Find and replace with regular expressions
Matthew Leingang
leingang at math.harvard.edu
Mon Nov 19 14:18:58 CET 2007
On Nov 19, 2007, at 7:20 AM, Alessandro Andretta wrote:
> I would like to replace the $ signs in a LaTeX file with \( and \)
> thus I would have to search for $...$ and replace it with \( ... \)
> where ... is any string of symbols (letters, numbers, \ , {} &,etc)
> EXCEPT $. I tried the help menu of TeXShop, TextMate, Textwrangler,
> but their general treatment seems be a bit too technical for my taste.
> Is there a simple way to archive this with any of the editors above?
Dear Alessandro,
Good question. You need a more advanced search-and-replace
capability that looks at the context, not just the string itself.
This is what regular expressions [1] are for.
TeXShop has regular expression support built in. So you can open up
a find window,
put this in the search box
\$([^$]+)\$
and this in the replace box
\\(\1\\)
make sure you click "Regular Expressions," and go.
What that says is "look for any string that starts with a $, ends
with a $, and has a string of at least one character, not including a
$, in between. Save what's in between." The replace string says "\
(, then what was saved before, then \)." The extra slashes are there
because $ and \ have special meaning in regexps. So the expression
matches $A=a$, there's a match, and "A=a" is saved.
This will wreck your displayed math, though. An expression $$A=a$$
will become $\(A=a\)$. So if you have displayed math, do a regexp
search and replace of
\$\$([^$]+)\$\$ with \\[\1\\] FIRST, or else you have to write a more
complicated regexp to exclude displayed math.
I don't think this will get everything. It may not get math
expressions that span more than one line. And if you use literal
dollar signs in the text, if might replace everything BETWEEN your
math expressions! But it's a good start. You can either write more
regexps or hack away at the remaining ones each by each.
I would tread lightly here, especially if you're new to regexps. You
can destroy large parts of your file at once. Backup a lot if the
file is big.
HTH,
Matt
[1] http://en.wikipedia.org/wiki/Regular_expression
--
Matthew Leingang
Preceptor in Mathematics
Harvard University
http://www.math.harvard.edu/~leingang/vCard.vcf
More information about the macostex-archives
mailing list