Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

9
  • 2
    Interesting. I would first look into whether the codes of the closing quotes in the output are the same or different. (I'm not able to do that, but this might give someone else a direction.) Commented Oct 20, 2021 at 14:09
  • 4
    If the american language option is activated in biblatex, some very heavy lifting is required to move punctuation inside quotation marks. The code that does this seems to 'hide' the quotation marks from microtype in a way that stop from having the quotation marks protrude into the margin. You can check that things work if no moving around is required if you choose english instead of american and set \renewcommand*{\newunitpunct}{\addspace} to avoid the punctuation altogether.
    – moewe
    Commented Oct 20, 2021 at 15:23
  • 3
    @moewe yes, one of csquotes's kern markers ends up in the output, followed by a zero kern, which prevents pdftex from seeing this as a margin. Usually, these kern markers would be \unkerned, so I would say this is a bug/flaw in either csquotes or biblatex.
    – Robert
    Commented Oct 20, 2021 at 15:56
  • @moewe -- Brilliant observation. I'm not a biblatex user, so I wasn't aware of that. There's nothing that will persuade me to follow the "american" style of punctuation placement. It can lead to terrible mistakes and call for should-be-unnecessary technical support when blindly applied to input instructions such as 'Type this: "xxx".' Been burned; won't go back. That should be an answer. Commented Oct 20, 2021 at 18:57
  • 1
    @moewe I agree... pretty complex! However, I do think that it's the interaction of the two packages that is at fault here, since csquotes is also able to move punctuation inside the quotation (with the string from my last comment (where the full stop is outside the argument) and the definition \renewcommand{\mktextquote}[6]{#1#2#4#5#3#6}), without suppressing margin kerning. Likewise, margin kerning will work if you remove csquotes from the OP's example. So the two packages' mechanisms to shuffle punctuation around must be somehow interfering with each other in a bad way.
    – Robert
    Commented Oct 22, 2021 at 0:09