biblatex 风格“bibtex 键”

biblatex 风格“bibtex 键”

我希望链接到参考文献的文本只是 bibtex 键。因此,使用类似这样的 bibtex 条目

@ARTICLE{Author1:2000:Topic,
  author      = {A. Author1 and B. Author2},
  title       = {Title},
  journal     = {Journal},
  year        = {2000},
  volume      = {1},
  pages       = {3--4}
}

我想要一个文内链接Author1:2000:Topic,而不是数字样式[1]或作者年份样式Author1 (2000)

的描述漂移岩软件包听起来好像可以提供该功能。但它不适用于比布拉特克斯包裹:

! Package biblatex Error: Incompatible package 'drftcite'.

我觉得这个问题相当简单,因为不需要计算任何棘手的东西。由于无论如何我都必须提供 bibtex 密钥,所以我可以将其写入文本并使用 \nocite 命令将相应的条目包含在参考列表中。但我显然缺少的是从引文到参考列表的超链接。

提供一个可以修改为答案的小工作示例:

\documentclass{article}

\begin{filecontents*}{literature.bib}
@ARTICLE{Author1:2000:Topic,
  author      = {A. Author1 and B. Author2},
  title       = {Title},
  journal     = {Journal},
  year        = {2000},
  volume      = {1},
  pages       = {3--4}
}
\end{filecontents*}

\usepackage[backend=bibtex, style=authoryear, natbib=true]{biblatex}
\bibliography{literature}

\usepackage{hyperref}

\newcommand{\drftcite}[1]{\cite{#1}}

\begin{document}
\par This is shown in \drftcite{Author1:2000:Topic}.
\printbibliography
\end{document}

pdflatex使用和编译后bibtex,我得到一个包含以下文本的pdf:

    This is shown in Author1 and Author2, 2000.

References
Author1, A. and B. Author2 (2000). “Title”. In: Journal 1, pp. 3–4.

在本文中,第一个数字2000是指向所引用参考文献的超链接。

我想要的是一个\drftcite命令,而不是Author1 and Author2, 2000用 bibtex 键写入超链接Author1:2000:Topic

答案1

引用样式draft似乎涵盖了您想要的内容:

\documentclass{article}

\begin{filecontents*}{literature.bib}
@ARTICLE{Author1:2000:Topic,
  author      = {A. Author1 and B. Author2},
  title       = {Title},
  journal     = {Journal},
  year        = {2000},
  volume      = {1},
  pages       = {3--4}
}
\end{filecontents*}

\usepackage[backend=bibtex, bibstyle=authoryear, citestyle = draft, natbib=true]{biblatex}
\bibliography{literature}

\usepackage{hyperref}

\newcommand{\drftcite}[1]{\cite{#1}}

\begin{document}
\par This is shown in \drftcite{Author1:2000:Topic}.
\printbibliography
\end{document}

这使

在此处输入图片描述

此处的引用是一个超链接。

答案2

如果您只想要一个\drftcite打印命令bibkey并且仍然希望能够使用适当的其他引用命令,您可以轻松地定义\drftcite自己。

\DeclareCiteCommand{\drftcite}
  {\usebibmacro{prenote}}
  {\printfield[bibhyperref]{entrykey}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

该命令可以像任何其他 cite 命令一样使用。

平均能量损失

\documentclass{article}
\usepackage[backend=bibtex, style=authoryear, natbib=true]{biblatex}
\usepackage{hyperref}

\addbibresource{biblatex-examples.bib}

\DeclareCiteCommand{\drftcite}
  {\usebibmacro{prenote}}
  {\printfield[bibhyperref]{entrykey}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\begin{document}
\drftcite{cicero} and \drftcite{knuth:ct:a}

\printbibliography
\end{document}

在此处输入图片描述

相关内容