CTeX-org / ctex-kit

Macro Packages and Scripts for Chinese TeX users
985 stars 124 forks source link

Ctex宏包似乎与STIX宏包冲突? #726

Open tsiayigong opened 5 hours ago

tsiayigong commented 5 hours ago

如题,当使用ctex宏包并在xelatex引擎下编译时,无法得到正确的数学公式,MWE如下:

\documentclass{article}

\usepackage[scheme=plain,UTF8, fontset=none, zhmap=false]{ctex}

\usepackage{stix}
\usepackage{amsmath}

\begin{document}

\begin{align}
   i\hbar \partial_t \psi(\boldsymbol{r},t) = H\psi(\boldsymbol{r},t) \\
      = \left[-\frac{\hbar^2}{2m}\nabla^2+U(\boldsymbol{r})\right]\psi(\boldsymbol{r},t)
\end{align}

\end{document}

其中,不管是否关闭zhmap,得到的结果都不正确: image 可以看到,此时的中括号的减号都不正确,并且数字也没有变成stix中的字体,但是如果使用pdflatex引擎编译,则能得到正确的结果: image 请问这是否是一个bug呢?

muzimuzhi commented 4 hours ago

ctex 换成 xeCJK + $\left[ \frac12 \right]$ 就能复现问题,$[ a ]$ 不复现。像是长版括号的映射错了。我不了解字体相关……

% !TeX program = xelatex
\documentclass{article}
\usepackage{xeCJK}

\usepackage{amsmath}
\usepackage{stix2}

\begin{document}
\[
  [\frac12] \quad \left[ \frac12 \right]
\]
\end{document}

image

一些尝试(注意力主要在括号是否正确上,没太关注其他字符)

像是 xeCJK 和「ctex + lualatex」的公共部分导致的。