我为我的文档定义了两个引用命令:
\newcommand{\mcite}[1]{\textcolor{black}{\citeauthor{#1} (\citeyear{#1})}}
\newcommand{\hcite}[1]{(\textcolor{black}{\citeauthor{#1}, \citeyear{#1}})}
引用作者(日期)和(作者日期)。
但是,我希望这些 cite 命令能够在文档中生成可点击的引用(不能与hyperref
like一起使用\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}