如何将上标对齐在一行中,而不考虑基本字符的高度(梵文)?

如何将上标对齐在一行中,而不考虑基本字符的高度(梵文)?

我请求帮助撰写梵文文本,并回答说这里之后,我就能撰写多页梵文文本,其中的数字以类似上标的形式出现在基本字符之上。

梵文中每个字符的高度与英语类似,并不相同。例如 'भ' 和 'ति' 会占据不同的高度,类似于英语字符 'e' 和 'f'。

这会影响上面字符的对齐方式。

例如,当前行呈现如下:

\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{polyglossia}
\usepackage{xargs}
\usepackage[legalpaper, landscape, margin=0.8in,right=1.5in]{geometry}
\usepackage{multicol}
\setdefaultlanguage{hindi}
\newfontfamily{\hindifont}[script=Devanagari]{Lohit Devanagari}

\newcommand{\hi}[1]{\large\begin{hindifont}#1\end{hindifont}}
\newcommandx*{\up}[3]{$\overset{\text{\hi{#2#3}}}{\text{\begin{hindifont}#1\end{hindifont}}}$}

\begin{document}
\Huge
\up{भूः}{5}{0} \up{ति}{3}{}s2345:
\newline
\overset{\lower.5em\hbox{aaa}}{bbb}
\end{document}

在此处输入图片描述

我想通过将 50 移动到与 3 匹配,使上面的 50 和 3 保持对齐。我发现这对梵文来说不是问题,对英文文本也是如此。任何帮助修改我的宏以使 50 保持与 3 相同的高度都会有所帮助。

更新:当我在 HTML 中使用 ruby​​ 文本并撰写类似的行时,我可以看到 50 和 3 对齐,如下所示: 在此处输入图片描述 所以我想知道这是否仍然是一个渲染挑战,或者是否需要使用 Latex 中的其他设置或参数来实现与 HTML 渲染器所示相同的效果。

另一个更新:这关联似乎正在寻求类似的解决方案,但我无法理解如何为我实施解决方案。

最后更新:

在接受的答案的帮助下,以下代码有助于满足需求。

\usepackage{stackengine}
\newcommandx*{\upp}[3]{\Longstack{\footnotesize{#3#2} #1}}

\newline
\Longstack{50 भूः} । \Longstack{3 ति}s2345
\upp{ऒ}{1}{}म् । \upp{भूः}{5}{} । \upp{भूः}{1}{0} । \upp{हॊ}{1}{}इ । \upp{भूः}{0}
{}  । हॊइ । \upp{भूः}{0}{}  । \upp{हा}{2}{}s31उवा\upp{s2}{-}{-} । \upp{ए}{0}{} । 
\upp{सु}{1}{}व\upp{र्ज्यॊ}{0}{}\upp{ति}{3}{}s2\upp{3}{1}{}\upp{4}{1}{}\upp{5}{1}{}: ।।

渲染输出: 在此处输入图片描述

答案1

我想stackengine这就是你想要的。 在此处输入图片描述

\documentclass{article}
\usepackage{stackengine}
\setstackgap{L}{\dimexpr\baselineskip-4pt\relax}

\begin{document}
b
\Longstack{a b}
\Longstack{a e}
e
\end{document}

相关内容