springer期刊提供的LaTex模板参考文献问题

问题

  一、从Springer官网下载的LATEX格式(https://www.springernature.com/gp/authors/campaigns/latex-author-support)编译报错,且无法显示参考文献(显示[?])或参考文献的年份在最后。

二、参考文献格式每两条中间有空行

首先前期感谢大佬的一篇解决方案,链接springer期刊提供的LaTex模板参考文献格式为作者+年份时的顺序问题_sn-article-CSDN博客

一、解决步骤

1.在sn-article.tex中找到如下语句:

将这行注释,并取消注释“\documentclass[sn-basic]{sn-jnl}”,如图

2. 复制bst文件夹下的sn-basic.bst,并粘贴到与.tex同一级下,如图:

3. 查找刚粘贴的sn-basic.bst文件里的两个SORT并注释!(ctrl+f查找)

我的文件是1729和1782行

4. 在sn-jnl.cls中,找到如下语句:

注释其中以下语句:

替换为:

 \usepackage[authoryear]{natbib}%
  \gdef\NumBib{YES}%

完整代码如下:

5. 在tex文件的\end{document}前面添加

\bibliographystyle{plain}
\bibliography{sn-bibliography}  % 这里替换为您的 .bib 文件

\end{document}

6. 编译运行tex文件

注意注意:上述改完参考文献在文中会显示成  作者+年份

如果将正文中的参考文献格式改成【1】【15-18】引用格式,在该基础上进行补充:

7.打开sn-jnl.cls,替换内容

将以下代码

%\usepackage[authoryear]{natbib}%
  %\gdef\NumBib{NO}%

替换为

  \usepackage[numbers,sort&compress]{natbib}%
  \gdef\NumBib{YES}%

8.5. 打开tex文件

导入并添加\usepackage{natbib}并重新编译,成功显示如下

二、解决步骤

问题:有空行,编译后的文件

1.找到并打开sn-jnl.cls文件,找到\if@Spr@basic@refstyle%下的 \setlength{\bibsep}{1em}%

\if@Spr@basic@refstyle%
\if@Numbered@refstyle%
  \usepackage[numbers,sort&compress]{natbib}%
  \gdef\NumBib{YES}%
\else%
 %\usepackage[authoryear]{natbib}%
  %\setcitestyle{aysep={}}
  %\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%

修改 \setlength{\bibsep}{1em}%为 \setlength{\bibsep}{0em}%,重新编译cls后重新编译tex文件

最后成功!!如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值