2

If you want to quote a text with footnotes, and want to place/position the notes just after the quotation paragraph :
— It works perfectly with \enquote, \textquote
— It doesn't work well with \blockquote, \foreignblockquote

Indeed, to check if the text will be greater than the threshold, the text is typeset in a box, and then typeset a second time in the document (inline or as a distinct paragraph, depending on the size of the text). So there the parnotes appears twice.

Symptom:
— The code:

\documentclass[french, a4paper, 12pt, onecolumn, twoside, final]{book} 
%Options notitlepage, openany
\usepackage[autostyle]{csquotes}
\usepackage[narrower, breakwithin, indentafter]{parnotes}
\begin{document}
\blockquote[\footnote{Bruno Blanckeman}]{« Des légistes expertisent sa
    disparition : le roman français est mort depuis…, depuis…, depuis…
    \parnote{Au choix : Jean-Paul Sartre, Honoré de Balzac, Chrétien de Troyes} »}
\end{document}

— In the document, below the paragraph, you see:
1. Au choix : Jean-Paul Sartre, Honoré de Balzac, Chrétien de Troyes
2. Au choix : Jean-Paul Sartre, Honoré de Balzac, Chrétien de Troyes

As a workaround, you can modify the sty file of csquote, or patch the \csq@bquote@i macro.
Add this line:

\def\parnote{}

after this one:

\setbox\@tempboxa=\vbox{

Note that the parnotes package must have been loaded before the above modification.

That was extremly long and painful to find this. But really interesting! I learned TeX a little bit more. The code of the csquote package is still obscure to me…

So the questions are: What is the best way enable compatibility between these 2 packages, automatically (so that there is no need to know this workaround)? What to tell the maintainers? How the compatibility problems are usually solved? Is these a best way, or a recommended one? Here, the code can be improved or do we need to check in csquotes if the parnotes package has been loaded?

Can you answer the question(s) for this specific problem (and then in a general way if there is something to say)?

Thanks

2
  • csquotes provides an interface to redefine problematic commands: \BlockquoteDisable{\let\parnote\@gobble}.
    – Robert
    May 27, 2016 at 1:04
  • Thanks Robert, I didn't know that. But is there a way to make these 2 packages fully compatible, ie without this workaround? What solution could I propose to the csquote maintainer?
    – user73438
    May 27, 2016 at 14:45

1 Answer 1

2

The workaround I used:

\makeatletter
\patchcmd% No prefix []
  {\csq@bquote@i}% <cmd>
  {\csuse{csq@bcount@\csq@thresholdtype}}% <search>
  {\def\parnote{}%
    \csuse{csq@bcount@\csq@thresholdtype}}% <replace>
  {}{}% <success><failure>
\makeatother

But this is better, thanks to Robert:

\makeatletter
\BlockquoteDisable{\let\parnote\@gobble}
\makeatother

The problem I described was documented, §11.3 in csquotes.

So much time lost! I hope this compatibility problem will be solved, without doing anything else than loading the 2 packages, to spare your time…

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .