我正在使用biblatex
它来制作包含以下几个部分的书目:
\defbibheading{cvpubs}[List of Publications]{\section{#1}}
\defbibheading{subbibliography}{\noindent\bfseries\itshape{#1}}
\printbibheading[heading=cvpubs]
\printbibliography[env=nolabel,sorting=ydnt,keyword=peer,heading=subbibliography,title={Peer-reviewed articles}]
\printbibliography[env=nolabel,sorting=ydnt,keyword=chapter,heading=subbibliography,title={Book chapters}]
% and so on ...
现在我需要在条目左侧用星号标记某些条目。如下所示:
* Besserwisser, John (2007)。“无论你说什么,你都是错的”。刊于:万事通杂志。(1)1。第 1-19 页。
这可能吗?
PS 如果您想知道为什么有人会想做这样的事情:就我而言,资助机构只是要求我用星号标记我出版物清单中的某些出版物。但您也可以使用它来标记阅读清单中的必读内容或推荐阅读内容等。
答案1
asterisk
这是一种通过向文件条目添加新字段来实现的方法bib
。解决方案需要biber
。
\begin{filecontents}{biblatex-dm.cfg}
\DeclareDatamodelFields[type=field,datatype=literal]{asterisk}
\end{filecontents}
上面的代码是用新字段来扩展数据模型asterisk
。
\renewbibmacro{begentry}{%
\iffieldundef{asterisk}
{}
{*\addspace}%
}
编辑一种更简单的方法是创建一个新的类别,以便用星号标记条目
\DeclareBibliographyCategory{asterisk}
然后将要标记的条目添加到此类类别中
\addtocategory{asterisk}{key1,key2, ...}
其中key1
,,key2
...是bib
需要标记的条目的键,最后
\renewbibmacro*{begentry}{\ifcategory{asterisk}{*\addspace}{}}