字母 i 上的短长音符号

字母 i 上的短长音符号

我正在尝试用 Hindi 排版歌词,其中我想要在“a”和“i”上加一个横线。我发现\={}\macron{}都可以在“a”上产生一个不错的横线,但是“i”(没有点)上的横线对我来说太长了,因为当“i”跟在“a”后面时,横线看起来是连在一起的,例如S\={a}\={\i} S\macron{a}\macron{\i}

在此处输入图片描述

有没有什么办法可以让“i”上的横线变短一些?

答案1

\vbox{\halign{}}对于这种特殊情况,您可以使用构造:

\def\macroni{\leavevmode\vbox{\offinterlineskip\ialign{\hfil##\hfil\cr 
   \vrule height.03em width.25em\cr\noalign{\kern.13em}\i\cr}}}
\let\macronori=\=
\def\=#1{\ifx\i#1\macroni\else\macronori{#1}\fi}

S\=a\={\i} 

答案2

与其缩短长音符的长度,我更愿意考虑在长音符前插入一个非常细的“字距”(不可丢弃的空格) 。在下面的例子中,我选择了 0.5pt 的字距;您可以随意调整字距的宽度以满足您的需要。请注意,只有在 前面有另一个带有长音符的字符\={\i}时才需要字距。\={\i}

在此处输入图片描述

\documentclass{article} 
\newcommand\imacron{\kern0.5pt\={\i}}
\begin{document}
S\={a}\imacron\ vs.\ S\={a}\={\i}
\end{document}

相关内容