Dropping cs:substitute?

You are right – sorry, I had overlooked the relevant sentence:

1 Like
  1. A. Author. A rather long booktitle (henceforth booktitle). Publisher 2020.

Or, as per @gduffner,

  1. A. Author. A rather long booktitle. Publisher 2020. [cited as booktitle]

The second format is popular in law scholarship in German.

Hmm. A consistent rule would be then: “A variable rendering in the same form is suppressed. For the purposes of suppression, a title variable rendered with form=“full” is considered to be match all of form=“full”, form=“main”, and form=“sub”,

That would cover both rendering both long and short, as well as handle main+sub.

1 Like

I think that makes sense. While form=“main” and form=“sub” are the constituent parts of form=“full”, form=“short” is not necessarily contained in form=“full”. title-short or title form=“short” should be treated as a variable in its own right.

1 Like

Yeah, that makes sense as a general rule.
Will there still be cases where force="true" could be needed? Or would it hurt adding it anyway, just in case…?

I would quite strongly encourage you to add it: it’s not going to add materially to the cost of either parsing CSL or checking whether a variable should be rendered, and the logic here is getting confused enough that I wouldn’t be surprised if someone, sometime, needs a variable to be printed in a situation where left to itself the processor wouldn’t!

2 Likes

I’d call the attribute never-suppress="true".

1 Like

I don’t care hugely but (a) isn’t that potentially confusing (because suppression in a sense happens when the variable is printed for the first time not later, but I may be thinking this through from the processor point of view rather than the user’s) and (b) isn’t a positive statement clearer? Agree that “force” is computerspeak and best avoided. What about always-output="true" or repeat-output="true" or repeatable="true"?

2 Likes

I appreciate the focus on clarity to style authors!

I like either of the “repeat” options.

Perhaps just repeat="true"?

They’re different grammatical forms (verb vs adjective); which better reflects the actual behavior?

I think repeatable="true" is clearest.

2 Likes