我希望\,
在带有 的引用的名称部分之间留有小空格,即 ,\textcite
但这\renewcommand{\bibinitdelim}{\,}
不起作用。
梅威瑟:
\documentclass{scrbook}
\begin{filecontents}{test.bib}
@book{DINENISO527-1,
author = {{DIN EN ISO 527-1}}
}
\end{filecontents}
\usepackage[backend=biber, style=ext-numeric, citestyle=numeric-comp, sorting=nyt, autocite=inline, isbn=false, innamebeforetitle=true, giveninits=true, maxbibnames=99, maxcitenames=2]{biblatex} \addbibresource{test.bib}
\renewcommand{\bibinitdelim}{\,}
\begin{document}
\Huge
DIN\,EN\,ISO\,527-1 \autocite{DINENISO527-1}
DIN EN ISO 527-1 \autocite{DINENISO527-1}
\textcite{DINENISO527-1}
\end{document}
答案1
这里没有biblatex
适用的标点符号命令/分隔符。由于您(正确地看到在书目条目的“作者”字段中使用“公司作者”(完整拼写出姓名)DIN EN ISO 527-1
)用一对额外的括号保护它,以防止它被解析为个人姓名(并被拆分为给定和家庭部分),它最终在.bbl
文件中像这样
\name{author}{1}{}{%
{{hash=f9811a86a7ebf8984f8c4efa2d2d34ec}{%
family={{DIN EN ISO 527-1}},
familyi={D\bibinitperiod}}}%
}
因此biblatex
可以将其视为DIN EN ISO 527-1
具有正常空格的单个单元。让 LaTeX 将这些空格替换为细空格会非常困难。
如果你想要小空格,我认为最好的方法是确保在.bib
文件中留出小空格。如果你使用 Zotero 之类的参考文献管理器导出.bib
文件,这可能不像写那么简单
author = {{DIN\,EN\,ISO\,527-1}},
但这应该是可能的。
由于您使用 BetterBibTeX,我会尝试以下操作(我不使用 Zotero 或 BetterBibTeX,所以这只是根据我对导出的了解进行猜测.bib
)
- 使用其他 Unicode 空间。例如
\,
或 ,并且导出的内容与 非常接近\,
。 - 用于
<script>DIN\,EN\,ISO\,527-1</script>
避免任何特殊字符的转换(请参阅https://retorque.re/zotero-better-bibtex/exporting/advanced/)。
如果其他方法都失败了,而你坚持输入
author = {{DIN EN ISO 527-1}},
对于普通空间,您仍然可以让 Biber 重新映射这些空间。不过,这必须谨慎使用,因此您需要一个标志来告诉 Biber 是否应用映射。
\documentclass{scrbook}
\usepackage[backend=biber,
style=ext-numeric,
citestyle=numeric-comp,
sorting=nyt,
maxbibnames=99, maxcitenames=2,
giveninits=true,
autocite=inline,
innamebeforetitle=true,
isbn=false,
]{biblatex}
\DeclareEntryOption{smallspaces}{}
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldsource=options, match=\regexp{(\A|,)\s*smallspaces\s*(\Z|,)}, final]
\step[fieldsource=author, match=\regexp{\s}, replace=\regexp{\\,}]
}
}
}
\begin{filecontents}{\jobname.bib}
@book{DINENISO527-1,
author = {{DIN EN ISO 527-1}},
options = {smallspaces},
}
@book{DINENISO527-2,
author = {{DIN\,EN\,ISO\,527-2}},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
\Huge
DIN\,EN\,ISO\,527-1 \autocite{DINENISO527-1}
DIN EN ISO 527-1 \autocite{DINENISO527-1}
\textcite{DINENISO527-1}
\textcite{DINENISO527-2}
\textcite{sigfridsson}
\end{document}
这是一种风格问题,但我发现带有正常空格的版本内容\,
过于拥挤,比带有正常空格的版本更难阅读。