在使用 \MakeUppercase 表示希腊语时如何删除重音符号?

在使用 \MakeUppercase 表示希腊语时如何删除重音符号?

我想知道是否可以不打印使用 \MakeUppercase 命令生成的大写字母中的重音符号。

我正在使用 XeLaTeX 和 fontspec 包,以防万一。

这是一个文档的示例:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Arial}
\begin{document}
    \MakeUppercase{Πλούταρχος}
 \end{document}

这将产生: ΠΛΟΎΤΑΡΧΟΣ代替藝術本身

这是字体问题吗?有没有其他方法可以不打印重音符号?

答案1

至少有两种可能的方法。首先,您可以使用expl3支持希腊语的大小写转换器:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Arial}
\ExplSyntaxOn
\cs_gset:Npn \MakeUppercase #1 { \text_uppercase:nn { el } {#1} }
\ExplSyntaxOff
\begin{document}
    \MakeUppercase{Πλούταρχος}
 \end{document}

其次,该xgreek包可用并调整一些内部数据以获得您想要的映射

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Arial}
\usepackage{xgreek}
\begin{document}
    \MakeUppercase{Πλούταρχος}
 \end{document}

答案2

\uppercase每个字符的原始用途是\lccode创建大写变体。因此,您可以将\uccode所有重音变体设置为其非重音对应项。例如在 OpTeX 中:

\fontfam[newcm]

Πλούταρχος

\uccode`ύ=`Υ
\uppercase{Πλούταρχος} % prints: ΠΛΟΥΤΑΡΧΟΣ

\bye

答案3

只需添加\usepackage[greek]{babel},最好是在 fontspec 包之后,在序言中,就可以解决问题。

相关内容