1
PTXprint – Bible Layout For Everyone!
Master Slides
Developed by: Martin Hosken, Mark Penny, David Gardner
2
What still needs to be added…
3
Background History
4
Why PTXprint?
Why is it so hard to get well-formatted scripture output �from Paratext? It needs to be made easier for everyone.
“There’s a tool missing from our toolbox”
5
6
7
Why PTXprint exists
To make it easy for translators to print Scripture
8
Often broken but…
Who is behind this tool?
A collaborative, open source project led by SIL’s WSTech
PTXprint builds on a long and rich 45-year history!
← ← PTX2PDF ← PTXprint
1978 2004-2013 2004... 2020...
The current distributed development team consists of:
9
Goals of PTXprint Bible Layout for Everyone
10
Ultimately, our goal is to get God’s word into the hands of people sooner, and more regularly in whichever formats are best for whichever audiences.
Not limited by just ONE layout
Use your imagination...
11
“the sky's the limit as to what you can produce yourself with PTXprint”
Capabilities
What it does:
What it doesn’t do:
12
Advanced Features of PTXprint
What you can do with ease:
Possible with some pain:
Coming soon:
13
How are PTXprint and Paratext related?
Interdependent
PTXprint has been added to the Paratext menu* so it is available right away.
PTXprint makes use of PT’s Send/Recv functionality to share saved configurations
��*to replace the earlier option: PrintDraft / Export Draft PDF
14
Français
15
PTXprint is also happy to run on Linux
16
17
✅
Example Outputs
18
19
20
21
22
23
24
T�o�p��T o��Bo t�t o m
L e f t T o R i g h t
25
26
27
28
29
30
31
32
How does it compare with PubAssist+InDesign?
PTXprint does have some limitations:
33
Want to know more? https://software.sil.org/ptxprint/differences/
How does it compare with PubAssist+InDesign?
PubAssist has some limitations too:
34
Want to know more? https://software.sil.org/ptxprint/differences/
35
✅
Getting Started
36
Getting Started
Just search Google for �“PTXprint” or visit:�software.sil.org/ptxprint�
37
Download PTXprint
Download the installer for the Current Version
38
Download PTXprint
Run the Setup file, step through the options with Next >
39
Why use SumatraPDF? (isn’t Adobe good enough?)
40
Some PDF viewers allow the file to be updated while you are viewing it (without the need to close it first).
Adobe Acrobat PDF Reader doesn’t allow you to do this, and this gets rather frustrating very quickly.
When you get fed up of seeing this message, and closing the PDF before trying again, you’ll gladly switch over to using a more flexible, Open Source PDF viewer such as Sumatra PDF.
How to download SumatraPDF?
41
Easy as 1,2,3…
Then run the installer and you’re almost done.
How to set up SumatraPDF as default?
42
Click this folder icon to show the PDFs created by PTXprint.
Final tweaks for SumatraPDF Viewer
43
44
What if you’re NOT a Bible translator?
Anyone can use it…
45
Basic View should be adequate
46
1. Select a Project
2. Choose one book �or several books
3. Click Print
47
Loads of options but easy to get started...
48
But Mini View is also possible!
For users who only want the fewest possible settings.
49
Start with the defaults...
50
...and don’t change anything unless you’re curious, or need to fix something specific.
These tooltips �are everywhere. �So read them!
Book/Ch/Vs selection is very flexible
a) One or more Books, Ranges within books�b) Most Recently Used list
51
Practically anything decipherable is possible!
Twisties and Marker Style Links
52
Twisties and Marker Style Links
53
54
PDF Preview Pane - interactive!
55
PDF Preview Pane
56
Setting safe limits for shrinking and expanding �the text
Send Ref to Paratext
57
Managing Pictures with a Right-Click
58
PDF Preview Pane - any questions?
59
60
✅
Help!
61
Don’t ignore the HELP tab!
62
Support Chatbot - experimental!
63
Tooltips are abundant! (Please use them)
64
With contextual help available on every option.
Over 400 options to customize!
But where is the user manual?
You may not need one !
Tooltips Practically everything you need to know is documented in the extensive built-in tooltips. Hover over an option or label to find out what it does.
The How to Use and FAQ pages on the main website have some useful information for more complex tasks.
There are several kinds of training videos:
https://vimeo.com/showcase/10946202 - Official Paratext PTXprint - Getting Started�https://vimeo.com/showcase/9331905 - multiple other videos
65
Info tooltips
External Cross-Reference Lists (description of each)
66
Info tooltips
View+Edit tab with details about codes that can be used in the Front Matter.
67
Searching for Settings
68
Use�to quickly locate what you’re looking for.
Try it now! Look for one of these obscure features:
How to handle errors and warnings
69
Diagnostic support is available
Diagnostic Error Messages
70
Argh!
Before you ask for help? Are you up-to-date?
71
A new version is released several times a month, so make sure you’ve got the latest version with known bugs fixed.
Keep an eye out for the “new version available” icon on the status bar.
Minor newer version available�
Significant newer version available�
You’re using a very old version!
PTXprint Community Site?
Help each other...
You can helps the developers have more time to fix bugs and add new features
72
community.scripture.software.sil.org/c/ptxprint/27
We have moved!
PTXprint Community Site: support.bible/ptxprint
Help each other...
73
Contacting PTXprint_Support@sil.org
74
Google for them OR … Visit the PTXprint site
Google for videos
75
Training Videos at: vimeo.com/showcase/9331905
76
PT9.4 PTXprint videos: vimeo.com/showcase/10946202
77
78
✅
Import Settings
79
Your Settings are safe (Configurations)
80
Settings are stored in a Config (folder of settings)
81
STOP! Think through the implications of when to create a new Configuration and how to name it.
A group of settings is called a Configuration.
These are saved in the Paratext Project’s shared folder.
They get shared with other project members when Send/Recv happens.
What is stored where
82
shared/ptxprint folder contains settings file
local/ptxprint contains tmp folders + pdf files
These temporary folders get removed (leaving just the PDFs)
You can Copy a Configuration to other projects
83
Copy Configuration (export) is good when…
But these conditions could be rather rare!
“Why not make it possible to import someone else’s settings?”
84
Import Settings
Aiming towards a public gallery of PDFs.
85
Import Settings (from PDFs, ZIPs or Other Configs)
Multiple options for
86
Import Settings (from PDFs, ZIPs or Other Configs)
*ptxp.pdf
*PTXprintArchive.zip
Project + Config
87
Import Settings
88
89
✅
90
Layout
Things to decide before setting layout options
91
From the end backwards (starting with a realistic vision of what the end product will look like)
Who is going to print it? And what is their �optimum page size and binding option?
What are their minimum margins? (+/- gutter, etc.)
Font size(s) and leading - have these been tested?
Single/Double column, and is hyphe- ← what?�nation even an option in the language?
Gutter rule? Horizontal rule? Headers, footers?
Footnotes, cross-references, glossary markup.
What else can you think of?
Layout - starts off simple (but gets complicated!)
92
Mini View: 5 controls
Basic View: 14 controls
Full View: 27 controls
Guides
93
Margins look very complicated (but interactive)
Hovering over a setting, or changing an option updates the exemplar:
94
Tip for optimizing settings
The cogs (or gears) do the hard maths for you to optimize settings.
95
How to easily get rid of those big gaps…
96
But there is more to learn later on…
Variable Line Spacing (short runs on thick paper in a hurry)
97
Headers and Footers
Think about these settings early on, and not just as an afterthought.
98
Layout
Demo and time for practice exercises
99
Practice Exercise:
100
Set up the Layout according to the following specifications:
101
✅
Fonts, Scripts, Spacing, Hyphenation
102
Changing the font (Mini View)
103
By default, PTXprint will set the font to that which is used by Paratext.
But the Fonts+Scripts tab allows
you to set the underlying font(s) for
the entire document.
Notice that the options on the font chooser change depending on which view you are operating in.
Note that the Bold, Italic & Bold Italic typefaces will get filled in for you.
Changing the font (Basic View)
104
Notice that the options on the font chooser change depending on which view you are operating in:
The Basic View allows you to create Fake Bold/Italic typefaces for Fonts that only have a single face.
Questions: �1. Why are some font names listed in bold, and others in regular?
2. And why does it show (italic)?
Changing the font (Basic View)
105
Changing the font (Full View)
106
The Full View enables a LOT more options in the Font Chooser, including Digit (Script) mapping.
Inter-character Spacing Adjustments
107
Warning: This can have disastrous results in some situations!
This is a global setting on the Fonts+Script tab which impacts the entire document.
Why stretchable text is so important (1 of 2)
108
Why stretchable text is so important (1 of 2)
109
Why stretchable text is so important
110
Why stretchable text is so important (2 of 2)
111
Preventing�Widows & Orphans
Keep block �together
Stretch or� shrink this�paragraph
Column �Balancing
Footnotes
Pictures
Stretch or shrink this paragraph?
Adjustment List
112
Almost any paragraph can be forced to grow longer by an extra line
JHN 1.35 +1
JHN 1.42 +0[2]
JHN 1.43 +0
JHN 2.0 +0
But very few can shrink by one line.
JHN 2.1 +-1
JHN 3.1 +-0
JHN 3.9 -1
Adjustment List
113
Almost any paragraph can be forced to grow longer by an extra line
JHN 1.35 +1
JHN 1.42 +0[2]
JHN 1.43 +0
JHN 2.0 +0
But very few can shrink by one line.
JHN 2.1 +-1
JHN 3.1 +-0
JHN 3.9 -1
Adjusting the Layout? Out with the old. In with the new.�����
Just Right-Click!
114
You've just simplified my life…
115
I can't believe how much you've just simplified my life with the release of PTXprint 2.7.5. I'm just blown away at how easy it is to use the interactive PDF viewer page. It has turned a painful process into something that is, dare I say, "fun". I watched the video and was excited to try it myself. I ended up typesetting Galatians, Ephesians and 1 John in about 3 minutes each. It's taking a bit longer for Matthew just because XeTeX takes a while to rebuild and the Gospels have so many small sections with titles and cross-references. But seeing the colour bars on each paragraph as I scan forwards and backwards through the pages makes it so easy to see where a change might be causing a new problem and experiment with possible solutions and resetting them if they don't accomplish the desired outcome.
SK, An experienced typesetter
“
”
Shrinking and Expanding Paragraphs
116
Left side = Shrink
Line (tighter spacing)�
Text (compress chars)�
Line and Text
Right = Expand
Line (looser spacing)
Text (expand chars)�
Line and Text (manually)
Shrinking and Expanding Paragraphs
117
SpeedSlice
118
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
A little shrink can make a huge difference
119
A minimal shrink of the text can make things fit really nicely:
\p
\p^95
More details in in this snippet
Digit script settings & Stretch/Shrink
120
Hyphenation
Understanding difference between:� Paratext’s hyphenation (wordlist) file� and� PTXprint’s hyphen.tex file
If the team hasn’t done the hard work to mark appropriate hyphenation points, then it is impossible for TeX to hyphenate the text properly in an unknown language.
Roman script projects can “hope for the best” w.r.t. hyphenation points, but complex scripts usually need some smarter logic to prevent bad breaks.
121
Hyphenation can be very complex
Understanding syllable-based line breaking and/or hyphenation.
Available in these complex scripts: mymr, thai, arab, sinh, �mlym, taml, telu, knda, orya
Also note that if you have more words than the limit (63,929) PTXprint will automatically use the most likely words to be hyphenated (based on length and frequency).
And you can take further steps…
122
Setting Marker Fonts
123
Fallback Font
124
125
✅
126
Body Tab Settings
What do you want to talk about?
127
Practice Exercise:
128
Adjust the styling of the Chapter \c and Verse \v numbers :
Introductory Outlines
129
Introductory Outlines . . . . . . . . . . Right-aligned
130
Introductory Outline formatting
131
\io1
\io2
\ior … \ior*
132
John begins
Luke finishes
Looking after orphan words (if possible)
133
Taking care of verse widow words!
134
Exodus 22:22 Do not mistreat widows or orphans. (CEV)
What about taking care of verse orphans?
135
Exodus 22:22 Do not mistreat widows or orphans. (CEV)
We will come to this later when we look at changes.txt
Configurable Marginal Verses
Marginal verse numbers have been around for a while
But now you can also select where they go on the page
136
Configurable Marginal Verses
137
Configurable Marginal Verses
138
Interactive Glossary
139
Glossary Markup options
140
\w character style
141
\zglm character style
142
Practice Exercise:
143
Make style adjustments for the headings:
\s Stretch=95%� Font: Calibri / Arial� Color: Dark Gray� Size: 0.98 = 10.8pt� Space Above: 0.50� Space Below: 0.00�
\r Stretch=98%� Size: 0.91 = 10.0pt� Space Above: 0.00� Space Below: 0.00�
Get glossary words \w �to appear in Bold Blue:
Other Features
144
Column settings can be toggled per book
145
When working on a 2-col publication, you may want to have certain books with a 1-col layout (for example, Psalms, and Glossary).
146
147
Hanging Poetry Verse Numbers
148
149
✅
150
Cross References (and Footnotes)
Footnotes are easy
151
Footnotes are easy…but wait, there’s more, and more!
152
153
Cross References are similar with a few extra options
154
External Cross-Reference Lists
One of the more powerful tools within PTXprint: Automatically include 1000’s of cross-references (without adding to your USFM text)
155
External Cross-Reference Lists
One of the more powerful tools within PTXprint: Automatically include 1000’s of cross-references (without adding to your USFM text)
156
Placement options for lists of cross-references
157
Side-aligned columnar references
158
Inner might waste less space
159
Center column references for 2-col layout
160
Practice Exercise:
161
Add an External List of Cross-references to the publication:
162
✅
163
Pictures (Handling Illustrations)
Global Options
164
How PTXprint looks for illustrations
165
Remove image borders
166
This is a global option so you can’t restrict it to certain images or books. Keep your maps in mind!
Details - for each illustration
167
Details - for each illustration
168
����
Illustration position options
169
Details - for each illustration
170
Mirroring Illustrations Left hand?
171
Mirroring Illustrations Right hand!
172
Can text wrap around images?
173
Q: Can text wrap to the right or left of images?
A: Yes, that’s called a cutout. Remember to scale the image to an appropriate size as well.
Checklist for Illustrations
174
Copyrights and Credits are Important
175
And so easy �to generate automatically!
Even in other languages:
\zimagecopyrightsfr
\zimagecopyrightses
Languages supported: (en), hu, ro, fr, es, (id),
Automatic Credits (for known series)
176
ab | cn | co | hk | lb | bk | ba | dy | gt | dh | mh | mn | wa | dn | ib
Handling Sensitivity Issues
177
Practice Exercise:
178
Get the Pictures working for your publication:
What to check if pictures don’t show up?
179
David C Cook illustrations
180
David C Cook illustrations
181
Pre-filled Google Form
182
Pre-filled Google Form
183
Pre-filled Google Form
184
Pre-filled Google Form
185
186
Getting Access to High Quality Illustrations
187
Getting Access to High Quality Illustrations
188
Getting Access to High Quality Illustrations
189
Getting Access to High Quality Illustrations
190
Homework Exercise:
191
Obtain the High Quality Illustrations for your publication:
Downloading and Installing Illustrations
192
Image Catalogue (content still under construction)
193
Practice Exercise:
194
Add 2 or 3 new illustrations from the Catalogue:
Think: What are the disadvantages of using this method?
Illustrations in Peripheral Books (FRT, BAK, GLO, etc.)
195
\periph Cover Page
\esb\cat frontpage\cat*
\zgap|.8in\*
\zmt2 కొండ బాసదు
\zmt1 నెగ్గి కబ్రు
\zgap|.8in\*
\zrule |cat="ornaments" width=".40" align="c" thick="7pt"\*
\zmt2 కొత్త ఒపుమానం
\zgap|1pt\*
\zrule |cat="ornaments" width=".40" align="c" thick="7pt"\*
\zgap|1.5in\*
\fig |src="C:\My Paratext 9 Projects\XYZ\local\KTDF\Logo 2-bw.png" size="span" pgpos="h" scale="0.18" copy="None"\fig*
\zmt3 కొండ ట్రయ్బల్ డవ్లాప్మెంట్ పవుండేసన్
\zgap|10pt\*
\esbe
196
✅
197
Styles (and using the Style Editor)
Filter Styles to show markers in use
198
The Styles tab is very useful but also a little overwhelming.
Use the Filter button to only
show the styles in use for the current project.
Find Styles the easier way
199
Also note that you can search for any word, �not just the marker itself.
What do all these settings mean?
200
Styles are usually USFM markers (but not always)
201
mt1 = Main title = USFM \mt1
cat:coverfront|mt1 = Main title on the front cover
cat:coverspine|mt1 = Main title on the spine of the cover
id:GLO|mt1 = Main title in the GLOssary book
To create a new Style:
202
Sidebars tend to be used in Study Bibles
203
Sidebars have special settings
204
205
✅
Diglot
206
Diglot → Polyglot
207
Add Diglot best practices from John Nystrom
(T1=pri, T2=sec)
208
Diglot, Di-script, Di-...imagine!
209
Primary
Secondary
Diglot, Di-script, Di-...imagine!
210
Clever use of color and fonts
211
New Diglot Settings Enable Much More
212
Primary
Secondary
213
…and Polyglot is now possible
214
215
The significance of Right-Click (context!)
216
Polyglot Layout is Customizable
217
What is versification? & Why it matters…
“No one worries about versification models until they put two texts side-by-side and then realize that something’s not right.”
218
Synchronize texts with different versification
219
What if you don’t have a secondary text?
220
Getting a text from the Digital Bible Library™
221
Click the DBL button
Getting a text from the Open.Bible site
222
Then follow the 3 simple steps:�
Step 1. Click one of the blue links to � open a site & select a text
Getting a text from the Open.Bible site
223
Getting a text from the Open.Bible site
224
Getting a text from the Open.Bible site
225
If you just want the whole text as a PDF, then use that option (as is).
But if you want to create your own derivative scripture products, then select and download the USX file
Unpacking the text bundle
226
Step 2. Locate the downloaded DBL bundle
Unpacking the text bundle
227
Step 3. Assign a Name to the DBL Project
When you click OK PTXprint will:
a) Unzip the bundle in the right location
b) Create the appropriate settings file
c) Open the (new) project for you
Produce your own Hausa scripture portions
228
229
230
✅
231
Special Layouts (incl. Study Bibles)
Special Layouts
Various options allow increased flexibility:
232
Special Layouts
Your chance to !magine…
233
Reader edition
234
Snippets available here
Journaling Bible (outer margins with Notelines)
235
Study Bible Layout (with just 3 clicks!)
236
Extended footnotes are easy to make within your usual Paratext project. Just use \ef … \ef* �instead of \f …\f*
237
Sidebars (for study Bibles) can be set up too
238
239
Pastor’s Cross-reference Bible (Strong’s #)
240
Interactive Content (using generated QR codes)
241
\zqrcode|Hello\*
\zqrcode|pgpos="cr" size="1.2cm" data="This is the text shown"\*
\setcvhook{LUK7.50}{\zqrcode|pgpos="cr" background="1 1 0.5" colour="0 0 .5" size="1.5cm" data="jesusfilm.org/watch/�jesus.html/sinful-woman-forgiven/�southern-gondi-adilabad.html"\*}
We’re still working on how to make �this much easier for most people to �use for the JESUS Film clips and FCBH’s Lumo Gospel Films too.
242
Don’t edit your USFM text to insert QR codes!
243
Spreadsheet can generate a .trigger file
244
3-Column Concordance Layout
245
246
Derivative Scripture Products (Modules)
What kinds of Modules are available?
247
Use your imagination…
Where can I get modules from?
Or you can get really creative
You can even get ChatGPT to do some of the heavy lifting for you:
Did it work?
Yes!
Save it as a plain text file (with .sfm extension)
Did it work?
You can customize headings etc. as needed
Going beyond�our expectations!
261
✅
262
Strong’s Numbers�Cross-References + Indexes (using PT’s Biblical Terms)
Sri Lankan Tamil example
263
Sharing the gold stored in PT’s Biblical Terms
264
Generate Strong’s Index
A powerful tool
Multilingual options
Configure as needed to create a customized index (usually in XXS).
Gets typeset along with all the other books.
265
This one dialog helps us pull it all together
266
267
268
Strong’s Index - tied to PT’s Key Biblical Terms
Strong’s Index Numbers (within text)
In-text markup relies on Biblical Terms Renderings in Paratext
269
Strong’s Index Numbers (within text)
So everything else becomes easy - just a few clicks away!
270
Strong’s Index Numbers (within text)
Styling for the \xts marker (Strong’s 4 digit cell)
271
Separate Indexes for Greek and Hebrew
272
Use the style \links to adjust the formatting for each of the elements
Why bother?
273
So why wouldn’t�you do this?
274
✅
Interlinear Text
275
Interlinear
276
Interlinear
277
Interlinear
278
Interlinear diglot
279
280
281
On-the-fly Interlinear (using a TECkit mapping)
282
On-the-fly Interlinear (it takes a bit of setup!)
283
# Wrap every Hebrew word in \zb ...\zb* in order to romanize each word
in "\\v \d+ .*(\\c |$)": "(\p{sc=Hebr}+)" > "\\zb \1\\zb*"
This looks messy, but enables
us to create an interlinear stack
for every word in the text.
When we generate a copy of the Hebrew word, and assign a style of int|zb, we can instruct the style definition to use a TECkit map (YiddishPasekh2Latin) which romanizes it on-the-fly.
On-the-fly Interlinear (and a bit more setup!)
284
This piece of .tex code does the clever work of duplicating the words and applying the right spacing and styles.
More Magic (3-levels using TECkit + PT interlinear)
285
Similar to the previous example but with Paratext’s interlinear data (using Ruby glossing markers.)
It is not expected that users will be able to set this up alone. Get help from your support person.
286
✅
287
Ornaments
Decorative rules
288
Decorative rules
289
\zrule\*
Can optionally include parameters:�
\zrule|cat="ornaments3" width="0.3" align="r" thick="8pt"\*
Decorative rules
290
Decorative rules
291
# Add an ornamental ‘rule’ under the book’s main title
"(\\mt1 .+?\n)" > '\1\\zrule |cat="ornaments3"� width=".5" align="c" thick="8pt"\*\n'
# Or just add a plain rule/line under the book’s main title
"(\\mt1 .+?\n)" > '\1\\zrule |width=".5" align="c" thick="1pt"\*\n'
Decorative rules (how to define ornaments)
292
% The ornamental rule on the cover & the Lord's prayer page�
\Marker cat:ornaments3|zrule
\BorderColour 0 0 0
\BorderStyle VectorianRule1
\BorderLineWidth 0.2
\TextProperties publishable
%\BorderFillColour xFFC000
To use it:�\zrule |cat="ornaments3" width=".40" align="c" thick="7pt"\*
Ornaments for front page design
293
\Marker cat:frontpage|esb
\Position Fcf
\BoxPadding 0
\BorderHPadding -50
\BorderVPadding -55
\Border All
\BorderStyle ornaments
\BorderPatternTop 400|||8.0,0||*a,400|h||8.0
\BorderPatternBot 400|v||8.0,0||*a,400|d||8.0
\BorderPatternLeft 0|l|*a
\BorderPatternRight 0|r|*a
\BorderLineWidth 1
\BorderWidth 16
To use it:
\esb\cat frontpage\cat* …put everything else in here… \esbe
Ornaments for front page design
294
\periph Front Page
\esb\cat frontpage\cat*
\zgap|.8in\*
\zmt2 కొండ బాసదు
\zmt1 నెగ్గి కబ్రు
\zgap|.8in\*
\zrule |cat="ornaments" width=".40" align="c" thick="7pt"\*
\zmt2 కొత్త ఒపుమానం
\zgap|1pt\*
\zrule |cat="ornaments" width=".40" align="c" thick="7pt"\*
\zgap|1.5in\*
\fig |src="C:\My Paratext 9 Projects\XYZ\local\KTDF\Logo 2-bw.png" size="span" pgpos="h" scale="0.18" copy="None"\fig*
\zmt3 కొండ ట్రయ్బల్ డవ్లాప్మెంట్ పవుండేసన్
\zgap|10pt\*
\esbe
Page Borders (a) Dynamically Generated
295
296
✅
297
Table of Contents (and Thumb Tabs)
Table of Contents (the simple way)
298
Or Insert Table of contents using Front Matter
299
\ip \ztoc|main\*
Table of Contents (in PTXprint’s local FRT file)
300
\rem ---------------------------------------------
\periph Table of Contents|id="contents"
\rem ---------------------------------------------
\mt \zvar|contentsheader\*
\is Books of the Old Testament
\ip \ztoc|ot\*
\is Books of the New Testament
\ip \ztoc|nt\*
\is Bible Study Materials
\ip \ztoc|post\*
The parameter for \ztoc|___\* can be any of the following:�main - includes all books as a single table
ot - only Old Testament books
nt - only New Testament books
dc - only Deutero-canonical books
pre - books before scripture (e.g. Introduction)
post - books after scripture (e.g. Glossary, maps, indexes)
heb - Hebrew order (OT books use a different sort order)
sorta - sort by 1st column of table (\toc1 order)
sortb - sort by 2nd column of table (\toc2 order)
sortc - sort by 3rd column of table (\toc3 order)
bible - all scripture books (OT, NT, DC)
biba - sort bible books by 1st column of table (\toc1 order)
bibb - sort bible books by 2nd column of table (\toc2 order)
bibc - sort bible books by 3rd column of table (\toc3 order)
If books don’t show up at all in the Table of Contents, then check to see if their \toc# fields are missing.
Keeping things distinct
301
\rem ---------------------------------------------
\periph Table of Contents|id="contents"
\rem ---------------------------------------------
\dopagenums
\resetpagenums -1
\mt3 \zvar|contentsheader\*
\ip \ztoc|nt\*
\b
\ip \ztoc|post\*
Separating scripture books in the ToC from other supplementary materials at the end of an NT
Sorting ToC - understanding the difference
302
What difference do these parameters make?�main - includes all books as a single table
sorta - sort by 1st column of table (\toc1 order)
sortb - sort by 2nd column of table (\toc2 order)
sortc - sort by 3rd column of table (\toc3 order)
Getting ToC columns to line up (across tables)
303
Getting ToC columns to line up (across tables)
If the columns don’t line up correctly, you can adjust the column widths as needed �by modifying the �Space Before Factor:
cat:toc|tc1 0.70%
cat:toc|tc2 0.18%
304
Diglot Table of Contents
305
And for Diglots, just add an�L suffix (for Primary language) or �R suffix (for Secondary language) �to get the appropriate subsets.��Otherwise the Table of Contents gets both Pri & Sec languages mixed together.
\periph Table of Contents
\mt3 \zvar|pritoctitle\*
\ip \ztoc|mainL\*
\b
\mt3 \zvar|sectoctitle\*
\ip \ztoc|mainR\*
Mixing RTL and LTR ToCs in Diglots
306
Things can get quite complicated when you need both RTL and LTR tables in the same document!
But by using \zglot|R\* and \zglot|L\* you can make each side do the right thing.
Mixing RTL and LTR ToCs in Diglots
307
Tweak the cat:toc|tr style in EACH of the configurations to adjust the indentation for each side of the diglot.
Thumb Tabs
308
Thumb Tabs bleed off the page (get cropped)
309
310
✅
311
Peripheral Matter
312
Handling front matter (Peripherals tab)
313
Generate PTXprint-local Front Matter
314
Basic: Front page, verso page & contents
Advanced: Much more material usually used for whole NT or Bible
Paratext: Makes a local copy of PT’s FRT book, and can be modified further as needed.
How Front Matter works
315
List of special codes (Creative Commons logos are built in)
316
There are some additional special codes
that can be used in PTXprint’s FRT definition
\zcopyright These three codes
\zlicense don’t have |variables
\zimagecopyrights or the closing \*
\fig |src="C:\path-to-my-file\cc-logo.png" size="col" pgpos="pc" scale="0.15"\fig*
Or use the built-in logos:
\ztoc|main\* - generate main Table of Contents
\zvar|variablename\* - insert the text of variablename from the table on the Peripherals tab
\zbl|3\* - leave 3 blank lines These last few codes don’t use a
\zgap|1.3cm\* - leave vertical gap (can also use mm, in, em, pt) preceding marker like \pc or \ip
\nopagenums \dopagenums \resetpagenums -1 (= start with i) but all the others need something.
\zccimg by-nd|size="col" pgpos="p" scale="0.20"\*
Shortcut Buttons (saves you from having to copy-paste codes)
317
Using the Advanced template for Front Matter
318
Working with QR codes
319
Working with QR codes
320
Note that the style id:FRT|m was created with an increased LeftMargin
Peripherals
321
The Basic template just uses these periphs:
\periph Title Page|id="title"
\periph Publication Data|id="pubdata"
\periph Table of Contents|id="contents"
The Advanced template adds a few others and should be edited/completed before use:
Title Page|id="title"
Publication Data|id="pubdata"
Foreword|id="foreword"
Preface|id="preface"
Table of Contents|id="contents"
Alphabetical Contents|id="alphacontents"
4 additional periphs for the cover: coverback, coverfront, coverspine and coverwhole
322
✅
Wrap-around Covers
323
324
325
Creating a wrap-around Cover
326
327
Metadata for the Cover Page
328
Cover to cover; everything is covered!
329
It can be harder than it looks!
330
Covers Can Be Tricky
331
Background or Foreground Image?
332
Getting the barcode just right…
333
And of course, RTL covers work too!
334
335
Getting the bar code just right…
336
Practice
337
1. Create a simple black and white cover page for the current publication with just titles and border (no spine needed).
2. Then add the other elements to create a full color cover page using the background image from the Resources2Share folder: CoverBackgroundImage.JPG
3. Bonus: add the text & ISBN on the back cover
338
339
✅
340
Finishing Well
Summary Report
Access the post-typesetting report from the 🛈 button on the Preview Pane
or from the Help tab.
341
Summary Report
342
Whitespace detection (vertical rivers + horiz spacing)
Collision detection
343
Marginal Section Headings (coming soon)
344
Several new languages (still need your help to refine them)
345
Finishing Options
346
(a) Booklet Pagination
347
(a) Booklet Pagination
348
When printing back-to-back, flip paper on left (short) side
(a) Booklet Pagination
349
When printing back-to-back, flip paper on left (long) side
(a) Booklet Pagination
350
When printing back-to-back, flip paper on left (short) side
(a) Booklet Pagination
Tip: a) Create a 16-page PDF (by adjusting the chapters and/or font & spacing)
b) In Booklet Pagination, turn on 4-up (and increase Physical Paper Size A3)
c) Try printing it out on paper (with back to back enabled)
d) Make booklet (fold top-to-bottom, then left-to-right, staple & trim top)
If that doesn’t give you what you need, then try with Fold First checked and repeat
351
(b) Compare PDFs
352
(b) Compare PDFs
353
(b) Compare PDFs
If the Create Diff option is enabled, it will then:
The new PDF will appear first, and then… � … … … wait … … … wait! (be patient…)�IF there is a difference, then another “fuzzy gray” PDF will appear showing changes. Anything in gray is identical to the original. Red has fled. And Blue is new.
354
(b) Compare PDFs
355
(b) Compare PDFs
Why would anyone need this feature?
Keep in mind:
356
Does it really work?
Accurate to spot even the smallest difference
357
(c) PDF Options
A handy way to:
(i) preserve your settings long term� and/or
(ii) share your layout with others
(without needing to have S/R access to each other’s projects)
358
(c) PDF Options
Pro: the original text is copyable from the PDF
Con: the original text is copyable from the PDF
(think about where this PDF is going�and how it might be used or abused)
359
(c) PDF Options
Print-CMYK (if using color)
Print-Gray (B/W avoids any color at all)
Print-Spot (two-color publication)
Screen (Quickest) with no post-processing
Digital-RGB
Digital-CMYK (Transparency)
360
Output formats for viewing on a device (on a screen)
Output formats for printed books (on paper)
(c) PDF Options
Print-Spot (two-color publication)
361
(c) PDF Options
362
363
What does Extra XDV Processing mean?
364
365
✅
366
Extras
Show Unicode Character Codes
Select any segment of text in the View+Edit window, and use Alt-X to display the codes.
367
TeX Customization Code Snippets
368
Code Snippets for Diglot Headers
369
Code Snippets for QR codes
370
Auto-generated QR Codes
Create an interactive layout with QR codes beside chapter numbers �to direct readers to more in-depth online content
371
Front Matter Code Snippets
372
Arranging ToC in 2 columns
373
changes.txt & SFM Code Snippets
SFMs
374
Autosave and Text Changed
Autosave and Text Changed
375
What is Quick Run used for?
PTXprint re-runs the job multiple times:
376
This tells PTXprint, “I don’t need it perfect yet, so just run it once”
Web links are smart for non-English users
377
But you can disable the (Google Translate) feature
378
And if needed, you can disable ALL Internet Use
379
380
✅
381
Advanced / Technical Features
Apply changes
382
PrintDraftChanges.txt (at Project level) and so can be applied to every config.
changes.txt is config-specific and so only affects the current config.
C:\My Paratext 9 Projects\WSGlatin\shared\PTXprint\MyNTpublication
Kinds of things you can do in changes.txt
383
Restricting changes.txt rules
384
"Jesus" > "Yesu" # simple rule showing how to change X > Y everywhere it occurs
"(?<=\s[^\\]*\D)-(?=\D)" > "-\u200B" # complex RegEx rule which allow hyphens to break at end of line
at GLO "\\p \\k " > "\\ili \k " # Only in glossary, use the indented-list marker \ili in place of \p
at MAT;ACT;GAL;EPH "(\\c 1[ \r\n])" > "\\p\n\\pb\n\1" # For some books, force chapter 1 to start on a new page
at JHN 2 "grape juice" > "wine" # for any occurrences of grape juice in John chapter 2
at MAT 7:23 "आनि तेल्वि" > "आनि//तेल्वि" # Split the line right between these two words
at LUK 1:0; 2:24; 19:10; 19:13; 24:0 "\\p" > "\\p^95" # Apply a tighter (shrink) paragraph style at these locations�
in "(?s)\\m Chorus:.+?\\m": "\\p" > "\\q1" # Change all \p to \q1 but only if between \m Chorus: … \m
You can even combine these: at LUK 3:10 in "\\f .+?\\f\*": "Syria" > "Aram"
Restricting changes to an environment
385
Here, we want to shorten the Parallel Passage book names to that they easily squeeze onto a single line. So only in this context of \r … will the names be abbreviated.
in '\\r .+?\n': 'Matthew' > 'Mt'
in '\\r .+?\n': 'Mark' > 'Mk'
in '\\r .+?\n': 'Luke' > 'Lk'
in '\\r .+?\n': 'John' > 'Jn'
in '\\r .+?\n': 'Acts' > 'Ac'
Some ‘live’ examples (MRU)
386
* When working from the live project without any edit access
Practice Exercise:
387
Write some Change rules to fix the following problems:
Some ‘live’ examples (Sinhala)
388
Some ‘live’ examples (ESG)
389
* When working from the live project without any edit access
Multi-lingual headers (even in monoglot)
390
Did you know?�Some Bible publishers insist that the English book names also appear in the header!
Multi-lingual headers (automate \h1 insertion)
391
Look in Resources2Share: AddEnglishAlt-Header.txt
Or just copy the ID: "(\\id (...).+\n)" > "\1\\h1 \2\r\n"
Pre-processing the text with a custom script
392
Windows .bat (batch) file
Windows .exe executable
Python .py script
Linux .sh (shell) script
program infile outfile
Misc. Refinement Settings
393
Misc. Refinement Settings - reset values
Did you know?�You can reset values to their defaults
When you change a setting, the corresponding label becomes bold.
To reset the value back to the original default value, just click on the bold label.
394
Auto-tag \wh Hebrew\wh* & \wg Greek\wg* words
Getting rid of�Greek & Hebrew�tofu (empty boxes)
395
Auto-tag \wh Hebrew\wh* & \wg Greek\wg* words
Getting rid of�Greek & Hebrew�tofu (empty boxes)
396
Making Selah smarter!
397
Making Selah smarter!
398
at PSA "\\qr Selah" > "\\zpqr Selah\\zpqr*" ← Simple rule where just \qr was used in USFM text
at PSA, HAB "(\\q[\s\r\n+])?\\qs Selah\.?\\qs\*\.?" > "\\zpqr Selah\\zpqr*" ← Or a more complex rule if needed
�
% Move the \zpqr word up to the end of previous line (if space permits)
\sethook{start}{zpqr}{\unskip\nobreak\hfill\penalty50\hskip0.3em\hbox{}\nobreak\hfill\hbox\bgroup}
\sethook{end}{zpqr}{\egroup}
Making Selah smarter!
399
Hint: Use the buttons on the right to insert this piece of TeX code, and then tweak the marker qr > zpqr
Right-aligned, and moves up if there is space
up
400
Clickable Links, and PDF bookmarks
Did you know? (for electronic PDFs) �You can create clickable links and PDF bookmarks.
\jmp Produce a link | link-id="here" link-title="There" link-href="http://elsewhere/"\jmp*
\jmp Produce a PDF bookmark | link-id="here" link-title="a bookmark to here"\jmp*
\jmp Produce a PDF bookmark | link-id="here" outline-entry="a bookmark to here"\jmp*
\jmp Produce a PDF bookmark and a link | link-id="here" outline-entry="a bookmark to here" link-href="http://elsewhere/"\jmp*
401
402
TeXpert Hacks
Also, did you know?�You can toggle highlighting on an option using Ctrl+Click
403
Commandline options
404
C:\Program Files\PTXprint\ptxprint.exe” -b ROM -c SingleSpaceDraft -P XYZ
Prints the book of Romans for Project XYZ
C:\Program Files\PTXprint\ptxprint.exe” -h� Displays list of arguments
Deploying PTXprint rapidly (silent install)
405
If you’re fed up of installing PTXprint on multiple devices (clicking through the Next >, Next >, Next > buttons, you can always run it silently using the parameters:��/VERYSILENT �/SUPPRESSMSGBOXES �/NORESTART
It will automatically open/start once the installation is complete.
Arabic-specific Features
406
Tatweel / Kashida Insertion
Used to lengthen words for neater justified Arabic text.
407
Note that this only changes the text during typesetting and does not affect the original USFM text in Paratext.
Viewer navigation is RTL-aware!
408
End of Ayah?
409
Colored diacritics for Arabic script
410
Contextual Spaces
411
Enabling Font Features
412
413
✅
414
Setting Overrides
Project + Config Setting Overrides
Project + Config Setting Overrides
416
Project Setting Overrides
417
Config Setting Overrides
418
Project + Config Setting Overrides
Creating an override file is currently a �manual and complicated process:
419
420
✅
421
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
The End
422
Okay, this really is the end
or a new beginning…
BLR Language Technology Workshop PLAN/sequence
424
PTXprint - Bible Layout for Everyone
Using the Preview Pane to fill the page
Mark Penny, Language Technology Senior Consultant, SIL International