我正在尝试了解 arydshln 包。据我所知,整个东西都是基于基本 TeX 构建的\xleaders
。我也想回到基础。不幸的是,尽管样式文件组织良好,但很难弄清楚哪些值最终会出现在哪里。
\adl@drawi#1#2#3
\adl@drawii#1#2#3
\adl@drawiii#1#2#3
然后你就会看到类似这样的事情:
\let\adl@draw\adl@drawi
所以#3
应该有一个盒子或规则,因为它是\xleaders
预期的,然后是#2
一些胶水。我不确定#1
是什么。
arydshln.sty 代码片段
经过快速搜索,我发现了这一点。下面代码中的、和 的\xleaders
值是什么?我一直在尝试理清这个问题,但总是迷失在代码中。#1
#2
#3
\def\adl@drawi#1#2#3{%
#1{.5}#2.5\@tempdimb
\xleaders#3{#2.5\@tempdimb #1{1}#2.5\@tempdimb}%
#2\z@ plus1fil minus1fil\relax
#2.5\@tempdimb #1{.5}}
\def\adl@drawii#1#2#3{%
\setbox\adl@box#3{#2.5\@tempdimb #1{1}#2.5\@tempdimb}%
#1{.5}#2.5\@tempdimb
\copy\adl@box #2-\@tempdima #2-\@tempdimb
\xleaders\copy\adl@box#2\z@ plus1fil minus1fil\relax
#2-\@tempdima #2-\@tempdimb \copy\adl@box
#2.5\@tempdimb #1{.5}}
\def\adl@drawiii#1#2#3{{\let\xleaders\cleaders \adl@drawi#1#2#3}}
\let\adl@draw\adl@drawi
答案1
答案可以在手册arydshln
(撰写本文时第 43-44 页)。
- 规则
- 跳过
- 盒子
这三个宏有共同的接口,
\@tempdima
对于\@tempdimb
划线和间隙的长度,d和G以及三个参数规则,跳过和盒子with\adl@draw
以下列方式调用。
\adl@draw\adl@vrule\hskip\hbox
。 。 。 水平的
\adl@draw\adl@hrule\vskip\vbox
。 。 。 垂直的