easymcm:一个简洁、易用的美赛 模板

程序 [?] 次阅读

若您无意阅读下面的这番引入性介绍,想直接下载模板,请点这里

当前美赛模板通行情况的概述

此段写于 2018 年,当前情势或已变化。

美赛是许多大学生第一次接触 的机会。但是由于时间安排上的原因,很多人都是在赛前几天匆匆拾起 ,并决定用其排版论文。花了一下午安装编译器,又花了一晚上琢磨命令行里弹出来的各种莫名其妙的警告和错误……最终,一些队伍把美赛的时间浪费在对付「难用」的 系统上,失去了许多宝贵的时间。除此以外,网上流传的各种参差不齐的美赛 模板、 入门教程,也常常弄得初学者们晕头转向,无所适从。

目前互联网上最通行的美赛 模板是 mcmthesis,由王昭礼(latexstudio)和黄晨成(liamhuang0205)先后开发,并上传到 CTAN 而成为一个标准的文档类,可在常规的 发行版——如 TeX Live、MikTeX 中直接使用1。这是一个专业的模板,结构完整,接口详备。作者之一的黄晨成也非常耐心的撰写了一份优质的模板使用指南:如何使用美赛模板 mcmthesis。但是,该模板对于新手而言仍有若干问题:

  • 可以说,这几年来美赛组委会要求的摘要页和正文格式都没有太大的调整,但是从mcmthesis文档类提供的样例文档就可以看出其中有若干多余的成分——标题、作者名、定理证明、代码附录等。这些部分在目前绝大多数的美赛论文中是不需要——甚至是不应该出现的。由此导致的结果是:初学者接触到的第一份 排出来的美赛论文,并不是标准的美赛论文。(补充:mcmthesis 近期有更新,改进了这方面的问题。)
  • mcmthesis文档类提供了完备的接口(setup命令)来修改具体的参数,例如在该宏包下的控制序列
    \mcmsetup{tcn = 12345, problem = B, titlepage = true, abstract = true}
    

    就能够将该份论文的队伍控制号设定为12345、选题设置为B、标题页单独显示、多显示一次摘要,等等。但是,对于一般的参赛队伍而言,许多接口可能是非必需的,因为似乎目前所有的美赛论文都有着一致的页面设置要求,不太允许个性化的调整。这可能是由于mcmthesis的作者不太熟悉近几年来的一般美赛论文格式,也有可能是原作者认为应当将宏包的功能设置的更加完备一些。

  • 就我去年以来接触到的一些参赛队伍来看,许多打算使用 撰写论文的队伍实际上还没有弄清楚 中的一些基本概念。例如,很多队伍可能就不清楚文档类和宏包有何差异,或者以为 \maketitle 命令是所有 文档中都必须的。而对于宏包的设计者而言,这些问题显然不在考虑之列——宏包作者已经明确表明, 的学习需要一定时间,因此「不推荐毫无 LaTeX 使用经验的参赛者使用」。事实上,前面所提到的很多问题,不是由于参赛者「毫无经验」造成的,而是由于他们没能接触到比较好的 入门教材,因此对于这个工具只是一知半解,遇到问题毫无手段。这个问题,主要是由于国内 教材、资料相对「匮乏」、 使用者较少所造成的。

总体而言,从这几年的经历来看,我的感受是:由于当前国内的 文化仍不深厚,导致许多初学者无法以正确的方式入门 ,参赛者的 水平不够,即使是使用 mcmthesis 这样相当完备的模板仍然感到困难、错误频出。

easymcm 宏包说明

与 mcmthesis 的关系之说明

我本人是去年国庆期间开始学习 的。到 2018 年赛前时,我仍感自己的 水准不足,为此开始寻找合适的美赛 模板。当时我搜到的是mcmthesisv5.0版本,在LaTeXStudio网站上(该网站的维护者就是宏包作者之一的王昭礼)。下载下来后,发现其许多设置不完全符合当年组委会的要求,为此做了大量修改,同时也将模板中的mcmthesis.sty宏包文件进行了细致的检查和修改。最后,我将这个经过修改的文件随手丢在自己的博客页面上,也没有预料到会有许多人下载使用。这就是之前那个所谓5.0y版本的宏包的来历。

比赛结束几个月后,我才在互联网上搜到 mcmthesis 原来是一个已经持续维护到 v6.2 版本的文档类,而我下载到和用于改进的那个 v5.0 版本只是 2013 年的一个比较原始的宏包。因此,我的博客上所给出的模板,事实上是从 mcmthesis 的老版本上偶然修改出来的一个比较粗糙的宏包文件。

easymcm 宏包的简介

一年之后,2019 年美赛又将到来。本人作为一个曾经的美赛参赛者,希望自己博客上所发布的美赛模板能够继续帮助到新一年(乃至以后)的参赛者;为此,重新检查了 v5.0y 版本的宏包文件,加以完善和改进,并最终制成了一个新的宏包文件 easymcm.sty(不是文档类)。该宏包相对于前面所介绍的 mcmthesis 有以下的独特之处:

  1. easymcm 是由 mcmthesis 的老版本改进而来,未做规范化处理2,结构相当简单——没有太多的接口,基本功能都已具备,不需要用户做个性化的调整。
  2. easymcm 经改进后同时支持 pdflatexxelatex 等多种编译方式。考虑到目前许多参赛队伍仍然习惯于使用 CTEX 套装下的pdfTexify模式(本质就是 pdflatex)进行编译,这一改进是有一定意义的。
  3. easymcm.sty 与论文正文文件中都有完备详细的中文注释。对于 宏包的设计而言,这一做法是不必要的(甚至可能是愚蠢的,因为这显得不专业),但我认为美赛恰是许多大学生学习 的最佳机会——因此,这一安排使得初学者自己查看修改宏包内的若干参数成为可能。
  4. 作者仍在跟进每年的美赛消息,可以保证 easymcm 宏包提供的页面设计符合近几年的规范要求。(现在与 2021 年样式同步。
  5. 宏包文件的结构裸露在外,并有比较详细的注释;各项样式命令都用比较「直白」的方式实现,方便用户自行调整(经得起大家「折腾」)。

Preview of abstract page

论文摘要页预览

本人制作和改进 easymcm这个美赛模板文件,并无任何功利企图,纯粹是为了分享给需要的人。我的想法仅仅是:目前中文互联网上的相关内容仍显缺乏,倘我的这一点点工作能够起到一定帮助,则其意义便已达成。同时,鉴于本模板文件的性质比较特殊,因此我将和原来一样,仅将这个模板文件扔在网上,供大家自行取用;本模板不会发布在 CTAN 等平台上。

Preview of contents

正文预览

美赛模板下载地址

目前版本与 2021 年美赛论文样式适配。

最新版本:v5.2.1(2021.2.4 发布)

作者将持续关注比赛动态,若出现问题将及时更新。

点此查看美赛 LaTeX 急救指南

祝各位美赛大捷,保 M 冲 O!

联系方式

若在使用过程中出现任何问题,可通过以下方式联系作者:

  • 在本模板的讨论页面发布帖子(推荐,但需要注册 GitHub 账号);
  • 在本页面底部发布评论(不推荐,需要注册博客园账号);
  • 通过作者的邮箱 yjr134@126.com 联系作者(不推荐,作者很可能不会回复你)。

更多内容

若需要了解更多信息(例如出现问题怎么办),请参考本项目的 GitHub 主页Gitee 主页

  1. 但是,大部分 新手却不知道自己安装的软件中已经有这样一个美赛模板了。 

  2. 在规范与简明易用之间,本模板选择了后者。