我有一张大表格,其中提供了文献概述并且其单元格中仅包含引文。
我使用的是数字格式的 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}}