Evite hifenização de rótulos BibLaTeX

Evite hifenização de rótulos BibLaTeX

Com base no labelalphaestilo, defini um rótulo próprio do BibLaTeX, que consiste no nome completo do primeiro autor e na data da publicação. Porém, se o nome do autor for longo e a citação estiver próxima ao final das linhas, o rótulo será hifenizado. Um MWE se parece com isto:

\documentclass[%
   12pt,             
   english        
   paper = A4          
]{scrbook}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@article{Verylongname_74,
  author = {Verylongname, Tom S. and Longname, Bob C.},
  year = {1974},
  title = {The economics of brushing teeth},
  journal = {Journal of Political Economy},
  volume = {82},
  number = {4},
  pages = {887--891},
}
\end{filecontents}

\usepackage[%
  citestyle = alphabetic, 
  labelalpha = true,
  defernumbers = true,
  backend = biber, 
  maxalphanames = 1,
  firstinits = true
]{biblatex}%

% own BibLaTeX label definition -------------------------------

\renewcommand*{\labelalphaothers}{+}

\DeclareLabelalphaTemplate{
  \labelelement{
    \field[final]{shorthand}
    \field[compound=false]{labelname}
    \field{label}
  }
  \labelelement{
    \literal{\addnbthinspace}
  }
  \labelelement{
    \field[strwidth=2,strside=right]{year}
  }
}

\DeclareFieldFormat{labelalphawidth}{\mkbibbrackets{#1}}

% avoid hyphenation, not working!
\DeclareFieldFormat{labelalpha}{\nohyphenation #1}

%--------------------------------------------------------------

\addbibresource{\jobname.bib}

\begin{document}

This is a  line of text. This is a line of text. An example citation here is
\cite{Verylongname_74}.  The BibLaTeX  label, which is the
author's name, is hyphenated!

\end{document}

Como posso dizer ao BibLaTeX para não hifenizar rótulos?

insira a descrição da imagem aqui

Responder1

No \AtEveryCitekey{\hyphenrules{nohyphenation}}preâmbulo, a hifenização pode ser desabilitada para todas as chaves do BibLaTeX (o idioma nohyphenationdeve ser definido em babel).

Responder2

Tentei a solução do Robinaut, mas não consegui funcionar com MikTeX 2.9o Windows 10. Sempre recebi o seguinte erro:

Package babel Error: You haven't defined the language nohyphenation yet.

Também não consegui editar languages.inicomo sugeridoaqui.

No entanto, encontrei uma solução funcional. Se você der uma olhada, languages.iniexistem alguns idiomas sem hifenização (eles usam zerohyph.texcomo carregador). Com base nisso, você pode usar um destes idiomas (por exemplo, árabe):

\AtEveryCitekey{\hyphenrules{arabic}}

informação relacionada