在数学模式下直接使用希腊语 XeLaTeX 而不是 PdfLatex

在数学模式下直接使用希腊语 XeLaTeX 而不是 PdfLatex

这段代码

\documentclass{article}  
\usepackage{alphabeta} 
\usepackage{amsmath}  


\begin{document}

$α+β+γ=\alpha+\beta+\gamma$

\end{document}

只要我使用 pdfLatex 选项,它就可以在 MiKTeX-TeXworks 中完美运行。

但是当我使用 XeLaTeX 选项时,希腊字母会被忽略。

我想使用 XeLaTeX,并且能够在数学模式下直接写希腊字母。

这可能吗?

如果是,我应该如何修改上面的代码?

答案1

在此处输入图片描述

您可以unicode-math与 xelatex 和 lualatex 一起使用,它包括amsmath

\documentclass{article}  

\usepackage{unicode-math}  


\begin{document}

$α+β+γ=\alpha+\beta+\gamma$

\end{document}

答案2

alphabeta让 XeLaTeX 或 LuaLaTeX 完成其工作也不难。

\documentclass{article}
\usepackage{iftex}
\usepackage{amsmath}

\iftutex
\newcommand\DeclareUnicodeCharacter[2]{%
  \begingroup\lccode`~="#1\lowercase{\endgroup\protected\def~}{#2}%
  \catcode"#1=\active
}
\fi
\usepackage{alphabeta} 

\begin{document}

$α+β+γ=\alpha+\beta+\gamma$

\end{document}

在此处输入图片描述

解释:包重新定义\alpha\TextOrMath{\textalpha}{\mathalpha},其中\mathalpha是原始的\alpha。所有其他希腊字母也一样。

之后确实如此

\DeclareUnicodeCharacter{03B1}{\alpha}

以便允许用户α在文本或数学模式下输入字母。 之间的代码\iftutex(使用 XeLaTeX 或 LuaLaTeX 时为 true,否则为 false)使希腊字母α活跃起来并为它们提供定义,这与上面提到的\alpha重新定义完全一样。alphabeta

当然,为了在文本模式下使用希腊字母,您需要一种支持它们的字体。

在此处输入图片描述

如果您打算只使用 XeLaTeX 或 LuaLaTeX,那么您显然可以省略\iftutex\fi

相关内容