Liú Hǎiyáng
Liú Hǎiyáng
Original [issue 86](https://code.google.com/p/ctex-kit/issues/detail?id=86) created by sobenlee on 2012-05-06T02:14:27.000Z: xeCJK 会跟同样使用了 \XeTeXinterchartoks 机制的宏包产生大小不一的兼容性问题。我目前想到的不完全解决办法是在导言区结束的时候,判断 \xe@alloc@intercharclass 是否等于 6,如果不等,则将 1、2、3 与 0 之间的 toks 相应赋值给 7--\xe@alloc@intercharclass,如果 7--\xe@alloc@intercharclass 与 255 之间的 toks 为空的话,就把 0 与...
Original [issue 164](https://code.google.com/p/ctex-kit/issues/detail?id=164) created by LeoLiu.PKU on 2014-10-27T04:03:11.000Z: 示例代码 %!TeX encoding = UTF-8 %!TeX program = xelatex \documentclass{article} \usepackage{xeCJK}% r692 \setCJKmainfont{SimSun} \usepackage{xeCJKfntef} \def\CJKulineleftskip{0.2em} \def\CJKulinerightskip{0.5em} % 默认值 0.2em \begin{document} \varCJKunderline{南朝}\varCJKunderline{梁}\varCJKunderline{劉勰} \end{document}...
Original [issue 110](https://code.google.com/p/ctex-kit/issues/detail?id=110) created by sobenlee on 2013-01-13T02:29:33.000Z: 直接使用 l3fp 应该就可以了。最开始写宏包的时候,l3fp 的相关函数还不是可以展开的,所有就没有考虑。 使用 l3fp 的额外好处是方便参数的展开。目前的展开方式使用的是简单粗暴的 \cs_to_str:c { ... },最大的弊病就是会让 \123 之类的成为 \relax。
Original [issue 114](https://code.google.com/p/ctex-kit/issues/detail?id=114) created by LeoLiu.PKU on 2013-03-25T10:43:29.000Z: xeCJK 3.1.2 r399 在处理 `\noindent` 开始的段,或者处理 `\leavevmode{\setbox0\lastbox}`(用于列表环境消除段缩进)开始的段时,首行的左标点压缩失效。普通的段落标点压缩正常。 最初报告见:http://bbs.ctex.org/forum.php?mod=viewthread&tid=75011 最小测试代码: ``` TeX \documentclass{minimal} \usepackage{xeCJK} \setCJKmainfont{SimSun} \parindent0pt \begin{document} 《文字\\ 《文字\\ 《文字 \hrulefill \noindent《文字\\ 《文字\\...
Original [issue 149](https://code.google.com/p/ctex-kit/issues/detail?id=149) created by sobenlee on 2014-04-26T03:44:37.000Z: 刚才翻 XeTeX 的邮件列表看到有人询问它们的用法的。以前在处理Issue 78、Issue 105 和 Issue 114 的时候都考虑过使用这种办法。 关于标点符号的边界对齐,目前 xeCJK 采用的是从 CCT 流传下来的技术:先用负宽度的 \vrule 回退标点的边界宽度,然后用 \hskip 来占位。由于 glue 是可弃项目,换行时会自动消失,最后的效果看起来就像边界对齐的样子。相当于: %% 全角左标点...
Original [issue 159](https://code.google.com/p/ctex-kit/issues/detail?id=159) created by LeoLiu.PKU on 2014-08-18T15:54:19.000Z: 问题来自对 http://tex.stackexchange.com/questions/191931/ 的测试。 测试代码(需要修正过 CID 字体后的 xdvipdfmx): % !TEX program = XeLaTeX % !TEX encoding = UTF-8 \documentclass{article} \usepackage{xeCJK} \setmainfont{NotoSansKR-Regular.otf} \setCJKmainfont{NotoSansKR-Regular.otf} %...
Original [issue 166](https://code.google.com/p/ctex-kit/issues/detail?id=166) created by LeoLiu.PKU on 2014-12-25T15:36:58.000Z: 原问题报告见于 http://tex.stackexchange.com/q/218876/2674 按报告示例,问题应该主要会出现在拗音(ゃ、ゅ、ょ)后面紧接着一个促音(っ)的场景。当然我对日语不是很熟,应该还有其他的情况? 从 xeCJK v3.2.16 的排版结果看,默认的全角标点模式,以及开明式、半角式,对这种假名组合都不恰当地收缩了间距。而以默认的全角模式收缩最严重。 xeCJK 代码按 Unicode 的规定,将这些符号声明为 Conditional Japanese Starter (CJ) 组,定义在 \c__xeCJK_CJ_chars_clist 中。最后它们被定义于 \c__xeCJK_FullRight_chars_clist 中,以处理禁则问题。但这显然是有问题的,因为实际上实现中把这些假名定义为 FullRight 字符类,会当作右标点来做标点压缩,这当然是不可取的。...
从某个版本开始 `fontspec` 文档中的默认语法就从 `\setmainfont[...]{Foo}` 变成 `\setmainfont{Foo}[...]` 了,只是还兼容旧语法。 只需要用一点技巧,算是无伤大雅的改动吧。
与许多宏包一样,`biblatex` 基于 `babel` 做本地化。默认语言用的是 `english`,然后会在 `\begin{document}` 之后修改 `\refname`、`\bibname` 的值,造成问题。 `biblatex` 自己的本地化文献是 `.lbx` 文件,会语言保存相关的串。 对于中文文档,`ctex` 包对 `\refname` 或 `\bibname` 的修改早于 `biblatex` 的重定义,会造成无效。 简单的处理方式是让 `\ctexset` 设置 `bibname` 延迟(利用 `\AtBeginDocument`)。 目前已有的 `biblatex` 格式,如...
`attachfile2` 宏包利用 `hyperref` 的功能及 pdf literal 插入,可以插入 pdf 附件,并支持 XeTeX。目前版本(2.4.14)在 XeTeX 下排版会失效。例如: ```latex \documentclass{ctexart} \usepackage{attachfile2} \begin{document} \section{出错测试} \attachfile{foo.png} \end{document} ``` 简单检查了一下,似乎是 `hyperref` 的 `pdfencoding`/`encoding` 造成的冲突。设置 `pdfencoding=auto` 可以绕过此问题。但 `ctex` 包的 `pdfencoding`...