
Estou tentando usar uma TABLE como cabeçalho no Contexto (vejaUsando uma tabela como cabeçalho no contexto). Entretanto, os comandos \setupTABLEs e \bTABLE[head|foot]s no corpo do documento afetam a TABLE no cabeçalho. O trecho abaixo ilustra o problema:
- A TABLE no cabeçalho possui uma linha de cabeçalho.
- Esta linha de cabeçalho tem um fundo amarelo.
Isso é um inseto? Ou existe uma maneira de "definir o escopo" dos comandos \setupTABLE \bTABLE[head|foot] para afetar apenas uma TABELA específica.
Com referência ahttps://mailman.ntg.nl/pipermail/ntg-context/2015/083192.html, tentei usar \egroup e \sgroup. Meus \setupTABLEs também já estão definidos no bloco \bTABLE.
\startsetups[header]
\bTABLE
\bTR
\bTD Header \eTD
\eTR
\eTABLE
\stopsetups
\setupheadertexts[\setups{header}]
\starttext
\bTABLE[split=repeat, header=yes]
\setupTABLE[r][first]
[background=color,
backgroundcolor=yellow]
\bTABLEhead
\bTR
\bTH Header \eTH
\eTR
\eTABLEhead
\bTABLEbody
\dorecurse{100} {
\bTR
\bTD Body \eTD
\eTR
}
\eTABLEbody
\eTABLE
\stoptext
Responder1
Uma solução alternativa é informar ao ConTeXt que a tabela no cabeçalho é uma tabela aninhada. Dessa forma, o ConTeXt irá ignorar as configurações definidas no nível anterior. Você pode fazer isso da seguinte maneira:
\unprotect
\startsetups[header]
\tabl_ntb_next_level
\bTABLE
\bTR
\bTD Header \eTD
\eTR
\eTABLE
\tabl_ntb_prev_level
\stopsetups
\protect
Os \unprotect
e \protect
são necessários porque \tabl_ntb_next_level
é um comando interno.