![矩阵符号:检测参数是否为希腊字母(或命令)](https://linux22.com/image/417414/%E7%9F%A9%E9%98%B5%E7%AC%A6%E5%8F%B7%EF%BC%9A%E6%A3%80%E6%B5%8B%E5%8F%82%E6%95%B0%E6%98%AF%E5%90%A6%E4%B8%BA%E5%B8%8C%E8%85%8A%E5%AD%97%E6%AF%8D%EF%BC%88%E6%88%96%E5%91%BD%E4%BB%A4%EF%BC%89.png)
我正在尝试实现一个矩阵/向量符号,使简单的粗体向量
\newcommand{\vec}[1]{\bm{#1}}
我过去也对矩阵做同样的事情(使用命令\mat
)。但是,我想更改此符号以使用无衬线字体来表示矩阵,如下所示:
\newcommand{\mat}[1]{\bm{\mathsf{#1}}}
但是,由于我的字体没有无衬线希腊字母,因此这对希腊字母不起作用(我认为这是问题所在)。因此,我想检测参数是否是希腊字母(或者,更一般地说,它是否是拉丁字母),因此在简单\bm
和\bm\mathsf
类似之间来回切换,如下所示:
\newcommand{\mat}[1]{\iflatin{#1}{\bm{\mathsf{#1}}}{\bm{#1}}}
我可以退回到只列出所有拉丁字母,但我不知道是否有更好的方法。我也想过类似的事情\@ifnextchar
,但这显然会有所不同。
提前致谢!