如何优雅地(用TeX)写AI论文

2020 年 2 月 8 日 CVer

点击上方“CVer”,选择加"星标"或“置顶”

重磅干货,第一时间送达

作者: 石昊悦

https://zhuanlan.zhihu.com/p/103519006

本文已由原作者授权,不得擅自二次转载

副标题:博士这一年多里老板都教了我些什么(划掉)。

Flag:应 @骆梁宸 老哥之邀,我们正在试图把自己总结的写作技巧整理成更全面的文档,争取不鸽,敬请期待 :)

当然,以下都是些经验之谈:非数学公式部分可能更多是关于写作英文论文的经验,也就是一门学术英语写作课上大致会涉及的内容;而数学公式部分则跟个人审美非常相关,更多是要求同一篇论文里前后一致就好。祝大家新的一年里都能做出自己满意的研究并且被投稿的会议接收。希望这份心得能对大家有所帮助,也随时欢迎补充。

写作技巧和注意事项


  • 不带连字符时,state of the art是一个名词短语;带连字符时,state-of-the-art是一个形容词。

  • 如果有小学生能看懂的表达,就不要使用中学生才能看懂的同义表达:比如,utilize → use.

  • 破折号的用法:statement A -- statement B (en dash外加前后有空格),或者 statement A---statement B (em dash外加前后无空格)。同一篇文章要前后一致。

  • KL divergence的全称写作:Kullback--Leibler divergence (连接符是en dash,而不是hyphen);同理,类似情况的连接符都是en dash.

  • 脚注的写法:一般情况下,脚注可以写在“脚注相关的地方后第一个非左标点符号(如左引号、左括号)”后面。\footnote命令和它前面的标点符号之间没有空格。

    • 例如:As this.\footnote{This is a footnote.}

  • Work和research作名词时不可数。

  • 拉丁文和缩写的正确用法

    • something, e.g., A 以及 something, i.e., B.

      • CVPR模板里似乎支持\eg和\ie两个命令。

    • etc.的人类版是et al.

    • a priori整体是一个形容词(短语),大致表示“显然的”,用来形容推理的前置基础。比如,“一个显然的先验”写作"an a priori prior".

    • 当然,为了避免用错,最好的方法是尽量别写拉丁文 :)

  • TeX里面左引号是``,如果打"A"会显示两边都是右引号。

  • 非专有名词(named entity)无特殊情况不大写首字母。领域名称并非专有名词,应写作:natural language processing (NLP). 我能想象的特殊情况只有这种来得不是很显然的缩写:

    • "REward Increment = Nonnegative Factor x Offset Reinforcement x Characteristic Eligibility" (REINFORCE)

  • 无特殊情况尽量少用被动语态,尤其是不要为了避免"we"使用被动语态;复杂的句子尽量不用被动语态。


数学公式


  • 向量和矩阵尽量\mathbf加粗,希腊字母可以用\boldsymbol或者\usepackage{bm}后用\bm加粗。(感谢 @灵芝片 补充)

  • \sum和\Sigma是不一样的,正如\prod和\Pi是不一样的:\sum和\prod比\Sigma和\Pi大一圈。

  • 如果使用英文单词做函数名或者变量名,比如score(x),写作$\textit{score}(x)$:如果不加\textit的话会非常丑。同理,单词做下标时也记得\textit框起来。

  • 条件概率P(x | y) 写作 $P(x \mid y)$ 比直接写“|”美观不少。

  • $<a, b>$ → $\langle a, b \rangle$

  • 数学公式中的小写l,尽量写作$\ell$ 而不是直接打l,避免跟其他字母或数字混淆(比如1和I)。

  • 只有文中其他地方需要以Equation (a)形式提到的公式才编号。

  • 如果你看到别人文章里公式末尾总有个莫名其妙的逗号或者圆点句号,不要担心自己错过了什么重要的东西,他只是为了让公式和上下文组成一个完整的句子。如果你选择加逗号和句号,请记得检查下每个公式都加了。

  • 即使读者能非常轻松地脑补出来变量(的下标)是什么意思,也不能不在正文里说明这个变量是什么——万一脑补错了呢。


表格


  • \usepackage{booktabs}

  • 尽量画三线表:如非特别必要,不要使用竖线。使用\toprule, \midrule, \bottomrule来区分三线表的上、中、下三种线。是的,它们和\hline的区别是:\toprule和\bottomrule比较粗,而且比\midrule稍微长一点,看上去比较好看……

  • 一般情况下,表格第一列文字左对齐,数字列右对齐。

  • 不要把图表的说明(caption)在正文里再抄或复述一遍:说明是用来写“这个表格是什么”的,正文是用来写“这个表格说明了什么”的。

  • 使用Table~\ref{table:1}避免Table和1之间换了个行。


图示


  • 尽量不要以颜色作为指代图示中线条的唯一特征:可以用“实线”、“虚线”等区分。这条规则产生于论文都是黑白打印的时代(有点老古董),尽管现在大家基本都是直接阅读pdf,但仍然存在习惯黑白打印再阅读的读者。

  • 尽量插入矢量图,避免糊掉:一个简单的判断方法是图中的文字在pdf文件里能不能被选中。一个非常棒的矢量图绘制工具:https://draw.io,或者PowerPoint画完导出为pdf. 然后直接\includegraphics{exported.pdf}就可以了。


