
Estoy intentando utilizar una TABLA como encabezado en Contexto (verUsar una tabla como encabezado en contexto). Sin embargo, los comandos \setupTABLEs y \bTABLE[head|foot]s en el cuerpo del documento afectan la TABLA en el encabezado. El siguiente fragmento ilustra el problema:
- La TABLA en el encabezado tiene una fila de encabezado.
- Esta fila de encabezado tiene un fondo amarillo.
¿Es esto un error? ¿O hay alguna manera de "alcance" los comandos \setupTABLE \bTABLE[head|foot] para afectar solo a una TABLA específica?
Con referencia ahttps://mailman.ntg.nl/pipermail/ntg-context/2015/083192.html, He intentado usar \egroup y \sgroup. Mis \setupTABLEs también están definidos dentro del bloque \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
Respuesta1
Una solución es decirle a ConTeXt que la tabla en el encabezado es una tabla anidada. De esa forma, ConTeXt ignorará las configuraciones definidas en el nivel anterior. Puedes hacer esto de la siguiente manera:
\unprotect
\startsetups[header]
\tabl_ntb_next_level
\bTABLE
\bTR
\bTD Header \eTD
\eTR
\eTABLE
\tabl_ntb_prev_level
\stopsetups
\protect
Los \unprotect
y \protect
son necesarios porque \tabl_ntb_next_level
es un comando interno.