7

I am typesetting a novel that features “Dialogue” by cats and other animals.

« Cats speak like this »

“People speak like this.”

I've had something like this:

\documentclass{article}
\usepackage[english]{babel}
\usepackage{csquotes}

\DeclareQuoteStyle{english}%
    {\textquotedblleft}
    [\textquotedblleft]
    {\textquotedblright}
        [0.05em]
    {\textquoteleft}
    [\textquoteleft]
    {\textquoteright}


\DeclareQuoteStyle{cat}
    {\guillemotleft}{\guillemotright}
    {\guilsinglleft}{\guilsinglright}
\DeclareQuoteOption{cat}

\begin{document}
\foreignquote{cat}{Cats speak like this}
\end{document}

But this doesn't work. I think I need to declare cat as a language in babel? I can't quite figure out how this works from the csquotes documentation.

1 Answer 1

8

You can just use \setquotesyle or more conveniently define a \catquote command:

Sample output

\documentclass{article}

\usepackage[english]{babel}
\usepackage{csquotes}

\DeclareQuoteStyle{english}%
    {\textquotedblleft}
    [\textquotedblleft]
    {\textquotedblright}
        [0.05em]
    {\textquoteleft}
    [\textquoteleft]
    {\textquoteright}

\DeclareQuoteStyle{cat}
    {\guillemotleft}{\guillemotright}
    {\guilsinglleft}{\guilsinglright}

\newcommand{\catquote}[1]{{\setquotestyle{cat}\enquote{#1}}}

\begin{document}

\setquotestyle{cat}
\enquote{Cats speak like this.}

\setquotestyle{english}
\enquote{People speak like this.}

\catquote{Cats speak like this.}

\enquote{People speak like this.}

\end{document}

Incidentally \DeclareQuoteOption is only usable in a configuration file and is meant to provide a package option.

You must log in to answer this question.

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