也不知道怎么想的，原来用Markdown用得挺好，最近突然想用LaTeX做小学期的报告了。我以前也用过LaTeX排版系统，效果非常棒，但是用起来也十分麻烦，尤其涉及到中文排版的时候。上一次用还是2018年高考结束后，那个时候还是CTeX。这个发行版本在2021年已经算是老古董了，因此本文记述我在编写报告时使用到的一些技巧和配置。环境关于环境，我的是Windows 10专业工作站版21H1，内部版本号19043.1110。LaTeX发行版本使用的MiKTeX，安装了ctex宏包（与CTeX发行版本是两回事儿）。关于编辑器，我是用了最趁手的IDEA，安装了TeXiFy插件，可以完美支持MiKTeX发行版本，并且还有代码高亮，依赖宏包导入之类的功能。文档配置关于小学期的平时报告，由于分成了六次实验，所以使用了ctexrep文档类。其中有几个默认参数不适合打印，所以额外修改了一下：%! Language = Chinese simplified %! compiler = XeTex % Preamble \documentclass[UTF8,twoside,openright]{ctexrep} \title{《*》课程报告} \author{班级\\姓名\\学号} \date{2020年7月3日} % Packages \usepackage{amsmath} \usepackage[T1]{fontenc} \usepackage{graphicx} \usepackage{booktabs} % Document \begin{document} \pagestyle{empty} \maketitle \tableofcontents % 正文开始 \chapter{标题}\label{ch:Title} \pagestyle{fancy} \setcounter{page}{1} \end{document}前两行是一些注释，其中提到最好使用XeTeX引擎来编译文章，因为该引擎原生支持Unicode字符。第五行使用CTeX宏包提供的报告文档类，设置文章编码为UTF-8，twoside表示文档使用双面打印，因此排版时将根据奇偶页数向左/右产生偏移，让出装订线。openright表示每一章起始在右手，即奇数页，这样如果上一章提前结束，XeTeX将自动插入空白页。额勒金德。第七行设置了文档标题，第八行设置作者，作者字段中的\\表示换行，这样的话将班级、姓名、学号分成三行来显示，看起来比较舒服。第九行设置了日期，这三行将在后面的\maketitle指令中用到。12~15行是一些宏包，amsmath是数学公式的宏包，在Markdown中的公式写法与之类似：$ something $表示单行公式，而\[ ... \]表示多行公式，如果想要对公式编号，供后续引用的话，需要使用这样的写法： 模型损失（交叉熵）： \begin{equation} L = -\frac{1}{BatchSize}\sum_{i=1}^{OutputSize} Y_i \cdot logY'_i + (1 - Y_i)log(1-Y'_i) \label{eq:cross_entropy} \end{equation} % 后续文段中引用该公式 损失函数使用交叉熵损失函数，即公式\ref{eq:cross_entropy}。需要注意的是，类似目录或者\ref的引用，通常需要编译两次才能得到正确的结果。第一次编译会将引用翻译成??，第二次编译才会被替换成正确的公式编号。fontenc是帮助处理字体的宏包，虽然不太懂什么意思，但是既然别人都写了，我也写上吧。graphicx是引用图片的宏包，我喜欢将图片居中，所以写起来是这样的： \begin{center} \includegraphics[width=\textwidth]{assets/image-20210708183520715} \end{center}图片文件的路径是src/assets/image-20210708183520715.png。如果不加方括号里面的宽度限制，默认图片有多大就原封不动的放进来，而设置最大宽度后，图片将保持比例自动缩放，我设置的宽度是与文字同宽，而最外面的center则是让图片居中。booktabs宏包用于绘制花哨的表格，就是论文中常见的那种三条线就能画完的表格，看起来十分的优雅：\begin{center} \begin{tabular}{cccc} \toprule \cmidrule{2-4} & 预测为新冠 & 预测为健康 & 预测为病毒 \\ \midrule 实际为新冠 & 25 & 1 & 4 \\ 实际为健康 & 0 & 30 & 0 \\ 实际为病毒 & 1 & 2 & 27 \\ \bottomrule \end{tabular} \end{center}效果如下：除了以上宏包提供的特殊操作外，我还使用到了LeTeX的脚注：\footnote{脚注内容}该指令将会自动在当前页面的下方插入一条脚注。以上这些内容是我在编写报告时用到的。与Markdown对比写完了LeTeX，我不禁开始思考我最常用的Markdown和LeTeX之间的差距。可以说平时用起来最顺手的还是Markdown，不需要在界面上点好多设置，通过键入不同的文本就能渲染出丰富的格式，通过替换渲染主题（我使用Typora搭配Opt Autumnus主题）就可以得到漂亮的输出，但是这种输出只适合于在电子设备上阅览。例如我的网站上的文章也都是Markdown写的，效果还不错，可是如果你试图把他打印出来的话，可能Word更适合一些。Word的定位更像是面向一般用户，就2021年来说，Word的公式编辑器，相对丰富的排版设置，虽然我搞不懂绝大部分，但是使用Word也能排版出可打印，好看且易于编辑的实验报告。这样一说，在2021年LaTeX可能并不是硬性需求，但是从整个系统来看，通过文本源代码生成出最终结果，这种可复现性，应该更贴近平时写程序的体验，Word那种手一滑不知道改了什么就全废了的操作，以前也不是没遇到过。所以我更愿意把LaTeX看作是可打印的Markdown，因为MD本身不适合打印，它根本不关心排版与分页之类的东西。对应的，如果要照顾排版和分页那些东西，就不得不繁琐一些。参考文献主要的参考文献是「一份不太简短的LATEX2ε 介绍」，其中介绍了关于绝大部分关于LaTeX排版和中文CTeX宏包的使用，至于其他文档之外的使用，谷歌通常能够解决大部分问题。