BibLaTeXラベルのハイフネーションを避ける

BibLaTeXラベルのハイフネーションを避ける

このスタイルに基づいてlabelalpha、私は独自の BibLaTeX ラベルを定義しました。このラベルは、第一著者のフルネームと出版日で構成されます。ただし、著者名が長く、引用が行末近くにある場合は、ラベルはハイフンで区切られます。MWE は次のようになります。

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

BibLaTeX にラベルをハイフンでつながないように指示するにはどうすればよいですか?

ここに画像の説明を入力してください

答え1

\AtEveryCitekey{\hyphenrules{nohyphenation}}プリアンブル内では、すべての BibLaTeX キーのハイフネーションを無効にすることができます (言語はnohyphenationで定義する必要がありますbabel)。

答え2

Robinaut による解決策を試しましたが、Windows 10 では機能しませんでした。MikTeX 2.9常に次のエラーが発生しました。

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

languages.ini私も提案されたような編集ができませんでしたここ

しかし、私は実用的な解決策を見つけました。 を見てみると、languages.iniハイフネーションのない言語がいくつかあります (ローダーとして使用zerohyph.tex)。これに基づいて、次の言語のいずれかを使用できます (例: アラビア語)。

\AtEveryCitekey{\hyphenrules{arabic}}

関連情報