我正在使用,biblatex
对于authoryear
我的一些条目,缺少页面前缀(在我的情况下为“S.”),而我实际上想要它。
\usepackage[backend=biber,style=authoryear,language=ngerman]{biblatex}
此条目
@ARTICLE{Umemura1990,
author = {Umemura, Takashi},
title = {Ippyôsei ni yatô hanpatsu},
journaltitle = {Asahi Shinbun},
date = {1990-11-11},
titleaddon = {Oppositionsparteien lehnen Ein-Stimmen-System ab},
issuetitle = {Morgenausgabe},
issue = {Tôkyô},
pages = {2-3}
}
给了我这个:
但这个条目
@ARTICLE{McMaster1963,
author = {John McMaster},
title = {The Takashima Mine: British Capital and Japanese Industrialization},
journaltitle = {Business History Review},
year = {1963},
volume = {38},
number = {3},
pages = {215–239}
}
仅产生以下内容:
在第二种情况下省略“S”有什么原因吗?我在 和 中查找过authoryear.bbx
,biblatex.def
但standard.bbx
找不到任何线索。对我来说,这似乎特别奇怪,因为两个条目都使用了驱动article
程序。我甚至发现一个问题,有人想摆脱页面前缀(biblatex:没有文章页面)所以我认为它应该默认存在。\DeclareFieldFormat[article]{pages}{\mkpageprefix[bookpagination]{#1}}
也不会导致任何结果。
答案1
第二个条目在页面字段中使用 Unicode EN 破折号。如果没有 biber 1.7+ 和兼容的 biblatex 版本,默认情况下不会将此字符识别为页面范围指示符。如果您的输入编码接受此字符,请将其添加到您的序言中。否则,请尝试在整个文件中使用默认范围指示符 Ascii 字符(例如)或命令(例如、、)\DeclareRangeChars*{–}
之一。一种快速的方法是使用以下命令将您的文件重新编码为 Ascii:-
\bibrangedash
\textendash
\textemdash
bib
bib
biber --tool --output_encoding=ascii --output_safechars <file name>.bib
从命令行。