在文本模式和数学模式下以不同的方式定义符号

在文本模式和数学模式下以不同的方式定义符号

我想将其定义\a$\forall$符号,但我希望它$\forall$在文本模式和\mathsmaller{\forall}数学模式下是常规的。有什么简单的方法可以做到这一点吗?我猜用一些 TeX 编程应该很容易,但我从未这样做过!

更正:我错误地陈述了我想要做的事情;漫长的一天,我的大脑很累。我真正想做的是让 $\forall$ 在它是下标时显示得更小。所以我想写这样的句子:“让 $(\K_\fa, \leq_\fa)$ 成为 ... 的 $\fa$-闭包”,并让第一个 \fa 以常规大小显示,但第二个显示使用 \mathsmaller

答案1

您可以使用\ifmmode来检查数学模式:

\documentclass{article}

\usepackage{relsize}

\protected\def\a{%
  \ifmmode%
    \mathsmaller{\forall}
  \else%
    $\forall$
  \fi}

\begin{document}
  in text: \a and in math: $\a$
\end{document}

\ifmmode 似乎在数组环境中无法正常工作为什么要放\protected

相关内容