排版
2010 年开始,因为一些原因,我一周总会有两天在探索 Office 套件。最早是 2013 年打印使用 Word 排版的试卷。2014 年,班级硬件设施升级,终于可以使用多媒体展示。顺应信息化潮流,本人开发了基于 PowerPoint 的抄题模板和基于 Word 的打题模板,并因为当时很多老师尚未从 2003 版本转化过来,提供了 2003 和 2007 双版本。后来因为要实现更多的功能,废弃了 2003 版本。
为了帮助老师的使用,编写了命令行版本的抄题模板使用助手,同年也开发了 801CS 命令行版本的管理系统。然而,老师不太会使用命令行窗口,我便开发了对应的图形化界面版本,也是我的第一款 Visual Basic .NET 软件。随后凭借 Windows 7 的小工具思想,开发了中考倒计软件。升学暑假期间,开发了可以产生鬼畜效果的对话框生成器。进入高中后的 2016 年,联合 Access 数据库,开发了班级图书管理器软件。
后来也是陆陆续续地使用 Office 套件完成了大大小小的文档,然而发现 Word 的公式编辑器不太好用了,文档大了之后会越来越卡。在进入大学的 2018 年转而使用 \(\rm \LaTeX\) 作为自己的排版软件,制作了《费曼的奇妙观点》系列讲义。
随着对 \(\rm \LaTeX\) 了解的深入,2020 年初开始了“像模像样 \(\rm \LaTeX\)”博客的制作,介绍一些有意思的 \(\rm \LaTeX\) 技巧,并随之开发了基于 Vue.js 的 PGFPlotsEdt 统计绘图编辑器、转化 Markdown 文档的 AutoBeamer 自动幻灯片代码生成器、基于 Python 的 manim-subtitler 字幕机。
有了博客的撰写经验后,向 CTeX-org 贡献了半数的 learnlatex.org 翻译文段。对 Beamer 宏包相对熟悉后,2021 年 3 月起开发 SJTUBeamer 幻灯片模板,并于 2021 年 9 月合并代码到 SJTUG 主线,成为 SJTUTeX Maintainer。2022 年 4 月至 5 月,在图书馆做了两场关于 \(\rm \LaTeX\) 排版论文与幻灯片的讲座。
2023 年上半年,使用 \(\rm \LaTeX3\) 语法开发了 presenter \(\rm \LaTeX\) 幻灯片框架,相较于 Beamer 可以免除 frame
环境切分幻灯片的操作,从而更好地将 \(\rm \LaTeX\) 普通文档无缝迁移为幻灯片。
前端
2020 年开始的“像模像样 \(\rm \LaTeX\)” 纯静态 HTML 博客撰写过程使我掌握了 HTML/CSS/JavaScript 三件套的基础语法,之后重点在 2021 年开发的 PGFPlotsEdt 统计绘图编辑器采用了 Vue.js 2 渐进式 JavaScript 框架。2022 年,在可视化课程项目中进一步了解了 flask 后端框架的语法,在 CG课程项目 中使用 THREE.js 来构建浏览器三维图形应用程序。2023 年,在开源课程项目中进一步了解 Node.js 服务器语法来对一个开源项目的文档示例产生编译结果。
2024年,在制作一个微信小程序的过程中,研制出了一个支持双指缩放旋转的微信小程序组件 gesture-view,可以用于地图等小程序的制作。
在同一年,进一步使用 Gunicorn 这个 flask 部署服务器构建 PGFPlotsEdt 的编译后端,使得这个在线 \(\rm \LaTeX\) 编译服务可以更快地编译 PGFPlots 文档,并把本地后端与大模型结合向用户提供代码见解,精心制作了一个 PV 来展示 PGFPlotsEdt 的功能,现在已经获得 LaTeX 工作室的转发。