Best Practices for workflow (while paginating)

Having just finished a major NT volume, I thought I’d write up some thoughts on how I organized workflow. I wrote “best practices” in the topic because that’s a well known phrase, and because “pretty good practices which could probably be improved upon” took too much space. I’m hoping over time that other people do similar things here, so that we can get good ideas for efficiency from each other.

This all takes place after the book was more or less laid out, and my one remaining task was to go through each page and make sure the lines ended at the bottom of the page. This is a step which takes many hours but is extremely repetitive–a great recipe for streamlining!

  1. I didn’t open the Changes.txt file within PTXprint–if you open it in PTXprint and also externally, you have to Refresh after each change. But by doing this I can edit it externally without needing to refresh.
  2. I opened Changes.txt in Notepad++. I then changed the “language” to “Shell”. It’s (obviously) not actually a shell document, but it uses # comment characters and so the visual, colorful markup is very helpful.
  3. In order to isolate my work environment without closing other programs, I moved three things to a new Windows desktop: Notepad++, PTXprint, and Sumatra.
  4. Each time I wanted to add a new change–95% of my changes were simply using the p^95 system to shrink and stretch paragraphs–I hit Ctrl-d in Notepad++ to add a line (I also used lots of other keycommands, but I’d recommend looking them up online as you need them. Ctrl-l (as in llama) deletes a line, etc.)
  5. I used Ctrl-arrow keys to move left and right full works instead of single characters.
  6. I used Alt-Tab to switch between programs, and Ctrl-P to print in PTXprint. My goal was to never touch the mouse or touchpad, and I could get by with that almost always.
  7. I used Book View in Sumatra so that I could see the spread as if the book were open.
  8. I worked on one book at a time, so I wouldn’t have to wait for the entire NT to compile, and when I started a book, I would only print the first 5 or so chapters. If needed after I got to the end of my range, I’d add (so “MAT 1-10”) and if a chapter ever happen to start at the top of an odd page, I would have future runs start from there (so, if ch.6 started an odd page, I would then only print “MAT 6-11”).
  9. If necessary at the end of books I’d use Changes.txt to add a blank page, so that books were always even numbers of pages long. This meant that new books always start at the beginning of an odd page (you’ll have to decide if you’re willing to have blank pages sometimes).
  10. I trained my wife to do much of this also, which saved me hours :slight_smile:
  11. As I’ve been writing this up, another idea has come to me! Likely next time I do this I’ll add PTXprint command line call to Notepad++'s macro system, so that I can print the file with a key command from Notepad++ and won’t need to have PTXprint open at all.

Those who use linux might want to look at installing the inotify-tools package, and then you can do something line:

while inotifywait -e close_write shared/ptxprint/PROJECT . ; do sleep 0.5 ; ptxprint shared/ptxprint/PROJECT/ptxprint.cfg ; done

This will run ptxprint every time you save something in shared/ptxprint/PROJECT or the current directory (after a short wait, for things to settle down). Thus all you need to do is save your work and a new version will appear in your PDF viewer.

BTW, for any new users reading this thread… No, you don’t have to do geeky things like this to use PTXprint normally. This thread is particularly suited to geeks who also happen to be using PTXprint, but doing some things in an ‘interesting’ way.

Presumably you could set up something similar to auto-print every time an AdjList or the changes.txt file is updated (and using the -P param, you could run it headless).