Latex下Springer模版的参考文献修改

本文指导读者如何解决SpringerLaTeX模板中参考文献格式与期刊要求不一致的问题,涉及修改bst文件,如sn-basic.bst,以及sn-jnl.cls文件中的相应设置。
摘要由CSDN通过智能技术生成

        这几天用Latex写论文的时候,被期刊的参考文献格式给整的很懵逼,就是模版Springer给的参考文献格式和期刊官网参考文献格式不一致,这就很头疼,这就需要去处理bst文件。

1.问题

Springer模版下的参考文献格式:

官网上的参考文献格式:

        也就是说模版给的格式与期刊的格式不一致,因此我们需要再bst这个文件内进行修改,使其符合我们的要求。

2.了解文件

        首先,我们要了解你下载的模板包中,那些是主要的东西。

        在“user-manual.pdf”用户手册中,它对各个文件给出了解释。其中,“sn-article.tex”是用来排版的主文件,也就是你的文章内容都是要写在这里面的;“bst”文件夹里面的文件是用来选择引用参考文献格式的;“sn-bibliography.bib”是用来放参考文献的。在这些“bst”文件中,“sn-mathphys”、“sn-aps”、“sn-vancouver”、“sn-standardnature”引用为数字编号样式,“sn-basic”、“sn-apa”、“sn-chicago”为authoryear样式。

3.解决方法

1.修改引用的bst

        打开模版,第一个句是\documentclass[sn-mathphys-num]{sn-jnl}代码,这里的“sn-mathphys-num”全称是“sn-mathphys-num.bst”文件,“sn-jnl”的全称是“sn-jnl.cls”文件。

将代码:

\documentclass[sn-mathphys-num]{sn-jnl}

修改成:

\documentclass[sn-basic]{sn-jnl}

2.修改sn-jnl.cls文件内容

打开sn-jnl.cls文件,“ctrl+f”搜索 \if@Spr@basic@refstyle内容,大概在1641行:

修改成:

\if@Spr@basic@refstyle%
\if@Numbered@refstyle%
  \usepackage[numbers,sort&compress]{natbib}%
  \gdef\NumBib{YES}%
\else%
  % \usepackage[authoryear]{natbib}%
  % \gdef\NumBib{NO}%
  \usepackage[numbers,sort&compress]{natbib}%
  \gdef\NumBib{YES}%
\fi%
  \bibliographystyle{sn-basic}%
  \setlength{\bibsep}{1em}%
  \def\bibfont{\reset@font\fontfamily{\rmdefault}\normalsize\selectfont}%
\fi%

3.修改sn-basic.bst文件内容

打开sn-basic.bst文件,“ctrl+f”搜索 last.label next.extra内容,大概在1709行:

将两个SORT注释掉即可:

ITERATE {presort}
% SORT
STRINGS { last.label next.extra }
INTEGERS { last.extra.num number.label }
FUNCTION {initialize.extra.label.stuff}
{ #0 int.to.chr$ 'last.label :=
  "" 'next.extra :=
  #0 'last.extra.num :=
  #0 'number.label :=
}
FUNCTION {forward.pass}
{ last.label label =
    { last.extra.num #1 + 'last.extra.num :=
      last.extra.num int.to.chr$ 'extra.label :=
    }
    { "a" chr.to.int$ 'last.extra.num :=
      "" 'extra.label :=
      label 'last.label :=
    }
  if$
  number.label #1 + 'number.label :=
}
FUNCTION {reverse.pass}
{ next.extra "b" =
    { "a" 'extra.label := }
    'skip$
  if$
  extra.label 'next.extra :=
  extra.label
  duplicate$ empty$
    'skip$
    { "{\natexlab{" swap$ * "}}" * }
  if$
  'extra.label :=
  label extra.label * 'label :=
}
EXECUTE {initialize.extra.label.stuff}
ITERATE {forward.pass}
REVERSE {reverse.pass}
FUNCTION {bib.sort.order}
{ sort.label
  "    "
  *
  year field.or.null sortify
  *
  "    "
  *
  title field.or.null
  sort.format.title
  *
  #1 entry.max$ substring$
  'sort.key$ :=
}
ITERATE {bib.sort.order}
% SORT

保存好各个文件的修改内容,然后重新运行即可。

参考

解决Springer 最新Latex模板参考文献与要求不符的问题

Springer Nature LaTex Template常见问题

  • 30
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值