我正在尝试粘贴 Unicode 多音调希腊语文本,其中单个字符上有多个重音。正如一个字符上有多个变音符号,使用 LaTeX 在一个字符上创建多个变音符号是完全可行的,但我的问题略有不同:有没有办法,也许使用 Lua,粘贴预先组合的多音调希腊语,并产生正确的输出?(另一种方法是手动用两个重音符号重新组合每个字形,这很烦人)我正在使用从 Adobe 购买的 Arno,它应该能够输出多音调希腊语,但是失败了。
梅威瑟:
\documentclass{standalone}
\usepackage{fontspec}
\setmainfont{Arno Pro}
\begin{document}
ἐπῐ́λογος
\end{document}
答案1
事实证明,使用从这个答案中提取的代码相对容易(LuaLaTeX 中的条件字符串替换);只需要一点点 LuaCode 就可以让它正常工作:
\documentclass{standalone}
\DeclareRobustCommand{\combinedaccent}[2]{%
\leavevmode\vbox{\offinterlineskip
\ialign{\hfil##\hfil\cr
\char#1\relax\cr
\noalign{\vskip -1.3ex}
\noalign{\vskip 0.1ex}
#2\cr
}%
}%
}
\DeclareRobustCommand{\iotafix}{\combinedaccent{180}{ῐ}} % oxys
\usepackage{luacode} % for '\luaexec' and '\luastringN' macros
\luaexec{ % set up Lua function called 'fhg_sub':
function iota_sub ( s )
s = s:gsub ( "ῐ́" , "{\\iotafix}")
return s
end
}
\newcommand\iotaOn{\directlua{luatexbase.add_to_callback(
"process_input_buffer", iota_sub, "iota_sub" )}}
\usepackage{fontspec}
\setmainfont{Arno Pro}
\begin{document}\iotaOn
ἐπῐ́λογος
\end{document}