zhlineskip: 使用 docstrip 手段排版宏包手册
注意到 ctex 宏集中新加入了包 zhlineskip。可否与宏集中的其他宏包类似,使用 docstrip 手段,将代码与文档整合起来?这样更方便对照阅读与使用。
另外是否可以将 PDF 文件移出 git 仓库?PDF 在通常情况下是不必要的吧。
建议不要将 PDF 加入 git,因为不同平台、不同版本 texlive 编译的 pdf 都不完全一样
zhlineskip 宏包源于今年 6 月初我在 TeX.SE 上的一个提问。求解不得,故决定自己写宏包解决。自 6 月 11 号首次上传 Git 以来的两个遗留问题,终于分别在 7 月 7 号与 13 号被解决了。
目前,PDF 文档仅用于个人笔记,源文件 zhlineskip-man.tex 与宏包文件 zhlineskip.sty 也一定是要用 docstrip 封装成 .dtx 与 .ins 文件的。不过,新的编程语言学起来需要时间,我找到的 TUGboat 宏包编写教程也是面向英文宏包作者的。我还没弄明白该怎么写中文的 .dtx 与 .ins 文件。
ctex 一系列的宏包都是把 ins 打包进 dtx 的,参见 https://www.texdev.net/2009/10/06/a-model-dtx-file。中文的话,并没有什么差别,改用 xetex/xelatex 就可以了。具体写法,可以参考 xpinyin、zhnumber、jaizhu 这几个小一点的包。
LiamHuang 有一篇博客可以参考:在 LaTeX 中进行文学编程,或者参考docstrip文档texdoc docstrip,中文的话就和普通文档一样用ctex好了。另外,也可以进一步把.ins合并到.dtx。
建议不要将 PDF 加入 git,因为不同平台、不同版本 texlive 编译的 pdf 都不完全一样
已移除过期的 PDF 手册,并上传更新后手册的 .tex 源文件(加图、加描述),下一步即是完成 \section{代码实现} 部分的内容。
多一份参考资料 http://math.ecnu.edu.cn/~latex/faq/cls.htm 再啃啃
@RuixiZhang42 我刚刚尝试写了一份 docstrip 版的,见 15e74a2 。
但是还有个问题,latexmk -xelatex zhlineskip.dtx 不知道为啥编译不出文档。
似乎是因为 \newif\ifSourceHanSCandMplus 跟后面某个 \fi 匹配上了,去掉 SourceHanSCandMplus 相关代码后可以编译通过,看来 docstrip 也有不少坑