如何安装 jiazhu 包
chianjin opened this issue · 9 comments
TeXLive 2022 未发现安装包,网络上亦未找到 sty 文件。
请问如何安装。本不应该在此询问,十分抱歉。
手动
- 下载
jiazhu.dtx
,文件位于 https://github.com/CTeX-org/ctex-kit/blob/master/jiazhu/jiazhu.dtx - 执行
tex jiazhu.dtx
,得到jiazhu.sty
和其他文件- 感谢 @asnahu 的反馈 https://github.com/CTeX-org/ctex-kit/issues/630#issuecomment-2071593317。为了得到正确的
jiazhu-test.tex
测试文件,需要使用xetex jiazhu.dtx
或其他支持多字节字符的引擎。
- 感谢 @asnahu 的反馈 https://github.com/CTeX-org/ctex-kit/issues/630#issuecomment-2071593317。为了得到正确的
- 依次执行
xelatex jiazhu.dtx
,makeindex -s gind.ist jiazhu
,xelatex jiazhu.dtx
,xelatex jiazhu.dtx
,得到文档jiazhu.pdf
- 把
jiazhu.sty
和jiazhu.pdf
放到相应的 tds tree 中,例如分别放到TEXMFHOME/tex/latex/jiazhu/jiazhu.sty
和TEXMFHOME/doc/latex/jiazhu/jiazhu.pdf
,其中TEXMFHOME
代表kpsewhich --var-value=TEXMFHOME
返回的路径。
(相对)自动
git clone --depth=1 git@github.com:CTeX-org/ctex-kit.git
cd jiazhu
l3build install --full
根据 build-config.lua
里的设定,l3build
需要调用索引程序 zhmakeindex
。它上传到了 CTAN 但未被发行版收录,需要手动安装。因为 jiazhu
的索引项里没有汉字,所以换成 makeindex
也不影响结果(手动步骤就是这么做的;在自动步骤里,可以手动修改 .lua
或临时链接出一个 zhmakeindex
)。
如果不放心、就是想用 zhmakeindex
,可以从 https://ctan.org/tex-archive/indexing/zhmakeindex/bin 下载合适的二进制文件,授予执行权限,复制或链接到
与其他 TeX 系统的可执行文件(比如 makeindex.exe、pdftex.exe 之类)放在一个目录下面
刘海洋,https://www.zhihu.com/question/51727820/answer/127204124
手动和自动的差异(不完整)
- 自动时,还会安装源文件
jiazhu.dtx
到TEXMFDIST/source/latex/jiazhu/
目录 - 手动生成的文档,日期是
0000/00/00
;自动生成的文档,日期1是jiazhu.dtx
最后修改的日期,目前(在 HEAD 为 0f0c90e 时)为2022/07/22
。
直接使用打包好的 jiazhu.sty
和 jiazhu.pdf
见 #630 (comment) 。注意,这里没有提供 jiazhu-test.tex
。
Footnotes
-
由
build-config.lua
里重定义的、l3build install
自动执行的update_tag
函数替换,见texdoc l3build
,l3build tag
的文档。 ↩
感谢指导
我刚发布了一个测试版本,如果按照以上说明安装有困难,可以直接下载 https://github.com/CTeX-org/ctex-kit/releases/download/jiazhu-beta/jiazhu-beta.zip ,将其中的 tds 包解压到本地的 TEXMF
目录,然后运行 texhash
刷新就可以。
jiazhu 是一个实验玩具性质的宏包,实际效果并不理想,在严肃排版中并不实用,所以一直没有发布到 CTAN。用 LuaTeX 或者 LaTeX 2021-06-01 开始提供的段落钩子可以有更好的实现效果。
感谢指导。这个包在我的线装书直排应用中显示效果相当好。不过有两个小问题:
-
在多行夹注跨页时,如果首行没有正文的话,夹注位置有偏移。我的解决办法是手动断开,在两个夹注当中插入一个零宽度的影子汉字
\vphantom{家}
即可纠正,只要不是特别的字符,随便什么汉字都可以。
\jiazhu{...}\vphantom{家}\jiazhu{...}
-
线装书要求正文严格对齐,因此夹注字体尺寸应当是正文的一半,这样四个夹注汉字对应一个正文汉字。当夹注字数除以四之后剩余一个或两个字符时,正文错开半个字符。我的解决办法是在夹注末尾添加两个全角空格,使得夹注字符数正好是四的整数倍或者余三个字符,就能对齐正文。
直排线装书夹注也有一种格式,是用与正文高度相同但宽度一半的字体作为夹注字体,应该就不需要手工补齐字符数了。不过找不到这样现成的字体,试过压缩字体宽度但效果很难看。
还有大神在吗?想请教一下,如果使用ctex,怎么安装jiazhu宏包?
@blueicyfox 可以尝试 #630 (comment) 和 #630 (comment) 里提到的安装方式。
手动
- 下载
jiazhu.dtx
,文件位于 https://github.com/CTeX-org/ctex-kit/blob/master/jiazhu/jiazhu.dtx- 执行
tex jiazhu.dtx
,得到jiazhu.sty
和其他文件
tex jiazhu.dtx
得到的 jiazhu-test.sty 乱码,改为 xetex jiazhu.dtx
或uptex和luatex 可以得到正确的内容,tex本身不支持utf-8编码。
@asnahu 感谢指出,我更新了我的评论 #630 (comment) 。我也编辑了你的评论,去掉了无关的引用内容。(让网页滚动条缩短得慢一些 😸)