# Printing without empty verses

Our project in Paratext has several parts of the OT that do not have verses or chapters yet, but we do have the empty markers in it. There are 1,000’s of empty verses. Is there a way to tell PTXprint to skip all empty verses and/or empty chapters? I tried the Bridge Empty Verses and Add (…) but that still doesn’t look nice with all of the empty verses. We would really like to have a clean draft to look at.

@rickarellanes Thanks for this question. Obviously we don’t want to make this too easy for people to do - as we could quite easily (and inadvertently) end up with nicely formatted scripture with whole chunks missing, and possibly no one would notice. That’s far from ideal. So the aim of the “Bridge Empty Verses” toggle is to ensure that it is obvious that some of the text is missing.

But yes, if you intentionally want to only print certain parts of the text, then there is a way to do this. It is called a “Module”. And a module, in its simplest form, is essentially a list of references that you want extracted (and printed) from the text. Search Paratext’s help for “Module” and you’ll find some more information there. Here below, for example, is a module for the book of Ezekiel:

\ref EZK 1:1-9
\ref EZK 1:22-27
\ref EZK 1:28-2:5
\ref EZK 34:11-15
\ref EZK 37:1-14


Save that as a plain text file and put it in your project’s Modules folder, or in Paratext’s “_Modules” folder, and then you’ll be able to call that from PTXprint to produce a PDF with just those chunks of text.

In PTXprint you can select a module from the Basic tab (when Advanced view is enabled):

Note that there are other codes which can be used to make the module more interesting, and structured. So for example, the following module includes a book title, new section headings, and “localized” references using the $(EZK 1:22-27) notation. \id MOD Ezekiel segments \mt2 Demo of the book of \mt1 Ezekiel \inc v \s1 There is hope \s2 Ezekiel's vision of God \sr$(EZK 1:1-9)
\ref EZK 1:1-9
\sr $(EZK 1:22-27) \ref EZK 1:22-27 \s2 God calls Ezekiel \sr$(EZK 1:28-2:5)
\ref EZK 1:28-2:5
\s2 Sheep without a shepherd
\sr $(EZK 34:11-15) \ref EZK 34:11-15 \s2 The valley of dry bones \sr$(EZK 37:1-14)
\ref EZK 37:1-14


Will produce something that looks like this:

Note that \c chapter numbers may need to be hidden unless you’re starting from verse 1. And there may be other things that need to be fixed to get the final result you’re looking for.

Very USEFUL information Mark! Thank you. This will be great news for anyone working on portions of Psalms etc.

Thanks for this information. It seems like a very useful feature for creating a subset. However, since we had over 15,000 empty verses in the OT, it would have been very time consuming for us to try to create this file. And we would have had to add the entire NT in the module file. I was finally able to accomplish what I needed to do by writing a macro outside of Paratext to change all \v nnn that did not contain any text following it to use \rem v nnn. Now PTXprint correctly prints the entire Bible with no empty verses that were in the OT (we don’t have the OT completed, but someone earlier put in all placeholders for the verses).

Nice idea. Now to make it simpler for you, you could just add that as a 1-line rule in your PrintDraftChanges.txt file so that it does it for you on-the-fly rather than as a separate process.

# Turn all the empty verses into \rem[arks] so they don't print
"\\v (\d+(\-\d+)? ?\r?\n)" > "\\rem \1"


You can easily do this by editing the file within PTXprint:

Then paste in the appropriate “magic” expression, and save before hitting print.