Hífen no título do autor (usando biblatex & biber com Giveninits=true)

Hífen no título do autor (usando biblatex & biber com Giveninits=true)

Este é um acompanhamento deA pergunta do Micosobre como especificar o título de um autor com giveninits=true. Foram encontradas duas respostas que funcionam para títulos que não incluem um hífen.

Agora, consideremos o título "Dr.-Ing.". Com ambas as respostas, recebo um ponto adicional na frente do hífen:

\RequirePackage{filecontents}
\begin{filecontents*}{mybib.bib}
@unpublished{tet-skript-moewe,
    author = {family={Schuhmann}, given={Prof. Dr.-Ing. Rolf}, given-i={Prof. Dr.-Ing. R}},
    title  = {Skriptum zu den {V}orlesungen 
              {T}heoretische {E}lektrotechnik {I} und {II}},
    date   = {2013-12-17},
    note   = {moewe's answer}
}
@unpublished{tet-skript-mico,
    author = {{{\relax Prof. Dr.-Ing. R}olf} Schuhmann},
    title  = {Skriptum zu den {V}orlesungen 
              {T}heoretische {E}lektrotechnik {I} und {II}},
    date   = {2013-12-17},
    note   = {Mico's answer}
}
\end{filecontents*}


\documentclass{article}

\usepackage[backend=biber, giveninits=true]{biblatex}
\addbibresource{mybib.bib}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

captura de tela

Estou ciente de um trabalho em torno do qual postarei como resposta. Porém, não gosto porque envolve definir comandos customizados e assim criar uma dependência do arquivo bib no arquivo tex.

Alguém conhece uma solução melhor?

Responder1

Eu realmente não sei por que funciona, mas você pode remover o ponto Dr-Ing.e o adicionado estará lá para obter os resultados desejados:

\RequirePackage{filecontents}
\begin{filecontents*}{mybib.bib}
@unpublished{tet-skript-moewe,
    author = {family={Schuhmann}, given={Prof. Dr.-Ing. Rolf}, given-i={Prof. Dr-Ing. R}},
    title  = {Skriptum zu den {V}orlesungen 
              {T}heoretische {E}lektrotechnik {I} und {II}},
    date   = {2013-12-17},
    note   = {moewe's answer}
}
@unpublished{tet-skript-mico,
    author = {{{\relax Prof. Dr-Ing. R}olf} Schuhmann},
    title  = {Skriptum zu den {V}orlesungen 
              {T}heoretische {E}lektrotechnik {I} und {II}},
    date   = {2013-12-17},
    note   = {Mico's answer}
}
\end{filecontents*}


\documentclass{article}

\usepackage[backend=biber, giveninits=true]{biblatex}
\addbibresource{mybib.bib}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

Funciona tanto para as soluções da Mico quanto da moewe.

insira a descrição da imagem aqui

Responder2

Colocar o hífen em um comando evita a inserção de um ponto adicional.

Estou assumindo que isso funciona porque o catcode do hífen está aqui fixado para outro e não pode ser ativado. De acordo com o comentário de moewe emresposta de Gusbrsisso funciona porque "a inserção é feita pelo Biber que não expande seus comandos TeX".

Não sei por que essas chaves em torno dos comandos são necessárias, mas sem elas estou recebendo um erro.

A posição dessas chaves é baseada em umresposta de Mico.

\RequirePackage{filecontents}
\begin{filecontents*}{mybib.bib}
@unpublished{tet-skript,
    author = {{\Prof{} \DrIng{} R}olf Schuhmann},
    title  = {Skriptum zu den {V}orlesungen 
              {T}heoretische {E}lektrotechnik {I} und {II}},
    date   = {2013-12-17},
}
\end{filecontents*}


\documentclass{article}

\usepackage[backend=biber, firstinits=true]{biblatex}
\addbibresource{mybib.bib}

\newcommand{\DrIng}{Dr.-Ing.\@}
\newcommand{\Prof}{Prof.\@}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

insira a descrição da imagem aqui

informação relacionada