使用递增计数器格式化诗句

使用递增计数器格式化诗句

我该如何格式化为指定计数器的诗句?

我正在写一本书,需要以特定方式格式化诗句(梵文和罗马音译)。请参阅下图了解我需要实现的示例格式:

样本格式

我需要的

  1. 我需要通过一些计数器自动分配数字。
  2. 与诗句相对应的数字可以排版在左侧,也可以排版在右侧。
  3. 每节经文都有 3 种语言/文字的文本和音译(见下面的示例文本),并且每节经文末尾应显示相应文字的经文编号。(每节经文将单独打印在单独的页面上。)如示例图像所示,属于同一章节的经文需要按顺序编号。同样,《博伽梵歌》的所有 18 个章节都应以袖珍书的形式布局。

规格:TexLive 2020 Debian 11、XeLaTeX。

我想到过的可能性

  1. 将每节诗句放在其自己的部分中。计数器将是数字section。使用titlesec包来实现所需的格式。

  2. 定义一个新的计数器,该计数器在每个后续实例中都会递增,并将数字和诗句放在环境中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包中。

相关内容