我的问题与此类似一,只不过我使用的是biblatex
而不是bibtex
。我搜索了手册和 TE,但我只能找到如何使用 提供的自定义标签的答案biblatex
,而找不到如何完全避免它的答案。谢谢!
这是 MWE。基本上,我使用两个书目:一个“正常”在末尾,一个“特殊”在文档中间,仅包含具有关键字的条目。对于这个特殊书目,我想避免使用标签。
\documentclass[12pt,twoside,openright,a4paper,oldfontcommands]{memoir}
\usepackage[sorting=nty, maxnames=99, firstinits=true, backend=biber]{biblatex}
\addbibresource{database.bib}
\begin{document}
\nocite{key}
\printbibliography[heading=none, sorting=ydnt, keyword=SelectFromHugeBibliography]
\end{document}
答案1
通常,人们会选择没有标签的参考书目样式,例如bibstyle=authortitle
。但是,对于有两个参考书目的情况,这实际上不可行。
您可以定义一个bibenvironment
抑制标签的自定义并将其用于文档中间的参考书目。
我们可以以标准authortitle
定义为基础
\defbibenvironment{midbib}
{\list
{}
{\setlength{\leftmargin}{\bibhang}%
\setlength{\itemindent}{-\leftmargin}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}}
{\endlist}
{\item}
当然,你可以根据自己的喜好改变这一切(参见§3.7.7书目标题和环境,第 90 页和 §4.2.2书目环境,第 148 页biblatex
文档)。
env
对于你的特殊参考书目,你只需通过选项 (指定特殊环境env=midbib
;参见§3.7.2参考书目,第 83 页biblatex
文档)
\printbibliography[heading=none, sorting=ydnt, env=midbib, keyword=primary]
\printbibliography
没有明确选项使用的标准环境env
会按预期保留标签。
平均能量损失
\documentclass{article}
\usepackage[sorting=nty, maxnames=99, firstinits=true, backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}
\defbibenvironment{midbib}
{\list
{}
{\setlength{\leftmargin}{\bibhang}%
\setlength{\itemindent}{-\leftmargin}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}}
{\endlist}
{\item}
\begin{document}
\nocite{wilde,aristotle:physics}
\printbibliography[heading=none, sorting=ydnt, env=midbib, keyword=primary]
\printbibliography
\end{document}