将 biblatex 标签移至边缘

将 biblatex 标签移至边缘

我试图将所有不必要的内容移到边距。但我找不到 BibLaTeX 如何生成条目的标签(例如[1]由列表中的项目生成\cite并在其前面,不知道确切的术语)。

我希望这些标签位于边缘(通过用 围绕它们\llap)。

在之后插入以下内容\usepackage{biblatex}即可使标签消失:

\defbibenvironment{bibliography}{\list{%
    \llap{here}%
    \hspace{0.5em}%
}{%
    \setlength\leftmargin{0pt}%
}}{\endlist}{\item}

我必须插入什么代码才能here打印标签?(无论样式如何,这都应该适用于style=alphabeticstyle=numeric

(完整的例子似乎有点过度?)

底部显示预期结果

这里,[1]是硬编码的。

答案1

每种样式都会加载其.bbx文件,该文件定义了其自己的参考书目 (bib) 环境,因此我认为很难找到一种适用于所有样式的解决方案。就样式而言numeric,您可以(在文档的序言中)bibliography像这样定义 (bib) 环境:

\makeatletter
\defbibenvironment{bibliography}
{\list{\printtext[labelnumberwidth]{%
    \printfield{prefixnumber}%
    \printfield{labelnumber}}}
{\setlength{\bibhang}{0pt}%
\setlength{\leftmargin}{\bibhang}%
\setlength{\itemindent}{-\leftmargin}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}}
{\endlist}
{\item}
\makeatother

相关内容