为什么这么多符号被限制在数学模式中?

为什么这么多符号被限制在数学模式中?

初学者常犯的一个错误是忘记需要数学模式的符号周围的\(...\)/ 。$...$

为什么 (La)TeX 不让人们默认在文本模式下使用孤立符号?

我确信至少有历史原因,但一个善于分析问题的学习者会对一个解释感到疑惑(在入门文献中找不到)。

答案1

不允许在普通文本中使用真正的原因\theta与 TeX 处理字体的方式有关。

TeX 字体只有 256 个插槽,而数学符号则更多。该命令\theta本质上是一个四位十六进制数:

0x0112

它包含大量信息:最左边的数字是 0,告诉 TeX 这是一个普通符号;下一个数字告诉 TeX 应该从哪种字体绘制字符,最后两位数字告诉符号位于字体中的哪个位置(位置0x12=18)。最多可以使用 16 种字体来表示数学符号,它们不一定与文本字体绑定(实际上字体编号 0 应该是文本字体,但它是个例外)。

TeX可能已经被设计成一个表示数学符号的命令可以自动完成选择,但在大多数情况下其效果是不利的。

还应该记住,数学有自己的间距规则,TeX 会自动应用这些规则。让人们在普通文本中写数学符号很快就会导致排版不佳。

答案2

是的,但你需要知道自己在做什么。符号在不同用户和学科之间有所不同,因此排版由用户决定,而不是 (La)TeX。如果你想在文本和数学模式下方便地使用某些命令,你必须提供自己的规则。一个基本的例子:

在此处输入图片描述

\documentclass{article}
\let\oldtheta\theta
\renewcommand{\theta}{\ensuremath{\oldtheta}}
\begin{document}
Here is \theta\ (in text) and $\theta$ (in math).
\end{document}​

答案3

假设您只能在文本中使用 \times(我的意思是,就像在 中一样7×8=7\times 8=56),并且 \times 会自动切换到数学模式(启用适当的间距并忽略空格)。您将如何(以及何时)退出数学模式?

(更正)您可以使用 Unicode 编码(通过\usepackage[utf8]{inputenc}\usepackage[utf8x]{inputenc})输入大量特殊字符(实际上,我输入的 × 字符就是\times这样的字符,它适用于 utf8x,但不适用于 utf8)。使用另一个包(textalpha),您甚至可以在源文本中输入 θ 并获得(more or tess)预期结果。

相关内容