![在文本模式下排版希腊字母:alphabeta 和 textalpha 之间的区别](https://linux22.com/image/425681/%E5%9C%A8%E6%96%87%E6%9C%AC%E6%A8%A1%E5%BC%8F%E4%B8%8B%E6%8E%92%E7%89%88%E5%B8%8C%E8%85%8A%E5%AD%97%E6%AF%8D%EF%BC%9Aalphabeta%20%E5%92%8C%20textalpha%20%E4%B9%8B%E9%97%B4%E7%9A%84%E5%8C%BA%E5%88%AB.png)
这个问题分为两部分。第一部分是关于alphabeta
、 和之间的区别textalpha
。每个包文档都说它在文本模式下排版希腊字母。
那么,使用其中任何一种是否存在实际差异或优点/缺点?
textalpha
第二部分是如何使以下 MWE 正确生成两个包和设置的所有命令alphabeta
?
\documentclass{article}
\usepackage[no-math]{fontspec}
\setmainfont[Ligatures={NoCommon, NoRare}]{Latin Modern Roman}
\usepackage{mathtools}
\usepackage[bold-style=TeX]{unicode-math}
\setmathfont[math-style=ISO]{Latin Modern Math}
\usepackage{alphabeta}
\begin{document}
\section*{alphabeta}
\subsection*{small}
\alpha \beta \gamma
\subsection*{capital}
\Alpha \Beta \Gamma
\section*{textalpha}
\subsection*{small}
\textalpha \textbeta \textgamma
\subsection*{capital}
\textAlpha \textBeta \textGamma
\end{document}
答案1
为了使用 XeLaTeX 或 LuaLaTeX,您需要一种完全覆盖希腊语的主字体,而 Latin Modern 则没有。
然而,该计划也alphabeta
存在一些缺陷。以下是其中的一段摘录:
\AtBeginDocument{%
\let\mathGamma\Gamma
\let\mathDelta\Delta
[...]
\providecommand*{\Alpha}{\textAlpha}
\providecommand*{\Beta}{\textBeta}
[...]
}
有什么问题?包确实如此\providecommand
,而且由于在执行指令时,\Alpha
已经被定义unicode-math
,所以\providecommand
什么也不做。
你应该真的使用\text<letter>
,或者当然是实际的字母。
不过,我更喜欢textalpha
。
\documentclass{article}
\usepackage[no-math]{fontspec}
\usepackage{mathtools}
\usepackage[bold-style=TeX]{unicode-math}
\setmathfont[math-style=ISO]{Latin Modern Math}
\usepackage{newcomputermodern} % this has Greek
\usepackage{alphabeta}
\begin{document}
αβγ
\textalpha \textbeta \textgamma
ΑΒΓ
\textAlpha \textBeta \textGamma
\end{document}