mbox なしで次の単語の前に上付き文字を指定距離だけ配置する

mbox なしで次の単語の前に上付き文字を指定距離だけ配置する

各ページの最初と最後の詩番号を自動的に交互に表示するヘッダー付きのデーヴァナーガリー語聖書テキストを設定しました。これは問題なく動作しています。ただし、テキストを両端揃えにした場合、テキスト本体の各詩番号を次の単語から指定された距離だけ離すように強制することはどうしてもできません。

私が見つけた唯一の解決策は、詩番号とそれに続く単語を mbox に入れることです。ただし、そうすると、ヘッダーに各ページの最初と最後の詩番号が正しく表示されなくなります。

質問です。mbox 以外に、テキスト内の詩番号を次の単語から指定された距離に保ちながら、ヘッダーに正しい詩番号を表示できる方法はありますか? もちろん、ページの最初または最後に各詩番号の mbox を作成しないで、スペースを手動で調整することはできます。これは機能しますが、聖書のテキスト全体を調べてすべてを手動で調整する必要があります。

コードは次のとおりです。

% !TEX TS-program = xelatex
%compiled with Texlive 2017

\TeXXeTstate=1

\documentclass[12pt,openany,final]{memoir} 

\usepackage[a5paper, left=.795in,right=.795in,top=.85in,bottom=.40in]{geometry} 

\usepackage{fontspec}
\usepackage{libertine}
\usepackage{xcolor}
\usepackage{polyglossia}
\setdefaultlanguage{hindi}
\setotherlanguage{english}
\usepackage{lettrine}

\defaultfontfeatures{Scale=MatchLowercase, Mapping=tex-text}
\setmainfont[Script=Devanagari,AutoFakeBold=4,Scale=1]{NotoSansDevanagari}
\setmainfont{Linux Libertine O}
\newfontfamily\devanagarifont{NotoSansDevanagari}
\newfontfamily\chapternumbering[Ligatures=TeX]{Liberation Sans Narrow}

%%% HEADERS & FOOTERS
\makeoddhead{headings}{\rightmark}{}{\thepage}
\makeevenhead{headings}{\thepage}{}{\leftmark}

%remove the marks set by \section.
\addtopsmarks{headings}{}{%
\renewcommand\sectionmark[1]{}
}

