comic script template - panel counts @ top of page

At the top of the Comic Page Script developed by Antony Johnston, the page number is rendered via a variable pattern like this:

Page <$N>

And individual panels are rendered similarly:

Panel <$SN>

What I’d like to do, is have the top of the template be able to count the total number of panels, and render something like this:

Page 12 - (5 panels)

Would this require adding new features to Scrivener? Or is there already enough logic built-in to where I just need to modify the template?

I’d like to replace “Page <$N>” with something like:

“Page <$N> - (<$variable-equal-to-total-number-of-panels-on-the-page> panels)”

Is this something users can do, or would this require a new feature?

Hello Citizen!

Fellow Scrivener user here, dropping by with a pointer and maybe a solution – until more important people come by to help you.

A) If you want to see what you can do by way of tweaking the placeholder tags for the template, you should take a look at the placeholder tags list – which can be found in Scrivener under the menu Help > Placeholder Tags List. There is some fun stuff in there.

B) Here is a kind of solution for you. Here are two pages worth of incrementing tags that produce a sample of the right results:

PAGE <$N:PG><$RST_PNL> (<$N#PNL:LAST> panels)
PANEL <$N:PNL:<$SN>>
PANEL <$N:PNL:<$SN>>
PANEL <$N:PNL:LAST>

PAGE <$N:PG><$RST_PNL> (<$N#PNL:LASTk> panels)
PANEL <$N:PNL:<$SN>>
PANEL <$N:PNL:<$SN>>
PANEL <$N:PNL:<$SN>>
PANEL <$N:PNL:LASTk>

The compiled output you get is just what you wanted:

PAGE 1 (3 panels)
PANEL 1
PANEL 2
PANEL 3

PAGE 2 (4 panels)
PANEL 1
PANEL 2
PANEL 3
PANEL 4

The trouble here is that the last panel placeholder tag on each page would need a unique keyword. In my example, the keyword is LAST – which must occur twice on the first “page”. On the second page the keyword used is LASTk.

If providing a unique keyword for each page (and putting it in the two placeholder occurrences needed) works for you, then this is a working solution for you.

Ideally, one would like to further automate this, so you did not have to tweak the placeholder tags on each page, but my attempts to achieve this failed. The trouble is that now you would need an automatically generated keyword that is different for each page but that you know what it is already at the top of the page and can use again with the last panel. It seemed like using LAST<$N:PG> in place of the keywords LAST and LASTk should have worked – since the page number is handily incrementing at just the right moment (thus dynamically yielding unique keywords LAST1 LAST2 …), and Scriv does let you nest placeholder tags, but this particular gambit did not work for some reason.

In the way Scrivener placeholders work, there seems to be a tension between wanting to cross-reference them and having them increment automatically. To refer to one it must be outfitted with a keyword, but once you outfit one with a keyword, further instances of that placeholder number will not increment unless they have a different keyword. That looks to me like the interesting challenge to trying to do what you want to do in a fully automated way.

–gr

GR: thanks so much for the suggestions. I’m going to give this a try. I’ll report back with my experience.

Hello again, I’m afraid the above solution is just a bit too complicated to make the process flow naturally.

Are there any new features in Scivener 3 that might make this problem more naturally solvable?