Biblatex: ページ範囲にハイフンではなくエンダッシュを使用する

Biblatex: ページ範囲にハイフンではなくエンダッシュを使用する

将来Google経由でここにたどり着くかもしれない私のような人への簡単なPSA:この問題Biblatexバージョン3.11でほぼ解決しました- これをインストールしている場合は、別の問題が発生している可能性があります。(Ulrike Fischer と Moewe のコメントによる)

Biblatex 3.11 をお持ちで、それでも動作しない場合は、リセットすると思われる行「\DeclareFieldFormat{postnote}{#1}」が原因である可能性があります。


複数ページにわたる作品を引用する場合、ダッシュはハイフンではありません。参考文献では、Bibtex は、何でも正しくダッシュに変換します。ただし、脚注にはハイフンしかありません。これを「--」で入力すると、ページ範囲として認識される際に問題が発生し、同書ではなく長い引用が繰り返されます (また、Tex が参考文献に対して明らかに実行できる操作を実行する必要があるときに、手動でダッシュを入力するのは、かなり「不潔」です)。

問題

機能しない解決策が 2 つ見つかりました。

\DefineBibliographyExtras{ngerman}{\renewcommand*{\bibrangedash}{\textendash}}

そして

\DefineBibliographyExtras{ngerman}{\protected\def\bibrangedash{\textendash}}

誰かこの些細なことを変えるのを手伝ってくれませんか? よろしくお願いします!

MWE は次のとおりです。

\documentclass{scrartcl}
\usepackage[
backend=biber,
style=verbose-inote,
backref=false]{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\bibi.bib}
@article{dash,
  author = {Dashing, Walter Very},
  year = {1942},
  title = {Dashing Past a Hyphen},
  journaltitle = {Life},
  volume = {42},
  number = {42},
  pages = {123-321},
}
\end{filecontents}

\addbibresource{\bibi.bib}

\begin{document}

Could I get a dash please -- size does matter in typography...\footcite[142-242]{dash}.

\printbibliography

\end{document}

答え1

biblatex のバージョン 3.11 では、 のページ範囲はpostonoteデフォルトで正規化されるため、ページ範囲内のハイフンとダッシュは に変換され\bibrangedash、カンマとセミコロンは に変換され\bibrangesepます。詳細については、バージョン 3.11 のリリース ノートを参照してください。つまり、以下の回答は古くなっており、不要になりました。何らかの理由で biblatex の古いバージョンに固執している場合を除きます。

開発バージョンを使用したくない場合は、Ulrike Fischer の提案に従って、次のようにしてポストノートの書式設定ディレクティブを変更できます。

\DeclareFieldFormat{postnote}{\mkcomprange[{\mkpageprefix[pagination]}]{#1}}

技術的には、これによりページ範囲が圧縮されますpostnoteが、それを望まない場合は、\mkcomprange実際に圧縮されないように、使用されるカウンターを設定できます。

@moewe のコメントで報告されているように、バージョン 3.11 はまもなく配布される予定です。また、このバージョンではすぐに問題が解決されます。そのため、少しの忍耐があれば、何もする必要はありません。

完全な MWE:

\documentclass{scrartcl}
\usepackage[
backend=biber,
style=verbose-inote,
backref=false]{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@article{dash,
  author = {Dashing, Walter Very},
  year = {1942},
  title = {Dashing Past a Hyphen},
  journaltitle = {Life},
  volume = {42},
  number = {42},
  pages = {123-321},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\DeclareFieldFormat{postnote}{\mkcomprange[{\mkpageprefix[pagination]}]{#1}}
\setcounter{mincomprange}{100000}
\setcounter{mincompwidth}{100000}

\begin{document}

Could I get a dash please -- size does matter in typography...\footcite[142-242]{dash}.

\printbibliography

\end{document}

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

関連情報