在 biblatex 中获取真正的纯数字引用

在 biblatex 中获取真正的纯数字引用

我终于屈服了,转而使用 biblatex,至少在我的论文中是这样。我使用上标数字引用样式,效果很好。但是,有时能够说“数据取自参考文献 1”之类的话很有用。如果我使用cite{some_ref},我会得到“...来自参考文献 [1]”。根据手册,这是设计使然,但我有在 bibtex 中实现此目的的一种好方法——那么我怎样才能复制这个呢?

另外(我怀疑答案是相关的)我的参考书目列出了方括号中的引用编号。

我开始希望我坚持使用 bibtex - 与在文档中间切换的麻烦相比,使用 biblatex 的好处似乎微不足道。

答案1

你可能想尝试

\DeclareFieldFormat{labelnumberwidth}{#1}
\DeclareFieldFormat{shorthandwidth}{#1}

\DeclareCiteCommand{\cite}
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
\DeclareMultiCiteCommand{\cites}{\cite}{\multicitedelim}

在你的序言中。

前两个命令确保参考书目中的数字周围没有括号。而第二个块从中删除括号\cite{}(而其多引用版本\cites{};\parencite{}仍然有括号)。

\documentclass[english]{article}  
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=numeric, backend=biber]{biblatex}
\usepackage{hyperref}
\addbibresource{biblatex-examples.bib}

\DeclareFieldFormat{labelnumberwidth}{#1}
\DeclareFieldFormat{shorthandwidth}{#1}

\DeclareCiteCommand{\cite}
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
\DeclareMultiCiteCommand{\cites}{\cite}{\multicitedelim}

\begin{document}
  See \cite{wilde} as noted before\supercite{wilde}.
  \printbibliography
\end{document}

生产

在此处输入图片描述


由于 OP 似乎使用了numeric-comp,因此解决方法是

\DeclareCiteCommand{\cite}
  {\usebibmacro{cite:init}%
   \usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite:comp}}
  {}
  {\usebibmacro{cite:dump}%
   \usebibmacro{postnote}}

而不是\cite上面的重新定义。

因为numeric-verb

\DeclareCiteCommand{\cite}
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

相关内容