分析

分析

首先我要澄清一下,我是 LaTeX 初学者,所以我会详细说明,因为我不知道问题的根源。我使用的是 TeXstudio 2.12.6

我将提供背景信息:我一直在研究如何在数学模式中直接书写希腊字符,并在编译时识别它们。也就是说,我想要

α = xy^2 + β

被公认为

\alpha = xy^2 + \beta

我终于明白了如何实现它:使用希腊语键盘在数学模式中输入希腊字母,仅使用那里指示的序言(它在接受的答案中):

\documentclass[a4paper,10pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[greek,spanish]{babel}
\usepackage{amsmath,amssymb,dsfont,alphabeta}

\usepackage[LGR,T1]{fontenc}

虽然答案中给出的原始答案和我在这里给出的答案有一些差异:

  1. babel 包标志最初是[english, greek],而我的这里是[greek,spanish]:标志中的顺序很重要,这样西班牙语就是我代码中的主要语言(正如我希望的那样)。
  2. {amsmath,amssymb,dsfont}也在用。
  3. 我使用报告而不是文章。

现在我的问题:最近我发现在数学模式下使用命令时不需要使用括号来封装参数。换句话说,TeXstudio\binom a b确实完全识别为\binom{a}{b}。但是,当我在没有括号的参数中使用希腊字母时,它不会编译并弹出这两个错误:

包 inputenc 错误:Unicode 字符 �\endgroup (U+3CE)(inputenc) 未设置为用于 LaTeX。\binom α

包 inputenc 错误:在输入编码“utf8”中,使用的键盘字符未定义(inputenc)。 \binom α

\binom α b在数学模式下书写时。

overbrace β另一个例子:在书写时而不是overbrace{β}在数学模式下也会发生类似的事情。(在这两种情况下,overbrace{β}都会binom{α}{b}起作用)。

请帮忙。提前谢谢您。

答案1

你根本无法得到你想要的东西。你必须考虑到它\binom需要两个参数,如果后面没有括号,第一个参数将是下一个标记;第二个参数也是如此。

分析

当你输入时\binom α b,TeX 实际上看到

\binom <CE><B1> b

所以它所做的和它发现的一样

\binom{<CE>}{<B1>} b

其中<CE><B1>表示具有指定十六进制代码的字符。请记住,TeX 并不真正了解 Unicode 和 UTF-8。

该字符α在 UTF-8 中用两个字节表示(我上面展示的就是这两个字节)。inputenc包将其转换<CE>为活动字符,其操作是检查下一个字节并采取适当的操作,在本例中,紧接着将<B1>两个字节更改为\alphaalphabeta重新定义的字节,以给出

\TextOrMath{\textalpha}{\mathalpha}

因此,如果出现在数学模式中,您最终会发现与在传统设置中α键入的内容相同。\alpha

但重要的事实是<CE> 必须后面跟着另一个字节,以便它们的组合指向正确的定义。如果您有 ,则不会发生这种情况\binom α b

结论

总是在这种情况下,请输入括号。输入\binom n k更清晰的 ,而不是 ,则不会有任何好处\binom{n}{k}

如果你尝试$X_\notin$,你也会学会打字$X_{1}。一个好的编辑器会帮你做到这一点。

附录:整个故事

其实整个事情要复杂一些,即使上面的解释也基本正确。如果你想知道整个故事,就在这里。

经过扩展\binom,输入\binom α b变为

\genfrac (){0pt}{}<CE><B1> b

并且\genfrac是一个四参数宏,它依次调用\@genfrac,输入变为

\@genfrac\relax\@@abovewithdelims{(){0pt}} <CE><B1> b

最后,由于\@genfrac是一个有五个参数的宏,因此

{\relax{\begingroup <CE>\endgroup\@@abovewithdelims()0pt <B1>}} b

正如您所看到的,<CE>后面跟着\endgroup,实际上,错误消息是

! Package inputenc Error: Unicode char ?\endgroup (U+3CE)
(inputenc)                not set up for use with LaTeX.

(问号代表前缀<CE>)。在遇到其他错误后,你会得到与 相同的结果\binom{}{b},但b出现在正确位置的原因只是 TeX 尝试对缺失部分\endgroup(在扩展 的过程中已被吸收和丢弃<CE>)进行错误恢复。

相关内容