TransWikia.com

poemscol: How to fix slight indent with startverseline?

TeX - LaTeX Asked by Peter Binkley on August 27, 2021

I’m using startverseline to get my line numbers aligned with the beginning of a runover line (as described in the poemscol manual, 3.3.2). The line number is now in the right place, but the line is slightly indented. Does anyone know of a work-around for this? Here’s a MWE:

documentclass{article}
usepackage{fancyhdr, poemscol}

setverselinemodulo{2}

begin{document}

begin{poem}
begin{stanza}
Short lineverseline
Long line without startverseline --- long long long long 
long long long long long long long long lineverseline
Short lineverseline
startverseline Long line with startverseline, numbered --- 
long long long long long long long long long long lineverseline
Short lineverseline
Short lineverseline
startverseline Long line with startverseline, not numbered --- 
long long long long long long long long long long lineverseline
Short lineend{stanza}
end{poem}

end{document}

I get this problem: the runover lines with startverseline are slightly indented, whether they have a line number or not:

enter image description here

I’m using up to date versions of xelatex and poemscol:

XeTeX 3.14159265-2.6-0.999992 (TeX Live 2020)
Package: poemscol 2020/06/12 v3.141592 poemscol file

One Answer

The package adds dozens of % at ends of lines but misses a couple where they are needed:

enter image description here

documentclass{article}
usepackage{fancyhdr, poemscol}
makeatletter

renewcommand{verseline}{ifspeciallinelock%
relaxelse%
nolinebreakincrementverselinenumber%
fi%
speciallinelockfalse%
nolinebreak%<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
}


renewcommand{incrementverselinenumber}{%
nolinebreakaddtocounter{verselinenumber}{1}%
%%NO! makeatletter
 @ifundefined{marksthe}{relax}{marksthe{verselinemark}{theverselinenumber}}%<<<<<<<<<<<<<<<<<<<<<<
%%NO! makeatother
  addtocounter{printlineindex}{1}%
  ifnumtheprintlineindex>thelineindexrepeat%
    ifverselinenumbersnobreak%
      putverselinenumbernobreak%
    finobreak%
    setcounter{printlineindex}{0}%
   fi%
}


makeatother
setverselinemodulo{2}

begin{document}

begin{poem}
begin{stanza}
Short lineverseline
Long line without startverseline --- long long long long 
long long long long long long long long lineverseline
Short lineverseline
startverseline Long line with startverseline, numbered --- 
long long long long long long long long long long lineverseline
Short lineverseline
Short lineverseline
startverseline Long line with startverseline, not numbered --- 
long long long long long long long long long long lineverseline
Short lineend{stanza}
end{poem}

end{document}

Correct answer by David Carlisle on August 27, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP