我该如何格式化为指定计数器的诗句?
我正在写一本书,需要以特定方式格式化诗句(梵文和罗马音译)。请参阅下图了解我需要实现的示例格式:
我需要的
- 我需要通过一些计数器自动分配数字。
- 与诗句相对应的数字可以排版在左侧,也可以排版在右侧。
- 每节经文都有 3 种语言/文字的文本和音译(见下面的示例文本),并且每节经文末尾应显示相应文字的经文编号。(每节经文将单独打印在单独的页面上。)如示例图像所示,属于同一章节的经文需要按顺序编号。同样,《博伽梵歌》的所有 18 个章节都应以袖珍书的形式布局。
规格:TexLive 2020 Debian 11、XeLaTeX。
我想到过的可能性
将每节诗句放在其自己的部分中。计数器将是数字
section
。使用titlesec
包来实现所需的格式。定义一个新的计数器,该计数器在每个后续实例中都会递增,并将数字和诗句放在环境中
tabular
以实现所需的格式。
虽然这是我的初步想法,但我真的不知道如何将其放入代码中。titlesec
不过我可以尝试。但如果有一些直观的方法来实现我的需求,那将会非常有帮助。
示例文本
这里有一些示例文本,如果有人有兴趣使用它们来建议 MWE。
**TEXT 11**
ಯದಕ್ಷರಂ ವೇದವಿದೋ ವದಂತಿ
ವಿಶಂತಿ ಯದ್ಯತಯೋ ವೀತರಾಗಾ:
ಯದಿಚ್ಛಂತೋ ಬ್ರಹ್ಮಚರ್ಯಂ ಚರಂತಿ
ತತ್ತೇ ಪದಂ ಸಂಗ್ರಹೇಣ ಪ್ರವಕ್ಷ್ಯೇ ೧೧
यदक्षरं वेदविदो वदन्ति
विशन्ति यद्यतयो वीतरागा: ।
यदिच्छन्तो ब्रह्मचर्यं चरन्ति
तत्ते पदं सङ्ग्रहेण प्रवक्ष्ये ॥ ११ ॥
yad akṣaraṁ veda-vido vadanti
viśanti yad yatayo vīta-rāgāḥ
yad icchanto brahma-caryaṁ caranti
tat te padaṁ saṅgraheṇa pravakṣye
答案1
软件包的扩展verse
可能会对您有所帮助。软件包提供了一个\flagverse{<stuff>}
宏,它将放在<stuff>
诗行的开头。以下是扩展的示例,verse
用于增加诗行计数器并将其放在诗行的左侧或右侧。
% verseprob.tex
\documentclass{article}
\usepackage{verse}
% put something after the verse line
\newcommand{\flagverseR}[1]{%
\hskip1.5\versewidth\rlap{#1}\hskip-1.5\versewidth}
% counter for verse number
\newcounter{vscntr}
\newcommand{\zeroverse}{\setcounter{vscntr}{0}}
\newcommand{\upverse}{\refstepcounter{vscntr}}
\usepackage{comment}
\begin{document}
\settowidth{\versewidth}{In a cavern, in a canyon}
\poemtitle{Clementine}
\zeroverse % zero the verse number
\begin{verse}[\versewidth]
\begin{altverse} \upverse % increment the verse number
\flagverse{\thevscntr} In a cavern, in a canyon, \\ % put verse number at the left
Excavating for a mine, \\
Lived a miner, forty-niner, \\
And his daugther, Clementine. \\!
\end{altverse}
\begin{altverse} \upverse % increment the verse number
\flagverseR{\thevscntr} Oh my darling, Oh my darling \\ % put verse number after the line
Oh my darling Clementine. \\
Thou art lost and gone forever, \\
Oh my darling Clementine. \\!
\end{altverse}
\end{verse}
\end{document}
在某个时候,但不保证,我可能会将类似的东西添加到verse
包中。