sillsdev / ptx2pdf

XeTeX based macro package for typesetting USFM formatted (Paratext output) scripture files
21 stars 7 forks source link

ChapterRangeSeparator doesn't get used in headers #955

Open markpenny opened 1 month ago

markpenny commented 1 month ago

Currently we only use the VerseSeparator in the headers. Given that there are 2 different fields in the PT settings, we should probably make use of both depending on the context.

image (13)

One (simple) implementation (only on the Python side) is to say IF the user doesn't ask for verse numbers in the header, then use the Chapter Separator instead of the Verse separator defined by Paratext settings.

davidg-sil commented 6 days ago

There are 4 places ranges occur:

Until now, we've handled bridged verses with an \endash between them, and the running header has had a more complex definition, again, by default, including \endash. To me it is risky to redefine \endash as someone might want to use it in e.g. a copyright statement as a real N-dash, while also wanting to redefine what separates ranges. So I've written a patch to do the following: \RangeChar (new) defaults to \endash but is reserved for that specific use (and can be multiple characters, of course). \RangeSeparator (current macro) becomes restricted to use for range of verses (in the running header, default uses RangeChar with some spacing). \RangeChapSeparator (new macro) the range separator for range of chapters or books (in the running header, default uses RangeChar with some spacing). \BookChapSeparator (new macro) By default a space, but maybe someone wants Genesis:1.2 or something in the running header. \ChapterVerseSeparator (old macro) What goes between the chapter and verse numbers in the running header?

Bridged verses, I assume would just use \RangeChar as a drop-in replacement for the current \endash. I.e. without the additional spacing used in the header.

Does this satisfy the TeX level bits of the request (plumbing it all into the paratext settings, can happen later!)