biblatex: 右寄せでタイプセットする場合、名前リストに改行がありません

biblatex: 右寄せでタイプセットする場合、名前リストに改行がありません

参考文献をタイプセットするときに、\raggedright, biblatex著者のファーストネーム/ラストネーム/ミ​​ドルネームの間 (および複数の著者がいる場合は 2 人の著者の間) で改行するのが難しいようです。まるで名前リスト全体が にまとめられているかのようです\mbox。次の例を考えてみましょう。

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

\documentclass[11pt,DIV=6]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[style=authoryear]{biblatex}
\usepackage{filecontents}
\usepackage{tgschola}

\begin{filecontents}{bibtest.bib}
@COLLECTION{Star95,
  editor = {Star, Susan Leigh},
  year = {1995},
  title = {Ecologies of Knowledge: Work and Politics in Science and Technology},
  address = {Albany},
  publisher = {SUNY}
}
@INCOLLECTION{Star95a,
  author = {Star, Susan Leigh},
  title = {The Politics of Formal Representations: Wizards, Gurus, and Organizational
    Complexity},
  year = {1995},
  pages = {88-118},
  crossref = {Star95}
}
\end{filecontents}

\renewcommand*{\bibsetup}{\raggedright}
\bibliography{bibtest.bib}
\listfiles

\begin{document}
\noindent\hrule
\nocite{Star95a}
\printbibliography
\noindent\hrule
\end{document}

「Susan Leigh」は 4 行目に簡単に収まるのですが、代わりに彼女の名前全体が次の行に移動されます。biblatex's特定の状況下ではさらに悪い結果になる可能性があるため、これが意図された動作であるというのは奇妙に思えます。これを再現できますか? 変更する方法は何でしょうか? biblatex チームに問い合わせるべきでしょうか?

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

答え1

名前の改行はlownamepenaltyおよびhighnamepenaltyカウンタによって制御されます。biblatex.defデフォルト値は次のとおりです。

\defcounter{lownamepenalty}{\hyphenpenalty/2}
\defcounter{highnamepenalty}{\hyphenpenalty}

\hyphenpenaltyのデフォルトは です。50姓と名の部分の間に区切りを入れるには (例: "Susan Leigh" と "Star")、lownamepenaltyプリアンブルで を小さな値に設定します。例:

\defcounter{lownamepenalty}{0}

\bibsetupデフォルトではさまざまなコマンドが実行されることに注意してください。

\renewcommand*{\bibsetup}{\raggedright}

次の方が良いでしょう:

\appto{\bibsetup}{\raggedright}

関連情報