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