4

I would like line numbers to not reset when using verse environment.

Consider this MWE:

\documentclass{book}
\usepackage{verse}
\poemlines{5}
\begin{document}

\chapter{}
\begin{verse}
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\!

Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\!
\end{verse}

{\let\clearpage\relax \chapter{}}
\begin{verse}
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\!

Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\!
\end{verse}

\end{document}

enter image description here

Is there a way to make the line numbering continue counting even though you've started a new verse environment?

enter image description here

1
  • 1
    Milo :-) my sincere welcome. I not forgot your glasses :-)
    – Sebastiano
    Apr 23, 2020 at 19:48

1 Answer 1

5

The (redefined) verse environment sets the relevant counter poemline to 0 at the start.

Remove the setting. One also needs to subtract one at the end of the environment, because the counter is stepped at the beginning.

When needed you will issue \setcounter{poemline}{0} to reset the numbering.

\documentclass{book}
\usepackage{verse}
\usepackage{xpatch}

\xpatchcmd{\verse}
  {\setcounter{poemline}{0}}% find
  {}% replace
  {}{}% auxiliary arguments
\xpretocmd{\endverse}{\addtocounter{poemline}{-1}}{}{}

\poemlines{5}
\begin{document}

\chapter{}
\begin{verse}
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\!

Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\!
\end{verse}

{\let\clearpage\relax \chapter{}}
\begin{verse}
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\!

Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\!
\end{verse}

\end{document}

enter image description here

2
  • 3
    The numbering is not right, the first line of the second environment should be 9. This can be fixed by replacing with \addtocounter{poemline}{-1} (or \m@ne as used in the package itself) to counter the effect of \refstepcounter that is used at the start of the environment.
    – Marijn
    Apr 23, 2020 at 20:25
  • @Marijn You're perfectly right! Fixed, but in a different way.
    – egreg
    Apr 23, 2020 at 20:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .