
Personalicé el estilo numérico de biblatex, para reducir los \newblock
comandos para los tipos de entrada de procedimientos. El siguiente paso es que los títulos largos de los procedimientos internos, que crean una segunda línea, deben tener sangría, de modo que la segunda línea comience alineada con el inicio del título en la primera línea. La sangría es necesaria (creo) debido a la etiqueta "En:" en la primera línea.
Entonces, por un lado, necesito saber la longitud de la etiqueta "En:" y, por otro lado, quiero sangrar la segunda línea y las siguientes con esta longitud.
Esto es lo que tengo:
Y lo que quiero:
Editar: Olvidé mencionar que hay varias etiquetas diferentes como "En:". Por ejemplo "doi:" y "URL:". Además, no todos los bloques que tienen una segunda línea deben tener sangría. En cambio, sólo deberían hacerlo los elegidos especiales. Lo siento, lo olvidé.
Respuesta1
Se podría modificar la definición de la lista utilizada por el bibliography
bibenvironment y uso \widthof
(proporcionada por elcalc
paquete) para calcular la sangría necesaria.
\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}