法语引用 blockquote 和斜体 foreignquote

法语引用 blockquote 和斜体 foreignquote

我尝试生成一个正确的blockquoteforeignblockquote以 开头«并以 结尾»

我已经拥有的:

« 法语测试 » (引文)

«英文測試» (引文)

我想要的是 blockquote/foreignblockquote:

«
测试
(引文)

«测试

» (引文)

这里是 mwe:

% !TEX encoding =  UTF-8 Unicode
% -*- program: xelatex -*-
\documentclass[a4paper, 11pt,twoside, openright]{memoir}
\usepackage{polyglossia}
\setdefaultlanguage{french}
\setotherlanguage{english}
\setotherlanguage[variant=ancient]{greek}
\setotherlanguage{latin}
\usepackage[autostyle=true,french=guillemets,maxlevel=3]{csquotes}
%% QUOTE FRENCH ITALICS
\renewcommand{\mktextquote}[6]{%
  #1%
  \iflanguage{english}{\itshape}{}% ADDED
  #2#4#3#6#5%
}

\renewcommand{\mkblockquote}[4]{%
  \iflanguage{english}{\itshape}{}% ADDED
  #1#2#3#4%
}

\DeclareQuoteStyle{english}
  {\mkfrenchopenquote{\guillemotleft}\itshape}
  {\itshape\mkfrenchclosequote{\guillemotright}}
  {\textquotedblleft\itshape}
  {\itshape\textquotedblright}

\begin{document}

    \enquote{Test in french}

    \blockquote{Test \\ in \\ french}

    \foreignquote{english}{Test in english}

    \foreignblockquote{english}{Test \\ in \\ english}

\end{document}

答案1

您的english引文风格充斥着\itshapes,除了开头的引号之外,其他都用到了。这很奇怪,而且也使您使用的条件变得多余。

我可能遗漏了您用例的一些要点。不过,这里有一些更精简的代码可以解决您的问题:

\usepackage[autostyle,maxlevel=3]{csquotes}

\renewcommand{\mkblockquote}[4]{%
  \openautoquote#1\closeautoquote#2#3#4} % <--------- HERE IS THE FIX

\DeclareQuoteStyle{english}
  {\itshape\mkfrenchopenquote{\guillemotleft}}
  {\mkfrenchclosequote{\guillemotright}}
  {\textquotedblleft}
  {\textquotedblright}

\mkblockquote关键部分是对我所介绍的地方\openautoquote\closeautoquote周围的更新#1

相关内容