latex 数学模式中的 utf-8 字符

latex 数学模式中的 utf-8 字符

我在 LaTex 的数学模式中使用了 utf-8 字符,如“ğ”或“ı”,但它无法按应有的方式呈现这些字符。在数学模式之外,我没有遇到这个问题。

关于字体和输入编码的序言是:

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

关于如何解决数学模式的这个问题有什么指示吗?

答案1

首先要提醒大家,不建议在数学源代码中使用此类特殊字符,因为它们很难区分。例如,看看ğ( \breve{g}) 和ǧ( \check{g}) 或ı(无点 i U+0131) 和ι( \iota)。

如果你仍然需要它,现在的做法是使用或xetex进行luatex编译和unicode-math打包。在这个例子中,我的数学字体不包含原生字符ğ,所以我还必须用它声明它\newunicodechar

\documentclass{article}

\usepackage{fontspec,unicode-math}
\setmainfont[Mapping=tex-text]{STIXGeneral}
\setmathfont{XITS Math}

\usepackage{newunicodechar}
\newunicodechar{ğ}{\ifmmode\breve{g}\else ğ\fi}

\begin{document}
    Text-mode: ğ,ı and math-mode: $ğ,ı$.
\end{document}

相关内容