3

I have set up a Devanagari Bible text with headers that automatically alternatively show the first and last verse number of each page. That is working fine. However, I cannot for the life of me force each verse number in the text body to stay a specified distance away from the following word if I justify the text.

The only solution I have found is putting the verse number and the following word into an mbox. However, that prevents the header from correctly showing the first and last verse numbers of each page.

My question: Is there another method besides mbox which allows me to force the verse number in the text to stay a specified distance from the folowing word and still show the correct verse number in the header? What I can do of course is to not make an mbox for each verse number at the beginning or end of a page and then adjust the space manually. That works but means going through the whole Bible text and adjusting everything manually.

The code is as follows:

% !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
    Welcome to TeX.SE. A quick question: Could you update your TeX distribution to TeXlive2017? – Mico Jun 30 '17 at 6:42
  • And thank you for your example! Can you try to remove everything from the preamble, that is not needed to show your problem. It could make the live of helpers somehow easier and increase help motivation. – Schweinebacke Jun 30 '17 at 7:03
  • It's not at all clear why you define \gverse to have three arguments, when you actually use one. – egreg Jun 30 '17 at 10:23
  • @Mico: With Urdu and Hindi, I've had problems with recent versions of TeXlive. Not sure what the problem is. I just tried using TeXlive2016 again, and it crashed. – dietz Jun 30 '17 at 12:51
  • @egreg: to be honest, I'm not very latex-savvy; I copied the definition of \gverse from something I found here link. So how can I simplify the definition? – dietz Jun 30 '17 at 12:52
2

The main part is adding a space which is not flexible:

\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}

If you compare the top two paragraphs with the bottom ones, you'll see that the space between the superscript and the text is fixed with \gmverse, but flexible with \textsmallsuperscript.

Then you can add all the bell and whistles you need.

enter image description here

  • Awesome! This is exactly the answer I've been looking for. Thank you so much! – dietz Jun 30 '17 at 15:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.