longtable 및 multirow의 문제

longtable 및 multirow의 문제

multirow 및 longtable을 사용하는 데 문제가 있습니다. 다중 행 셀의 내용은 매우 크며 "다중 행이 아닌" 행의 한계를 훨씬 초과합니다. LaTeX는 이를 무시하고 해당 행 바로 뒤에서 다음 행을 시작하므로 내용을 덮어씁니다.

이후 최소 작업 코드는 다음과 같습니다.

\documentclass{article}

\usepackage{longtable}
\usepackage {multirow}
\usepackage{lipsum}

\begin{document}

\begin{center}

\begin{longtable}{|p{.15\textwidth}|p{.15\textwidth}|p{0.65\textwidth}|}
    \hline  
    1 & 1.1 & \multirow{3}{.65\textwidth} {\lipsum[1] }\\
     & 1.2 & \\
     & 1.3 & \\ \hline  
     2 & 2.1 & \lipsum[2] \\ \hline  
     \end{longtable} 
    \end{center}

\end{document}

어떤 도움이라도 진심으로 감사드립니다 ...

답변1

나는 아직도 당신이 무엇을 찾고 있는지 잘 모르겠지만 추가에 대한 당신의 마지막 의견에 따르면 vspace섹션 번호(1.1, 1.2 및 1.3)를 동일한 셀의 2열에 배치하지 않는 이유가 궁금합니다. 세 번째 셀 그러면 텍스트를 추가하거나 삭제하면 열이 자동으로 줄어들거나 늘어납니다. 두 섹션에 텍스트가 포함된 행이 있는 경우 해당 섹션을 별도의 행에 배치합니다(예제 2 참조).

두 가지 추가 개선 사항:

  1. -환경을 제거하십시오 centering.긴 테이블기본적으로 중앙에 위치하며 자체 정렬 알고리즘을 사용합니다(문서 참조).
  2. tabcolseps의 영향과 수직 규칙의 너비를 고려하여 행을 계산합니다 . 새 서문을 참조하세요. 유사한 테이블이 여러 개인 경우 로드하는 것이 좋습니다.정렬를 사용하여 두 개의 새로운 열 유형을 정의한 \newcolumntype다음 테이블의 프리앰블에서 사용할 수 있습니다.

\newcolumntype{M}{p{\dimexpr(0.175\linewidth-2\tabcolsep-1.5\arrayrulewidth)}}
\newcolumntype{N}{p{\dimexpr(0.65\linewidth-2\tabcolsep-\arrayrulewidth)}}

첫 번째 표의 서문:

 \begin{longtable}{|M|M|N|}

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

\documentclass{article}

\usepackage{longtable}
\usepackage{lipsum, array}

\begin{document}

\begin{longtable}{
|p{\dimexpr(0.175\linewidth-2\tabcolsep-1.5\arrayrulewidth)}
|p{\dimexpr(0.175\linewidth-2\tabcolsep-1.5\arrayrulewidth)}
|p{\dimexpr(0.65\linewidth-2\tabcolsep-\arrayrulewidth)}|}
\hline  
1 & 1.1 \par 1.2\par 1.3 & \lipsum[1]\\\hline  
 2 & 2.1 & \lipsum[2] \\ \hline  
 \end{longtable} 
\end{document}

확실히, 나는 다음을 사용하여 다른 레이아웃을 선택했을 것입니다.책꽂이규칙은 있고 수직적 규칙은 없습니다.

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

\documentclass{article}

\usepackage{longtable}
\usepackage{lipsum, array}

\newcolumntype{O}{p{\dimexpr(0.175\linewidth-1.5\tabcolsep)}}
\newcolumntype{P}{p{\dimexpr(0.65\linewidth-\tabcolsep)}}

\begin{document}

\begin{longtable}{@{}OOP@{}}
    \toprule \addlinespace[1ex]
    1 & 1.1 \par 1.2\par 1.3 & \lipsum[1]\\\midrule  \addlinespace[1ex]
    2 & 2.1 & \lipsum[2] \\\cmidrule(l{\tabcolsep}){3-3}
      & 2.2\par 2.3 & \lipsum[2] \\ \midrule
     \end{longtable}

\end{document}

관련 정보