如何使用 csquotes 正确引用?

如何使用 csquotes 正确引用?

我不确定如何使用 csquotes 和\textquote和正确引用\blockquote。在文档中,我发现了以下一般建议:\blockquote[cite][punct]{text}tpunct但我不确定如何真正使用它来获得一致的引用。我正在使用\autocitebiblatex,所以目前我这样写:

\textquote{Knuth wrote in his famous book that LaTeX is superb} \autocite[86]{Knu86}.

我敢打赌这不是解决问题的办法,而且我总是混淆}“、”(Citation)和标点符号的位置。

如何正确地做到这一点?

答案1

我不太确定从你的角度来看什么是“正确”什么是“错误”,或者你认为目前得到的结果到底有什么问题。也许举个简单的例子会有帮助。

这是我所做的,也是我一直以来(大约 5 年来)按照我的标准得出的正确输出。随着时间的推移,我将输入引号的不同方式减少到两种:

对于简短的引文,或者不是引文但只需要单引号或双引号的内容,我\MakeAutoQuote在序言中使用,所以我所要做的就是直接输入引号,csquotes剩下的就交给它吧(引号有效地触发\enquote\enquote*IIRC)。我在键盘上的 [alt gr] + [2...5] 上放置了», «, , ,这在这里很有帮助。如果我想让它后面跟着引用,我会添加普通的旧版,\cite{...}由 处理biblatex

对于较长的引文,可能必须在输出中转换为显示引号,我使用\blockcquote[123]{Knuth82}{blabla}。当然,csquotes这将决定引号是否必须转换为显示引号。也就是说,对于我可以自由设计布局的文本,我完全禁用了显示引号:\SetBlockThreshold{99},加上重新定义显示引号的样式。它们像文本引号一样用引号标记,而且它们的左边距减少了\parindent.(虽然后者不是示例的一部分)...

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern,blindtext}

\usepackage[style=authoryear,autocite=footnote]{biblatex}
\usepackage[german=guillemets]{csquotes}

\MakeAutoQuote{»}{«}
\MakeAutoQuote*{›}{‹}
\SetCiteCommand{\autocite}

\begin{document}
»Knuth wrote in his »famous« book that LaTeX is superb«
\blindtext
\blockcquote[pre][post]{cite}{\blindtext etc}.
\end{document} 

我不会随意cquotes使用标点符号,我更喜欢自己控制它。除非我必须遵循别人的风格指南(或用英语写作),否则我的顺序总是:

[引文] - [结束标记] - [句号或其他标点符号] - [脚注标记]

在此处输入图片描述

答案2

对于哈佛引用风格,我现在使用类似这样的风格:

\blockquote[{\cite[109]{key}}]{Some interesting quote.}

对我来说,它实现了预期的结果:

引文(姓名+年份,第 109 页)

它也适用于 \textquote,但请注意标准格式选项{}中的额外内容: 没有它们,它对我来说不起作用。[cite]\blockquote[cite][punct]{text}tpunct

答案3

由于声誉不够,我需要回答而不是评论。但我认为有些人可能会发现知道 Thomas K 使用和获得的输出不同很有用,\blockcquote因为\blockquote这两个命令都有不同的钩子来打印最终输出。

对于\blockquote它是\mkcitation用空格和括号定义的:\newcommand*{\mkcitation}[1]{ (#1)}。对于\blockcquote它是\mkccitation用空格但不带括号定义的:\newcommand*{\mkccitation}[1]{ #1}。因此,如果您重新定义,\mkccitation您可以使用\blockcquote,并且您会得到相同的输出,而不必每次\cite都结合使用。\blockqote

相关内容