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

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方面得到了由入门到入坟的提升,也算是没白花费这些时间吧。

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

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

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

    这一系列的文章主要记录作者在开发下面网站中的毕业论文编辑器的经历以及一些思考. www.biyelunwenbjq.cn 在得知有些学校要求学生一定要提交Word文档的噩耗后,本人条件反射地喊出了&q ...

  2. H5类似易企秀/编辑器/页面制作/开发/生成工具/软件/源码/授权

    代码地址如下: http://www.demodashi.com/demo/14960.html 项目简介 H5DS (HTML5 Design software) 这是一款基于WEB的 H5制作工具 ...

  3. 计算机专业学生寻找实习的经历和思考

    金三银四找实习  首先,把我的情况和找实习的结果总结一下. 情况:  计算机科学与技术专业大三,在大二的时候我已经决定要找工作,并且出去做开发,这个思考有一个比较长期的过程,大一萌芽,大二思考,大三确 ...

  4. 来自微软华人的软件人生经历:功夫在身外

    此为收藏文章. 来自微软华人的软件人生经历:功夫在身外 TheEdge推荐 [2007-6-4] 出处:<计算机世界> 作者:不详   在微软工作的华人已近千人.在微软TechEd技术教育 ...

  5. 制作html5页面的软件,制作h5页面的软件

    原标题:制作h5页面的软件 制作h5页面的软件有很多,今天我们以一款非常容易上手的软件来给大家分享制作的过程. 为了展现更多的长页面设置过程,本教程中的完成效果与步骤中采用图片并不一致.您在制作自己的 ...

  6. Android实训案例(九)——答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程

    Android实训案例(九)--答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程 项目也是偷师的,决心研究一下数据库.所以写的还是很详细的,各位看官,耐着性子看完,实现结果不重要 ...

  7. 十余年软件开发经历,经验总结和程序一览(涉及Socket、WPF、vc++、CAD、图像、GIS)...

    十余年软件开发经历,经验总结和程序一览(涉及Socket.WPF.vc++.CAD.图像.GIS) 前言 本文主要介绍我开发的几款软件产品,大概介绍一下功能.可以让读者了解本人的开发能力,所擅长的方面 ...

  8. 《双积分AD转换器》的制作经历

    双积分AD转换器的制作经历 开篇说明:或许大佬级别以上的人看不上我写的东西,但小白一定要看下,因为收益真的真的非凡 在某科大的此次电子课程设计(以后简称课设)中,我选的题目是双积分AD转换器.据老师透 ...

  9. 毕业论文答辩PPT制作与演讲技巧分享

    毕业论文答辩是每位大学生都必须经历的重要环节.在答辩过程中,制作和展示PPT是非常关键的一部分.本文根据众多已经完成毕业论文答辩的经验者的心得,为你总结出以下一套可行的答辩PPT制作与演讲技巧. 一. ...

  10. 短视频编辑器软件原型设计

    短视频编辑器软件原型设计 制作软件:MockingBot        运行环境:IOS系统 通过对市面上主流视频编辑器软件的调研,我们发现,现如今对于短视频编辑的需求正朝着移动化.简易化.可共享化发 ...

最新文章

  1. 软件测试人员必备Linux命令(初、中、高级)
  2. 如何在androidstudio中运行java程序
  3. 20189208杨晨曦《移动平台开发实践》第9周学习总结
  4. 010_数字内建函数
  5. 1、spring的IOC
  6. 农民代言人谋定农业大健康--万祥军:创业路上功能性农业
  7. 【BZOJ 1877】 [SDOI2009]晨跑(费用流)
  8. shell习题第6题:监听80端口
  9. 学习使用 Manifest
  10. java代码杨辉三角_用java实现杨辉三角的示例代码
  11. switch芯片和phy芯片的区别_感应式芯片卡CPU卡的FM1208-9和FM1208-10有什么区别,你知道吗?...
  12. ios用的什么编译器编译_您最喜欢什么编译器?
  13. python中if的输入格式_Python基础之输出格式和If判断
  14. 用requests下载视频
  15. matlab中的封装引脚,lm5117封装引脚图及功能
  16. openwrt带宽测速
  17. 离线 维基百科 android,维基百科离线版(Kiwix)
  18. 永磁同步电机的矢量控制策略(八)一一一仿真模型搭建与源代码
  19. 2020春招补录全过程
  20. 三段式电流保护 Matlab仿真

热门文章

  1. AutoCAD工程制图 常见命令与注意事项全总结(120例)
  2. Java中的JDK动态代理
  3. redies的复习总结
  4. 南非 KMP 媒体集团实施了 DMS(文档管理系统)使流程数字化,员工可以再次专注于他们的实际任务,提供了效率
  5. lucene全文检索包括双层PDF
  6. nginx集群部署,实现负载均衡和nfs共享
  7. pscc2019滤镜抽出_「PS-CC2019新版教程」魔棒工具,让你一秒钟完成抠图-基础篇
  8. win系统CH341驱动安装方法
  9. 成都移动IPV6光猫设置教程
  10. 数据通路功能——单总线