如何在数学模式中定义符号 ¡ 以使其按预期运行

如何在数学模式中定义符号 ¡ 以使其按预期运行

好的,我知道文本符号 ¡ 可以写成

!`

但我需要 ¡ 作为数学符号。如果我写

\text{!`} 

或者

\mbox{!`} 

那么在定理和文本(而非数学)为斜体的地方,该符号将变为斜体。我应该如何定义符号 ¡ 以便它在数学模式下表现为 !?

答案1

我用

{\scriptstyle \text{\rm !`}}

一般提示:在 arXiv 上找到做过你想做的事情的人并下载源文件:)

答案2

正确定义一个 mathchar 作为反向感叹号;例如

\DeclareMathSymbol{\revexcl}{\mathclose}{operators}{'074}

并使用

$n\revexcl$

这也会改变上标和下标的大小。

如果您希望能够输入!`,可以使用一些技巧。

\documentclass{article}

\DeclareMathSymbol{\revexcl}{\mathclose}{operators}{'074}
\DeclareMathSymbol{\excl}{\mathclose}{operators}{'041}
\makeatletter
\begingroup\lccode`~=`! \lowercase{\endgroup
  \def~}{\@ifnextchar`{\revexcl\@gobble}{\excl}}
\mathcode`!="8000
\makeatother

\begin{document}

$n!$

$n!`$

$A_{n!}$

$A_{n!`}$

\end{document}

在此处输入图片描述

相关内容