![将 biblatex 缩小到一行](https://linux22.com/image/422625/%E5%B0%86%20biblatex%20%E7%BC%A9%E5%B0%8F%E5%88%B0%E4%B8%80%E8%A1%8C.png)
我在一篇文章中使用该biblatex
包,并试图在一行中列出所有参考文献,作为这个问题正在尝试执行。我尝试了提供的修复,但由于我使用的是,因此它没有按预期工作biblatex
。我尝试按照第二个答案中提到的链接进行操作biblatex
,但链接已损坏。在他的回答中,他提到了一个名为的参数\defbiblatex
,但我在 biblatex 文档中找不到它的定义。
目前,我的使用方式biblatex
如下:
\documentclass[11pt]{article}
\usepackage[
backend=biber,
style=numeric-comp,
sort=nty
]{biblatex}
\addbibresource{references.bbl}
\renewcommand{\refname}{References \vspace{-0.6\baselineskip}} % no extra vert. space after title
\setlength{\bibitemsep}{0pt} % no extra vert. space between bib items
\printbibliography
对于我来说,格式化参考书目的最简单方法是什么,以便最终的引用列表看起来像:
[1] 第 1 条 [2] 第 2 条 [3] 第 3 条 ...
答案1
步调一致的回答到将参考书目缩减为一行包含一个完全可编译的示例文档,其中准确显示了您可以做什么。无需点击任何链接即可了解答案的要点(事实上,链接腐烂是此处鼓励自包含答案的主要原因之一)。
您要查找的命令名为\defbibenvironment
。样式中的标准设置numeric
如下所示
\defbibenvironment{bibliography}
{\list
{\printtext[labelnumberwidth]{%
\printfield{labelprefix}%
\printfield{labelnumber}}}
{\setlength{\labelwidth}{\labelnumberwidth}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\labelsep}{\biblabelsep}%
\addtolength{\leftmargin}{\labelsep}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}%
\renewcommand*{\makelabel}[1]{\hss##1}}
{\endlist}
{\item}
lockstep 答案中的想法是从该定义中删除列表环境,并将所有内容作为普通文本打印在同一行中。
锁步的答案中只有一个小细节我想改变:它是为旧版本的编写的,biblatex
其中labelprefix
字段仍然称为prefixnumber
。对于当前版本的biblatex
我建议
\documentclass{article}
\usepackage[
backend=biber,
style=numeric-comp,
sorting=nty,
]{biblatex}
\defbibenvironment{bibliography}
{}
{}
{\addspace
\printtext[labelnumberwidth]{%
\printfield{labelprefix}%
\printfield{labelnumber}}%
\addhighpenspace}
\addbibresource{biblatex-examples.bib}
\begin{document}
\nocite{sigfridsson,worman,geer,nussbaum}
\printbibliography
\end{document}
请注意,指定排序的选项被称为sorting
而不是sort
。