不要在参考书目中使用括号(“1.”而不是“[1]”)

不要在参考书目中使用括号(“1.”而不是“[1]”)

我想在文本中使用“[1]”之类的引用,但在参考书目中使用“1。”。我确实发现了完全相同的问题:

如何在参考书目中使用 1.(数字后跟点)格式代替 [1] 格式

但是,Gonzalo Medina 的解决方案对我来说不起作用(意味着没有效果:我的参考书目中仍然有“[1]”,而不是想要的“1。”)。

梅威瑟:

\documentclass{scrbook}
\usepackage[style=numeric-comp, backend=biber]{biblatex}
\addbibresource{bibliography.bib}
\makeatletter
\renewcommand\@biblabel[1]{#1.}
\makeatother
\begin{document}
\chapter{TestTest}
Test \cite{ADA}.
\printbibliography
\end{document}

文件 bibliography.bib 包含

@BOOK{ADA,
  author = {Example Author},
  title = {Random Title},
  publisher = {Some Publisher},
  year = {2003},
  location = {City},
  edition = {2},
}

该解决方案不再起作用了吗,或者我的 Tex 发行版(最新的 Texlive)有问题吗?

即使没有可行的解决方案,如果有人可以确认在使用上述 MWE 时存在此问题,我也会很感激。

答案1

您需要改变labelnumberwidth格式

\documentclass{scrbook}
\begin{filecontents*}{\jobname.bib}
@BOOK{ADA,
  author = {Example Author},
  title = {Random Title},
  publisher = {Some Publisher},
  year = {2003},
  location = {City},
  edition = {2},
}
\end{filecontents*}
\usepackage[style=numeric-comp]{biblatex}
\DeclareFieldFormat{labelnumberwidth}{#1\adddot\midsentence}
\addbibresource{\jobname.bib}
\begin{document}
\chapter{TestTest}
Test \cite{ADA}.
\printbibliography
\end{document}

请注意,这只会改变参考书目的印刷:引用数量是单独控制的。

(该biblatex包在参考书目环境中使用的结构与“传统” LaTeX 完全不同,这就是为什么重新定义\@biblabel在这里无效的原因。)

相关内容