NSDI26fall论文写作经验总结

写在前面
- NSDI26fall,不是一作,大概率陪跑
- 感谢鹅厂提供机器和资源,感谢我的超级赛亚人企业mentor,感谢我们的一作小老板,亲力亲为,一作值得,并且我确实学到了不少经验,一开始怨气为主,后面只想写完然后中稿
- 总结了一些论文写作过程中的小tip
画图
- 画图讲究最多,计算机顶会的图重点就是紧凑,少空白多信息
latex图片插入语法
普通一张图插入
1 | \begin{figure}[t] |
- 如果想要剪裁图片,可以使用trim参数
1
\includegraphics[trim=left bottom right top, clip, scale=0.2]{figures/xxx.pdf}
多张子图插入
1 | \begin{figure}[t] |
多张不相关的图,放到同一行里面
- 这种情况一般是为了压篇幅
- 核心:minipage
- 我们的会议论文一般都是双栏,所以这种图分成两种情况,一种是跨双栏,一种是不跨双栏
- 这两种的差异其实不大
- 先看不跨双栏的,其主要是两个的textwidth和不能超过0.5,以及用的是figure而不是figure*
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15\begin{figure}[t]
\begin{minipage}{0.2\textwidth}
\centering
\includegraphics[scale=0.2]{figures/xxxA.pdf}
\caption{xxxA.}
\label{fig_xxxA}
\end{minipage}
\hfill
\begin{minipage}{0.25\textwidth}
\centering
\includegraphics[scale=0.27]{figures/xxxB.pdf}
\caption{xxxB.}
\label{fig_xxxB}
\end{minipage}
\end{figure} - 下面是跨双栏的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27\begin{figure*}[!t]
\centering
\begin{minipage}{0.48\textwidth}
\centering
\subfigure[xxxA.]{
\includegraphics[scale=0.14]{figures/xxxA.pdf}
\label{fig_xxxA}
}
\subfigure[xxxB.]{
\includegraphics[scale=0.14]{figures/xxxB.pdf}
\label{fig_xxxB}
}
\subfigure[xxxC.]{
\includegraphics[scale=0.14]{figures/xxxC.pdf}
\label{fig_xxxC}
}
\caption{xxx.}
\label{fig_xxx}
\end{minipage}
\hfill
\begin{minipage}{0.48\textwidth}
\centering
\includegraphics[scale=0.3]{figures/yyy.pdf}
\caption{yyy.}
\label{fig_yyy}
\end{minipage}
\end{figure*}
画图软件
- PPT画图可定制化更高一点,但是windows系统不能直接选中一部分导出PDF格式,mac可以
图标搜索网站
- 比如会需要搜索一些小图标,比如小公文包,小网卡,小GPU
- 网站:flaticon
配色
- 参考这篇知乎回答:知乎
字体
- Times New Roman就很好看了
- 如果用python的matplotlib画图,可以用下面的代码设置,放在import后面,整个代码的最前面就行
1
2import matplotlib.pyplot as plt
plt.rcParams["font.family"] = ["Times New Roman"]
- 如果用python的matplotlib画图,可以用下面的代码设置,放在import后面,整个代码的最前面就行
- 字体的大小在画出来本地看起来有点夸张的大的时候,放在论文里就正好了
一些图表的其他建议
- y轴的字可以小,但是坐标轴上的刻度一定要大,为了防止重叠可以用下面的python代码减少刻度数量
1
2
3
4import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
# nbins=4表示Y轴最多显示4个主要刻度(包括最小值和最大值)
plt.gca().yaxis.set_major_locator(ticker.MaxNLocator(nbins=4)) - 如果画分布图,不是非常漂亮的正态分布,可以考虑用箱线图或者CDF图
- 最后要让图紧凑,用python代码:
1
plt.tight_layout()
- 如果坐标轴上要写的字想表达的是某个东西的数量,那么可以考虑不用num of xxx,而是直接用一个井号#表达
- 例如:#GPUs, #Servers, #Messages
- 如果是我们的方案和别的差方案对比,用柱状图的画,一般我们的(好的)结果打斜杠花纹
- 如果y轴上的字太长了,可以换行,直接加”\n”就行
- 一般柱状图y轴最高点设置在所有数据里面最大值的1.1倍,稍微高出一点点会好看
文字
- 论文中大段落开头可以用黑体字提一个小核心内容出来
1
\noindent \textbf{xxx.} Main text...
- 论文文字润色交给chatgpt,免费版就行,别用国内的AI
- 要引用一个章节的格式:
1
2% 在被引用的这章的正文前面要加上\label{sec_xxx}
\S~\ref{sec_xxx}