有格式要求的学术期刊都会有作者提供模版,两种模式:word和latex。之前一直用word,latex不敢触碰。于某一天知道了vs code这个精美的编辑器,又尝试配置了latex,简单的试了一下可以出pdf预览后就一直没用了,最近投IEEE Systems Journal有格式要求,word模版排版时删除了基金致谢的地方后,搞腾好久才搞定,还有就是为了凑页面低端差不多齐,调图片位置,基于还要调图片大小,感觉排格式还是要花挺多时间。想起了被遗忘好久的latex,拿来研究了一下,latex排了一下,果然清楚明白,指哪儿打哪儿的感觉畅快。
当然如果word写论文这一套东西很熟练就是另一回事儿了~
记录一下这次latex中用到的知识点,毕竟没有系统学习,只查了用到的,写下来备日后使用。由于期刊会提供模版,本身文字和标题格式可以不用管了,主要是正确的插入图、表、公式和参考文献即可。
图片插入:
\begin{figure}[htb]
\centering
\includegraphics[width=8.5cm]{fig/config.eps}
\caption{The configuration of the HETV powertrain}
\label{Fig1}
\end{figure}
引用:\ref{Fig1}
[h]表示当前位置浮动,[!h]强制当前位置,如果放不下手动调整位置,一般用[htbp]就完了自动选择,有帖子说只用h没有什么意义,时间紧没测试具体,遇到再说,\ref{Fig1},即引用label为Fig1,与word的引用不同,latex的引用没有Fig. 只有序号,因此需要自己加Fig. \ref{Fig1}。若Fig.和\ref{Fig1}之间不加空格,build完Fig.1紧挨着,加空格后(不限个数),build完Fig. 1.即对空格的处理与latex文本是一致的。
width=8.5cm,只设置图的宽度,高度自动即可。{fig/config.eps}是在当前目录下的fig目录中名为config.eps的图导入进来,eps的图latex自动转换一个名为config-eps-converted-to.pdf文件。
对于IEEE Access
表格插入:
\begin{table}[htb]
\centering
\caption{Main Components Specifications of The HETV}\label{Tab1}
\begin{tabular}{lll}
\toprule
\multicolumn{2}{c}{Paramter Name} & Value \\
\midrule
\multirow{4}{*}{EGS} & Engine type & Diesel \\
& Engine displacement & 1.06 liter, turbine \\
& Generator type & PMSM \\
& Power & 30kW \\
\midrule
\multirow{3}{*}{Battery} & Battery type & NCM \\
& Battery capacity & 39Ah \\
& Normal voltage & 345.6V \\
\midrule
\multirow{3}{*}{Driving motor} & Motor type & PMSM \\
& Continuous power & 25kw \\
& Continuous torque & 60Nm \\
\bottomrule
\end{tabular}
\end{table}
效果:
其中\toprule、\midrule和\bottomrule来自{booktabls}需要再文档前方加入\usepackage{booktabs},制作经典三线表格很好用。同理\multirow与\multicolumn需要加入usepackage{multirow}
https://www.tablesgenerator.com/ 可以进行表格绘制与填写,生成latex代码
引用:\ref{Tab1}与图引用方式相同
文中公式或符号:$ $之间输入tex语言即可,$\alpha \beta \gamma$
独行公式:\[ ... \]
右编号公式:
\begin{equation}
...
\end{equation}
多行公式:
\begin{eqnarray}
a=b+c\\
c=d+e
\end{eqnarray}
\begin{eqnarray*}
a=b+c\\
c=d+e
\end{eqnarray*}
\begin{eqnarray}
a=b+c\nonumber\\
c=d+e
\end{eqnarray}
IEEE不建议使用{equarray},而是使用{IEEEeqnarray}
\begin{IEEEeqnarray}{l}
...\\
...
\end{IEEEeqnarray}
\begin{IEEEeqnarray*}{l}
...\\
...
\end{IEEEeqnarray*}
\begin{IEEEeqnarray*}{l}
...\IEEEyesnumber\\
...
\end{IEEEeqnarray*}
\begin{IEEEeqnarray}{l}
...\IEEEyesnumber\IEEEyessubnumber*\\
...
\end{IEEEeqnarray}
效果:
另外,对于长公式需要换行的换行即可,有一些处于尴尬长度的,换行显短,不显又盖了编号的,可以加\IEEEeqnarraynumspace
\begin{IEEEeqnarray}{l}
\min _{\pi} \left\{\! {J\! =\!\!\int_{{t_0}}^{{t_f}}\!\!{{f_{rate}}\left( {{n_{e}},{T_{e}}} \right)dt{\rm{ + }}{k_f} \cdot \left( {SOC \!-\! SOC({t_0})} \right)} } \right\}\IEEEeqnarraynumspace\label{eq1}
\end{IEEEeqnarray}
\begin{IEEEeqnarray}{l}
\min _{\pi} \left\{\! {J\! =\!\!\int_{{t_0}}^{{t_f}}\!\!{{f_{rate}}\left( {{n_{e}},{T_{e}}} \right)dt{\rm{ + }}{k_f} \cdot \left( {SOC \!-\! SOC({t_0})} \right)} } \right\}
\end{IEEEeqnarray}
公式引用:\eqref{eq1},同样还是只有编号,但是编号带(),引用Eq. \eqref{eq1}效果:Eq. (1)
除了以上还有很多种方式
两种,一种是手写,一种是通过bibtex
手写:
\begin{thebibliography}{0}
\bibitem{b1} S. Uebel, N. Murgovski, C. Tempelhahn, and B. Baker, "Optimal Energy Management and Velocity Control of Hybrid Electric Vehicles," \emph{IEEE Trans. Veh. Technol}., vol. 67, no. 1, pp. 327-337, Jan 2018.
\end{thebibliography}
效果:
引用:\cite{b1}
前述所有引用,或要显示编号需要用Recipe:latexmk,否则编号显示为??
通过bibtex:
将要引用的参考文献题录存成bib格式,endnote等可导出,或者谷歌、百度学术一条条导出到txt改文件格式为.bib,如ref.bib,存在latex目录下
\bibliographystyle{IEEEtran}
\bibliography{ref}
编译:recipe:xelaxte->bibtex->->xelatex*2