%%%%Chapter format
\newcommand{\gChapter}[1]{\lettrine[lines=2,nindent=.5em,findent=0em]{{\chapternumbering\textcolor{black}{#1}}}{}\markboth{\chaplabel\ #1:1}{\chaplabel\ #1:1}\renewcommand{\gnumChapters}{#1}}

%%%%Verse format
\newcommand{\gverse}[1]{{\textsuperscript{#1}\markboth{\chaplabel\ \gnumChapters:#1}{\chaplabel\ \gnumChapters:#1}}}

%%%%%Paragraph formats
\newcommand{\PI}{\par\parindent=3mm}%paragraph indent

\newcommand{\chaplabel}{}
\newcommand{\gnumChapters}{0}

%%% BEGIN DOCUMENT
\begin{document}

\gChapter{1}
\mbox{\gverse{1-2} \!उन} दिनों जब क़ाज़ी क़ौम की राहनुमाई किया करते थे तो इस्राईल में काल पड़ा। यहूदाह के शहर बैत-लहम में एक इफ़्राती आदमी रहता था जिस का नाम इलीमलिक था। काल की वजह से वह अपनी बीवी नओमी और अपने दो बेटों महलोन और किल्योन को ले कर मुल्क-ए-मोआब में जा बसा।
\PI
\mbox{\gverse{3} \!लेकिन} कुछ देर के बाद इलीमलिक फ़ौत हो गया, और नओमी अपने दो बेटों के साथ अकेली रह गई।
\mbox{\gverse{4} \!महलोन} और किल्योन ने मोआब की दो औरतों से शादी कर ली। एक का नाम उर्फा था और दूसरी का रूत। लेकिन तक़रीबन दस साल के बाद
\mbox{\gverse{5} \!दोनों} बेटे भी जाँ-ब-हक़ हो गए। अब नओमी का न शौहर और न बेटे ही रहे थे।
\mbox{\gverse{6-7} \!एक} दिन नओमी को मुल्क-ए-मोआब में ख़बर मिली कि रब अपनी क़ौम पर रहम करके उसे दुबारा अच्छी फ़सलें दे रहा है। तब वह अपने वतन यहूदाह के लिए रवाना हुई। उर्फा और रूत भी साथ चलीं।
\PI
जब वह उस रास्ते पर आ गईं जो यहूदाह तक पहुँचाता है
\mbox{\gverse{8} \!तो} नओमी ने अपनी बहूओं से कहा, “अब अपने माँ-बाप के घर वापस चली जाएँ। रब आप पर उतना रहम करे जितना आप ने मरहूमों और मुझ पर किया है।
\mbox{\gverse{9} \!वह} आप को नए घर और नए शौहर मुहय्या करके सुकून दे।”
\PI
यह कह कर उस ने उन्हें बोसा दिया। दोनों रो पड़ीं
\mbox{\gverse{10}\!और} एतिराज़ किया, “हरगिज़ नहीं, हम आप के साथ आप की क़ौम के पास जाएँगी।”
\mbox{\gverse{11} \!लेकिन} नओमी ने इसरार किया, “बेटियो, बस करें और अपने अपने घर वापस चली जाएँ। अब मेरे साथ जाने का क्या फ़ाइदा? मुझ से तो मज़ीद कोई बेटा पैदा नहीं होगा जो आप का शौहर बन सके।
\mbox{\gverse{12} \!नहीं} बेटियो, वापस चली जाएँ। मैं तो इतनी बूढ़ी हो चुकी हूँ कि दुबारा शादी नहीं कर सकती। और अगर इस की उम्मीद भी होती बल्कि मेरी शादी आज रात को होती और मेरे हाँ बेटे पैदा होते
\mbox{\gverse{13} \!तो} क्या आप उन के बालिग़ हो जाने तक इन्तिज़ार कर सकतीं? क्या आप उस वक़्त तक किसी और से शादी करने से इन्कार करतीं? नहीं, बेटियो। रब ने अपना हाथ मेरे ख़िलाफ़ उठाया है, तो आप इस लानत की ज़द में क्यूँ आएँ?”
\PI
\mbox{\gverse{14}\!तब} उर्फा और रूत दुबारा रो पड़ीं। उर्फा ने अपनी सास को चूम कर अलविदा कहा, लेकिन रूत नओमी के साथ लिपटी रही।
\mbox{\gverse{15}\!नओमी} ने उसे समझाने की कोशिश की, “देखें, उर्फा अपनी क़ौम और अपने देवताओं के पास वापस चली गई है। अब आप भी ऐसा ही करें।”
\PI
\mbox{\gverse{16}\!लेकिन} रूत ने जवाब दिया, “मुझे आप को छोड़ कर वापस जाने पर मज्बूर न कीजिए। जहाँ आप जाएँगी मैं जाऊँगी। जहाँ आप रहेंगी वहाँ मैं भी रहूँगी। आप की क़ौम मेरी क़ौम और आप का ख़ुदा मेरा ख़ुदा है।
\mbox{\gverse{17} \!जहाँ} आप मरेंगी वहीं मैं मरूँगी और वहीं दफ़न हो जाऊँगी। सिर्फ़ मौत ही मुझे आप से अलग कर सकती है। अगर मेरा यह वादा पूरा न हो तो अल्लाह मुझे सख़्त सज़ा दे!”
\PI
\mbox{\gverse{18} \!नओमी} ने जान लिया कि रूत का साथ जाने का पक्का इरादा है, इस लिए वह ख़ामोश हो गई और उसे समझाने से बाज़ आई।
\mbox{\gverse{19} \!वह} चल पड़ीं और चलते चलते बैत-लहम पहुँच गईं। जब दाख़िल हुईं तो पूरे शहर में हलचल मच गई। औरतें कहने लगीं, “क्या यह नओमी नहीं है?”
\PI
\mbox{\gverse{20}\!नओमी} ने जवाब दिया, “अब मुझे नओमी क्यूँकि क़ादिर-ए-मुतलक़ ने मुझे सख़्त मुसीबत में डाल दिया है।
\mbox{\gverse{21} \!यहाँ} से जाते वक़्त मेरे हाथ भरे हुए थे, लेकिन अब रब मुझे ख़ाली हाथ वापस ले आया है। चुनाँचे मुझे नओमी मत कहना। रब ने ख़ुद मेरे ख़िलाफ़ गवाही दी है, क़ादिर-ए-मुतलक़ ने मुझे इस मुसीबत में डाला है।”
\PI
\mbox{\gverse{22} \!जब} नओमी अपनी मोआबी बहू के साथ बैत-लहम पहुँची तो जौ की फ़सल की कटाई शुरू हो चुकी थी।
\gChapter{2}
\mbox{\gverse{1} \!बैत-लहम} में नओमी के मरहूम शौहर का रिश्तेदार रहता था जिस का नाम बोअज़ था। वह असर-ओ-रसूख़ रखता था, और उस की ज़मीनें थीं।
\PI
\mbox{\gverse{2} \!एक} दिन रूत ने अपनी सास से कहा, “मैं खेतों में जा कर फ़सल की कटाई से बची हुई बालें चुन लूँ। कोई न कोई तो मुझे इस की इजाज़त देगा।” नओमी ने जवाब दिया, “ठीक है बेटी, जाएँ।”
\mbox{\gverse{3} \!रूत} किसी खेत में गई और मज़दूरों के पीछे पीछे चलती हुई बची हुई बालें चुनने लगी। उसे मालूम न था कि खेत का मालिक सुसर का रिश्तेदार बोअज़ है।
\PI
\mbox{\gverse{4} \!इतने} में बोअज़ बैत-लहम से पहुँचा। उस ने अपने मज़दूरों से कहा, “रब आप के साथ हो।” उन्हों ने जवाब दिया, “और रब आप को भी बरकत दे!”
\mbox{\gverse{5} \!फिर} बोअज़ ने मज़दूरों के इंचार्ज से पूछा, “उस जवान औरत का मालिक कौन है?”
\mbox{\gverse{6}\!आदमी} ने जवाब दिया, “यह मोआबी औरत नओमी के साथ मुल्क-ए-मोआब से आई है।
\mbox{\gverse{7}\!इस} ने मुझ से मज़दूरों के पीछे चल कर बची हुई बालें चुनने की इजाज़त ली। यह थोड़ी देर झोंपड़ी के साय में आराम करने के सिवा सुब्ह से ले कर अब तक काम में लगी रही है।”
\PI
\mbox{\gverse{8}\!यह} सुन कर बोअज़ ने रूत से बात की, “बेटी, मेरी बात सुनें! किसी और खेत में बची हुई बालें चुनने के लिए न जाएँ बल्कि यहीं मेरी नौकरानियों के साथ रहें।
 \mbox{\gverse{9}\!खेत} के उस हिस्से पर ध्यान दें जहाँ फ़सल की कटाई हो रही है और नौकरानियों के पीछे पीछे चलती रहें। मैं ने आदमियों को आप को छेड़ने से मना किया है। जब भी आप को प्यास लगे तो उन बर्तनों से पानी पीना जो आदमियों ने कुएँ से भर रखे हैं।”
\PI
\mbox{\gverse{10}\!रूत} मुँह के बल झुक गई और बोली, “मैं इस लाइक़ नहीं कि आप मुझ पर इतनी मेहरबानी करें। मैं तो परदेसी हूँ। आप क्यूँ मेरी क़दर करते हैं?”
\mbox{\gverse{11} \!बोअज़} ने जवाब दिया, “मुझे वह कुछ बताया गया है जो आप ने अपने शौहर की वफ़ात से ले कर आज तक अपनी सास के लिए किया है। आप अपने माँ-बाप और अपने वतन को छोड़ कर एक क़ौम में बसने आई हैं जिसे पहले से नहीं जानती थीं।
\end{document}

答え1

主な部分は、柔軟性のないスペースを追加することです。

\documentclass{article}

\usepackage{lipsum}

\makeatletter
% define a 'smaller textsuperscript' macro
\DeclareRobustCommand*\textsmallsuperscript[1]{%
  \@textsmallsuperscript{\selectfont#1}}
\def\@textsmallsuperscript#1{%
  {\m@th\ensuremath{^{\mbox{\fontsize\ssf@size\z@#1}}}}}
\makeatletter

\newcommand{\gmverse}[1]{\textsmallsuperscript{#1}\hspace*{.2em}\ignorespaces}

\begin{document}

\gmverse{1}\lipsum[2]

\gmverse{2} \lipsum[2]

\textsmallsuperscript{3} \lipsum[2]

\textsmallsuperscript{3} \lipsum[2]

\end{document}

上の 2 つの段落と下の段落を比較すると、上付き文字とテキスト間のスペースが では固定されているのに対し\gmverse、 では柔軟であることがわかります\textsmallsuperscript

その後、必要な機能をすべて追加できます。

ここに画像の説明を入力してください

関連情報