数学模式下的文本模式命令/符号

数学模式下的文本模式命令/符号

我对 LaTeX 还很陌生,遇到了一个问题,即某些命令似乎只能在文本模式下使用,而我想在数学模式下也使用它们(例如,在方程式中积分)。

其中一个有问题的命令/符号是倒置的感叹号,用来表示子因子函数。在运行文本中,我可以使用命令\textexclamdown,但这在数学模式下不起作用(据我所知)。

有没有办法将文本模式命令无缝地集成到相当复杂的方程式中?

答案1

你可以定义自己的符号:

\documentclass{article}
\usepackage{amsmath}

\DeclareMathSymbol{\subfactorial}{\mathord}{operators}{"3C}

\begin{document}
\begin{equation}
\begin{aligned}
n!=\sum_k h(n,k) &= \sum_k \binom{n}{k}(n-k)\subfactorial\\
  &=\sum_k\binom{n}{k}k\subfactorial
\end{aligned}
\tag{5.49}
\end{equation}
\end{document}

只要“操作员”字体是 OT1 编码的,此方法就有效。如果是 T1 编码的,则更改为"3C""BD这可能取决于您的字体设置)。

该方程(相同的数字)取自 Graham、Knuth 和 Patashnik 编写的《离散数学》(原文使用欧拉字体,但结果非常相似)。

在此处输入图片描述

答案2

您的问题可以分解为几个易于处理的部分。

  1. 如果将任何文本命令用作\text宏的参数,则可以在数学模式中使用,如\text{\textexclamdown}

  2. 为了使其在数学空间中发挥适当的作用,您应该将其嵌入\mathord宏中,如\mathord{\text{\textexclamdown}}

  3. 因为\mathord{\text{\textexclamdown}}写起来有点麻烦,并且不能很好地表明你想要它表示什么,所以我建议为子阶乘函数编写一个宏,类似于

    \newcommand\subfac{\mathord{\text{\textexclamdown}}}
    

    然后用来\subfac表示子阶乘函数。(这样,如果您决定要修改子阶乘的显示方式,只需修改一次,它的所有实例都会发生变化。)

相关内容