我正在使用 XeLaTeX(没有 teubner 包...)进行排版,我需要在同一个字母上使用长、短和重音的变音符号。我尝试了以下方法,但紧跟在 (α) 后面的字符在 pdf 中消失了...我该如何解决这个问题?谢谢。
呈现方式:
两个变音符号下应该有 α,而不是 ρ......
我的代码:
% !TeX encoding = UTF-8
% !TeX TS-program = xelatex
% !TeX spellcheck = it_IT
% !TeX root = Prosodia.tex
% !BIB TS-program = biber
\documentclass[a4paper,12pt]{article}
\usepackage[no-math]{fontspec}
\setmainfont[Ligatures=TeX,Numbers=OldStyle]{Linux Libertine O}
\usepackage{polyglossia}
\setmainlanguage[babelshorthands=true]{italian}
\setotherlanguages{latin,greek,english,german,russian,serbian}
\setkeys{greek}{variant=polytonic}
\begin{document}
ἀκηρ\'\uατου
\end{document}
答案1
正确的语法应该是ἀκηρ\'{\u{α}}του
。但是,使用 Linux Libertine 我们得到
所以组合锐角符号的位置不正确。使用其他字体可能会更好。我尝试了 Old Standard,结果
您可能想要为这种特定的字体定义一个专门的重音制作命令。
\documentclass[a4paper,12pt]{article}
\usepackage[no-math]{fontspec}
\usepackage{polyglossia}
\setmainfont{Linux Libertine O}[Ligatures=TeX,Numbers=OldStyle]
\newfontfamily{\greekfont}{Old Standard}
\setmainlanguage[babelshorthands=true]{italian}
\setotherlanguages{latin,greek,english,german,russian,serbian}
\setkeys{greek}{variant=polytonic}
\newrobustcmd{\ba}[1]{% breve-acute
\leavevmode
\vbox{\offinterlineskip
\ialign{%
\hfil##\hfil\cr
\char"00B4\cr
\noalign{\kern-1.3ex}
\u{#1}\cr
}%
}%
}
\begin{document}
\textgreek{ἀκηρ\'{\u{α}}του}
ἀκηρ\ba{α}του
\end{document}
我保留了旧标准版本以供比较。删除您的版本的声明\greekfont
。但是,无论如何,将不同于主要语言的文本限制在其自己的环境中应该是最好的。