springer投稿,在线编译踩坑总结
注意:
- 有的期刊需要双栏,而预定义的模板中可能为单栏,需要增加
iicol
选项。
例如:
\documentclass[sn-mathphys-num]{sn-jnl}%
—>\documentclass[sn-mathphys-num, iicol]{sn-jnl}%
- 上传提醒:
删掉多余的文件,例如模板中自带的sn-article.pdf
和empty.eps
,只保留与编译有关的文件。【任何一个多余文件都不可以有!!!】否则冗余文件直接出现在正文里。补充材料里需要的图也要删掉,因为补充材料直接以pdf格式上传,不需要图文件。
- 补充材料
以pdf
格式上传,选择补充材料supp....
类型。编译成功后,将以超链接的形式,出现在最后一页。见下图:
- 文件组织结构
所有文件需要放在一级目录下,不支持二级目录。就是不能有子文件夹。
- 线下编译状态
自己编译不能有任何报错及警告(对,警告也不行)
以下是一些线下编译的警告(springer线上不显示错误信息,直接编不出参考文献)
- 警告:
Package breakurl Warning: You are using breakurl while processing via pdflatex.(breakurl) \burl will be just a synonym of \url.
解决方法:打开sn-jnl.cls
文件,找到:
\gdef\breakurldefns{%
\if@pdflatex\else%\RequirePackage[hyphenbreaks]{breakurl}%
% \let\href\burlalt%
\fi}%
\breakurldefns%
注释:
% \gdef\breakurldefns{%
% \if@pdflatex\else%
% \RequirePackage[hyphenbreaks]{breakurl}%
% % \let\href\burlalt%
% \fi}%
% \breakurldefns%
- 致谢位置报错:
Package hyperref Warning: Difference (4) between bookmark levels is greater than one, level fixed on input line 801.
报错位置:
\backmatter\bmhead{Acknowledgements}This work was supported in part ... %Line801
问题:
\bmhead标签同\subsubsection时一个级别的,相当于\section中直接添加了\subsubsection。跳过了\subsection.
解决:
添加:
\usepackage{hyperref}
\usepackage{bookmark}
此处参考了链接: https://blog.csdn.net/weixin_43423614/article/details/132050668
- 警告:
Package caption Warning: Unknown document class (or package), standard defaults will be used. See the caption package documentation for explanation.
问题分析:
因为Springer模板重新定义了caption的格式,而本文使用了subfig这个包,因此会覆盖掉caption的预定义,因此,在usepackage时禁用掉caption定义就行。
解决:
\usepackage[caption=false]{subfig}
注意,不要有额外的\usepackage{caption}
参考:链接: https://blog.csdn.net/u012796629/article/details/122387892
- 警告:
to sort, need author or key in OpenCVDocs
问题分析:存在某条参考文献,没有author
与key
这两个关键字段,所以无法给文献排序。(其实就是OpenCV
这个文献)
解决方法:
step a.
找到sn-jnl.cls
文件,将对应参考文献格式下的条件语句进行修改,以sn-mathphys-ay
格式为例 (对应\bibliographystyle{sn-mathphys-ay}
):
原文件1661行:
\if@Mathphys@ayrefstyle%
\usepackage[authoryear]{natbib}%\gdef\NumBib{NO}%\bibliographystyle{sn-mathphys-ay}%\setlength{\bibsep}{1em}%\def\bibfont{\reset@font\fontfamily{\rmdefault}\normalsize\selectfont}%
修改为:
\if@Mathphys@ayrefstyle%% \usepackage[authoryear]{natbib}%% \gdef\NumBib{NO}%\usepackage[numbers, sort&compress]{natbib}%\gdef\NumBib{YES}%\bibliographystyle{sn-mathphys-ay}%\setlength{\bibsep}{1em}%\def\bibfont{\reset@font\fontfamily{\rmdefault}\normalsize\selectfont}%
step b.
找到*.bst
文件(取决于documentclass用什么模板,就找哪个*.bst
文件),例如sn-mathphys-ay
格式,就修改sn-mathphys-ay.bst
文件:
注释掉SORT
这一行。可能有一处,可能有两处。
ITERATE {presort}% SORTINTEGERS { longest.label.width last.extra.num number.label }
step c.
在bib
文件中,确认所有的参考文献都有author
或key
。(可以通过统计@
和author
的数量做一个快速的校验)没有的就补上。比如,我的:
@misc{OpenCVDocs,title = {OpenCV},howpublished = {\url{https://docs.opencv.org/4.x/index.html}},note = {Accessed: June 14, 2024},year = {2024}
}
补充key
:
@misc{OpenCVDocs,title = {OpenCV},key={OpenCV},howpublished = {\url{https://docs.opencv.org/4.x/index.html}},note = {Accessed: June 14, 2024},year = {2024}
}