学习路径 #139
LogCreative
started this conversation in
信息区
学习路径
#139
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
SJTUBeamer 学习路径
beamer
文档类3重写了许多 LaTeX 的宏,可以让用户方便地借助 LaTeX 原生特性编写幻灯片。SJTUBeamer 基于 beamer,借助于 ctexbeamer 文档类4的中文支持,符合交大视觉形象系统5,方便交大用户制作学术幻灯片。快速入门
想必使用 beamer 的用户应当对 LaTeX 的知识有所了解,如果不了解的话快去看 lshort6。
新手可以通过 Overleaf 模板 快速试用,主文档为一个综合性文档,展示了 beamer 的普遍功能。如果想要快速上手 SJTUBeamer 的相关独占功能,可以参考快速入门,位置在
通过修改主题选项更改样式,预览可见 样式一览。至此,你应该能够编写一个短小的幻灯片了(Overleaf 免费版的编译时长限制使得你无法编写超过 50 页)。
重度使用
如果想要编写更大的幻灯片文档时,一个本地环境就显得很有必要了。如何安装 TeX 发行版可以参见 这个文档7。
安装好本地环境后,可以在 项目主页 点击 Code 按钮选择 Download ZIP 下载存储库。
更为用户友好的编辑器推荐使用 TeXstudio10,更快上手公式编辑、符号输入、表格制作,请注意在 Linux 和 macOS 设置为使用 XeLaTeX 编译。
深入了解 SJTUBeamer 的命令内容可以参见 Releases 区 Assets 中的
sjtubeamer.pdf
《用户手册》。如果你遇到了使用上的问题,欢迎来 🙏 提问区 提问。
渐入佳境
当幻灯片越来越大,从一个单文件变成一组文件时,你可能不再满足于已经设定好的日常方法了。这时,你就需要了解 beamer 一些更加 fancy 的操作以提高制作幻灯片的效率。推荐经常查阅 beamer 用户手册11,也推荐访问这个网站12阅读更多的奇技淫巧。
当你希望插入高质量的图片时,一种方法是插入第三方软件生成的矢量图 PDF 文件,另一种方法就是使用 LaTeX 宏包 TikZ & PGF13 绘制,由于 beamer 文档类本身就是基于此的,所以两者可以很好地兼容。上手这个宏包,最推荐的资料仍然是官方文档(中文笔记14),当然刚开始直接使用代码绘制图形还是有一定难度的,Windows 用户可以尝试使用 TikZEdt15 半图形化界面进行绘制。
TikZ 对应的衍生宏包也是很好用的,比如 pgfplots16 可以通过封装好的接口生成统计图。本人也写了一个 PGFPlotsEdt17 工具便于上手。pgfplots 对应的 pgfplotstable18 也可以很方便地从文件排印表格。
如果你不满足于自带的 beamercolorbox,也可以试试 tcolorbox19 制作盒子。如果有其他好用的宏包也可以尝试。
当然进入这一步,就算入了个大坑了,阅读英文文档也成了家常便饭。遇到疑难杂症,建议去 TeX StackExchange20 提问。
参与开发
当你需要开发 SJTUBeamer 时,需要先 fork 存储库再从 GitHub 克隆下来。推荐开发时使用 VS Code 编辑器21,我们提供了适配的代码片段提示方便开发。当然,你也可以使用其他的编辑器进行开发,只要方便就好。
在修改 SJTUBeamer 的源文件之前,建议阅读 CONTRIBUTING 了解如何贡献插件、仿照 contrib 中的已有内容了解如何编写插件,这是将一种新功能投入使用的最快方法,影响小,用户可以自主选择是否使用。插件合入主线后,可以在 🔌 插件区 进行交流。
当你真正准备进入 src 文件夹修改源文件时,首先阅读 MANIFEST 了解存储库结构。之后阅读 Releases 区 Assets 中的
sjtubeamerdevguide.pdf
《开发手册》了解 l3build22 的相关命令、DocTeX 文件的代码风格、SJTUBeamer 的框架与实现细节。如果你对于是否修改这个 Bug 或开发这个功能拿不定主意时,也可以在 Issue 区 与我们讨论,我们非常欢迎开发者参与开发。此时所遇到的问题很多关乎 beamer 源代码,LaTeX2e kernel 或 TeX primitive(推荐阅读 The TeXbook23),建议去对应的社区讨论,或者仍然可以去 TeX StackExchange20 寻找 hacks。
寻求中文排版相关问题的解答,建议前往 CTeX 论坛24 讨论。在符合许可证要求的条件下,也可以仿照国外其他模板、国内其他高校的 beamer25 实现。
设计哲学
SJTUBeamer 在 1.0 版本时,样式文件尽可能简洁,便于用户修改。随着源文件越来越大、功能越来越多、又需要提供 beamer 的标准文件入口,模块化就显得十分必要。重写更多的宏后,SJTUBeamer 在 2.0 版本在层级上从顶层应用开发下沉到中层接口实现。虽然代码看起来变复杂了,却仍然维持了一定的可读性,架构也更加地规整,代码可以复用。SJTUBeamer 在 3.0 版本稳定了大部分独占接口,方便更多用户快速地魔改模板以满足自己的需求。
除去编程上的“设计哲学”外,还有美学上的“设计哲学”。幻灯片这一门类相较于普通的文章,发挥的空间更灵活,需要更强的设计感。这也就意味着制作一个好的 beamer 模板需要许多编程以外的知识——设计的知识,对于许多 UI 框架也是如此。目前的 SJTUBeamer 仅仅是视觉形象系统的一种参考实现,对标准规定的内容没有做太多的修改。我们并不是美学设计方面的专家,美学设计事实上是这条学习路径上更为困难的部分,也希望与更多专业人士共同交流。
Footnotes
学习 LaTeX: https://github.com/CTeX-org/learnlatex.github.io/blob/zh-Hans/zh-Hans/index.md ↩
SJTUThesis: https://github.com/sjtug/SJTUThesis ↩
beamer: https://github.com/josephwright/beamer ↩
CTeX-kit: https://github.com/CTeX-org/ctex-kit ↩
上海交通大学视觉形象系统: https://vi.sjtu.edu.cn ↩
一份(不太)简短的 LaTeX2e 介绍: https://www.ctan.org/pkg/lshort-zh-cn ↩
一份简短的关于 LaTeX 安装的介绍: https://www.ctan.org/pkg/install-latex-guide-zh-cn ↩
什么是适用于 Linux 的 Windows 子系统?https://learn.microsoft.com/zh-cn/windows/wsl/about ↩
Git: https://git-scm.com ↩
TeXstudio: https://texstudio.org ↩
beamer: https://www.ctan.org/pkg/beamer ↩
https://latex-beamer.com/ ↩
TikZ & PGF: https://www.ctan.org/pkg/pgf ↩
TikZ & PGF 手册 (3.1.5b) 笔记: https://www.latexstudio.net/archives/51804.html ↩
TikZedt: http://www.tikzedt.org ↩
pgfplots: https://www.ctan.org/pkg/pgfplots ↩
PGFPlotsEdt: https://logcreative.github.io/PGFPlotsEdt/ ↩
pgfplotstable: https://www.ctan.org/pkg/pgfplotstable ↩
tcolorbox: https://www.ctan.org/pkg/tcolorbox ↩
TeX StackExchange: https://tex.stackexchange.com ↩ ↩2
Visual Studio Code: https://code.visualstudio.com ↩
l3build: https://www.ctan.org/pkg/l3build ↩
TeXbook 中译本:https://github.com/seuliang/the-texbook-cn ↩
CTeX 临时论坛:https://github.com/CTeX-org/forum ↩
国内大学高校 LaTeX 论文、报告模板统计:https://ask.latexstudio.net/ask/article/90.html ↩
Beta Was this translation helpful? Give feedback.
All reactions