Trecho de arydshln.sty

Trecho de arydshln.sty

Estou tentando entender o pacote arydshln. Pelo que entendi, tudo é baseado no TeX básico \xleaders. Eu gostaria de voltar ao básico também. Infelizmente, embora o arquivo de estilo esteja bem organizado, é difícil descobrir quais valores vão parar onde.

  • \adl@drawi#1#2#3
  • \adl@drawii#1#2#3
  • \adl@drawiii#1#2#3

Então você tem coisas assim acontecendo:

  • \let\adl@draw\adl@drawi

Então #3deve ser uma caixa ou regra, pois é o que \xleadersespera, depois #2um pouco de cola. Não tenho certeza do que #1é.

insira a descrição da imagem aqui

Trecho de arydshln.sty

Depois de uma pesquisa rápida \xleaders, encontrei isso. Quais são os valores de #1, #2e #3no código abaixo? Tenho tentado resolver isso, mas continuo me perdendo no código.

\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

Responder1

A resposta pode ser encontrada nomanual paraarydshln(no momento da redação deste artigo, p.43-44).

  1. regra
  2. pular
  3. caixa

Essas três macros têm interface comum \@tempdimae , \@tempdimbpara o comprimento do traço e da lacuna,dege três argumentosregra,pularecaixacom o qual \adl@drawé chamado da seguinte maneira.

\adl@draw\adl@vrule\hskip\hbox. . . horizontal

\adl@draw\adl@hrule\vskip\vbox. . . vertical

informação relacionada