我浪费了好几个小时试图定义一个新的环境,以便以简化的方式编写逻辑公式(用于语言学),但无济于事。目标是拥有一个数学(实际上是boldmath)环境,它会自动设置 \textbf{} 中的两个或多个字母(不是一般的字符)的序列(因为字距调整更好),但其他所有内容,包括括号、命令,特别是常规数学字体中的单个字母变量,都会自动设置。
例如:输入:
\begin{mylogicenvironment}
\lambda x_2.\exists y[ man(x) \& know(\langle x_2,x\rangle)]
\end{mylogicenvironment}
输出相当于:
\boldmath $\lambda x_2.\exists y[ \textbf{man}(x) \& \textbf{know}(\langle x_2, x\rangle\)]$
如果我可以定义快捷方式,例如可以写 E 表示\exists
, L 表示\lambda
等,那就更好了。如果 []、()、<> 可以自动转换为\left( \right)
等,那就更好了,
输入:
\begin{mylogicenvironment}
Lx_2.Ey[ man(x) \& know(<x_2,x>)]
\end{mylogicenvironment}
输出相当于:
\boldmath $\lambda x_2.\exists y\left[ \textbf{man}(x) \& \textbf{know}\left(\left\langle x_2, \right\rangle\)\right]$
(我知道如何单独获得奖励部分,只是好奇如何将它们与其他东西结合起来。)我特别好奇没有正则表达式的解决方案。