ConTeXt: 테이블 내부에 미리 서식이 지정된 텍스트

ConTeXt: 테이블 내부에 미리 서식이 지정된 텍스트

미리 서식이 지정된 텍스트를 테이블에 삽입하고 싶습니다. 나는 이것을 달성하려고 시도했지만 \startlines명령은 테이블에 아무런 영향을 미치지 않습니다. 가능 \break하지만 이것은 실제 해결책이 아닙니다.

표 안에 미리 서식이 지정된 텍스트를 삽입하려면 어떻게 해야 합니까?

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

답변1

문제는 환경에서 텍스트를 개별 줄로 볼 수 있기 natural tables전에 각 셀이 내용을 저장한다는 것입니다 .lines

lines환경 에 대한 텍스트를 buffer. 이제 테이블의 버퍼 내용을 로드하면 텍스트가 별도의 줄에 유지됩니다.

\starttext

\startbuffer[lines]
multi
lines
work
\stopbuffer

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

\stoptext

몇 줄의 텍스트만 있는 경우 lines환경을 건너뛰고 명령을 사용하여 \\테이블 셀에 있는 각 텍스트 줄의 끝을 표시할 수 있습니다.

\starttext

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

\stoptext

또 다른 가능성은 테이블 차원을 계산하는 데 다른 방법을 사용하기 때문에 문제 없이 처리할 수 있는 환경 natural tables으로 대체하는 것입니다 .xtablelines

\starttext

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

\stoptext

관련 정보