csquote:自定义引号样式

csquote:自定义引号样式

我正在排版一本以猫和其他动物的“对话”为特色的小说。

«猫是这样说话的»

“人们都是这么说话的。”

我曾经遇到过这样的事情:

\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}

但这不起作用。我想我需要cat在 中声明为一种语言babel?我无法从csquotes文档中弄清楚这是如何工作的。

答案1

您可以直接使用\setquotesyle或者更方便地定义一个\catquote命令:

示例输出

\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}

顺便说一下,\DeclareQuoteOption它仅可在配置文件中使用,旨在提供包选项。

相关内容