引用时使用撇号 s

引用时使用撇号 s

我使用 引用我的书目文件中的元素\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}

Sigfridsson 和 Ryde(1998)

在以下文章中讨论了几种手动提供所有格标记的替代方法:添加第三个选项,用于将所有格插入 \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}

相关内容