Biblatex:縮排訴訟標題的第二行?

Biblatex:縮排訴訟標題的第二行?

我自訂了biblatex的數字樣式,以減少\newblock程式中輸入類型的命令。下一步是,應縮排建立第二行的長標題,以便第二行的開頭與第一行標題的開頭對齊。縮排是必要的(我認為),因為第一行中有“In:”標籤。

因此,一方面我需要知道「In:」標籤的長度,另一方面想要將第二行和後續行縮排這個長度。

這是我所擁有的:

在此輸入影像描述

我想要什麼:

在此輸入影像描述

編輯:我忘了提及,有幾個不同的標籤,例如「In:」。例如“doi:”和“URL:”。此外,並非所有具有第二行的區塊都應該縮排。相反,只有特殊選擇的人才應該這麼做。抱歉,我忘了。

答案1

您可以修改 bib 環境所使用的清單的定義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}

在此輸入影像描述

相關內容