我使用 biblatex,biber 的風格biblatex-哲學。不幸的是,參考書目中的頁面範圍是用常規破折號而不是短破折號產生的。
這是一個 MWE:
\documentclass{article}
\usepackage[backend=biber,style=philosophy-classic]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
As described by \textcite{lewis1979a}, blabla.
\printbibliography
\end{document}
這是使用的圍兜資源:
@article{lewis1979a,
Author = {David Lewis},
Journal = {Philosophical Review},
Number = {4},
Pages = {513--543},
Title = {Attitudes \emph{{D}e {D}icto} and \emph{{D}e {S}e}},
Volume = {88},
Year = {1979}}
輸出:
問題:有沒有辦法在參考書目中用短劃線全域替換破折號?
答案1
樣式philosophy-classic
改為\bibrangedash
連字符。您可以透過發出適當的\DefineBibliographyExtras
命令來恢復它:
\begin{filecontents*}{\jobname.bib}
@article{lewis1979a,
Author = {David Lewis},
Journal = {Philosophical Review},
Number = {4},
Pages = {513--543},
Title = {Attitudes \emph{De Dicto} and \emph{De Se}},
Volume = {88},
Year = {1979},
}
\end{filecontents*}
\documentclass{article}
\usepackage[backend=biber,style=philosophy-classic]{biblatex}
\addbibresource{\jobname.bib}
\DefineBibliographyExtras{english}{\protected\def\bibrangedash{\textendash}}
\begin{document}
As described by \textcite{lewis1979a}, blabla.
\printbibliography
\end{document}
請注意,filecontents*
環境只是為了使範例獨立。
答案2
更完整的方法請見第 20 頁包文件是
\DefineBibliographyExtras{english}{%
\protected\def\bibrangedash{%
\textendash\penalty\hyphenpenalty}%
\protected\def\bibdaterangesep{\bibrangedash}}%
\DefineBibliographyExtras{italian}{%
\protected\def\bibrangedash{%
\textendash\penalty\hyphenpenalty}%
\protected\def\bibdaterangesep{\bibrangedash}}%
\DefineBibliographyExtras{french}{%
\protected\def\bibrangedash{%
\textendash\penalty\hyphenpenalty}%
\protected\def\bibdaterangesep{\bibrangedash}}%
\DefineBibliographyExtras{spanish}{%
\protected\def\bibrangedash{%
\textendash\penalty\hyphenpenalty}%
\protected\def\bibdaterangesep{\bibrangedash}}%