
Quero inserir texto pré-formatado em uma tabela. Tentei fazer isso, \startlines
mas o comando não mostra efeito nas tabelas. É possível, \break
mas esta não é uma solução real.
Como posso inserir texto pré-formatado em tabelas?
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
Responder1
O problema natural tables
é que cada célula salva o conteúdo antes que o lines
ambiente possa ver o texto como linhas individuais.
Você pode contornar isso colocando o texto do lines
ambiente em um arquivo buffer
. Ao carregar agora o conteúdo do buffer na tabela o texto fica em linhas separadas.
\starttext
\startbuffer[lines]
multi
lines
work
\stopbuffer
\bTABLE
\bTR
\bTD
\startlines
\getbuffer[lines]
\stoplines
\eTD
\eTR
\eTABLE
\stoptext
Quando você tem apenas algumas linhas de texto você pode pular o lines
ambiente e usar o \\
comando para marcar o final de cada linha de texto nas células da tabela.
\starttext
\bTABLE
\bTR
\bTD
multi\\
lines\\
work
\eTD
\eTR
\eTABLE
\stoptext
Outra possibilidade é substituir natural tables
pelo xtable
ambiente que aguenta lines
sem problemas pois utiliza um método diferente para calcular as dimensões da mesa.
\starttext
\startxtable
\startxrow
\startxcell
\startlines
multi
lines
work
\stoplines
\stopxcell
\stopxrow
\stopxtable
\stoptext