入坑缘由
在第一篇研究生投稿论文进入尾声之即,开始学习用Latex排版。在此之前,只会用word,别谈什么工具整理参考文献,一切全凭耐心,手动操作。
模板说明
由于准备投稿的会议对排版格式有要求,所以在官网下了参考模板。
准备
- (La)Tex编辑器:Texworks
- 格式要求说明/参考模板
- 一篇paper
启动编辑器
我安装的是Tex Live套装,里面包含texworks。启动方法:
搜索应用程序TeXworks 或者 启动命令窗口cmd,输入TeXworks回车
使用texworks的原因及具体的texworks界面介绍请参见这里。
几乎所有设置都保持默认,只需根据自己需求在工具栏选择排版工具。我主要用到的排版工具是 pdfLaTeX 和 BibTeX。
遇到的问题
1 . 注释,引用,引号,斜体,加粗,换行,章节格式,Section简写,行内公式编辑等基本规则
2 . 图片和表格如何引用,单栏和双栏图片如何设置
3 . 表格绘制,版面占据调整,行距,居中怎么实现
4 . 参考文献排版
基本语法
章节和段落是 \section{} , \subsection{} , \paragraph {}
有参考模板可以直接将内容替换成自己的,格式就会是预设效果。花括号里写上要使用该格式的内容。
注释是%
,引用\cite{}
,加粗 \textbf{}
,斜体 \emph{}
,换行是双反斜杠 \\
,引号包括前引号~
和后引号 ''
, 章节缩写,根据章节层级数不同而略有区别,例如:section3 , 缩写引用格式为,\sectionautorefname{}
,花括号里写上具体章节数3 ,得到的最终效果为Sect.3
。 再往下一级走,只需添加sub
前缀。
此次论文只有行内公式,具体格式为双美元符内编辑公式$...$
,至于公式符号及运算符号,可参考整理。
图片及表格引用,单双栏设置
不用手动给图片和表格编号,使用\aotoref{}
标签即可自动编号,花括号内填label
内自己定义的名称。以一个图为例:
\begin{figure*}[tb] %[tb]表示表格放置在页面上的位置,需要特别注意这里的*号,
%若没有它,那么图片会浮在文字上方。添加`*`号,使后面width设置成文本宽度生效
\centering % avoid the use of \begin{center}...\end{center} and use \centering instead (more compact) 水平居中设置
\includegraphics[scale=1,width=\textwidth]{Fig3.png} %scale设置缩放比例,width设置图片占据的宽度,这里设置成与文本同宽,即双栏;最后一个花括号写要加载的图片名称,默认路径是放在pictures文件夹
\caption{} %这里写图题
\label{fig:3} %这里自己定义,引用时用
\end{figure*}
width的宽度还可以为\columnwidth
,即为单栏宽度。表格引用与图片类似。
表格绘制
目前尝试过的方式有两种:
- 手动写LaTeX语法
- 线上生成LaTeX语法
- 所见即所得方式
对于手动方式绘制表格,即按照语法,在编辑框内添加。例如添加下图所示的一个三线表:
基本语法格式为:
\begin{table}[tb]
\renewcommand\arraystretch{1.5} %控制行距
\caption{Datasets used for evaluation.}
\label{tab:tabele-2}
\scriptsize%
\centering%
%下面一句是控制整个表格的位置,只占据单栏
\resizebox{\columnwidth}{!}{%
\begin{tabu}{%
l
c
c
c
} %控制单元格内容居中方式
\toprule
\textbf{Datasets} & \textbf{Data Items} & \textbf{Dimensions} & \textbf{Clusters}\\
\midrule
Iris\cite{F1}(for training) & 150 & 4 & 3 \\
Glass\cite{F1} & 214 & 9 & 6 \\
Dermatology\cite{F1} & 259 & 34 & 6 \\
Heart Disease\cite{F1}(for training) & 303 & 14 & 5 \\
Synthetic\cite{F2} & 750 & 12 & 4 \\
Concretec\cite{F1} & 1030 & 9 & 4 \\
Pendigitsc\cite{F3} & 2498 & 63 & 10 \\
\bottomrule
\end{tabu}%
}
\end{table}
手动键入以上示例代码还能接受,当表格复杂时,手动绘制线条和控制跨行跨列就显得繁琐,也容易出错。于是有了第二种方式,线上生成LaTeX代码。使用的线上生成LaTeX表格的工具叫*Tables Generator*,界面简洁,操作方式简单。粘贴或上传表格数据后,表格样式设计与excel操作类似,设计完成后,下方会自动生成LaTeX代码。然后将代码粘贴到相应排版内容处就OK了。
排版“大表格”时出现了一些问题:
1 . 占据双栏,表格太大(宽),页面放不下,且浮在文字上方,用*
也解决不了问题;
2 . 占据单栏,大表格变成了mini表格,整体缩小了一两倍;
解决办法: 在求助冬哥后,从他发给我的一篇帖子里找到灵感,问题在于一行文字太长没有换行
原贴参见这里
强制换行之后,表格基本合格了,但仍然存在问题:
- 按照模板预设的格式单元格内容应该垂直居中,实际效果没有;
- 单元格太窄,显得字体很挤
解决这两个问题的过程中,发现了一篇帖子,推“所见即所得”的插入表格法。于是有了下面第三种方式的尝试。主要步骤有3步:
1 . 用excel排版好表格,保存成.pdf格式
2 . 用pdfcrop工具(LaTeX工具包内)将刚保存的PDF文件中图片边上的白色剪裁掉。方法如下:
将要剪裁的pdf文件与pdfcrop.exe放在同一个文件夹下;然后打开cmd命令行,通过cd进入所在的文件夹;(快捷打开方式:删除当前目录路径,键入cmd,回车) 最后输入pdfcrop input.pdf output.pdf
input.pdf
和 output.pdf
是输入和输出的pdf文件名,改为自己的文件名即可。点击回车之后,output.pdf就会出现在当前文件夹下。
3. 在latex中插入“表格”。具体而言,与插入图片的源码类似:
\begin{table}
\centering
\includegraphics[width=0.75 \textwidth]{output.pdf}
\caption{Table Caption}
\label{tab:tab-for-table}
\end{table}
采用第三种方式可以解决上面两个问题。但是排版出来的效果图不是很满意,绘制的线条从excel转成pdf时,样式发生了改变,线条看起来比较粗,跟预设效果不一致。
最终找到了两个问题的解决办法:
- 问题1,垂直居中问题主要出现在多行控制的单元格,于是在代码里改变了其所控制的行数,使其居中。后面的
{*}
控制宽度,*表示自适应
- 问题2,可以给表格设置行距解决:
参考文献排版
- 参考文献涉及到BibTeX工具。
- 操作流程及原理讲解请参见这里
说明
1 . 根据不同要求,采用的文献引用格式不同,\bibliographystyle{abbrv-doi}
2 . 文献数据库名自己定义,\bibliography{<文献数据库名>}
3 . 文献数据库是一个.bib
文件,里面的内容,可以使用在线工具Crossref 生成
4 . 参考文献生成的编译顺序:
pdfLaTeX -> BibTeX -> pdfLaTeX -> pdfLaTeX