Vermeiden Sie die Silbentrennung bei BibLaTeX-Labels

Vermeiden Sie die Silbentrennung bei BibLaTeX-Labels

Basierend auf dem labelalphaStil habe ich mein eigenes BibLaTeX-Label definiert, das aus dem vollständigen Namen des ersten Autors und dem Datum der Veröffentlichung besteht. Wenn der Name des Autors jedoch lang ist und das Zitat am Ende der Zeilen steht, wird das Label mit Bindestrich versehen. Ein MWE sieht folgendermaßen aus:

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

Wie kann ich BibLaTeX anweisen, Beschriftungen nicht zu trennen?

Bildbeschreibung hier eingeben

Antwort1

Mit \AtEveryCitekey{\hyphenrules{nohyphenation}}in der Präambel kann die Silbentrennung für alle BibLaTeX-Schlüssel deaktiviert werden (die Sprache nohyphenationmuss in definiert sein babel).

Antwort2

Ich habe die Lösung von Robinaut ausprobiert, aber sie hat unter Windows 10 nicht funktioniert. MikTeX 2.9Ich habe immer die folgende Fehlermeldung erhalten:

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

Ich habe es auch nicht geschafft, den languages.inivorgeschlagenen Like zu bearbeitenHier.

Ich habe jedoch eine funktionierende Lösung gefunden. Wenn Sie einen Blick darauf werfen, languages.inifinden Sie einige Sprachen ohne Silbentrennung (die zerohyph.texals Loader verwendet werden). Basierend darauf können Sie eine dieser Sprachen verwenden (z. B. Arabisch):

\AtEveryCitekey{\hyphenrules{arabic}}

verwandte Informationen