我在我的论文中使用csquotes
添加引文,我需要将文内引文(短引文)和段落引文(分成缩进段落的长引文)斜体化(变为草书)。
我已经尝试过这里描述的解决方案:如何告诉 csquotes 将引号变为斜体?
但是对于第一个解决方案,我无法弄清楚如何在不切换到法语 babel(会将我的所有标题更改为法语)的情况下使其工作,并且它不会将段落引用斜体化。
第二种解决方案适用于短引文,但我不知道如何使其适应\blockquotes
格式:\blockquote[citation]{quote}
,因为它会将引用斜体化而不是引文。
答案1
对于块引用,你需要大致如下:
\patchcmd{\csq@bquote@i}{{#6}}{{\emph{#6}}}{}{}
完整 MWE:
\documentclass{article}
\usepackage{csquotes}
\usepackage[american]{babel}
\makeatletter
\patchcmd{\csq@bquote@i}{{#6}}{{\emph{#6}}}{}{}
\makeatother
%%% if you want italic quotation marks as well
%\DeclareQuoteStyle{american}[][]
% {{\itshape\textquotedblleft}}[]{{\itshape\textquotedblright}}
% [0sp]
% {{\itshape\textquoteleft}}[]{{\itshape\textquoteright}}
\begin{document}
hello all
\blockquote[example]{some \enquote{text} here}
and goodbye
\end{document}
答案2
对于 blockquotes,您可以使用\SetBlockEnvironment
csquotes 包中的命令。首先必须定义一个斜体引号环境,然后告诉 csquotes 将其用于块引用。
对于内联引号,您可以使用 定义自己的引号样式\DeclarQuoteStyle
。它采用可选参数outer init
和,inner init
您可以在其中分别提供在开始外部和内部引号之前要执行的命令。然后使用 来使用您的自定义样式\setquotestyle
。
\documentclass[12pt]{article}
\usepackage{csquotes}
% Make block quotes italic
\newenvironment{italicquote}{\quote\itshape}{\endquote}
\SetBlockEnvironment{italicquote}
% Make inline quotes italic, too
\DeclareQuoteStyle{italic}[\itshape][\itshape]
{\textquotedblleft}{\textquotedblright}
{\textquoteleft}{\textquoteright}
\setquotestyle{italic}
\usepackage{lipsum} % for dummy lorem ipsum text
\begin{document}
% Test inline quotes
This is a test, what happens if I \enquote{enquote some text \enquote{and use an inner quote}}?
\lipsum[1]
% Test display block quotes
\begin{displayquote}
\lipsum[2]
\end{displayquote}
\lipsum[3]
% Test a block quote with citation
\blockquote[citation]{This is a block quote. It is italicized, but the citation is not.}
\end{document}