XeTeX \left 和 \right 问题

XeTeX \left 和 \right 问题

当我尝试将and 符号(Unicode 编码:27E8 和 27E9)与and命令组合时,我遇到了问题,它们代替了\langleand 。以下示例出现错误,但如果我用某个公式或某个公式更改某些公式,它就会起作用。更有趣的是,如果我用(Unicode 编码:2016)进行更改,以下示例也会起作用。\rangle\left\right\left〈\right〉\left\langle\right\rangle\left(\right)〈〉

\documentclass{book}
\usepackage{amsmath}
\usepackage{xltxtra}
\usepackage{unicode-math}

\unimathsetup{math-style=ISO}
\setmathfont{lmmath-regular.otf}

\begin{document}
 bla bla bla bla
 blabla blaaa
    \[
       \left‹ \dfrac{\frac{x+2}{y}+\frac{3}{4}}{x^2+y^2-5} \right›
    \]
bla bla bla bla
\end{document}

我已经定义了命令\〈\〉就像这样

\newcommand\〈{\langle}
\newcommand\〉{\rangle}

但我认为这些符号应该以同样的方式与 和 一起工作,就像\left、和一样。我使用 Kile 作为前端,并在 x64 机器(Kubuntu 操作系统)上手动安装 TeXLive 2011 。\right|{[

因为我无法回答我的问题(现在),所以我会在这里写一些内容,很抱歉发了这么长的帖子。

似乎 XeTeX (或 XeLaTeX,我是新手,抱歉我的无知) 对\left< some formula \right>(其中< >常见的 less 和 greater) 和 产生相同的输出,但对和\left\langle some formula \right\rangle产生完全不同的输出。这是一个例子。< some formula >\langle some formula \rangle

\documentclass{book}
\usepackage{amsmath}
\usepackage{xltxtra}
\usepackage{unicode-math}
 \XeTeXdelcodenum`‹=\XeTeXdelcodenum`<
 \XeTeXdelcodenum`›=\XeTeXdelcodenum`>
\unimathsetup{math-style=ISO}
\setmathfont{lmmath-regular.otf}

\begin{document}
bla bla bla bla
 blabla blaaa
 \begin{gather}
\left< \dfrac{\frac{x+2}{y}+\frac{3}{4}}{x^2+y^2-5} \right>\\
\left\langle \dfrac{\frac{x+2}{y}+\frac{3}{4}}{x^2+y^2-5} \right\rangle\\
\langle ϕ(x-k),Ψ(x)\rangle\\
<ϕ(x-k),Ψ(x)>\\
‹ϕ(x-k),Ψ(x)›\\
\left\langle ϕ(x-k),Ψ(x) \right \rangle\\
\left< ϕ(x-k),Ψ(x) \right>
\end{gather}
bla bla bla bla $<  ‹$
\end{document}

关于 〈〉,我将放弃使用它们,首先它们不能产生理想的输出(尽管在 unimath-symbols 文档中它们用\langle, \rangleMacros 表示),而且它们很麻烦。

我现在的问题是,为什么〈〉 的行为不像文档中的宏命令。

答案1

显然unicode 数学没有为and分配分隔符代码(我认为应该分配)。加载后添加以下魔法代码unicode 数学

\XeTeXdelcodenum`〈=\XeTeXdelcodenum`<
\XeTeXdelcodenum`〉=\XeTeXdelcodenum`>

现在\left〈\right〉可以工作。

必须注意使用的字符。例如,以下是不同的

‹〈
› 〉

第一行有 U+2039(单左尖角引号)和 U+3008(左尖括号);第二行有 U+203A(单右尖角引号)和 U+3009(右尖括号)。只有 U+3008 和 U+3009。

在您的示例中,您混淆了这两者。但是,也可以将 U+2039 和 U+203A 用于尖括号:

\documentclass{book}
\usepackage{amsmath}
\usepackage{unicode-math}
\unimathsetup{math-style=ISO}
\setmathfont{lmmath-regular.otf}

\XeTeXmathcodenum`‹=\XeTeXmathcodenum`〈 % make U+2039 the same as U+3008
\XeTeXmathcodenum`›=\XeTeXmathcodenum`〉 % make U+203A the same as U+3009
\XeTeXdelcodenum`〈=\XeTeXdelcodenum`<   % use U+3008 after \left or \right
\XeTeXdelcodenum`〉=\XeTeXdelcodenum`>   % use U+3009 after \left or \right
\XeTeXdelcodenum`‹=\XeTeXdelcodenum`<   % use U+2039 after \left or \right
\XeTeXdelcodenum`›=\XeTeXdelcodenum`>   % use U+203A after \left or \right

\begin{document}
bla bla bla bla
 blabla blaaa
 \begin{gather}
\left〈\dfrac{\frac{x+2}{y}+\frac{3}{4}}{x^2+y^2-5} \right 〉\\
\left‹\dfrac{\frac{x+2}{y}+\frac{3}{4}}{x^2+y^2-5} \right ›\\
\left\langle \dfrac{\frac{x+2}{y}+\frac{3}{4}}{x^2+y^2-5}\right\rangle\\
\left< \dfrac{\frac{x+2}{y}+\frac{3}{4}}{x^2+y^2-5}\right>\\
〈a〉\\
‹a›
\end{gather}
bla bla bla bla $< 〈 ‹$
\end{document}

相关内容