Biblatex: Recuar a segunda linha do título do Inproceedings?

Biblatex: Recuar a segunda linha do título do Inproceedings?

Personalizei o estilo numérico do biblatex, a fim de reduzir os \newblockcomandos para entrada de tipos de procedimentos. O próximo passo é que títulos longos de inproceedings, que criam uma segunda linha, sejam recuados, para que a segunda linha comece alinhada com o início do título na primeira linha. O recuo é necessário (eu acho), por causa do rótulo “In:” na primeira linha.

Então, por um lado, preciso saber o comprimento do rótulo "In:" e, por outro lado, quero recuar a segunda linha e as seguintes com esse comprimento.

Aqui está o que eu tenho:

insira a descrição da imagem aqui

E o que eu quero:

insira a descrição da imagem aqui

Editar: esqueci de mencionar que existem vários rótulos diferentes como "In:". Por exemplo "doi:" e "URL:". Além disso, nem todos os blocos que possuem uma segunda linha devem ser recuados. Em vez disso, apenas os escolhidos especiais deveriam fazê-lo. Desculpe, esqueci disso.

Responder1

Você poderia modificar a definição da lista usada pelo bibliographybibenambiente e uso \widthof(fornecida pelocalcpacote) para calcular o recuo necessário.

\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}

insira a descrição da imagem aqui

informação relacionada