我发现 InDesign 中一个很有用的工具是 Grep 样式。有了它们,可以为与 grep 模式匹配的任何表达式定义字符样式(例如,小写粗体)。
我知道这很容易静态地在大多数现代文本编辑器的帮助下执行此操作 - 即搜索正则表达式模式并用所需代码(例如{\bfseries\scshape. . .}
或其他)替换所有匹配项。
但这能做到吗动态地在 LaTeX 中?
例如,我想告诉 LaTeX 如下内容:
\newregexstyle{^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$}{\bfseries\scshape}
这样所有匹配的表达式(在本例中为语法有效的电子邮件地址)都以所需的方式动态格式化。(是的,我知道 - 这里的字符、%
等可能会有问题。但这只是一个例子。语法应该符合的规则。)@
$
l3regex
动态地整理这些内容的好处是:(1) 编码后的文本看起来更干净(也更容易编辑);(2) 在编写文本时,我不必关心这些表达式的样式;(3) 我可以随时轻松更改(甚至删除)格式,而无需进行大量编辑。(我在这里想到的是包含许多命令的复杂文档\include
。\input
)