在LaTeX3
的coffin
模块中有这样一个函数:
\coffin_rotate:Nn <匣子> {<角度>}
表示将匣子(coffin)旋转指定的角度。旋转时应当有一个旋转参考点,匣子是绕着这个旋转参考点来旋转的。请问这个函数默认的旋转点是哪个?是匣子中心(hc,vc)还是啥?
在 TeX 中,每个盒子都有一个参考点(reference point):
(来自 The TeXBook 第 63 页)
旋转一个盒子就是以这个 reference point 作为参考点。
coffin 内部使用了一个盒子保存了用 \hcoffin_set:Nn
(\vcoffin_set:Nn
)输入的东西,旋转 coffin 就是直接旋转这个内部盒子(还会设置一些内部变量),旋转参考点也就是这个内部盒子的 reference point,而不是 coffin 的 handle(水平与垂直 pole 的交点,如 (hc,vc),可以参考 xcoffins.pdf
)。
实际使用时,选择哪个点作为参考点不是特别重要,poles 会跟着一起旋转,只会改变内部变量的值。而 join,attach,typeset 这些操作都是基于 pole 的,在旋转前后,poles 之间的相对位置保持不变,poles 与盒子的内容的相对位置也保持不变。
感谢大佬,茅塞顿开!您的回答总是那么的细致。