当前位置: 首页 > 工具软件 > easymcm > 使用案例 >

【持续更新】一个简洁、易用的美赛LaTeX模板: easyMCM

孙鑫鹏
2023-12-01

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

关于标题不能换行的问题:这里有解决方案

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

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

目前互联网上最通行的美赛\(\LaTeX\)模板是mcmthesis,由王昭礼www.latexstudio.net)和黄晨成liamhuang0205)先后开发,并上传到CTAN而成为一个标准的文档类,可在最新的\(\LaTeX\)发行版本——如texlivemiktex中直接使用(但是,大部分\(\LaTeX\)新手却不知道自己的套件中已经有这样一个美赛模板了……)。这是一个比较专业、精良的模板,结构完整,接口也很完备。作者之一的黄晨成也非常耐心的撰写了一份优质的模板使用指南:如何使用美赛模板 mcmthesis。但是,该模板对于新手而言还有一定的问题(以下仅仅是我自己的观点,可能有所偏颇):

  • 该宏包已经有三年以上没有更新;最新的发布版本是v6.2,时间为2016年1月29号。(最新消息:v6.3版本刚刚发布,但从其内容看,下面我所说的问题还没有得到解决。)当然,可以说,这几年来美赛组委会要求的摘要页和正文格式都没有太大的调整,但是从mcmthesis文档类提供的样例文档就可以看出其中有若干多余的成分——标题、作者名、定理证明、代码附录等。这些部分在目前绝大多数的美赛论文中是不需要——甚至是不应该出现的。由此导致的结果是:初学者接触到的第一份\(\LaTeX\)排出来的美赛论文,并不是标准格式的美赛论文。
  • mcmthesis文档类提供了完备的接口(setup命令)来修改具体的参数,例如在该宏包下的控制序列
\mcmsetup{tcn = 12345, problem = B, titlepage = true, abstract = true}

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

  • 就我去年以来接触到的一些参赛队伍来看,许多打算使用\(\LaTeX\)撰写论文的队伍实际上还没有弄清楚\(\LaTeX\)中的一些基本概念。例如,很多队伍可能就不清楚文档类和宏包有何差异,或者以为\maketitle命令是所有\(\LaTeX\)文档中都必须的(但在诸如mcmthesis这样的模板中,就并不需要这个系统预定的命令,文档中将自动实现标题的显示)。而对于宏包的设计者而言,这些问题显然不在考虑之列——宏包作者已经明确表明,\(\LaTeX\)的学习需要一定时间,因此“不推荐毫无 LaTeX 使用经验的参赛者使用”。事实上,前面所提到的很多问题,不是由于参赛者“毫无经验”造成的,而是由于他们没能接触到比较好的\(\LaTeX\)入门教材,因此对于这个工具只是一知半解,遇到问题毫无手段。这个问题,主要是由于国内\(\LaTeX\)教材相对“匮乏2\(\LaTeX\)使用者较少所造成的。这是一个客观存在的问题,短期之内似乎难以解决。美赛的参赛人数还在逐年增加,但似乎无法指望大部分参赛者都能较早的开始学习\(\LaTeX\),并且还能用对教材(以免于片面的理解)。

总体而言,我的观点是:由于当前国内的\(\LaTeX\)文化仍不深厚,导致许多初学者无法以正确的方式入门\(\LaTeX\),由此导致的结果便是参赛者的\(\LaTeX\)平均水准不够,即使是使用mcmthesis这样相当完备的宏包仍然感到困难3、错误频出(且还不论mcmthesis宏包在功能上的一些冗余)。这不仅是我去年参赛时的亲身体会,也是我浏览网上各种关于\(\LaTeX\)美赛模板使用中之问题时的一个总体观感。至于网上流传的其他各种修改自该宏包的模板,或爱好者自制的模板,就更不值得一提了——至少在最近两年,我没有搜到比较合用的其他模板文件。

2 easymcm宏包说明

2.1 与mcmthesis的关系之说明

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

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

2.2 easymcm宏包的简介

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

  1. easymcm是由mcmthesis的老版本直接改进过来的,没有做标准化的处理,总体比较简单——因此,其没有太多的接口,基本功能都已具备,不需要用户做个性化的调整。
  2. easymcm经改进后同时支持pdflatexxelatex等多种编译方式。考虑到目前许多参赛队伍仍然习惯于使用\(\mathbb{C}\TeX\)套装下的pdfTexify模式(本质就是pdflatex)进行编译,这一改进是有一定意义的。
  3. easymcm.sty文件中有完备详细的中文注释。对于\(\LaTeX\)宏包的设计而言,这一做法是不必要的(甚至可能是愚蠢的,因为这显得不专业),但我认为美赛恰是许多大学生学习\(\LaTeX\)的最佳机会——因此,这一安排使得初学者自己查看修改宏包内的若干参数成为可能。
  4. 由于作者我本人参加了2018年的美赛,因此可以保证easymcm宏包提供的页面设计是符合近几年来美赛组委会的规范要求的。同时,我也会持续关注之后几年美赛的情况,及时的改进页面设计以符合组委会的规范。
  5. 宏包文件的结构非常简单,实现的功能也并不繁复,因此容错率较高(经得起各位初学者以乱七八糟的命令来折腾)。

