如何將上標對齊在一行中,而不管基本字元的高度(梵文)?

如何將上標對齊在一行中,而不管基本字元的高度(梵文)?

我請求幫助撰寫梵文文本並給出答案這裡,我能夠撰寫許多頁梵文文本,其中的數字在基本字符上像上標一樣突出。

梵語中每個字符的高度與英語類似。例如,“भ”和“ति”將佔據不同的高度,類似於英文字元“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}

相關內容