一、引言和模板来源
(本小节为非必要内容,可跳过)
Springer是Springer-Verlag的简称。德国Springer-Verlag(斯普林格)出版社是世界上最大的科技出版社之一,它有着170多年发展历史,以出版学术性出版物而闻名于世,它也是最早将纸本期刊做成电子版发行的出版商。德国斯普林格(Springer-Verlag)通过SpringerLink系统提供其学术期刊及电子图书的在线服务,该数据库包括了各类期刊、丛书、图书、参考工具书以及回溯文档。
Springer Nature LaTeX template是一个LaTeX模板,可以从Springer Nature下载。这个模板是一些期刊杂志的官方LaTeX模板,例如Applied Intelligence等。
LaTeX是一种基于ΤΕΧ的排版系统(跟Word差不多,主要是用来排版的),由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在20世纪80年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由TeX所提供的强大功能,能在几天、甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。这个系统同样适用于生成从简单的信件到完整书籍的所有其他种类的文档。
由于近期好多人私聊请求发模板,这里给出我在22年使用过的模板(传送门:百度网盘,提取码:c452),可以在Overleaf上面导入使用,但它上面显示的是21年的模板,所以请斟酌使用。如果需要使用最新模板,请自行研究一下哈。博主目前还没有投Springer期刊的打算,所以还未用过最新的模板,谢谢理解。
二、常见问题
模板内的文件和目录如下
其中,“user-manual.pdf”为用户手册,在调论文排版的时候需要经常查看这个用户手册;“sn-article.tex”是用来排版的主文件,“sn-sample-bib.tex”可以不理会;“bst”文件夹里面的文件是用来选择引用格式的;“sn-bibliography.bib”是用来放参考文献的。对于上述文件,用户手册给出的解释是,
1. 一栏还是两栏?
这个主要通过\documentclass这个标签来控制,默认是单栏的,如果想要换成双栏,可以这样
\documentclass[default,iicol]{sn-jnl}
效果如下
2. 引用和参考文献格式?
根据用户手册,可以根据自己的需求切换引用的样式和参考文献格式,其中“sn-mathphys”、“sn-aps”、“sn-vancouver”、“sn-standardnature”引用为数字编号样式,“sn-basic”、“sn-apa”、“sn-chicago”为authoryear样式。
上面的切换还是通过\documentclass这个标签来控制,双栏+换文献格式,就这样
\documentclass[default,iicol,sn-mathphys]{sn-jnl}
效果如下(sn-mathphys是数字编号样式)
以上的写法有学子反映在使用authoryear类型的引用格式时,LaTeX会报错
The package natbib has already been loaded with options : [ longnamesfirst, sort] There has now been an attempt to 1oad it with options [numbers, sort&***press] Adding the global options: longnamesfirst, sort, numbers, sort&***press to your \ documentclass declaration may fix this.
如果出现这种情况,可以把documentclass中的default去掉试试。比如,我想用chicago文献引用格式,那么把它变成
\documentclass[iicol,sn-chicago]{sn-jnl}
3. 算法报错?
我之前用的是Elsevier模板,算法的关键字都是大写字母,例如\STEP、\REQUIRE、\ENSURE、\REPEAT、\ENDFOR、\FOR等等都在Springer Nature的LaTeX模板里面报错。然后我看sn-article给的默认内容用了算法,把上面的这些大写的,都换成小写,然后首字母大写就可以了。sn-article给的用法是这样的
\begin{algorithm}
\caption{Calculate $y = x^n$}\label{algo1}
\begin{algorithmic}[1]
\Require $n \geq 0 \vee x \neq 0$
\Ensure $y = x^n$
\State $y \Leftarrow 1$
\If{$n < 0$}\label{algln2}
\State $X \Leftarrow 1 / x$
\State $N \Leftarrow -n$
\Else
\State $X \Leftarrow x$
\State $N \Leftarrow n$
\EndIf
\While{$N \neq 0$}
\If{$N$ is even}
\State $X \Leftarrow X \times X$
\State $N \Leftarrow N / 2$
\Else[$N$ is odd]
\State $y \Leftarrow y \times X$
\State $N \Leftarrow N - 1$
\EndIf
\EndWhile
\end{algorithmic}
\end{algorithm}
效果如下
4. 绝对值符号不能使用?
在Springer Nature的LaTeX模板里面,绝对值“|”符号不能直接用“|”,而是用“\mid”。例如
\begin{equation}
|E| = 10
\end{equation}
\begin{equation}
\mid E \mid = 10
\end{equation}
效果如下(只有\mid的起作用了)
5. 表格报错?
之前我在Elsevier的表格是这样的,但\begin{tabular*}{\linewidth}{@{}LLL@{}}这一行代码在Springer Nature的LaTeX模板里面会报错,因为它无法识别“LLL”这个大写字母(居左还是居右还是居中,L是左,C是中,R是右),必须要改成小写的字母“lll”还行。
\begin{table}
\caption{ABCD.}
\label{table_1}
\begin{tabular*}{\linewidth}{@{}LLL@{}}
\toprule
T1 & T2 & T3 \\
\midrule
A1 & A2 & A3 \\
\bottomrule
\end{tabular*}
\end{table}
改完之后
\begin{table}
\caption{ABCD.}
\label{table_1}
\begin{tabular*}{\linewidth}{@{}lll@{}}
\toprule
T1 & T2 & T3 \\
\midrule
A1 & A2 & A3 \\
\bottomrule
\end{tabular*}
\end{table}
效果
6. 脚注
脚注(footnote),这个模板是直接没有的,然后我被别人建议不要花费时间捣鼓,所以我决定附议。
7. title和author、affiliation
用默认的就行,这样
\title[mode=title]{My paper title}
\author*[1,2]{\fnm{First} \sur{Author}}\email{iauthor@gmail.***}
\author[2,3]{\fnm{Second} \sur{Author}}\email{iiauthor@gmail.***}
\author[1,2]{\fnm{Third} \sur{Author}}\email{iiiauthor@gmail.***}
\affil*[1]{\orgdiv{Department}, \orgname{Organization}, \orgaddress{\street{Street}, \city{City}, \postcode{100190}, \state{State}, \country{Country}}}
\affil[2]{\orgdiv{Department}, \orgname{Organization}, \orgaddress{\street{Street}, \city{City}, \postcode{10587}, \state{State}, \country{Country}}}
\affil[3]{\orgdiv{Department}, \orgname{Organization}, \orgaddress{\street{Street}, \city{City}, \postcode{610101}, \state{State}, \country{Country}}}
效果
8. 表格居中问题
可能有人已经发现,这个表格也太丑了,能不能整体居中?能的,把\begin{tabular*}{\linewidth}{@{}lll@{}}换成\begin{tabular*}{\linewidth}{l@{\extracolsep{\fill}}ll}。有多少列,那么它就有多少个l,这里的l是左对齐的意思。这样
\begin{table}
\caption{ABCD.}
\label{table_1}
\begin{tabular*}{\linewidth}{l@{\extracolsep{\fill}}ll}
\toprule
T1 & T2 & T3 \\
\midrule
A1 & A2 & A3 \\
\bottomrule
\end{tabular*}
\end{table}
效果如下
可能还有人问,能不能有更多的样式?那就建议自己去网上搜一搜啦。
三、参考文献
Setting tablewidth exactly to linewidth