Citet 命令不是 Biblatex 的选项

Citet 命令不是 Biblatex 的选项

我对 LaTeX 等还不太熟悉,所以如果这是一个初学者的问题,请原谅我。

我想按照以下格式在我的文档中引用参考文献:

根据 Powell 等人 (2007) 的说法......

这是最好的方法(Powell 等,2007)

等等。据我所知,我想使用authoryear样式来实现这一点。我遇到的问题是得到第一个结果时年份用括号括起来。

这是我的代码:

\documentclass[12pt]{article}
\usepackage{lmodern}
\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage{filecontents}
\addbibresource{\jobname.bib}
\usepackage[
backend=biber,
style=authoryear,
maxcitenames=2,
bibencoding=latin1
]
{biblatex}

\begin{filecontents}{\jobname.bib}

 @article{powell2007fastfood,
 title={The availability of fast-food and full-service restaurants in 
 the United States: associations with neighborhood characteristics},
 author={Powell, Lisa M and Chaloupka, Frank J and Bao, Yanjun},
 journal={American journal of preventive medicine},
 volume={33},
 number={4},
 pages={S240--S245},
 year={2007},
 publisher={Elsevier}
}
\end{filecontents}

\begin{document}

Here you see \cite{powell2007fastfood}
Here you can also see \parencite{powell2007fastfood}
Also, you have \textcite{powell2007fastfood}

\printbibliography
\end{document}

因此,前两个\cite\parencite起作用了。它们产生了预期的结果:

这里您可以看到 Powell 等人 2007

您还可以在这里看到(Powell 等人,2007)

对于\textcite,我必须手动输入(使用 Texmaker 提供的自动完成或自动建议选项),然后输入命令后,我还必须手动输入引文 ID。然后当我编译时,它给了我错误消息“未定义的控制序列”。这就像命令\textcite根本无法识别一样。这是什么原因造成的?

另外,我更喜欢在作者/等人和年份之间加逗号的样式,所以

Powell 等人,2007 年

但我也尝试探索不同的引用风格来得到我想要的东西。

答案1

大多数biblatex样式都提供各种引用命令。您可以在 §3.8 中找到所有标准样式以及大多数贡献样式的功能引文命令及其第 100-110 页的小节,biblatex文档

authoryear以下示例显示了样式的最常见引用命令

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear, backend=biber]{biblatex}

\addbibresource{biblatex-examples.bib}

\begin{document}
\autocite{sigfridsson}

\cite{sigfridsson}

\parencite{sigfridsson}

\textcite{sigfridsson}

Lorem\footcite{sigfridsson}

\fullcite{sigfridsson}

\printbibliography
\end{document}

(Sigfridsson 和 Ryde 1998)//Sigfridsson 和 Ryde 1998//(Sigfridsson 和 Ryde 1998)//Sigfridsson 和 Ryde (1998)//Lorem 脚注 1 完整引文如下//Emma Sigfridsson 和 Ulf Ryde (1998)。“从静电势和力矩推导原子电荷的方法比较”。在:《计算化学杂志》19.4,第 377-395 页。doi:10.1002/(SICI)1096-987X(199803)19:4<377::AID-JCC1>3.0.CO;2-P

这些命令的行为\autocite(我极力推荐使用它们)可以自由配置。默认情况下,它的行为类似于\parencite或适用于大多数标准样式(对于和样式系列的样式,\footcite它的行为类似于大多数其他样式)。但如果您愿意,您可以轻松切换到脚注引用。只需查看选项即可。\footciteauthortitleverbose\parenciteautocite

这些命令是否出现在编辑器的某些自动完成功能中并不重要。它们由所有biblatex标准样式和所有良好的贡献样式定义,因此应该可以工作。如果您的编辑器的自动完成功能不显示这些命令,那么您可以向编辑器的开发人员或自动完成功能的作者提出这个问题。(但另请参阅Texmaker 引文的自动完成功能Biblatex - Texmaker 自动完成命令

有一个natbib兼容性选项,允许您使用 的natbib等效短名称来代替\parencite\textcite(即\citep\citet)。我通常会尽量避免使用该选项,因为 和 名称的星号形式的引文命令的处理方式不同biblatexnatbib此外,natbib兼容模式会更改 的定义,这意味着和/nameyeardelim中的作者和年份之间会有一个逗号。另请参阅\cite\parencite\citep将 natbib=true 与 biblatex 一起使用有什么缺点吗?


如果你想在作者和年份之间看到逗号,你可以设置

\DeclareDelimFormat{nameyeardelim}{\addcomma\space}

natbib不需要兼容模式。

相关内容