Biblatex: Inproceedings のタイトルの 2 行目をインデントしますか?

Biblatex: Inproceedings のタイトルの 2 行目をインデントしますか?

私は、inproceedings のエントリ タイプのコマンドを減らすために、biblatex の数値スタイルをカスタマイズしました\newblock。次のステップは、2 行目を作成する inproceedings の長いタイトルをインデントして、2 行目が 1 行目のタイトルの先頭と揃うようにすることです。インデントは、1 行目の "In:" ラベルのために必要だと思います。

したがって、一方では「In:」ラベルの長さを知る必要があり、他方では 2 行目以降をこの長さでインデントする必要があります。

私が持っているものは次のとおりです:

ここに画像の説明を入力してください

そして私が望むもの:

ここに画像の説明を入力してください

編集: 言及するのを忘れていましたが、「In:」のようなラベルがいくつかあります。たとえば、「doi:」や「URL:」などです。さらに、2 行目があるすべてのブロックをインデントする必要はありません。代わりに、特別に選択されたブロックのみをインデントする必要があります。申し訳ありませんが、それを忘れていました。

答え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}

ここに画像の説明を入力してください

関連情報