Biblatex:cite 命令可以创建不带括号的数字引用吗?

Biblatex:cite 命令可以创建不带括号的数字引用吗?

我有一张大表格,其中提供了文献概述并且其单元格中仅包含引文。

我使用的是数字格式的 biblatex,因此来源通常被引用为

  • [33],
  • [35-37, 49]
  • [123,第54f条]等等。

括号需要很大的空间(表格有很多列),所以我想(仅)在这个表格中删除它们:
是否有一个\cite命令只提供数字键(和页面)而不提供括号,例如

  • 33
  • 35-37, 49
  • 123,第 54f 页

笔记:我需要这个修改,不需要 []仅限此一张表,不在文档的其余部分!

答案1

编辑:根据马丁使用的评论更改了答案numeric-comp

您可以创建一个新的引用命令,该命令基于以下代码numeric-comp.cbx

默认设置为:

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

因此你创建:

\DeclareCiteCommand{\tabcite}%[\mkbibbrackets]
  {\usebibmacro{cite:init}%
   \usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite:comp}}
  {}
  {\usebibmacro{cite:dump}%
   \usebibmacro{postnote}}

现在使用\tabcite{<key>}

这是一个简单的例子:

\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{test,
author={Vorname Name},
title ={The Title},
year={2011}
}
\end{filecontents*}
\documentclass[a4paper]{article}
\usepackage[style=numeric]{biblatex}
\bibliography{\jobname}
\DeclareCiteCommand{\tabcite}%[\mkbibbrackets]
  {\usebibmacro{cite:init}%
   \usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite:comp}}
  {}
  {\usebibmacro{cite:dump}%
   \usebibmacro{postnote}}

\begin{document}
\cite{test}\qquad\tabcite{test}

\printbibliography
\end{document}

我使用 biblatex v1.6。

在此处输入图片描述

答案2

我只是重新定义\mkbibbrackets为在表创建的组内不执行任何操作。

\documentclass{article}

\usepackage{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}

\begin{table}
\renewcommand{\mkbibbrackets}[1]{#1}
\centering
\begin{tabular}{c}
\autocite[99]{A01}
\end{tabular}
\caption{A table}
\end{table}

Some text \autocite[99]{A01}.

\printbibliography

\end{document}

答案3

将其放在表格前面:

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

然后在表格后面放回正常的数字样式定义:

\DeclareCiteCommand{\cite}[\mkbibbrackets]
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

相关内容