我使用 引用我的书目文件中的元素\citet{key}
。参考文献在文本中显示为“名称 1 和名称 2(年份)”,其中年份是指向参考书目的链接。现在,我想包含一个的在作者姓名之后,例如
使用 Name1 和 Name2 (2019) 的公式,我计算出...
我可以调整\citet
命令吗?
我的使用方式biblatex
如下。
\usepackage[style=ext-authoryear-comp,
backend=biber,
natbib=true,
uniquename=false,
uniquelist=false,
giveninits=false,
dashed=false,
backref=false,
maxbibnames=99,
maxcitenames=3,
isbn=false,
doi=false]{biblatex}
答案1
产生此类引用的一个廉价方法是
\citeauthor{sigfridsson}'s \parencite*{sigfridsson}
对于大多数风格来说,这应该是开箱即用的。
如果你希望看到一个具有专用命令的解决方案,我们可以进行现代化改造奥黛丽的回答到\textcite 的作者姓名为所有格创建一个新\posscite
命令,自动在名称末尾插入“'s”。同样,此解决方案与样式无关。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=ext-authoryear-comp, backend=biber,]{biblatex}
\DeclareNameWrapperFormat{labelname:poss}{#1's}
\newrobustcmd*{\posscitealias}{%
\AtNextCite{%
\DeclareNameWrapperAlias{labelname}{labelname:poss}}}
\newrobustcmd*{\posscite}{%
\posscitealias
\textcite}
\newrobustcmd*{\Posscite}{\bibsentence\posscite}
\newrobustcmd*{\posscites}{%
\posscitealias
\textcites}
\addbibresource{biblatex-examples.bib}
\begin{document}
\posscite{sigfridsson}
\printbibliography
\end{document}
在以下文章中讨论了几种手动提供所有格标记的替代方法:添加第三个选项,用于将所有格插入 \textcite。如果您对其中一种解决方案感兴趣,它们也可以根据您的用例进行修改。
如果您想始终将“'s”附加到名称而不是“et al.”,代码会变得更长一些,因为我们不能再使用名称包装器来注入“'s”。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=ext-authoryear-comp, backend=biber,]{biblatex}
\DeclareNameFormat{labelname:poss}{%
\ifcase\value{uniquename}%
\usebibmacro{name:family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\or
\ifuseprefix
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffixi}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefixi}
{\namepartsuffixi}}%
\or
\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\fi
\ifnumequal{\value{listcount}}{\value{liststop}}
{'s}
{}%
\usebibmacro{name:andothers}}
\newrobustcmd*{\posscitealias}{%
\AtNextCite{%
\DeclareNameAlias{labelname}{labelname:poss}}}
\newrobustcmd*{\posscite}{%
\posscitealias
\textcite}
\newrobustcmd*{\Posscite}{\bibsentence\posscite}
\newrobustcmd*{\posscites}{%
\posscitealias
\textcites}
\addbibresource{biblatex-examples.bib}
\begin{document}
\posscite{sigfridsson}
\posscite{aksin}
\printbibliography
\end{document}