\textcite 名称的小空格

\textcite 名称的小空格

我希望\,在带有 的引用的名称部分之间留有小空格,即 ,\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 空间。例如(U+202F) 或(U+2009)。如果幸运的话,其中一个会导出为\,或 ,并且导出的内容与 非常接近\,
  • 用于<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}

DIN,EN,ISO,527-1 [1]//DIN EN ISO 527-1 [1]//DIN,EN,ISO,527-1 [1]//DIN,EN,ISO,527-2 [2]//Sigfridsson 和 Ryde [3]

这是一种风格问题,但我发现带有正常空格的版本内容\,过于拥挤,比带有正常空格的版本更难阅读。

相关内容