私はサンスクリット語のテキストを作成するための支援を依頼し、その回答はここ、私はサンスクリット語のテキストを、基本文字の上に上付き文字のように数字を載せて何ページにもわたって作成することができました。
サンスクリット語では、英語と同様に各文字の高さは同じではありません。たとえば、「भ」と「ति」は、英語の文字「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 でルビテキストを使用して同様の行を作成すると、50 と 3 が以下のように揃っていることがわかりました。 したがって、これは依然としてレンダリングの課題となるのか、それとも HTML レンダラーで表示されるものと同じものを実現するために Latex の他の設定またはパラメーターを使用する必要があるのか疑問に思っています。
もう一つの更新: これはリンク同様の解決策を探しているようですが、私にとって解決策としてどのように実装すればよいのか理解できませんでした。
最終更新:
受け入れられた回答の助けを借りて、次のコードがニーズに到達するのに役立ちました。
\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}{}: ।।