diff --git a/paper-writing.skill b/paper-writing.skill new file mode 100644 index 0000000..f819add Binary files /dev/null and b/paper-writing.skill differ diff --git a/paper-writing/SKILL.md b/paper-writing/SKILL.md new file mode 100644 index 0000000..6580028 --- /dev/null +++ b/paper-writing/SKILL.md @@ -0,0 +1,112 @@ +--- +name: paper-writing +description: "学术论文写作检查与优化助手。基于 MLNLP-World 社区整理的论文写作技巧,帮助检查和优化学术论文。Use when: (1) 检查论文 LaTeX 格式和排版, (2) 优化公式符号使用, (3) 改进图表设计, (4) 润色英文学术表达, (5) 检查参考文献格式, (6) 投稿前终稿检查, (7) 用户询问论文写作技巧或规范。" +--- + +# Paper Writing Tips - 学术论文写作助手 + +帮助用户检查和优化学术论文,确保符合顶会投稿规范。 + +## 核心检查规则 + +### 公式符号规范 + +| 类型 | 规范 | LaTeX 命令 | +|------|------|-----------| +| 标量 | 小写拉丁字母,`l` 用 `\ell` 替代 | `$x$`, `$\ell$` | +| 向量 | 小写加粗 | `\mathbf{x}` (拉丁), `\boldsymbol{\alpha}` (希腊) | +| 矩阵 | 大写加粗 | `\mathbf{X}` | +| 集合 | 花体 | `\mathcal{X}` | +| 数域/期望 | 黑板粗体 | `\mathbb{R}`, `\mathbb{E}` | +| 多字母变量 | 正文字体 | `\textrm{softmax}`, `\textrm{enc}` | +| 函数 | 内置命令 | `\arg`, `\max`, `\sin`, `\exp` | + +**公式格式要求:** +- 括号使用 `\left(` `\right)` 自动调整大小 +- 多行公式用 `align` 环境,`&=` 对齐等号 +- 只对引用的公式加编号,其他用 `\nonumber` + +### 写作风格规范 + +**必须避免:** +- 缩写形式:`don't` → `do not`, `can't` → `cannot` +- 所有格 `'s`:尽量转化为 `of` 结构 + +**拉丁文惯用语:** +- `e.g.,` = for example(注意逗号) +- `i.e.,` = that is(注意逗号) +- `et al.` = and others(句末不加额外句号) + +**LaTeX 格式:** +- 英文引号:``` `` ``` 和 `''`(不用中文引号) +- 不间断空格:`Figure~\ref{}`, `Table~\ref{}`, `BERT~\cite{}` +- URL:`\url{}`(需 `\usepackage{hyperref}`) + +### 选词用词规范 + +**避免绝对化表述:** +| 避免 | 使用 | +|------|------| +| obvious | straightforward | +| always | generally, usually, often | +| never | rare | +| avoid, eliminate | alleviate, relieve | + +**冠词使用:** +- `a/an` 跟元音音素:`an LSTM`, `an F1 score`, `a U-Net` +- 可数名词单数需加 `the` 特指或用复数泛指 + +**缩写规范:** +- 首次出现:`graph attention network (GAT)` 或 `BERT~\citep{BERT}` +- 保持一致:`BERT` 不要写成 `Bert` 或 `bert` + +### 表格图片规范 + +**表格:** +- 使用 `booktabs` 宏包:`\toprule`, `\midrule`, `\bottomrule` +- 三线表,避免竖线 +- 调整:`\centering`, `\small`, `\setlength{\tabcolsep}{8pt}` + +**图片:** +- 使用矢量图(PDF 格式) +- 字体大小介于正文和 caption 之间 +- 颜色不超过六种,适用于黑白打印 +- 箭头方向保持一致 + +### 参考文献规范 + +**引用命令:** +| 模板 | 插入语 | 句子成分 | +|------|--------|----------| +| ACL/NAACL/EMNLP | `\citep{}` | `\citet{}` | +| COLING | `\citep{}` | `\newcite{}` | +| AAAI/IJCAI | `\cite{}` | `\citeauthor{} \shortcite{}` | + +**其他要求:** +- 优先引用正式发表版本,非 arXiv +- 格式保持一致(会议名缩写等) + +## 终稿检查清单 + +检查论文时,按以下清单逐项核对: + +1. **匿名性**:无个人/机构信息 +2. **页数**:不超页 +3. **拼写语法**:使用 Grammarly/Writefull 检查 +4. **缩写**:首次使用时已定义 +5. **大小写**:模型名一致(BERT 不是 Bert) +6. **图片**:矢量图,字体统一,颜色≤6种 +7. **表格**:booktabs 样式,无竖线 +8. **公式**:引用的有编号,格式正确 +9. **引用**:`\citep`/`\citet` 正确使用 +10. **代码/数据**:无个人信息,无隐藏文件夹(.git) + +## Resources + +### references/ + +详细规则和示例请参阅: + +- **[writing-rules.md](references/writing-rules.md)**:完整的写作规范,包含所有规则的详细说明和示例图片 +- **[final-checklist.md](references/final-checklist.md)**:投稿前完整检查清单 +- **[resources.md](references/resources.md)**:推荐的论文写作学习资源 diff --git a/paper-writing/references/final-checklist.md b/paper-writing/references/final-checklist.md new file mode 100644 index 0000000..ceb0132 --- /dev/null +++ b/paper-writing/references/final-checklist.md @@ -0,0 +1,74 @@ +# 终稿必查清单 + +投稿前一周至一天,按以下清单逐项检查。 + +--- + +## 科技英语书写习惯 + +- [ ] 使用拼写检查软件检查文本(如 [Grammarly](https://app.grammarly.com)、[Writefull](https://www.writefull.com/)) +- [ ] 不使用缩写形式(didn't、can't、don't、isn't、aren't) +- [ ] 不使用撇号所有格,用 `of` 短语替代 +- [ ] 缩写(如模型名)在首次使用时已定义 +- [ ] 模型名大小写保持一致(BERT,不是 Bert/bert) +- [ ] 例句、例子使用斜体 +- [ ] 考虑将 `\begin{itemize}` 改成正常段落以节省空间 +- [ ] 脚注写在相关位置后第一个非左标点符号后,`\footnote` 前无空格 +- [ ] a/an 区分正确(an LSTM、an F1、a U-Net) +- [ ] 文章各级标题大小写风格统一 +- [ ] 使用 `\usepackage[english]{babel}` 实现正确的单词换行 + +--- + +## 图片检查 + +- [ ] 图片内部字体统一且与正文大小一致 +- [ ] 图片两侧无空白,保持紧凑 +- [ ] 图片位于页面上方或中间,不在最下方 +- [ ] 同类型模块颜色保持一个色系 +- [ ] 重要模块颜色更深更亮,否则保持均衡 +- [ ] 颜色种类不超过六种 +- [ ] 使用矢量图(PDF 格式) +- [ ] 图片尽量用绘画元素而非大量文字标记 +- [ ] 线型、配色保持统一和认知直观 +- [ ] 箭头方向保持同向,避免来回折转 +- [ ] 流程图无孤立组件 + +--- + +## 引用检查 + +- [ ] 引用在文字外(parent)使用 `\citep` 或 `\cite` +- [ ] 引用在文字内使用正确命令: + - ACL/NAACL/EMNLP:`\citet{...}` + - COLING:`\newcite{...}` + - AAAI/IJCAI:`\citeauthor{...} \shortcite{...}` + - IEEE:`\citeauthor{...}~(\citeyear{...})` +- [ ] 篇幅紧张时使用会议期刊名称缩写(可用 [SimBiber](https://github.com/MLNLP-World/SimBiber)) +- [ ] bib 格式一致(可用 [Rebiber](https://github.com/yuchenlin/rebiber) 检查) +- [ ] 章节、表格、图片使用 `\label` 和 `\ref` 引用 +- [ ] 引用和正文之间有空格 +- [ ] 不重复引用同一论文的不同版本(arXiv 和正式版) + +--- + +## 公式检查 + +- [ ] 公式作为句子一部分,内部可加逗号和句号 +- [ ] 公式后文字若与公式组成完整句子,首字母不大写 +- [ ] 公式后另起新句子,首字母大写 + +--- + +## 投稿前注意事项 + +- [ ] 检查文章匿名性,无个人与机构信息 +- [ ] 检查是否超页(最后时刻慎重改图表大小) +- [ ] 检查标题和摘要与投稿系统填写框内容对应 +- [ ] 检查代码和数据无个人信息,尤其: + - 代码中的 hard coded 路径 + - 隐藏文件夹(如 .git) +- [ ] Overleaf 备份(投稿前可能访问缓慢) +- [ ] 论文历史版本用时间编号 +- [ ] 截稿前一天提前交一个版本 +- [ ] 交稿后关注会议官网和注册邮箱 diff --git a/paper-writing/references/resources.md b/paper-writing/references/resources.md new file mode 100644 index 0000000..ee054e9 --- /dev/null +++ b/paper-writing/references/resources.md @@ -0,0 +1,54 @@ +# 论文写作学习资源 + +以下是推荐的论文写作学习资源,涵盖中英文资料。 + +--- + +## 中文资源 + +- [清华大学刘洋老师:机器翻译学术论文写作方法和技巧](http://nlp.csai.tsinghua.edu.cn/~ly/talks/cwmt14_tut.pdf) +- [复旦大学邱锡鹏老师:如何端到端地写科研论文?](https://xpqiu.github.io/slides/20181019-PaperWriting.pdf) +- [清华大学刘知远老师:如何写一篇合格的NLP论文](https://zhuanlan.zhihu.com/p/58752815) +- [中国人民大学赵鑫老师:如何以初学者的身份写好一篇国际学术论文](https://zhuanlan.zhihu.com/p/136005095) +- [哈尔滨工业大学车万翔老师:如何做一个精彩的学术报告](http://www.cips-cl.org/static/CCL2019/downloads/stuPPT/01.pdf) +- [哈尔滨工业大学刘一佳博士:论文写作的易读性原则](http://yjliu.net/cv/res/2018-08-19-nlpcc-sws.compressed.pdf) +- [MSRA研究员王晋东:用LaTex写论文经验分享](https://mp.weixin.qq.com/s/XshMg6Qb8ArLNA75ImQIWQ) +- [支付宝研究员王益老师:学好语文,才能写好代码](https://zhuanlan.zhihu.com/p/157243326) +- [TTIC石昊悦博士:如何优雅地(用TeX)写AI论文](https://zhuanlan.zhihu.com/p/103519006) +- [夕小瑶的卖萌屋:11个好用的科研工具推荐](https://mp.weixin.qq.com/s/YaPYZvd12Xxgz1Y1L9Rzuw) +- [夕小瑶的卖萌屋:论文写作中注意这些细节](https://mp.weixin.qq.com/s/1ykqoLWjy3WhczAvb_eOoQ) +- [如何让摘要吸引人?Nature论文摘要模板](https://zhuanlan.zhihu.com/p/158574876) + +--- + +## 英文资源 + +- [Graham Neubig: How to Read/Write an International Conference Paper](http://www.phontron.com/slides/neubig15paperwriting.pdf) +- [Graham Neubig: Paper Style Guide](http://phontron.com/paper-guide.php) +- [Simon Peyton Jones: How to Write a Great Research Paper](http://research.microsoft.com/en-us/um/people/simonpj/papers/giving-a-talk/writing-a-paper-slides.pdf) +- [Henning Schulzrinne: Tips and Resources for Writing Computer Science Papers](http://www.cs.columbia.edu/~hgs/etc/writing.html) +- [Whitesides: Writing a Paper (从写提纲角度)](https://onlinelibrary.wiley.com/doi/pdf/10.1002/adma.200400767) +- [Chris Dyer et al.: 关于NLP论文中公式的建议](http://karlstratos.com/teaching/cs445fall20/short-guide-typesetting.pdf) +- [Bo Chang: LaTeX Tips](https://bochang.me/blog/posts/latex/) +- [Karl Whelan: Writing Tips for PhD Theses](https://www.karlwhelan.com/Teaching/PhD/phd-writing-talk.pdf) +- [Karl Whelan: Tips for Preparing and Publishing Research Papers](https://www.karlwhelan.com/Teaching/isne_talk_sep07.pdf) + +--- + +## GitHub 资源 + +- [香港中文大学(深圳)陈冠英老师:LaTeX写作建议](https://github.com/guanyingc/latex_paper_writing_tips) +- [陈冠英老师:Rebuttal Template](https://github.com/guanyingc/cv_rebuttal_template) +- [上海交通大学张倬胜博士:写作建议](https://github.com/cooelf/PaperWritingTips) +- [SimBiber - 参考文献缩写工具](https://github.com/MLNLP-World/SimBiber) +- [Rebiber - 参考文献管理工具](https://github.com/yuchenlin/rebiber) +- [ACL Paper Check 工具](https://github.com/acl-org/aclpubcheck) +- [LaTeX Advice](https://github.com/dspinellis/latex-advice) +- [Annotated LaTeX Equations](https://github.com/synercys/annotated_latex_equations) +- [CMU: The Art of the Paper](https://github.com/acmi-lab/cmu-10717-the-art-of-the-paper) + +--- + +## 其他资源 + +- [Deep Learning Book Notation](https://www.deeplearningbook.org/contents/notation.html) diff --git a/paper-writing/references/writing-rules.md b/paper-writing/references/writing-rules.md new file mode 100644 index 0000000..c9cd97a --- /dev/null +++ b/paper-writing/references/writing-rules.md @@ -0,0 +1,362 @@ +# 论文写作规范详解 + +本文档包含所有论文写作规则的详细说明和示例。 + +## 目录 + +1. [公式符号规范](#公式符号规范) +2. [写作风格规范](#写作风格规范) +3. [选词用词规范](#选词用词规范) +4. [句子表述规范](#句子表述规范) +5. [段落布局规范](#段落布局规范) +6. [表格图片规范](#表格图片规范) +7. [参考文献规范](#参考文献规范) + +--- + +## 公式符号规范 + +### 1. 标量符号用小写拉丁字母表示 + +为避免混淆字母 `l` 和数字 `1`,字母 `l` 可用 `\ell` 替代。 + +示例图片:`pics/1.png` + +### 2. 有结构的值使用 `\boldsymbol`(Attention) + +有结构的值例如句子序列、树、图等。 + +示例图片:`pics/2.png` + +### 3. `\boldsymbol` 的集合可用 `\mathcal`(Attention) + +示例图片:`pics/3.png` + +### 4. 向量值小写加粗,矩阵大写加粗 + +- 拉丁字母用 `\mathbf` +- 希腊字母用 `\boldsymbol` + +示例图片:`pics/4.png` + +### 5. 数域、期望等使用 `\mathbb` + +示例图片:`pics/5.png` + +### 6. 保持元素与集合的符号对应 + +示例图片:`pics/6.png` + +### 7. 非单个字母的变量名 + +公式中的 `softmax`、`proj`、`enc` 等超过一个字母的变量或符号,使用正文字体,即使用 `\textrm` 或 `\textit` 命令。 + +示例图片:`pics/13.png` + +### 8. 使用函数命令 + +许多函数和符号有现成的命令:`\arg{}`、`\max{}`、`\sin{}`、`\tanh{}`、`\inf`、`\det{}`、`\exp{}` + +示例图片:`pics/14.png` + +### 9. 公式中的括号使用 `\left`、`\right` 标记 + +```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} +``` + +示例图片:`pics/15.jpeg` + +### 10. 使用 `align` 表示一组公式,等号对齐 + +```latex +\begin{align} + E &= m c^2 \\ + C &= B \log_2\left(1+\frac{S}{N}\right) +\end{align} +``` + +示例图片:`pics/16.jpeg` + +### 11. 只对引用的公式加编号(Attention) + +使用 `\nonumber` 去除不需要引用的公式编号。 + +```latex +\begin{equation} + E = m c^2 \nonumber +\end{equation} +``` + +示例图片:`pics/17.jpeg` + +--- + +## 写作风格规范 + +### 12. 写作风格要正式,避免缩写 + +- `don't` → `do not` +- 所有格 `'s` 尽量转化为 `of` + +示例图片:`pics/7.png` + +### 13. 拉丁文惯用语 + +- `e.g.,` 表示 `for example,` +- `i.e.,` 表示 `that is,` +- `et al.` 表示 `and others of the same kind,` +- `etc.` 表示 `and others,`(不用于列举人) +- `et al.` 或 `etc.` 在句末时,不用再添加额外的句号 + +示例图片:`pics/8.png` + +### 14. 英文引号 + +使用 ``` `` ``` 和 `''` 分别表示左右引号,而不是其他符号或任何中文引号。 + +示例图片:`pics/9.png` + +### 15. 不间断空格 `~` + +使用 `~` 表示不间断空格,不间断空格不会导致意外的换行: + +```latex +Figure~\ref{} shows the model performance. +Table~\ref{} shows dataset details. +We use BERT~\cite{bert} model. +Section~\ref{} concludes this paper. +``` + +示例图片:`pics/10.png` + +### 16. URL 链接使用 `\url{}` 命令 + +```latex +\usepackage{hyperref} +\url{https://example.com} +``` + +示例图片:`pics/11.png` + +### 17. 引号只表示"所谓",不表示引用(Attention) + +引用的表述考虑使用斜体 `\textit{}` 而不是引号。 + +示例图片:`pics/12.png` + +--- + +## 选词用词规范 + +### 18. 注意连词符的词性 + +- 最后一个词是名词的,连起来是形容词词性 +- 最后一个词是动词的,连起来是动词词性 + +示例图片:`pics/pic_29_1.jpeg`, `pics/pic_29_2.jpeg` + +### 19. 词性易错点 + +- `First`、`Secondly` 均为副词 +- `training`、`test`、`validation` 均为名词 + +示例图片:`pics/pic_30.jpeg` + +### 20. 缩写符合使用习惯 + +- 符合习惯,与提出者尽量一致:CNN、LSTM、FEVER、ConceptNet、SQuAD、BiDAF +- 初次出现时,全称在前,缩写在后:`graph attention network (GAT)`、`pre-trained language model (PLM)` +- 或缩写在前,citation 在后:`BERT~\citep{BERT}` +- 领域名、任务名、指标等一般不需要大写:`natural language processing`、`question answering`、`accuracy`、`macro-F1 score` + +示例图片:`pics/pic_31.jpeg` + +### 21. 注意单复数 + +尤其是不规则单复数变化、不可数名词。 + +示例图片:`pics/pic_32.jpeg` + +### 22. a/an 跟着元音音素走 + +- `an LSTM cell` +- `an F/H/L/M/N/S/X` +- `a U` + +示例图片:`pics/pic_33.jpeg` + +### 23. the 的使用 + +一般不会独立出现可数名词单数,要么加 `the` 特指,要么加复数泛指。 + +示例图片:`pics/pic_34.jpeg` + +### 24. 时态:以一般现在时为主(Attention) + +示例图片:`pics/pic_35.jpeg` + +### 25. 避免绝对化表述 + +- 使用 `straightforward` 替换 `obvious` +- 使用 `generally`、`usually`、`often` 替换 `always` +- 使用 `rare` 替换 `never` +- 使用 `alleviate`、`relieve` 替换 `avoid`、`eliminate` + +示例图片:`pics/36.jpg` + +### 26. 避免模糊表述 + +避免使用 `meaning`、`semantic`、`better` 等词而不加解释。当表示一个事物更好时,不能仅仅说它更好,需要给出相应的解释与理由。 + +示例图片:`pics/37.jpg` + +--- + +## 句子表述规范 + +### 27. 避免过多使用代词 + +避免过多使用 `it`、`they` 等,模型名缩写也不长,并且更清楚。 + +示例图片:`pics/38.jpg` + +### 28. 避免过多贴标签 + +提出的方法到底改善了哪里,是什么导致的这个结果? + +示例图片:`pics/39.jpg` + +### 29. 一句话说一件事 + +尽量使用简单句,少使用长的复合句。 + +示例图片:`pics/40.jpg` + +### 30. 不要混着说 + +观察/发现、假设、方法、效果要分开表述。 + +示例图片:`pics/41.jpg` + +--- + +## 段落布局规范 + +### 31. 一行字数未超过 1/4 时,建议删除或增加字数(Attention) + +可尝试在该段话最后添加 `\looseness=-1`,有时可以在不删除最后一行的情况下,将最后一行的个别单词"挤上去"。 + +示例图片:`pics/pic_42.png` + +--- + +## 表格图片规范 + +### 32. 使用 Booktabs 绘制更好看的表格 + +使用 `\usepackage{booktabs}`,借助 `\toprule`、`\bottomrule`、`\midrule`、`\cmidrule` 命令画出好看的分隔线。 + +```latex +\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 \\ + \bottomrule + \end{tabular} + \caption{With booktabs.} +\end{table} +``` + +示例图片:`pics/18.jpeg` + +### 33. 章节、表格、图片的引用 + +- 使用 `\label{...}` 定义后,通过 `\ref{...}` 自动引用跳转 +- 子图引用:`Figure~\ref{fig:figure}(a)` + +### 34. 不要把图表中的 Caption 在正文中复述 + +- Caption:写"这个表格是什么" +- 正文:写"这个表格说明了什么" + +示例图片:`pics/20.jpeg` + +### 35. "三线表"建议:尽量不要画竖线(Attention) + +示例图片:`pics/22.jpg` + +### 36. 表格大小调整 + +- 用 `\centering` 居中 +- 用 `\small`、`\scriptsize`、`\footnotesize`、`\tiny` 调整字号 +- 用 `\setlength{\tabcolsep}{8pt}` 调整列间距 +- 用 `p{2cm}` 固定列宽 +- 用 `\multirow`、`\multicolumn` 合并单元格 + +示例图片:`pics/23.jpg` + +### 37. 矢量图 + +图像应使用矢量图(如 PDF 格式): +- 使用 Adobe Illustrator、OmniGraffle 等软件绘制后存为矢量图 +- 使用 Matplotlib:`plt.savefig('draw.pdf')` +- 在 LaTeX 中使用 pgfplots 直接绘制 + +示例图片:`pics/24.jpg` + +### 38. 图片字体大小 + +- 介于正文字体与 caption 之间 +- 图中字体大小保持一致 + +示例图片:`pics/25.jpg`, `pics/update1_pic_25.png` + +### 39. 图表设计应适用于黑白打印 + +不要以颜色作为指代图示中线条的唯一特征,可使用实线/虚线、亮/暗、不同线形等。 + +示例图片:`pics/26.jpg` + +### 40. 图片风格保持简洁美观 + +- 不要使用过多的颜色种类(不超过六种) +- 避免过亮的颜色 +- 使用简洁的图示,尽量少用文字描述 +- 同样功能模块使用统一格式 +- 箭头走向应趋于同一个方向 + +示例图片:`pics/27.jpg` + +--- + +## 参考文献规范 + +### 41. 引用需要排查是否在句子中做成分 + +- `\citep{}`:作为插入语(parent) +- `\citet{}`:作为句子主要成分(主语、宾语等) + +示例图片:`pics/pic_43.png` + +### 42. 尽量引用发表的版本而非 arXiv 版本 + +示例图片:`pics/pic_44.png` + +### 43. 引用条目的格式尽量前后一致 + +如会议名缩写、是否包含会议时间地点等应保持一致。 + +示例图片:`pics/pic_45.png`