biblatex:在文本流中更紧密地集成 \textcite

biblatex:在文本流中更紧密地集成 \textcite

这个问题引出了包中的一个新功能:
biblatex

许多biblatex引用样式都具有\textcite以下命令:“旨在用于文本流,替换句子的主语”(手册,第 3.6.2 节)。目前,这对于单个作品的引用很有效——例如(假设风格authoryear),人们可以在来源中写入

The reference work is \textcite{knuth:ct:a}.

排版为

参考文献是 Knuth (1984)。

另一方面,引用多部作品则有些繁琐。如果简单地写(1):

Important works are \textcite{knuth:ct:a,knuth:ct:b,markey}.

输出是一个列表而不是正确的句子(2):

重要作品有 Knuth (1984);Knuth (1986);Markey (2005)。

必须写(3):

Important works are \textcite{knuth:ct:a}, \textcite{knuth:ct:b}, and \textcite{markey}.

得到(4):

重要作品有 Knuth (1984)、Knuth (1986) 和 Markey (2005)。

是否可以\textcite修改使得输入(1)产生输出(4),从而实现“在文本流中”更紧密的集成?

\documentclass{article}

\usepackage[style=authoryear]{biblatex}

\addbibresource{biblatex-examples.bib}

\begin{document}

This is how \texttt{\textbackslash textcite} currently works:\\
Important works are \textcite{knuth:ct:a,knuth:ct:b,markey}.

\bigskip

But I'd like \texttt{\textbackslash textcite} to output the following:\\
Important works are \textcite{knuth:ct:a}, \textcite{knuth:ct:b}, and \textcite{markey}.

\printbibliography

\end{document}

答案1

升级到最新的 biblatex 版本。从 biblatex 2.7 开始,此功能已纳入所有标准样式,包括authoryear及其变体。以下是示例。

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[american]{babel}
%\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[style=authoryear]{biblatex}
%\usepackage[style=authoryear-comp]{biblatex}

\addbibresource{biblatex-examples.bib}
\begin{document}
\subsection*{\texttt{authoryear} and \texttt{\textbackslash textcite}}
%\subsection*{\texttt{authoryear-comp} and \texttt{\textbackslash textcite}}
\textcite{knuth:ct:a,knuth:ct:b} \\
\textcite{knuth:ct:b,markey} \\
\textcite{bertram,knuth:ct:a,knuth:ct:b} \\
\textcite{knuth:ct:a,knuth:ct:b,markey} \\
\textcite{markey,knuth:ct:a,knuth:ct:b,bertram}
\subsection*{\texttt{authoryear} and \texttt{\textbackslash textcites}}
%\subsection*{\texttt{authoryear-comp} and \texttt{\textbackslash textcites}}
\textcites(See)(for example){knuth:ct:a}{knuth:ct:b} \\
\textcites(See)(for example)[cf.][]{knuth:ct:b}[9--18]{markey} \\
\textcites[10--15]{knuth:ct:a}[cf.][]{knuth:ct:b}[9--18]{markey} \\
\textcites{bertram}{markey}{knuth:ct:a}{knuth:ct:b} \\
\textcites{companion}{knuth:ct:a}{knuth:ct:b} \\
\textcites{aristotle:poetics}{aristotle:rhetoric}{knuth:ct:a}{knuth:ct:b}
\end{document}

authoryear以下是使用和本地化后的输出american,它启用了连续逗号:

在此处输入图片描述

authoryear-comp以下是带有本地化的输出american

在此处输入图片描述

在嵌套列表中使用连续逗号并不简单,特别是在详细样式中。改进建议可以提交给biblatex github 仓库

相关内容