A backup of my homework. 2019 国赛本校第1次选拔赛。
因为要涉及到多人合作的缘故,有必要把格式和风格的一些冲突的地方统一一下。
- 写完一段空一行。这样比
\par\indent
更整洁。 - 双引号建议用
\enquote{...}
取代“...”。因为后者容易出错出现”...”。 - 中英文之间增加空格等等,参见中文文案排版指北(简体中文版)
「有研究显示,打字的时候不喜欢在中文和英文之间加空格的人,感情路都走得很辛苦,有七成的比例会在 34 岁的时候跟自己不爱的人结婚,而其余三成的人最后只能把遗产留给自己的猫。毕竟爱情跟书写都需要适时地留白。与大家共勉之。」——vinta/paranoid-auto-spacing
- 如果是图片中的公式用mathpix 自动导出tex 格式的公式,不用自己写。
- 行内公式建议用
$...$
不用\(...\)
。行间公式建议\dfrac
取代\frac
。 - 行间公式建议用
\begin{align}
不用$$...$$
,\[...\]
没有编号。知乎上有截图说明以上部分区别。 \sum
后建议用\limits
。建议用\max
,\min
,\ln
取代\mathrm{max}
等。- 建议用
\dv{}{t}x
取代\frac{\mathrm{d}}{\mathrm{d}t}x
。偏微分则是\pdv{}{t}x
。 - 建议用
\begin{subnumcases}{}
写分段函数。 - 建议用
\SI{1}{km}
取代1km
。 - 建议用
\mathrm{}
取代\text{}
。 - 公式查看见这个网站。
- 图片优先使用 矢量图。互联网下的图一般都是jpg。截图一般是png。但自己绘图能用矢量图就不要用点阵图。特别谢绝bmp(tex 不支持)。
- 矢量图如果是matlab、octave、py 画的导出为eps 或pdf 都行。inkscape、Photoshop 同理。( 矢量图pdf 比eps 兼容性好,但有时要裁剪白边有点麻烦 )。矢量图如果是(dia、latexdraw)导出为tikz、pst 再编译为pdf。矢量图如果是visio 画的直接打印为pdf。
- 图片和 画出该图片的源文件(matlab 代码、tikz 的tex 文件、visio 文件等)一起放在 src 文件夹下。
- 简单的流程图、思维导图、电路图能用tikz 画就用tikz 画, 见示范的tex文件。复杂的可以用dia 等软件画。
- 能截图就不要拍照。能导出矢量图就不要截图。(例如示波器的波形图就可以截图。 最好使用FAT32的U盘 )
- 图片上不用带标题,在
\begin{figure}
中的\caption{...}
中说明标题。 - 标题为
\caption{...}
的图片,标签为\label{fig:...}
。表格、公式、代码、章、节等分别把fig 改为tab、eq、code、cha、sec、sub、ssub、par、spar 等。 - 相关联的图片、表格在
\begin{figure}
和\begin{table}
中使用\begin{subfigure}
和\begin{subtable}
,引用时用\subref{fig:...}
引用子图。用\ref{...}
中引用总图。
- **不建议一个字一个字把表格敲成tex。**表格中如果没有合并单元格就导成csv 用csvreader 导入。否则直接用
\begin{table}
插入。 能直接导入就不要自己打字, 见示范的tex文件。tex 支持csv,不支持xls、xlsx。
\begin{table}[htbp]
\centering
\caption{每个省份乘坐高铁人数与乘坐火车人数之比}
\label{tab:每个省份乘坐高铁人数与乘坐火车人数之比}
\csvreader[
head to column names,
tabular=cc,
table head=\toprule
省份&高铁乘客人数/火车乘客人数比值
\\
\midrule,
table foot=\bottomrule
]{src/ratio.csv}{}{\csvcoli&\csvcolii} %直接导入表格
\end{table}
或者更简单的:
\begin{table}[htbp]
\centering
\caption{每个省份乘坐高铁人数与乘坐火车人数之比}
\label{tab:每个省份乘坐高铁人数与乘坐火车人数之比}
\csvautobooktabular{src/ratio.csv}
\end{table}
- maltab 导出的表格不含文字用csvwrite 否则用xlswrite。matlab 不支持导出含文字的csv。但可以用importdata 导入含文字的csv。
- 建议使用三线表。
- 当表格过长时使用
\begin{longtabu}
。 - 建议用
\begin{tabu}
取代\begin{tabular}
。 - 表格转换见这个网站。
- 简单的空格用
~
就行。 - matlab2tikz 支持从matlab 导出tikz。但文字导出有些问题。目前不太建议。
- tex 不支持psd、fig、svg。
- 使用
\begin{subfigure}
和\begin{subtable}
时如果要跨页需要改计数器。 - 代码建议用google 风格。
- 代码排版用了boxie.sty。出自texstudio。依赖pygmentize。需要--shell-escape。
- 参考文献用
\bibliography{src/main}
导入。将main.bib 放到src 文件夹下。
- tex主文件就直接放在 工作文件夹下。
- 要插入的图片等 素材统一放在 src 文件夹下。
- 清理干净编译时生成的临时文件(*.aux 等)。
- 如果是report (实验报告)或book (计划书等)的 chapter 的tex 源文件放在inc 文件夹下,用
\include
包含。方便用\includeonlonly
调试。如果是 article(论文)或beamer (幻灯片)没这个必要, 直接写在tex主文件里。 - 包含了ctan 中没有的宏包注明,自己临时写的(只打算用这一次以后不会再用的)sty 或cls 文件放到工作文件夹,从github、texstudio 下的可以放到“texlive\texmf-local\tex\latex\local”,然后Refresh FNDB(filenamedatebase)。但 不建议自己写宏包,除非你真的清楚自己在做什么。
- 如果有配置文件如.latexmkrc ,放在工作文件夹下就可以了。
- 插入大量相关联的文件时,统一命名。例如 2-3-5a1.png 到 2-3-5a8.png 指的是插入到第2章第3节第5子节的8个
\begin{subfigure}
中。 - 文件命名用英文。虽然tex 支持utf-8 的中文,但大多数人的windows 的字符编码都是cp936。文件名避免_和^。如果有请把
\include{...}
改为\include{\string"...\string"}
。 - 善于使用反向搜索。
- 建议使用一个好的编辑器。VSCode的latexworkshop 就很适合新手。熟练之后考虑Vimtex 或Emacs。
- 善于使用代码补全。可以少打很多字。SirVer/ultisnipsText
- 推荐使用git 做版本控制。
- 建议更新到Tex Live 2019。
- pdf 为什么比 word 好?
docx 是一个压缩包,用解压缩软件解压能看到,本质仍是文字,如果电脑缺少字体就不能正确显示;pdf 是矢量图。图片显示与字体无关。几乎所有电脑上都有网页浏览器打开pdf;
docx 需要另外安装软件。且只能在相同版本下阅读,比如Word2003不能打开Word2010。Word必须在相应版本的Office上运行,如果使用其它软件会变形或者错误,尤其是WPS打开也会比较勉强;
- A LaTex distribution. Such as texlive.
git clone git@github.com:Freed-Wu/2019cumcm1
cd 2019cumcm1
latexmk -pvc main.tex
More question see Issues.
If you don't wanna compile, you can download the complied paper from Release