
Я пытаюсь понять пакет 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
для длины тире и пробела,гиг, и три аргументаправило,пропускатьикоробкас помощью которого\adl@draw
вызывается следующим образом.
\adl@draw\adl@vrule\hskip\hbox
. . . горизонтальный
\adl@draw\adl@hrule\vskip\vbox
. . . вертикальный