参考文献


  • \usepackage{natbib}

  • 三种ACL系列论文常见的引用格式

    • \citep{hochreiter1997long} → (Hochreiter and Schmidhuber, 1997)

    • \citet{hochreiter1997long} → Hochreiter and Schmidhuber (1997)

    • \citep[LSTM; ][]{hochreiter1997long} → (LSTM; Hochreiter and Schmidhuber, 1997)

  • 在.bib文件里,用大括号把文章标题里的专有名词或缩写括起来,否则在参考文献里很多bibliography style(包括ACL和CVPR的模板,感谢 

    @灵芝片

     更正)设置的默认行为是显示小写。比如


    • title = {Microsoft {COCO} ... } 如果是title = {Microsoft COCO},会显示为"Microsoft coco".

    • 如果论文发表在ACL/EMNLP/NAACL等ACL anthology收录的会议和期刊,直接从ACL anthology下载的.bib就自带了上述大括号。

  • 一篇文章如果有发表的版本且有arXiv预印本,引用发表的版本——除非引用内容是正式发表后又在arXiv上进行更正的。

  • 所有的引用条目的格式尽量前后一致,如“是否用了常见会议和期刊的缩写”,“是否包括了会议地点和会议月份”等。


其他


  • 尽量别用\vspace{-5pt}来压缩空间——当心desk reject. 如果地方不够用了,多读几遍文章,总有一些句子啰嗦了。

推荐阅读


重磅!2020年AI算法岗求职群来了

吴恩达新书《机器学习训练秘籍》中文版来了(附PDF下载)


---End---

科研学术,寒假不打烊!想要了解最新最快最好的CV/DL/ML论文速递、优质开源项目、学习教程和实战训练等资料,欢迎加入CVer学术交流群。涉及图像分类、目标检测、图像分割、人脸检测&识别、目标跟踪、GANs、Re-ID、医学影像分析、姿态估计、OCR、SLAM、场景文字检测&识别、PyTorch和TensorFlow等方向。


扫码进群


▲长按关注我们

麻烦给我一个在看!

登录查看更多
0

相关内容

专知会员服务
142+阅读 · 2020年6月15日
还在修改博士论文?这份《博士论文写作技巧》为你指南
【实用书】Python技术手册,第三版767页pdf
专知会员服务
229+阅读 · 2020年5月21日
《代码整洁之道》:5大基本要点
专知会员服务
49+阅读 · 2020年3月3日
49篇ICLR2020高分「图机器学习GML」接受论文及代码
专知会员服务
60+阅读 · 2020年1月18日
强化学习最新教程,17页pdf
专知会员服务
167+阅读 · 2019年10月11日
人工智能 | ISAIR 2019诚邀稿件(推荐SCI期刊)
Call4Papers
6+阅读 · 2019年4月1日
如何编写完美的 Python 命令行程序?
CSDN
5+阅读 · 2019年1月19日
Seq2seq强化,Pointer Network简介
机器学习算法与Python学习
15+阅读 · 2018年12月8日
文本数据分析(一):基本框架
论智
5+阅读 · 2018年4月9日
如何使用 RNN 模型实现文本自动生成 | 赠书
人工智能头条
5+阅读 · 2017年12月13日
A Sketch-Based System for Semantic Parsing
Arxiv
4+阅读 · 2019年9月12日
Neural Image Captioning
Arxiv
5+阅读 · 2019年7月2日
Arxiv
12+阅读 · 2019年2月26日
Music Transformer
Arxiv
5+阅读 · 2018年12月12日
Neural Arithmetic Logic Units
Arxiv
5+阅读 · 2018年8月1日
Arxiv
5+阅读 · 2018年1月30日
Arxiv
8+阅读 · 2018年1月19日
VIP会员
相关VIP内容
专知会员服务
142+阅读 · 2020年6月15日
还在修改博士论文?这份《博士论文写作技巧》为你指南
【实用书】Python技术手册,第三版767页pdf
专知会员服务
229+阅读 · 2020年5月21日
《代码整洁之道》:5大基本要点
专知会员服务
49+阅读 · 2020年3月3日
49篇ICLR2020高分「图机器学习GML」接受论文及代码
专知会员服务
60+阅读 · 2020年1月18日
强化学习最新教程,17页pdf
专知会员服务
167+阅读 · 2019年10月11日
相关资讯
人工智能 | ISAIR 2019诚邀稿件(推荐SCI期刊)
Call4Papers
6+阅读 · 2019年4月1日
如何编写完美的 Python 命令行程序?
CSDN
5+阅读 · 2019年1月19日
Seq2seq强化,Pointer Network简介
机器学习算法与Python学习
15+阅读 · 2018年12月8日
文本数据分析(一):基本框架
论智
5+阅读 · 2018年4月9日
如何使用 RNN 模型实现文本自动生成 | 赠书
人工智能头条
5+阅读 · 2017年12月13日
相关论文
A Sketch-Based System for Semantic Parsing
Arxiv
4+阅读 · 2019年9月12日
Neural Image Captioning
Arxiv
5+阅读 · 2019年7月2日
Arxiv
12+阅读 · 2019年2月26日
Music Transformer
Arxiv
5+阅读 · 2018年12月12日
Neural Arithmetic Logic Units
Arxiv
5+阅读 · 2018年8月1日
Arxiv
5+阅读 · 2018年1月30日
Arxiv
8+阅读 · 2018年1月19日
Top
微信扫码咨询专知VIP会员