![如何强制 csquotes 显示块引用中的引号?](https://linux22.com/image/264302/%E5%A6%82%E4%BD%95%E5%BC%BA%E5%88%B6%20csquotes%20%E6%98%BE%E7%A4%BA%E5%9D%97%E5%BC%95%E7%94%A8%E4%B8%AD%E7%9A%84%E5%BC%95%E5%8F%B7%EF%BC%9F.png)
我怎样才能强制csquotes
包在我的块引用中始终显示引号,而不管语言等如何......?
尝试过这个,但没有效果:
\usepackage{csquotes}[english=british] % hopefully this will show quotes
另外,还有一个解决方案这里使用:
\renewenvironment{quoteblock}{\openautoquote}{\closeautoquote}
但它似乎quoteblock
在最近的版本中被删除了。
答案1
Indeedquoteblock
在 5.0 版中被删除了csquotes
。现在,行为由 和 亲属 控制\mkblockquote
,\blockquote
由环境和 亲属 的配对\mkbegdispquote
和控制。所有这些都必须重新定义:\mkenddispquote
displayquote
\documentclass{article}
\usepackage[british]{babel}
\usepackage{csquotes}
% for commands "\blockquote" and related:
\renewcommand{\mkblockquote}[4]{\openautoquote#1\closeautoquote#2#4#3}
% for environments "displayquote" and related:
\renewcommand{\mkbegdispquote}[2]{\openautoquote}
\renewcommand{\mkenddispquote}[2]{\closeautoquote#1#2}
\usepackage{kantlipsum}% for some dummy text
\begin{document}
\kant[1]
\noindent\hrulefill
\blockquote{%
% extract from \kant[2]%
Let us suppose that the noumena have nothing to do with necessity,
since knowledge of the Categories is \enquote{\textbf{a posteriori}}.
Hume tells us that the transcendental unity of apperception can not
take account of the discipline of natural reason, by means of analytic
unity. As is proven in the ontological manuals, it is obvious that the
transcendental unity of apperception proves the validity of the
Antinomies.%
}
\noindent\hrulefill
\begin{displayquote}
% extract from \kant[3]%
As is shown in the writings of Aristotle, the things in themselves
(and it remains a mystery why this is the case) are a representation
of time. Our concepts have lying before them the paralogisms of
natural reason, but our \enquote{\textbf{a posteriori}} concepts have
lying before them the practical employment of our experience.
\end{displayquote}
\end{document}
还要注意,语言是在babel
此处设置的,并csquotes
读取此设置(请参阅包选项autostyle
)。我故意\enquote
在两个 blockquote 变体内添加了一个命令(在输出中标记为粗体)。顺便说一下,这polyglossia
也是可能的。
如果这不是您想要的,我只能建议您阅读(在文档中csquotes
)所写的内容,从包选项threshold
,thresholdtype
到parthreshold
命令\blockquote
和显示环境部分。
答案2
一个简单而优雅的解决方案是使用包quoting
,选项为begintext
和endtext
。MWE:
\documentclass{article}
\usepackage{csquotes}
\usepackage[begintext=``, endtext='']{quoting}
\SetBlockEnvironment{quoting}
\SetBlockThreshold{1}
\usepackage[utf8]{inputenx}
\usepackage[T1]{fontenc}
\usepackage[nopar]{lipsum}
\begin{document}
\lipsum[1]
\blockquote{\lipsum[3]}
\lipsum\par
\end{document}
这将给出输出: