Following up on my original post, I have tried to follow Bastien Dumont's advice to get book titles in title case (i.e. 'add title-case="title" in the relevant places') , however I am having no luck and running into what seems to me to be a curious issue.

I have included my minimal Markdown file, minimal json bibliography and the CSL file.

The problem: I cannot get book titles to appear in title case.

The relevant line in the CSL file would seem to be line 90.

Line-90-uppercase.png
Line-90-lowercase.png

Those experiments suggest to me that line 90 is indeed the relevant line for setting book title case.

However, if I set text-case="title" in line 90, then the book titles appear in "capitalize-first" case.

Line-90-title-case.png

But, again, as in my original post, if I insert the citation directly in LibreOffice using the Zotero plugin, the titles appear correctly, in title-case.

Insert-book-LibreOffice.png

The issue only comes up when using pandoc for conversion.

If the issue is, as Denis suggests, something to do with nesting / precedence, I would be grateful is someone could point out where my CSL file is creating that conflict. I have tried to find something but without any success.
But it seems odd to me if that is the case that I *can* set the titles to "uppercase" and "lowercase" but *not* to "title" case when changing the same line.

And, again, this only arises with pandoc conversion.

So is this something I can change in my CSL? Or is this a pandoc issue?



denis...-NSENcxR/0n0@public.gmane.org schrieb am Freitag, 20. Mai 2022 um 20:45:54 UTC+2:
> -----Ursprüngliche Nachricht-----
> Von: pandoc-...@googlegroups.com <pandoc-
> dis...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> Im Auftrag von Bastien DUMONT
> Gesendet: Freitag, 20. Mai 2022 15:43
> An: pandoc-...@googlegroups.com
> Betreff: Re: Divergent styling when using CSL in pandoc(?)
>
> [...] On the other hand,
> the specification does not define the expected behaviour for all cases. The
> issue documented by your first screenshot is a good example of that. The
> "title" macro is called on l. 332 with the attribute text-case="title", but the
> <text> element on l. 117 included in this macro has text-case="lowercase":
> which one should have the precedence? Unless I have missed something, the
> CSL specification does not define that, so Pandoc applies the attribute value
> set on the upper-most element and citeproc-js that of the inner-most
> element. Neither is wrong, so the only solution is to avoid such conflicts in
> your stylesheet (e.g. by removing the attribute on l. 332).

Good catch. I'll open an issue on the CSL schema repo. But concerning precedence have a look at https://docs.citationstyles.org/en/stable/specification.html#inheritable-name-options where you'll find:

> When an inheritable name attribute is set on cs:style, cs:citation or cs:bibliography, its value is used for all cs:names elements within the scope of the element carrying the attribute. If an attribute is set on multiple hierarchical levels, the value set at the lowest level is used.

That's about inheritable name attributes, sure. But I'd infer from that that there seems to be a preference for settings at lower levels.
Maybe we should prohibit the use of styles and text-casing with macros as these run somewhat against the purpose of macros...

Denis

--
You received this message because you are subscribed to the Google Groups "pandoc-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/4217cb45-f6db-4b04-a598-20ac2422d02an%40googlegroups.com.