csquotes
automatically includes or excludes the punctuation marks in or from the quotation depending on the language specified in the preamble. This can be adjusted individually by commands like \DeclareAutoPunct{.,;!?}
etc.
british example: "This is a quote".
american example: "This is a quote."
I now designed a newcommand
that wrapps a quotation into different quotation symbols. Let just for the sake of the question this example be the case:
custom example: °This is a quote°.
I did this simply be by the following newcommand
: \newcommand{\strangequote}[1]{°#1°}
This of course does not move punctuation inside or outside the quotation marks. Could I change the command so that it does? How can I design a command that
-
also pays attention to the definitions of
\DeclareAutoPunct{.,;!?}
(so that I globally chooses for all my quotations whether to include or exclude the punctuation) or -
allows me to choose for
strangequote
individually whether or not to include the punctuation.
Can csquotes
' command \MakeForeignQuote
be of any help?
Clarification: I do want to use this command in addition to the normal command (enquote
or textquote
) that sets british or american quotation marks.
(Small question aside: I never got the difference between quote commands and the quote commands with a "c", e.g., between \textquote
and \textcquote
)
Best Answer
I've never really made
csquotes
do my bidding with trailing punctuation, so I hope someone else answers. However, with\@ifnextchar
, you can do a poor man's implementation. Where it probably fails is in respecting\spacefactor
, but maybe someone else can also point out where my hacks can be improved. Anyway...