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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.