当使用 relsize 进行多种语言时,fancyhdr 标题中的文本会向上或向下移动

当使用 relsize 进行多种语言时,fancyhdr 标题中的文本会向上或向下移动

我正在使用 LuaLaTeX 排版印地语-英语词典。我为印地语使用的梵文字体需要缩放以匹配梵文脚本中正常字形的高度和罗马字母中正常字形的高度。为此,每次有梵文时我都会使用 relscale(一定有更简单的方法,但由于 LaTeX 代码是编程生成的,所以这不是问题)。

对于显示页面上第一个和最后一个单词的字典标题,我使用了fancyhdr带有的包\markboth

在普通文本中,天城体字体的缩放效果很好,并且字形的基线与均匀的行距对齐。

然而,在页眉中,有一个问题。如果梵文有一个字形低于或高于基线,那么整个页眉文本(包括罗马字)就会向上或向下移动。

在这个 MWE 中,在第一页和第二页上,梵文和罗马文的页眉文本的基线在页面中处于相同高度。在第二页和第三页上,存在差异。第三页上的整个页眉基线向下移动。不知何故缩放导致了这个问题。

如何修复此问题?

示例图像

\documentclass[twoside]{book}
\usepackage[showframe=true,top=22mm, left=18.15mm, bottom=27.25mm, right=18.15mm, paperwidth=129mm, paperheight=198mm]{geometry}
\usepackage[main=english]{babel}
\usepackage{fontspec}
\babelfont[english]{rm}{Charis SIL}
\babelfont[hindi]{rm}[Renderer=HarfBuzz,Script=Devanagari]{Noto Serif Devanagari}
\usepackage{fancyhdr}   
\pagestyle{fancy}
\usepackage{ragged2e}
\raggedbottom
\usepackage{relsize}
\begin{document}
\fancyhead[C]{\mdseries Hindi-English Dictionary}
\fancyhead[L]{\rightmark}
\fancyhead[R]{\leftmark}
\fancyfoot[C]{{\mdseries\thepage}}
\fontsize{10}{15}\selectfont

Some text

\pagebreak

{\leavevmode\markboth{\foreignlanguage{hindi}{\relscale{1.1}अग}}{\foreignlanguage{hindi}{\relscale{1.1}अग}}}\textbf{\foreignlanguage{hindi}{\relscale{1.1}अग} (aga)} = a mountain

{\leavevmode\markboth{\foreignlanguage{hindi}{\relscale{1.1}अग्रज}}{\foreignlanguage{hindi}{\relscale{1.1}अग्रज}}}\textbf{\foreignlanguage{hindi}{\relscale{1.1}अग्रज} (agraja)} = elder brother

\pagebreak

{\leavevmode\markboth{\foreignlanguage{hindi}{\relscale{1.1}अघ}}{\foreignlanguage{hindi}{\relscale{1.1}अघ}}}\textbf{\foreignlanguage{hindi}{\relscale{1.1}अघ} (agha)} = sin

{\leavevmode\markboth{\foreignlanguage{hindi}{\relscale{1.1}अघोर}}{\foreignlanguage{hindi}{\relscale{1.1}अघोर}}}\textbf{\foreignlanguage{hindi}{\relscale{1.1}अघोर} (aghora)} = not frightening, Śiva
\end{document}

相关内容