有没有办法将 .bbl 中的 \bf 永久设置为 \textbf

有没有办法将 .bbl 中的 \bf 永久设置为 \textbf

有没有办法永久设置\bf\textbf?我使用的 .bbl 文件使用 \bf,这会导致错误,我不得不手动将每个条目重置为 \textbf。每次我添加新的引文时,每次 .bbl 文件发生变化时,我都必须重做所有事情,否则我无法继续工作。例如以下内容:

\harvarditem{Wurm}{2004}{Wurm2004}
Wurm, F.~M.  \harvardyearleft 2004\harvardyearright , `{Production of
  recombinant protein therapeutics in cultivated mammalian cells}', {\em Nature
  Biotechnology} {\bf 22}(11),~393--398.
\newline\harvardurl{https://doi.org/10.1038/nbt1026}

\documentclass[12pt,a4paper]{scrreprt}
\usepackage{natbib}
\bibliography{Mendeley}
\bibliographystyle{agsm}

答案1

\bf和的语法\textbf不同,最好将其改为\bfbe \bfseries,你可以通过

\renewcommand\bf{\bfseries}

答案2

假设由于您使用其中一个 KOMA 类而出现错误,则可以通过从 article.cls 等中复制来添加旧字体命令的定义:

\makeatletter
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
\makeatother

答案3

由于您使用的是agsm书目样式,因此实现目标的另一种方法是修改此书目样式,使其使用\bfseries而不是\bf。幸运的是,这很容易做到。我建议您按以下步骤操作:

  • 在你的 TeX 发行版中找到该文件agsm.bst。复制此文件并将副本命名为agsm-bfseries.bst。(你当然可以自由选择其他可能更简单的文件名。)

  • 在文本编辑器中打开该文件agsm-bfseries.bst;您用来编辑 tex 文件的程序就可以了。

  • 在里面agsm-bfseries.bst,找到名为的函数embolden。它应该如下所示:

    FUNCTION {embolden}
    { duplicate$ empty$
        { pop$ "" }
        { "{\bf " swap$ * "}" * }
      if$
    }
    

    在此函数中,更改\bf\bfseries。(是的,这确实就是全部需要更改的内容!)

  • 将文件保存agsm-bfseries.bst在主 tex 文件所在的目录中,或保存在 BibTeX 搜索的目录中。如果选择后者,请确保也更新 TeX 发行版的文件名数据库。

  • 在你的主 tex 文件中,更改指令

    \bibliographystyle{agsm}
    

    \bibliographystyle{agsm-bfseries}
    

    然后,再重新运行 LaTeX、BibTeX 和 LaTeX 两次,以完全传播所有更改。

祝您 BibTeX 愉快!

相关内容