本人制作和改进easymcm这个美赛模板文件,并无任何功利企图,纯粹是为了分享给需要的人。我的想法仅仅是:目前中文互联网上的相关内容仍显缺乏,倘我的这一点点工作能够起到一定帮助,则其意义便已达成。(mcmthesis作者之一黄晨成在博客中提到将宏包分享出来提供了一定的成就感,而对于我这个业余的学生而言甚至连这一点也提不上了。我仅认为是举手之劳。)同时,鉴于本模板文件的性质比较特殊(偶然的二次开发),因此我将和原来一样,仅将这个模板文件扔在网上,供大家自行取用(而没有更多打算)。仅此。

2.3 美赛模板下载地址

注:发布版中附带有一篇样例论文,是我们队赛前做的2017年MCM的A题论文,排版样式、代码结构仅供参考和学习。

特别注意:在编译样例论文之前请将顶级目录下的easymcm.sty文件复制到样例论文的文件夹中。

刚刚发布了与今年Summary Sheet匹配的新版本,请各位相互转告!仅有easymcm.sty文件被修改,只需用新的easymcm.sty覆盖现有的即可。

  • 最新版本:v5.03(2019.1.25发布)
  • 说明:
    • 新版本已经与今年官方发布的Summary sheet适配了,请放心使用!如果您已经自行修改了之前版本中的easymcm.sty不想使用新版本,也请点开上面的GitHub发布页面,里面有相应的解决方案。
    • 目前已经支持7位控制号的居中显示了,请大家放心使用。今年的论文样式要求与往年差不多,如临时有大的调整,请大家联系我,我会及时提供解决方案。

作者将持续关注比赛动态,若出现问题将及时更新。也欢迎各位读者直接联系我反映问题!

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

3 常见问题的解决方案

此部分内容已整理汇集至2.22发布的美赛LaTeX急救指南。此处仅留下一个问答:

Question: 使用\(\mathbb{C}\TeX\)套装编译时屡屡出现问题该如何是好?

Answer: 就原则上来说,我只能回复“请不要用\(\mathbb{C}\TeX\)套装了,它太旧了”,但这无济于事,因为很多初学者接触到的都还是\(\mathbb{C}\TeX\)套装,这不是目前能够被轻易改变的事情。就本模板而言,作者已经提供了可在WinEdt编辑器环境下正常编译的宏包和源码文件;如果出现诸如字体缺失、宏包缺失等问题,请先在网上搜索可能的解决方案,若自己无法排查出来可再询问\(\LaTeX\)方面的熟手(也可以联系我)。

最后,仍然要补充一句:不推荐用户使用\(\mathbb{C}\TeX\)套装作为自己学习\(\LaTeX\)时的伴侣,它所带来的种种问题很有可能会摧毁初学者对于这个排版工具的最初兴趣,甚至带来误解与偏见。对美赛而言,排版只是论文写作中的一个环节而已,建好模型、表述清楚才是最重要的。若实在不能够适应\(\LaTeX\)所特有的种种属性,还是请用户自重,好好熟悉Office套件的使用,把更多的精力放在比赛本身之上。


  1. 一些仍然是以\(\mathbb{C}\TeX\)套装作为基础的,而这个系统已经不再被推荐了。

  2. 所谓的“匮乏”是相对的。虽然确实已经有好几本非常不错的中文入门书,但是这类书籍的总体规模却远远不足以让任何一个初学者都能找到门道——他们首先能搜到的可能是网上各种业余的“LaTeX入门指南”,而非这些较好的入门书籍。大部分图书馆或书店中关于\(\LaTeX\)的书籍存量都很低,至于国外的经典专著(诸如“原本”The TeXBook之类的)则甚至无法在国内直接获取到。这可能是一个历史性问题。

  3. 因此我的看法是,mcmthesis是很不错的,但是(1)许多参赛队伍的水准仍不足以使用;(2)很多人甚至搜不到有这样一个模板,因为其发布主页是在CTAN这样的官方网站,或者GitHub这样的程序员专用平台上,在百度这样的“大众”搜索引擎上恐怕是搜不到的。

转载于:https://www.cnblogs.com/xjtu-blacksmith/p/easymcm.html

 类似资料: