文本、数学和列表的统一 Unicode?

文本、数学和列表的统一 Unicode?

我应该在序言中放入什么内容(最好是包)才能使其 unicode 字符按预期工作?

\documentclass{article}
\usepackage{listings}
\begin{document}
  $α$ α
  \begin{lstlisting}
     α = 1.;
  \end{lstlisting}
\end{document}

请注意,alpha (α) 出现在三种上下文中:文本、数学和代码(列表)。

lualatex(如果它能简化事情我就可以使用它)


为了应对更高的挑战,我引入了第二个难度级别,即引入第二种 alpha(

答案1

对于listings问题的一部分,您需要类似以下内容(改编@morbusg 指出的问题的答案)。这在 中有效xelatex。我同意@morbusg 的观点,棘手的部分是找到包含您的字形的字体,尤其是打字机和数学字体。

\documentclass{article}
\usepackage{fontspec}
\setmainfont{FreeSerif}
\usepackage{listings}
\lstset{inputencoding=utf8,extendedchars=true}
\makeatletter
\lst@InputCatcodes
\def\lst@DefEC{%
 \lst@CCECUse \lst@ProcessLetter
  ^^^^03b1% α
  ^^^^^^01d6fc% 

答案2

您可以使用用于以下用途的软件包, 但不幸的是不适用于因此,本网站建议使用类似反而。 (列表采用 UTF8'listings' 包和 UTF-8列表和 UTF-8 存在问题。可以修复吗?verbments(列表替代)和 UTF-8列表中支持 UTF-8(BMP 字符集)。等等等等)

然而在其他方面:

\documentclass{article}
\usepackage{fontspec,unicode-math}
\setmainfont{Cambria}
\setmathfont{Cambria Math}
\setmonofont{Consolas}
\begin{document}
$\alpha$, $α$, $

相关内容