使个人定义的引用命令可点击

使个人定义的引用命令可点击

我为我的文档定义了两个引用命令:

\newcommand{\mcite}[1]{\textcolor{black}{\citeauthor{#1} (\citeyear{#1})}}
\newcommand{\hcite}[1]{(\textcolor{black}{\citeauthor{#1}, \citeyear{#1}})}

引用作者(日期)和(作者日期)。

但是,我希望这些 cite 命令能够在文档中生成可点击的引用(不能与hyperreflike一起使用\cite)。有什么建议吗?

答案1

一般而言,尝试将 的多个biblatex命令合并\...cite为一个命令不是一个好主意\newcommand。像这样定义的命令通常需要大量的变通方法才能正确处理前注和后注(即\cite[123]{sigfridsson}\cite[Cf.][]{sigfridsson}\cite[Cf.][223]{sigfridsson})。此外,在处理对多个作品的引用时,它们通常会出现极端问题(\cite{sigfridsson,worman})。最后但并非最不重要的是,像这样定义的引用命令可能会导致 的引用biblatex跟踪器混乱(这主要是理论上的担忧,但我想只要有足够的聪明才智,就可以创建一个有问题的例子)。

在几乎所有情况下,新biblatex \...cite命令都应通过来定义\DeclareCiteCommand

然而,在您的情况下,没有必要这样做,因为\mcite本质上\textcite或多或少\hcite假设\parencite您使用作者年份引用样式。

\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}
\cite{sigfridsson}

\textcite{sigfridsson}

\parencite{sigfridsson}

\printbibliography
\end{document}

Sigfridsson 和 Ryde 1998//Sigfridsson 和 Ryde (1998)//(Sigfridsson 和 Ryde 1998)

相关内容