我有一个关于 LaTeX 中替换的快速问题。起初,我E
在整篇论文中都使用大写字母,现在我真的需要用E
来替换\mathbb{E}
,有人建议我可以使用宏来实现。但我该怎么做呢?
答案1
如果全部必须更改数学模式中的出现次数E
,然后可以使用以下技巧:
\documentclass{article}
\usepackage{amsmath,amssymb}
%%% Change E in math mode to \mathbb{E}
\edef\normalE{\the\mathcode`E}
\begingroup\lccode`~=`E \lowercase{\endgroup
\def~}{\mathbb{\mathchar\normalE}}
\mathcode`E="8000
%%%
\begin{document}
This is `E' in text, but here
it is in math $E$.
\end{document}
不过,我的建议是进行“查找和替换”,E
在必要时用替换\bE
(根据符号的语义使用更好的宏名)并添加
\newcommand{\bE}{\mathbb{E}}
在序言中,这样您以后就可以轻松地改变对符号的最终形式的想法。
答案2
您可以使用 vim 搜索和替换来查找位于 $ 之间的所有 E。例如
%s/$\(.*\)E\(.*\)$/\1\mathbb{E}\2/gc
但我不认为这考虑到 $ 可能位于不同的行上。