Fancy版本见九天学者的个人博客,关注文集博士干点啥或者搜索微信公众号九天学者及时获取连载更新。
小插曲 推出LaTeX高效写作系列和Word写作不能不说的秘密专辑得感谢我的女神!最近女神要发表论文了,为论文里面的排版和作图在伤脑经。她的老板也是个完美主义者,昨晚得知她老板要求在word手稿里面将表格里的数字小数点对齐,符合APA表格标准。当然了,要不说是女神呢,只负责貌美如花,哪知道小数点对齐的这种歪门邪道的技巧。作为一枚也与程序员,得知此事第一反应当然是窃喜咯:立功的机会又来啦!一个程序员最开心的就是女神有这样那样的计算机问题:电脑又坏了、开机蓝屏啦、这个软件咋破解、系统好像中毒了、毕业论文怎么排版、这个文献下不了、这个电子书在哪能找到......各位直男癌,这就是机会!机会!机会!在这个互联网+信息时代,掌握点计算机和编程技能,就连追女神也能更胜一筹。还等什么,赶紧往下看跟九天学者好好学学!
用过的人都知道,其排版之方便,效果之美观会让你爱不释手。没用过也没关系,看了作者推出的LaTeX高效写作系列之后你就会喜欢上它的。关于的安装和入门知识,网上有很多,也可以参考我的个人博客下面的分类。Latex唯一有点繁琐的就是其表格制作,尤其对于刚入门的用户。当然了当你用他完整的写一篇论文之后,熟练一点就不觉得繁琐了,反而还挺容易。经过作者多年的摸索,真的是写学术论文最好的工具没有之一。我的期刊论文(SCI期刊都有自己的LaTeX模板)和博士毕业论文都是用LaTeX写的,在Figure、Table和Reference三个环节(写过论文的人都知道这三个痛点)的格式上基本上是零投入时间。
简单表格
如果你还没有安装,可以在overleaf在线编译,查看效果。别怕,向下面这段代码除了表格的数字内容,其他部分都是编辑器自动补全的,只需要你键入\table
就会自动提示,然后按回车键就会出来这个代码框架,你需要专注的只有你的内容。
% 第一个简单表格
\begin{table}[]
\centering
\begin{tabular}{cccc}
\hline
1st col & 2nd col & 3rd col &4th col \\ \hline
111 & 222 &333 &444 \\
555 &666 &777 &888 \\
\hline
\end{tabular}
\caption{Caption}
\label{tab:my_label}
\end{table}
- 划重点
-
关键词:
table
,tabular
一般在编辑器(比如在线的overleaf,Mac下的TexStudio)或者在vsCode里面安装插件都会自动补全的。 -
基本对齐格式:
tabular
后面的花括号里面跟对齐设置参数,左右中分别用字母l
,r
,c
表示,个数与表格总列数相同。除此简单设置,也有很多高级设置,比如设置表格每列的宽度和对齐方式(e.g. 小数点对齐、占位数等)。 -
列分隔符:latex表格分列用
&
标记,即两列之间用&
隔开。 -
行分隔符:换行用两个斜杠
\\
表示。 -
横线:用
\hline
表示,如果横线位于某一行之上,就在某一行开始之前键入\hline
,反之在某行结尾后。 -
竖线:聪明的你肯定猜到了,对的,就是
\vline
,与横线相似的用法,想在那个单元格显示竖线,就在那里加入\vline
即可。
数字小数点对齐
小数点对齐的方法也挺多,我这里采用的一个就是引入dcolumn
宏包(别问我为什么知道,世间本无路,走的多了就有了路,我只是在Google多搜了几把。你看了我的文章你也会知道的),这个需要在\begin{document}
之前加入\usepackage{dcolumn}
。为了方便后面代码重用,紧接其后再定义一个\newcolumntype{d}[1]{D{.}{.}{#1}}
类型。
% 第二个表格:小数点对齐
\begin{table}[]
\centering
\begin{tabular}{d{7.4}d{4.3}d{4.3}d{4.2}}
\hline
\multicolumn{2}{l}{1st and 2nd cols} & \multicolumn{2}{r}{3st and 4nd cols} \\ \hline
111.345 & 8222.23 &333.567 &4.0 \\
555.33 &666.333 &777.333 &888.33 \\
\hline
\end{tabular}
\caption{Caption}
\label{tab:my_label}
\end{table}
- 划重点
-
列显示格式的库包:
dcolumn
,定义列样式宏\newcolumntype{d}[1]{D{.}{.}{#1}}
- 用定义的宏
d
(花括号里面的数字格式为小数点前的字符个数.小数点之后的字符个数
)代替简单表格中的l
,r
,c
,在设置小数点对齐的同时也设置了列的宽度,以字符为单位。比如d{3.4}
表示小数点之前3个字符位,跟一个小数点,再跟4个字符位,总共站位8个字符,也就是这个列宽度为8. -
里面的空格 数学公式里不直接识别空格,需要在空格前面加一个转义斜杠
\
. -
多行表头&文字居中:用
\multicolumn{多少列}{对齐方式}{表头文字}
,这个作用其实就是表示有多少列
(e.g. 2)合并,采用什么对齐方式
(e.g.l
,r
,c
) ,最后一个花括号里面键入你要写的单元格内容。比如下图所示的典型的三线格表格,表头文字我设置为第一个居左,第二个居右。当然了,一般的学术论文里面都是居中扩折统一居左或者统一居右。
制作表格工具
这里推荐一个在线制作表格的工具:tablesgenerator,交互式操作,然后可以生成多种格式的表格代码,比如、Markdown、HTML等格式。可以交互的操作有:
- 添加、删除行和列
- 单元格合并
- 读取csv数据直接成表
表格的繁琐支持在于填写里面的内容,因为是纯文本的,有时候一眼花就忘记敲一个&
或者\\
等,会导致编译错误。借助第三方工具,不仅可以避免这样的麻烦,比如:
- 表格编译后的效果
现在知道的好处了吧,公式越多越happy,最应该用它写作的就应该是理工科scientists and students. word 2007~2016版本自带的那公式用起来麻烦,还不好看。2016之前的word版本还是支持哪个经典的Equation3.0的,但是2016和365都不支持了。要是用mathtype(新版mathtype推出的只有订阅版,就跟office365一样,不掏钱还真用不了。作者买了一年的订阅,学生价35美元,第一次也是最后一次),费用高不说,还得调格式,够你麻烦的。
如果此文对您有启发,感谢您支持原创: 有钱的动手打个赏,没钱的动手点个赞
您的鼓励就是我原创的动力。个人水平有限,若有问题,可在下方留言讨论。