我想使用以下内容luacode
(来自这个帖子):
\usepackage{luacode}
\begin{luacode*}
function replace_punc ( buff )
if string.find ( buff , "\\gla" ) then
buff = string.gsub ( buff , " (``)" ,
"\\nogloss{%1} @ " )
buff = string.gsub ( buff, "([:.,;'!?]+)( )" ,
" @ \\nogloss{%1}%2" )
end
return ( buff )
end
luatexbase.add_to_callback ( "process_input_buffer", replace_punc, "replace_punc" )
\end{luacode*}
其目的是实现自动化\nogloss
。
它适用于LuaLaTeX
,但我的整个文档都是用 设置的polyglossia
,这与 不兼容。@alanmunn 提到,如果我使用包LuaLaTeX
,上述代码可以与 一起使用。我尝试过 ,但没有成功。XeLaTeX
luabidi
luabidi
我希望上述代码能够XeLaTex
与以下 MWE 一起工作:
\documentclass{book}
\usepackage{expex}
\usepackage{polyglossia}
\usepackage{fontenc}
\setdefaultlanguage{english}
\setotherlanguage{hebrew}
\newfontfamily\hebrewfont[Script=Hebrew]{FrankRuehl}
\newfontfamily\englishfont{Linux Libertine O}
\lingset{everygla=\Large,glwordalign=center}
\begin{document}
\begin{hebrew}
\begingl
\gla "שלום {קוראים לי} דוד." //
\glb shalom \textenglish{korim li} david//
\glc Hello \textenglish{my name is} David//
\endgl
\begingl
\gla "מה נשמע דוד?" //
\glb ma nishma david //
\glc what \textenglish{is heard} David //
\endgl
\begingl
\gla "יום טוב!" //
\glb yom tov //
\glc day good //
\endgl
\end{hebrew}
\end{document}
答案1
你的问题没什么意义。luacode 只能在 luatex 中工作。绝对不可能让它与 xelatex 一起工作。
\luatexpardir
如果我添加一些代码来获取你的文档,它会用 lualatex 为我编译\luatextextdir
(见https://tex.stackexchange.com/a/273303/2388)。我还必须更改字体。
但是我不知道 bidi 代码与 lualatex 配合得如何,因为我看不懂希伯来语。
\directlua{
tex.enableprimitives("luatex",tex.extraprimitives("omega","luatex"))
}
\documentclass{book}
\usepackage{expex}
\usepackage{polyglossia}
\usepackage{fontenc}
\setdefaultlanguage{english}
\setotherlanguage{hebrew}
\newfontfamily\hebrewfont[Script=Hebrew]{EzraSIL}
\newfontfamily\englishfont{Linux Libertine O}
\lingset{everygla=\Large,glwordalign=center}
\begin{document}
\begin{hebrew}
\begingl
\gla "שלום {קוראים לי} דוד." //
\glb shalom \textenglish{korim li} david//
\glc Hello \textenglish{my name is} David//
\endgl
\begingl
\gla "מה נשמע דוד?" //
\glb ma nishma david //
\glc what \textenglish{is heard} David //
\endgl
\begingl
\gla "יום טוב!" //
\glb yom tov //
\glc day good //
\endgl
\end{hebrew}
\end{document}