使用 biblatex 时结束引号和标点符号

使用 biblatex 时结束引号和标点符号

这似乎是一个基本的问题,但我一直找不到明确的答案。所讨论的文化背景是美式英语。

在 biblatex 中将引文放入脚注时(我使用的是biblatex-chicago),我一直遵循的规则是将引文命令放在括号中的位置:在引文末尾之后和最后一个标点符号之前。但最终结果是标点符号位于引文之后,例如“这是我的引文”。1 正确的标点符号应该是“这是我的引文”。1 如何自动完成此操作?

以下是一个示例文档:

\documentclass[]{article} 
\usepackage[]{setspace} 
\usepackage[utf8]{inputenc} 
\usepackage[american]{babel} 
\usepackage[]{csquotes} 
\usepackage[backend=biber,bibencoding=utf8]{biblatex}
\usepackage[]{hyperref} 
\bibliography{mybib} 
\begin{document} ``This is a quote''\autocite[1]{mysource}. 
\end{document}

答案1

在很大程度上,您可以通过biblatex加载babel[american]选项自动获取美式标点符号模式。

对于你的书目项目本身

如果您 babel使用选项加载包[american]biblatex将自动将标点符号放在引号内。手册第 3.91 节对此进行了解释biblatex

对于文中引用

自动执行此操作的最佳方法是使用包\textquote的命令csquotes。您需要更改引文的引用部分的默认格式,并且需要重新定义命令\mktextquote。这在手册的第 9.2 节中有说明csquotes

以下是一个示例文档。请注意,文本引文和参考书目项中的引号位置符合美国标准。示例在biblatex-chicago加载包后的工作方式相同。

\documentclass[12pt]{article}
\usepackage[citestyle=verbose]{biblatex}
%\usepackage{biblatex-chicago} % or load this instead
\usepackage[american]{babel}
\usepackage{csquotes}
\renewcommand{\mktextquote}[6]{#1#2#4#5#3#6}
\renewcommand*{\mkcitation}{}
\bibliography{biblatex-examples}
\usepackage{lipsum}
\begin{document}

Here is a quotation \textquote[\autocite{shore}]{Some text}.

\end{document}

代码输出

相关内容