0 votes

Some more weirdness... We are trying to get \q2's to stay with the preceding \q1's (see https://support.bible/13086/get-q2-to-stay-with-the-previous-q1), and are having good luck with this command in our test projects:

\sethook{before}{q2}{\nobreak}

But in our real project, the command is not getting applied. I thought maybe the ptxprint-mods.tex file wasn't getting loaded, but we have \qs (Selah) processing in that file as well, and when that is commented out, the Selah processing goes away in the output. I've been poking through the .tex file and the XeTeX Log, and do see:

Reading optional file "../../../shared/ptxprint/PSA_1_a_72/ptxprint-mods.tex"
 (../../../shared/ptxprint/PSA_1_a_72/ptxprint-mods.tex) 

which confirms that.

So the .tex file is getting processed, but we still have dangling \q2's at the top of pages.

What else might be the problem?

PTXprint ago by (1.3k points)

1 Answer

0 votes

My first guess is that you might have another \sethook{before}{q2}{}, later in the file.
Unlike some other things which add extra commands, the \sethook, \setbookhook, setbetweenhook,  etc, replace anything previously defined at the same hook point.
It's a bit nasty, but you can check that a hook is getting fired (or the .tex file getting read) by including something guaranteed to crash the process. e.g. \errormessage{Q2 HOOK}
Then you'll be able to see that in the crash report (and what happened just before).

If the hook you're setting IS getting activated, but you're still seeing page-breaks there, then it's a possibility that something is adding some extra spacing which is allowing a break, (which would call for a careful read of what else is in the .tex file, or a styling check).
 

ago by (660 points)
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
And I tell you that you are Peter, and on this rock I will build my church, and the gates of Hades will not overcome it.
Matthew 16:18
2,564 questions
5,294 answers
5,000 comments
1,374 users