
Ich habe den numerischen Stil von BibLaTeX angepasst, um die \newblock
Befehle für Eintragstypen von InProceedings zu reduzieren. Der nächste Schritt ist, dass lange Titel von InProceedings, die eine zweite Zeile bilden, eingerückt werden sollten, sodass die zweite Zeile mit dem Beginn des Titels in der ersten Zeile ausgerichtet beginnt. Die Einrückung ist (glaube ich) wegen des Labels „In:“ in der ersten Zeile notwendig.
Ich muss also einerseits die Länge des Labels „In:“ kennen und möchte andererseits die zweite und die folgenden Zeilen um diese Länge einrücken.
Hier ist, was ich habe:
Und was ich will:
Edit: Ich habe vergessen zu erwähnen, dass es verschiedene Beschriftungen wie "In:" gibt. Zum Beispiel "doi:" und "URL:". Außerdem sollten nicht alle Blöcke eingerückt werden, die eine zweite Zeile haben. Sondern nur speziell ausgewählte. Tut mir leid, dass ich das vergessen habe.
Antwort1
Sie können die Definition der von der bibliography
Bib-Umgebung verwendeten Liste ändern und verwenden \widthof
(bereitgestellt voncalc
Paket), um die notwendige Einrückung zu berechnen.
\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}