Contexto - comandos TABLE no corpo do documento afetando TABLEs no cabeçalho

Contexto - comandos TABLE no corpo do documento afetando TABLEs no cabeçalho

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:

  1. A TABLE no cabeçalho possui uma linha de cabeçalho.
  2. 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 \unprotecte \protectsão necessários porque \tabl_ntb_next_levelé um comando interno.

informação relacionada