在 biblatex 中的页面标签周围添加空白

在 biblatex 中的页面标签周围添加空白

我想知道是否可以在参考书目列表中的页码范围的破折号周围添加空格。

这就是我所拥有的:

S. 1234-1235

这就是我想要的:

S. 1234 - 1235

在我的 bib 文件中,页面标签包含空格:

pages = {1234 -- 1235}

这是我的最小 bib 文件:

@article{IJAMT,
         author        = {Author},
         title         = {Title},
         journaltitle  = {Journal},
         year          = {2016},
         volume        = {69},
         number        = {9 -- 12},
         pages         = {2315 -- 2321},
         label         = {REF}

以下是我的简单示例:

\documentclass[a4paper,11pt,oneside,ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[style=alphabetic,bibencoding=utf8,hyperref=true,sorting=anyt,    natbib=true, backend=biber]{biblatex}

% Own Style for Articles
\DeclareBibliographyDriver{article}{%
  \printnames{author}:\newunit%
  \printfield{title}.\newunit%
  \printfield{journaltitle}{ }\printfield{volume}{ }%
  (\printfield{year}){ }\printfield{number},\newunit%
  \printfield{pages}%
  \finentry}

\bibliography{literature/bib}

\begin{document}
  \cite{IJAMT}
  \newpage
  \printbibliography
\end{document}

答案1

我们只需要重新定义\bibrangedash以添加空间

\DefineBibliographyExtras{english}{%
  \renewrobustcmd*{\bibrangedash}{\addspace\textendash\space}}

由于\bibrangedash是特定于语言的命令,我们需要在文档语言\DefineBibliographyExtras{<lang>}中重新定义它。<lang>

\addspace\textendash\space也可以使用细空格并通过使用来防止在破折号前换行

\addnbthinspace\textendash\penalty\hyphenpenalty\addthinspace

反而。


顺便说一句:你不必@article按照你的方式重新定义你的驱动程序,而是可以使用

\renewcommand*{\labelnamepunct}{\addcolon\space}

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \printfield{volume}%
  \setunit{\addspace}%
  \usebibmacro{issue+date}%
  \setunit{\addspace}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}

实现类似的目标。此外也许抑制“In:” biblatex。您的驱动程序中不应有文字标点符号,始终将\setunit和朋友连同\addcomma和朋友一起使用,或将格式设置为\DeclareFieldFormat

相关内容