Quiero insertar texto preformateado en una tabla. Intenté lograr esto \startlines
pero el comando no muestra ningún efecto en las tablas. Es posible, \break
pero 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 tables
es que cada celda guarda el contenido antes de que el lines
entorno pueda ver el texto como líneas individuales.
Puedes solucionar este problema colocando el texto del lines
entorno 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 lines
entorno 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 tables
con el xtable
entorno que puede manejar lines
sin 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