LaTex:实现在Springer可以使用bibtex自动生成引用文献,而不用写Bibitem

最近投稿过程中发现Springer的模板只能用Bibitem,而非像IEEE的模板一样可以自动生成。

而网上有许多馊主意,例如手动写Bibitem,或者引用一些无用的包,但实际上都是浪费时间。没有用。

最后在StackExchange发现了解决办法,先上解决方案,后面给出详细分析:

在su-jnl文件中找到开头与结尾

%% Macros for bibliographystyles %%
.......
%% Macros for border matrix %%

的段落,大概在1700行左右,将对应的引用替换掉,替换为下述代码

%% Macros for bibliographystyles %%
 
% \def\bibcommenthead{\if@bibcomment\begingroup\parindent=0pt\parskip=0pt%
% \removelastskip\vskip13pt\nointerlineskip%
%
% \vbox{\bibfont If you are submitting to one of the Nature Research journals, using the eJP
%  submission system, please include the references within the manuscript file itself. You may
%  do this by copying the reference list from your .bbl file, and pasting it into the bibliography
%  environment of the main manuscript .tex file.}\par%
% \removelastskip\nobreak\vskip13pt\nobreak%
% \endgroup\fi}%
 
\def\bibcommenthead{}%
 
\if@Spr@basic@refstyle%
  \usepackage[authoryear]{natbib}%
  \gdef\NumBib{NO}%
  \bibliographystyle{bst/sn-basic}%
  \setlength{\bibsep}{1em}%
  \def\bibfont{\reset@font\fontfamily{\rmdefault}\normalsize\selectfont}%
\fi%
\if@Mathphys@refstyle%
  \usepackage[numbers,sort&compress]{natbib}%
  \gdef\NumBib{YES}%
  \bibliographystyle{bst/sn-mathphys}%
  \setlength{\bibsep}{1em}%
  \def\bibfont{\reset@font\fontfamily{\rmdefault}\normalsize\selectfont}%
\fi%
\if@APS@refstyle%
  \usepackage[numbers,sort&compress]{natbib}%
  \gdef\NumBib{YES}%
  \bibliographystyle{bst/sn-aps}%
  \setlength{\bibsep}{1em}%
  \def\bibfont{\reset@font\fontfamily{\rmdefault}\normalsize\selectfont}%
\fi%
\if@Vancouver@refstyle%
  \usepackage[numbers,sort&compress]{natbib}%
  \gdef\NumBib{YES}%
  \bibliographystyle{bst/sn-vancouver}%
  \setlength{\bibsep}{1em}%
  \def\bibfont{\reset@font\fontfamily{\rmdefault}\normalsize\selectfont}%
\fi%
\if@APA@refstyle%
  \usepackage[natbibapa]{apacite}%
  \gdef\NumBib{NO}%
  \bibliographystyle{bst/sn-apacite}%
  \def\refdoi#1{\urlstyle{rm}\url{#1}}%
  \renewcommand{\doiprefix}{}%
  \AtBeginDocument{%
    \renewcommand{\BPBI}{.}% Period between initials - command from apacite.sty
  }%
  \setlength{\bibsep}{1em}%
  \def\bibfont{\reset@font\fontfamily{\rmdefault}\normalsize\selectfont}%
\fi%
\if@Chicago@refstyle%
  \usepackage[authoryear]{natbib}%
  \gdef\NumBib{NO}%
  \bibliographystyle{bst/sn-chicago}%
  \hypersetup{urlcolor=black,colorlinks=false,pdfborder={0 0 0}}\urlstyle{same}%
  \setlength{\bibsep}{1em}%
  \def\bibfont{\reset@font\fontfamily{\rmdefault}\normalsize\selectfont}%
\fi%
\if@Standard@Nature@refstyle%
  \usepackage[numbers,sort&compress]{natbib}%
  \gdef\NumBib{YES}%
  \bibliographystyle{bst/sn-standardNature}%
  \setlength{\bibsep}{1em}%
  \def\bibfont{\reset@font\fontfamily{\rmdefault}\normalsize\selectfont}%
\fi%
\if@Default@refstyle%
  \usepackage[numbers,sort&compress]{natbib}%
  \gdef\NumBib{YES}%
  \setlength{\bibsep}{1em}%
  \def\bibfont{\reset@font\fontfamily{\rmdefault}\normalsize\selectfont}%
\fi%
 
\AtBeginDocument{\allowdisplaybreaks}%
 
\def\eqnheadfont{\reset@font\fontfamily{\rmdefault}\fontsize{16}{18}\bfseries\selectfont}%
 
\newcommand{\eqnhead}[1]{\begingroup%
\begin{center}
{\eqnheadfont #1}\par%
\end{center}
\removelastskip\vskip24pt%
\thispagestyle{titlepage}%%
%%\thispagestyle{empty}%
\endgroup}
 
%% Macros for border matrix %%

后附英文版的原因分析:

posted @ 2024-03-08 20:10  龙雪  阅读(8)  评论(0编辑  收藏  举报  来源