我是否错误地认为以下内容应将shorteditor
字段内容打印为参考书目列表中的前导标签?
\documentclass{article}
\usepackage[style=verbose-inote]{biblatex}
\begin{filecontents}{\jobname.bib}
@BookInBook{Lit,
title = {Deuxième livre des Épidémies},
date = 1846,
author = {Hippocrate},
booktitle = {Œuvres complètes d'Hippocrate},
editor = {Littré, Émile},
shorteditor = {Littré},
volume = {\RN{5}},
entrysubtype = {editiones},
publisher = {J.-B. Baillère},
location = {Paris},
pages = {72--139}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbiblist[title={Editiones uel studia}]{shorteditor}
\printbibliography
\end{document}
答案1
为了充分利用,\printbiblist{<label>}
您至少需要一个书目环境<label>
和一个驱动程序<label>
。对于某些字段biblatex
提供了有用的后备定义,但不适用于shorteditor
。
对于下面的 MWE,我只是shorthand
从标准样式中复制了定义。
\documentclass{article}
\usepackage[style=verbose-inote]{biblatex}
\defbibenvironment{shorteditor}
{\list
{\printnames{shorteditor}}
{\setlength{\labelwidth}{1cm}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\labelsep}{\biblabelsep}%
\addtolength{\leftmargin}{\labelsep}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}%
\renewcommand*{\makelabel}[1]{##1\hss}}}
{\endlist}
{\item}
\DeclareBibliographyDriver{shorteditor}{%
\usedriver
{\DeclareNameAlias{sortname}{default}}
{\thefield{entrytype}}%
\finentry}
\begin{filecontents}{\jobname.bib}
@BookInBook{Lit,
title = {Deuxième livre des Épidémies},
date = 1846,
author = {Hippocrate},
booktitle = {Œuvres complètes d'Hippocrate},
editor = {Littré, Émile},
shorteditor = {Littré},
volume = {\RN{5}},
entrysubtype = {editiones},
publisher = {J.-B. Baillère},
location = {Paris},
pages = {72--139},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbiblist[title={Editiones uel studia}]{shorteditor}
\printbibliography
\end{document}
这里的一个问题是,您将无法获得自动标签宽度计算,shorteditor
而必须对标签宽度进行硬编码(我选择了 1cm),因为biblatex
标签宽度计算不支持名称字段。
shorteditor
在这种情况下,我认为首先没有必要使用:毕竟只需删除给定名称shorteditor
即可从字段中获取。editor