ConTeXt: texto preformateado dentro de tablas

ConTeXt: texto preformateado dentro de tablas

Quiero insertar texto preformateado en una tabla. Intenté lograr esto \startlinespero el comando no muestra ningún efecto en las tablas. Es posible, \breakpero esta no es una solución real.

¿Cómo puedo insertar texto preformateado dentro de las tablas?

MWE:

\starttext

\startlines
multi
lines
work
\stoplines

\bTABLE
  \bTR
    \bTD
    \startlines
multi
lines
work
    \stoplines
    \eTD
    \bTD
multi\break
lines\break
work
    \eTD
  \eTR
\eTABLE

\stoptext

Respuesta1

El problema natural tableses que cada celda guarda el contenido antes de que el linesentorno pueda ver el texto como líneas individuales.

Puedes solucionar este problema colocando el texto del linesentorno en un archivo buffer. Cuando carga ahora el contenido del búfer en la tabla, el texto permanece en líneas separadas.

\starttext

\startbuffer[lines]
multi
lines
work
\stopbuffer

\bTABLE
    \bTR
        \bTD
            \startlines
            \getbuffer[lines]
            \stoplines
        \eTD
    \eTR
\eTABLE

\stoptext

Cuando tenga solo unas pocas líneas de texto, puede omitir el linesentorno y usar el \\comando para marcar el final de cada línea de texto en las celdas de la tabla.

\starttext

\bTABLE
    \bTR
        \bTD
            multi\\
            lines\\
            work
        \eTD
    \eTR
\eTABLE

\stoptext

Otra posibilidad es reemplazarla natural tablescon el xtableentorno que puede manejar linessin problemas porque utiliza un método diferente para calcular las dimensiones de la mesa.

\starttext

\startxtable
    \startxrow
        \startxcell
            \startlines
            multi
            lines
            work
            \stoplines
        \stopxcell
    \stopxrow
\stopxtable

\stoptext

información relacionada