很多初学者同学在投稿的时候经常会出现一些共有的小错误,为了节省大家的时间和帮助大家能够尽快的定位一些小的问题。本项目总结了我们在自己投稿过程中的经验和一些身边老师同学的投稿经验,希望能对大家有所帮助,由于我们的水平有限,如有疏漏,还望谅解。谢谢大家。
本项目的特色:
- 写前必看:包含一些常见的错误,每个错误均配有例子,可以在动手写论文之前快速浏览。
- 终稿必查:包含一些例子,方便快速定位是否自己的论文有错误。
- 百家之言:整理了一些网络上公开的写作资源(并不完全,欢迎补充),方便大家系统学习。
本项目列举的所有技巧仅供参考,并不保证正确。本文主要关注于顶会论文,论文写作以实际需求为准。熟悉写作技巧可能会使写作没有明显的失误,而优秀的论文需要不断打磨。 所有内容仅仅来自于笔者的个人经验、互联网数据、笔者团队日常科研工作中的相关积累,以及笔者团队身边各位大佬的言传身教。有任何问题,欢迎提交 Issue 或 PR。另本项目所用徽章来自互联网,如侵犯了您的图片版权请联系我们删除,谢谢。
Paper Writing Tips目前是一个正在进行的中项目,如有疏漏在所难免,欢迎任何的PR及issue讨论。
下文中,标注"Attention"的内容,是目前组织者认为有(较为)明显争议的建议条目。
- 要点: 为避免混淆字母 l 和数字 1 ,字母 l 可用 \ell 替代。
- 要点: 有结构的值例如句子序列、树、图等 (下图仅展示为句子序列情况)
- 要点: 拉丁字母用\mathbf,希腊字母用\boldsymbol。
don't
拆开写成do not
s- 所有格
's
尽量转化为of
e.g.,
表示for example,
i.e.,
表示that is,
et al.
表示and others of the same kind,
etc.
表示and others,
,不用于列举人et al.
或etc.
在句末时,不用再添加额外的句号
键位如图所示,使用 `` 和 '' 分别表示左右引号,而不是其他符号或任何中文引号。
使用 ~
表示不间断空格,不间断空格不会导致意外的换行,例如:
Figure~\ref{} shows the model performance.
Table~\ref{} shows dataset details.
We use BERT~\cite{bert} model.
Section~\ref{} concludes this paper.
使用 \url{}
命令,需要导入包:
\usepackage{hyperref}
引用的表述考虑使用斜体 \textit{}
而不是引号。
公式中的 softmax
,proj
,enc
等超过一个字母的变量或符号,使用正文字体,即使用 \textrm
或 \textit
命令。
许多函数和符号有现成的命令,例如:\arg{}
,\max{}
,\sin{}
,\tanh{}
,\inf
, \det{}
, \exp{}
.
-
如 \left(\right), \left{\right}, \left<\right>, \left|\right|等。
-
括号中的分割通过\middle实现。
-
Latex代码如下:
\begin{gather} \bold{s} = \left(\sum_{i=0}^{N-1}{\alpha_{i} \bold{h}_i}\right) + \bold{h}_N\\ \bold{s} = (\sum_{i=0}^{N-1}{\alpha_{i} \bold{h}_i}) + \bold{h}_N \\ \end{gather} \begin{gather} \left\{ x \middle| x\ne\frac{1}{2}\right\} \\ \{ x | x\ne\frac{1}{2}\} \end{gather}
-
使用 align 表示一组公式,等号对齐。
-
Latex代码如下:
\begin{gather} E = m c^2 \\ C = B \log_2\left(1+\frac{S}{N}\right) \end{gather} \begin{align} E &= m c^2 \\ C &= B \log_2\left(1+\frac{S}{N}\right) \end{align}
-
推荐:只对refer的公式加编号,\nonumber去编号。
-
Latex代码如下:
\begin{equation} E = m c^2 \end{equation} \begin{equation} E = m c^2 \nonumber \end{equation}
-
绘制表格时,使用 \usepackage{booktabs},从而借助 \toprule, \bottomrule, \midrule, \cmidrule 命令,画出好看的分隔线。
-
Latex代码如下:
% Example of a table with booktabs from https://nhigham.com/2019/11/19/better-latex-tables-with-booktabs/. % First version of table. \begin{table}[htbp] \centering \begin{tabular}{|l|c|c|c|c|c|l|} \hline & \multicolumn{3}{c|}{E} & \multicolumn{3}{c|}{F}\\ \hline & $mv$ & Rel.~err & Time & $mv$ & Rel.~err & Time \\\hline A & 11034 & 1.3e-7 & 3.9 & 15846 & 2.7e-11 & 5.6 \\ B & 21952 & 1.3e-7 & 6.2 & 31516 & 2.7e-11 & 8.8 \\ C & 15883 & 5.2e-8 & 7.1 & 32023 & 1.1e-11 & 1.4 \\ D & 11180 & 8.0e-9 & 4.3 & 17348 & 1.5e-11 & 6.6 \\ \hline \end{tabular} \caption{Without booktabs.} \label{tab:without-booktabs} \end{table} % Second version of table, with booktabs. \begin{table}[htbp] \centering \begin{tabular}{lcccccl}\toprule & \multicolumn{3}{c}{E} & \multicolumn{3}{c}{F} \\\cmidrule(lr){2-4}\cmidrule(lr){5-7} & $mv$ & Rel.~err & Time & $mv$ & Rel.~err & Time\\\midrule A & 11034 & 1.3e-7 & 3.9 & 15846 & 2.7e-11 & 5.6 \\ B & 21952 & 1.3e-7 & 6.2 & 31516 & 2.7e-11 & 8.8 \\ C & 15883 & 5.2e-8 & 7.1 & 32023 & 1.1e-11 & 1.4\\ D & 11180 & 8.0e-9 & 4.3 & 17348 & 1.5e-11 & 6.6 \\\bottomrule \end{tabular} \caption{With booktabs.} \label{tab:with-booktabs} \end{table}
- 章节、表格、图片使用\label{...}定义后,通过\ref{...}自动引用跳转。
- 对子图或子表的引用可以使用Figure~\ref{fig:figure}(a)来表示。
- 说明(Caption)是用来写“这个表格是什么”的。
- 正文是用来写“这个表格说明了什么”的。
- 用 \centering 居中;用\small,\scriptsize,\footnotesize,\tiny 调整字号
- 用\setlength{\tabcolsep}{8pt} 调整列间距
- 用 p{2cm} 固定列宽
- 用\multirow,\multicolumn 合并单元格
- 使用Adobe illustrator、OmniGraffle等软件绘制后存为矢量图
- 使用Matplotlib绘制后存储: plt.savefig(‘draw.pdf’)
- 在LaTeX中使用pgfplots直接绘制
- 建议图中字体大小保持一致
- 图片中文字字号大小不宜太大
- 对黑白打印友好:不要以颜色作为指代图示中线条的唯一特征,可使用实线/虚线 ,亮/暗,不同线形等。
- 不要使用过多的颜色种类,避免过亮的颜色
- 使用简洁的图示,尽量少用文字描述(例子除外)
- 同样功能模块使用统一格式
- 箭头走向应趋于同一个方向
- 一般连词符中,最后一个词是名词的,连起来是形容词词性;
- 最后一个词是动词的,连起来是动词词性。
- First, Secondly,均为副词
- training, test,validation,均为名词
- 符合习惯,与提出者尽量一致CNN,LSTM,FEVER,ConceptNet,SQuAD,BiDAF,FEVER score,Wikipedia。
- 初次出现时,全称在前,缩写在后;或缩写在前,用于注释的citation在后。graph attention network (GAT),pre-trained language model (PLM);BERT~\citep{BERT}。
- 领域名、任务名、指标等一般不需要大写,如 natural language processing, question answering, accuracy, macro-F1 score.
- 尤其是不规则单复数变化、不可数名词。
- 注意:一般不会独立出现(不用冠词)可数名词单数,要么加the特指,要么加复数泛指。
- 使用straightforward替换obvious
- 使用generally、usually、often替换always
- 使用rare替换never
- 使用alleviate、relieve替换avoid、eliminate
以better举例,也就是当表示一个事物更好时,不能仅仅说它更好,需要给出相应的解释与理由
提出的方法到底改善了哪里,是什么导致的这个结果?
- 要点:引用使用\citep{},作为插入语;或\citet{},作为句子主要成分如主语、宾语等。
- 会显得正规一些
- 如会议名缩写、是否包含会议时间地点等是否所有的参考文献格式保持了一致
-
引用在文字外(parent),使用 \cite。
-
引用在文字内(within text)
- ACL/NAACL/EMNLP模板使用\citet{...};
- COLING模板使用\newcite{...};
- AAAI/IJCAI模板使用\citeauthor{...} \shortcite{...};
- IEEE模版:\citeauthor{...}~(\citeyear{...})
效果:(Zhang et al. 2020) vs. Zhang et al. (2020)
- 可以参考工具 SimBiber
- 可以参考工具 Rebiber
● 清华大学刘洋老师的CWMT-2014报告:机器翻译学术论⽂文写作⽅方法和技巧
● 复旦大学邱锡鹏老师的CCL-2018报告:如何端到端地写科研论文?
● 中国人民大学赵鑫老师:如何以初学者的身份写好一篇国际学术论文
● 香港中文大学(深圳)陈冠英老师整理的写作建议 || & Rebuttal Template
● 哥伦比亚大学 Henning Schulzrinne 老师:Tips and Resources for Writing Computer Science Papers
● 哈佛大学 Whitesides 老师:从写提纲的角度切入讲解如何撰写学术论文
● 卡耐基梅隆大学 Graham Neubig 老师:How to Read/Write an International Conference Paper & Paper style guide
● MSR研究员Simon Peyton Jones老师:How to Write a Great Research Paper
● 支付宝研究员王益老师:“学好语文,才能写好代码”(很多观点对写论文同样适用)
● 哈尔滨工业大学刘一佳博士的NLPCC-2018报告:论文写作的易读性原则
● 夕小瑶的卖萌屋:11 个好用的科研工具推荐!工作效率提升 max!
● 夕小瑶的卖萌屋:吐血整理:论文写作中注意这些细节,能显著提升成稿质量
● Deepmind Chris Dyer 等老师:关于NLP论文中公式的建议
● Google Brain的Bo Chang老师的LaTeX Tips
● acl-org/aclpubcheck: Tools for checking ACL paper submissions
● dspinellis/latex-advice: Advice for writing LaTeX documents
● Graham Neubig:How to Read/Write an International Conference Paper
● Karl Whelan:Writing Tips for PhD Theses
● Karl Whelan:Tips for Preparing and Publishing Research Papers
感谢以下同学对本项目进行组织与指导
感谢以下同学对本项目的支持与贡献