tabularx를 사용하여 문서 여백에서 여러 열 텍스트 나누기

tabularx를 사용하여 문서 여백에서 여러 열 텍스트 나누기

나는 사용하고있다표 형식문서 여백에서 열의 내용을 나누는 것(참조,문서 여백에 있는 테이블 셀의 줄바꿈). 그러나 \multicolumn그러한 테이블에서 사용할 때 해당 열의 텍스트를 나누는 명령은 무시됩니다. 어떻게 시행할 수 있나요?

\documentclass{article}
\usepackage{tabularx}

\begin{document}
\newlength{\mylength}
\setlength{\mylength}{\linewidth}
\addtolength{\mylength}{-\parindent}

\hrule
    \begin{tabularx}{\mylength}{lX}
        Lorem ipsum dolor sit amet, consectetuer & adipiscing elit. Ut purus elit, vestibulum ut, placerat ac\\
        \multicolumn{2}{l}{Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac}\\
    \end{tabularx}
\hrule

\end{document}

여기에 이미지 설명을 입력하세요


Mico의 질문에 대한 답변:

\documentclass{article}
\usepackage{tabularx}

\begin{document}
\newlength{\mylength}
\setlength{\mylength}{\linewidth}
\addtolength{\mylength}{-\parindent}

\hrule
    \begin{tabularx}{\mylength}{llX}
        Lorem ipsum dolor & sit amet, consectetuer & adipiscing elit. Ut purus elit\\
    \end{tabularx}
\hrule
    \begin{tabularx}{\mylength}{llX}
        Lorem ipsum dolor & sit amet, consectetuer & adipiscing elit. Ut purus elit\\
        Lorem ipsum dolor sit & \multicolumn{2}{p{\mylength}}{Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit}\\
    \end{tabularx}
\hrule

\end{document}

여기에 이미지 설명을 입력하세요

답변1

다음은 두 번째 MWE의 버전입니다. 전체 환경의 너비는 tabularx로 제공되므로 \mylength두 번째와 세 번째 열의 결합된 너비에 해당 매개변수를 사용하면 안 됩니다. 올바른 너비를 계산하기 위해 두 개의 추가 길이 변수 \xlength\ylength. 첫 번째 열(+ ) \xlength의 너비로 설정됩니다 . 4\tabcolsep그러면 다음 \ylength과 같이 계산됩니다 \mylength-\xlength.

여기에 이미지 설명을 입력하세요

\documentclass{article}
\usepackage{tabularx}
\hyphenation{ad-ip-is-cing} % no idea if this is correct...

\newlength\xlength
\settowidth\xlength{Lorem ipsum dolor sit}
\addtolength\xlength{4\tabcolsep}

\newlength\mylength
\setlength\mylength{\linewidth}
\addtolength\mylength{-\parindent}

\newlength\ylength
\setlength\ylength\mylength
\addtolength\ylength{-\xlength}

\begin{document}
\hrule
\begin{tabularx}{\mylength}{llX}
Lorem ipsum dolor & sit amet, consectetuer & 
adipiscing elit. Ut purus elit\\
Lorem ipsum dolor sit & 
\multicolumn{2}{p{\ylength}}{Lorem ipsum dolor sit amet, 
    consectetuer adipiscing elit. Ut purus elit}\\
\end{tabularx}
\hrule
\end{document}

부록OP의 후속 질문에 대한 몇 가지 답변:

  • \xlength위 코드에 주어진 라인에 따른 계산은 다음과 같습니다.필요한유형의 첫 번째 열에는 l미리 지정된 너비가 없기 때문입니다. 열 유형을 로 변경하려는 경우 p해당 열의 너비를 직접 사용하여 여러 열의 너비를 계산할 수 있습니다.

    예를 들어, 첫 번째 열의 너비가 \xlength(값을 선택하는 것은 사용자에게 달려 있음...) 로 주어지면 tabularx다음과 같이 환경을 시작할 수 있습니다.

    \begin{tabularx}{\mylength}{p{\xlength}lX}
    

    이제 는 \xlength순전히 첫 번째 열의 너비입니다. 즉, 용어는 포함되지 않습니다 4\tabcolsep.

    그런 다음 나중에 이 tabularx환경에서 다음과 같이 2열 ( 이전 예에서와 같이 \multicolumn유형 )의 너비를 지정할 수 있습니다.p

    \multicolumn{2}{p{\dimexpr\mylength-\xlength-4\tabcolsep}}{<stuff>}
    
  • 용어 4\tabcolsep

    • 1\tabcolsep테이블 왼쪽 가장자리에는
    • 2\tabcolsep열 1과 2 사이의 공백 양
    • 1\tabcolsep테이블 오른쪽 가장자리에 있어요.

관련 정보