使用 Arno 在 LaTeX 中实现多音调希腊语:一个字母上有多个变音符号

使用 Arno 在 LaTeX 中实现多音调希腊语:一个字母上有多个变音符号

我正在尝试粘贴 Unicode 多音调希腊语文本,其中单个字符上有多个重音。正如一个字符上有多个变音符号,使用 LaTeX 在一个字符上创建多个变音符号是完全可行的,但我的问题略有不同:有没有办法,也许使用 Lua,粘贴预先组合的多音调希腊语,并产生正确的输出?(另一种方法是手动用两个重音符号重新组合每个字形,这很烦人)我正在使用从 Adob​​e 购买的 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}

创造美丽: 结语

相关内容