![我该如何安排才能在我的 LaTeX 源中直接使用希腊字符?](https://linux22.com/image/471189/%E6%88%91%E8%AF%A5%E5%A6%82%E4%BD%95%E5%AE%89%E6%8E%92%E6%89%8D%E8%83%BD%E5%9C%A8%E6%88%91%E7%9A%84%20LaTeX%20%E6%BA%90%E4%B8%AD%E7%9B%B4%E6%8E%A5%E4%BD%BF%E7%94%A8%E5%B8%8C%E8%85%8A%E5%AD%97%E7%AC%A6%EF%BC%9F.png)
自 20 世纪 80 年代以来,对非 ASCII 字符的支持已经取得了长足的进步,今天,作为计算设备的用户,我们已经习惯于通过不同的键盘布局插入任意 Unicode 字符,并合理地识别和呈现它们。
我可以使用 XeLaTeX 来做到这一点吗?
天真地,如果我只写:
\documentclass{minimal}
\begin{document}
A greek letter: φ ... do you see it?
A greek letter in math mode: $φ$ ... do you see it?
\end{document}
并将其传递给 XeLaTeX(版本 3.141592653-2.6-0.999995,TeX Live 2023)——两个 φ 字符均未呈现任何内容:
...我得到:
Missing character: There is no φ (U+03C6) in font [lmroman10-regular]:mapping=t
ex-text;!
注意:我宁愿避免明确设置字体,但如果这是实现我想要的唯一方法 - 请建议设置,以尽可能接近默认字体(Computer Modern,对吗?)和数学模式下的$\phi$。
答案1
由于您已经在使用 Unicode 感知引擎,因此您可以使用fontspec
和unicode-math
选择包含这些符号的文本和数学字体。
例如:
% !TeX TS-program = lualatex
\documentclass{article}
\usepackage{fontspec}
\setmainfont{CMU Serif Roman}
\usepackage{unicode-math}
\setmathfont{LatinModernMath-Regular}
\begin{document}
A greek letter: φ ... do you see it?
A greek letter in math mode: $φ$ ... do you see it?
\end{document}
要找出哪些文本字体包含φ
,您可以使用命令行工具 albatross:albatross φ