Biblatex:缩进会议论文集标题的第二行?

Biblatex:缩进会议论文集标题的第二行?

我定制了 biblatex 的数字样式,以减少\newblock用于记录条目类型的命令。下一步是,应缩进创建第二行的长记录标题,以便第二行与第一行标题的开头对齐。缩进是必要的(我认为),因为第一行中有“In:”标签。

因此,一方面我需要知道“In:”标签的长度,另一方面想根据这个长度缩进第二行和后面的行。

以下是我所拥有的:

在此处输入图片描述

我想要的是:

在此处输入图片描述

编辑:我忘了说,有几种不同的标签,如“In:”。例如“doi:”和“URL:”。此外,并非所有有第二行的块都应缩进。只有特殊选择的块才应该缩进。抱歉,我忘了这一点。

答案1

您可以修改 bibenvironment 使用的列表的定义bibliography并使用\widthof(由calc您可以使用包来计算必要的缩进。

\documentclass{article}

\usepackage[block=par]{biblatex}

\usepackage{calc}

\newlength{\longblockindent}
\setlength{\longblockindent}{\widthof{In:~}}

\defbibenvironment{bibliography}
  {\list
     {\printtext[labelnumberwidth]{%
    \printfield{prefixnumber}%
    \printfield{labelnumber}}}
     {\setlength{\labelwidth}{\labelnumberwidth}%
      \setlength{\leftmargin}{\labelwidth}%
      \setlength{\labelsep}{\biblabelsep}%
      \addtolength{\leftmargin}{\labelsep}%
      \setlength{\itemsep}{\bibitemsep}%
      \addtolength{\leftmargin}{\longblockindent}% NEW
      \setlength{\itemindent}{-\longblockindent}% NEW
      \setlength{\listparindent}{-\longblockindent}% NEW
      \setlength{\parsep}{\bibparsep}}%
      \renewcommand*{\makelabel}[1]{\hss##1}}
  {\endlist}
  {\item}

\newcommand*{\sometext}{Lorem ipsum dolor sit amet, consectetuer
    adipiscing elit. Ut purus elit, vestibulum ut, placerat ac,
    adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu
    libero, nonummy eget, consectetuer id, vulputate a, magna.}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@inproceedings{A01,
  author = {Author, A.},
  editor = {Buthor, B.},
  year = {2001},
  title = {Alpha},
  booktitle = {\sometext},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\nocite{*}

\begin{document}

\printbibliography

\end{document}

在此处输入图片描述

相关内容