毕业论文编辑器软件制作经历与思考1

这一系列的文章主要记录作者在开发下面网站中的毕业论文编辑器的经历以及一些思考。

www.biyelunwenbjq.cn

因为疫情的缘故,今年的假期意外的长。大年初三的时候跟几个以前学校的同事老哥聊天,聊到学生毕业论文格式的问题,纷纷表示学生的华丽操作极为要命,每次检测学生的论文格式都会怀疑人生。尤其是当学校面临教学评估的时候,学院甚至会要求带论文的老师把之前学生论文的封面重新打印—因为有些实在不敢看。

话题至此突然勾起了研究生毕业论文改了十次格式的恐怖回忆,而后又鬼使神差的想起导师徐大让我用Latex做一个论文格式模板造福同学,我研究了一段时间最终放弃的事情。

做一个模板本身是不难的,以当时的实力应该也足以应付。放弃的原因是觉得会用的人不多,毕竟这个东西跟写代码差不多,对于非计算机专业的人来说可能还不如去硬肝Word调格式。而克服这个问题的思路是做一个软件,直接把代码的部分变成可视化交互的形式,这样不懂得Latex语法的同学就可以用了。

然而想法和实现隔着千山万水,第一座山就是做这个有什么好处?当时比较想靠软件赚钱,因此直接就在这座山上走到了放弃。在国内的大环境下,大众化性质的软件要收钱唯一靠谱的方法是在线账号机制,就是主体程序放在服务器上,只有通过交费才能使用服务器来用这个程序。而遇到的问题也很现实,那就是本人没搞过这套东西,得学一整套前端、后端和数据库的知识才能搞,于是学着学着就放弃了。

时光一晃四年已逝,论文格式依然是一代代学生和老师避之唯恐不及而又不得不面对的问题,如果不以盈利为目的,是否能做出一个帮助学生和老师来做这件事情的软件呢?经过反复的思考推敲,答案是完全有可能。

于是在这个大门不敢出的特殊时期,第一个方案的构想和实行就开始了。

方案一

由于徐大的那个Latex模板的提议始终萦绕在脑海中,于是第一个方案的设计直接围绕Latex这个核心展开。

毕业论文严格意义上应该分为内容和格式两个部分,如果要用Latex来生成格式,那么必须知道每个内容具体对应什么格式,因此需要有个程序专门来给用户写作并告知程序这些写出来的内容属于什么(标图,题注等等)。三年前那个失败了的web版本程序正是死在这一步,原因是web上的富文本编辑器很难提供流畅的操作体验。而这次不以盈利为目的,可以不受限制想上什么就上什么,于是经过几秒的思考直接就选择了本人无比喜欢的Typora作为论文的编辑工具。

整个程序的逻辑是这样的,使用markdown语法来区分对象的类型,之后通过程序翻译成Latex文档的格式,进而调用Latex编译器将内容直接编译成pdf文档进行展示。细想下来整个逻辑非常完整,甚至还有点得意。而实际操作也的确如此,遇到的问题都是本人不太熟悉Latex,而Latex的大环境又极其混乱导致的,与架构无关。经过接近一个月断断续续的编写和调试,最终把这一版本的整套软件写了出来。

本人对这个版本的优缺点总结如下:

优点:

  1. 如果是喜欢Typora且熟悉markdown语法的人来用这东西体验无比爆表,可以非常流畅的进行论文的写作,完全不存在Word那种卡顿的问题。
  2. 整一套软件系统是完整的,不需要借助服务器端来避免复杂的操作,也就是说只要软件下载下来,从写作到生成论文都可以在断网的情况下进行(这是后面部分方案没能做到的)。
  3. 软件的安装非常简单,就是把程序打包成压缩包,用户直接解压。而且只要是Windows操作系统就可以用,如果愿意还可以适配到Linux系统,不会有多大的麻烦。
  4. 由于使用了Latex进行文档的生成,可以完美吃到Latex的美学优化红利,生成出来的论文具备出版物级别的外观,这个是绝大部分用Word写出来的毕业论文望尘莫及的。

缺点:

  1. 由于需要打包Typora以及Latex的完整编译环境(以免需要用户自己下载和配置出现各种奇奇怪怪的问题),整个软件的体积非常大,居然有1G多,比Word还要大!即便使用了7z的格式进行压缩,软件的体积依然有335M,而且压缩耗时非常长,极不利于软件的推广。
  2. 这是一套完全去Word的系统,Word的全部红利都吃不上。而Word的审批功能是很多人喜欢用的利器,结果是直接影响学生跟导师之间的文档修改和交流(只能用PDF的审批软件进行修改审批)。
  3. 如果没有用过Typora,不知道markdown语法,要用这个软件首先还要去学这个东西,那么第一个优点就变成了让另外一部分用户极为不适的缺点(虽然个人感觉这东西学了绝对不亏)。
  4. Latex编译出来的文档是PDF格式的,而且不存在PDF到Word之间的无损转换。也就是说通过这套东西要想最终得到一个完美格式的Word文档是在做梦。而最鬼故事的一点是,有些学校要求学生一定要提交Word文档,直接吐了!
  5. Latex的编译过程有点慢,虽然看着一个黑框在那里输出代码有点牛逼的意思,但多看几次就会想为什么它还没好啊?!
  6. 大部分高校的毕业论文格式要求只给Word版本,而Latex跟Word有些方面比较难对应到一块去,需要人肉调整。因此转换格式要求本身就需要花费大量的精力,无法快速将软件普及到多个高校。

最终这套东西的命运是由于"缺点4"被直接毙掉了,直到现在本人还保留着一份完整的代码,每每回想起来心情都很复杂。经过这一个月左右的填坑,在Latex方面得到了由入门到入坟的提升,也算是没白花费这些时间吧。

另外,由于本人属于做事不达目的浑身难受,吃嘛嘛不香的个性,又碰上了疫情连门都不敢出,没法排解郁闷的心情,于是第二套方案的构思就从第一套方案的代码尸体上发芽了。

你可能感兴趣的:(编程人生)