このスタイルに基づいて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}}