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 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).
 

by (704 points)
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
Live in harmony with one another. Do not be proud, but be willing to associate with people of low position. Do not be conceited.
Romans 12:16
2,588 questions
5,328 answers
5,026 comments
1,400 users