帮助定义逻辑环境

帮助定义逻辑环境

我浪费了好几个小时试图定义一个新的环境,以便以简化的方式编写逻辑公式(用于语言学),但无济于事。目标是拥有一个数学(实际上是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]$

(我知道如何单独获得奖励部分,只是好奇如何将它们与其他东西结合起来。)我特别好奇没有正则表达式的解决方案。

相关内容