가로 페이지에서 여러 페이지의 긴 테이블을 중앙에 배치

가로 페이지에서 여러 페이지의 긴 테이블을 중앙에 배치

여러 페이지로 구성된 긴 테이블(일부 셀에 긴 텍스트가 있음)을 모드에서 세로로 가운데에 맞추려고 합니다 landscape. 나는 이 테이블을 만들기 위해 xltabular와 를 사용합니다. threeparttablex테이블이 성공적으로 생성될 수 있지만(MWE 아래에서 찾아보세요) 페이지의 수직 중앙에 표시되지 않습니다(스크린샷 첨부).

\centering다른 게시물에서 언급한 대로 , \begin{center}, \vfill및 을 시도했지만 \vspace*{\fill}분명히 이들 중 어느 것도 이 목적에 적합하지 않습니다. 이 문제에 대한 조언이나 해결책을 주시면 매우 감사하겠습니다.

MWE는 다음과 같습니다.

\documentclass[12pt]{article}
\usepackage[margin=1in]{geometry} 
\usepackage{xltabular,threeparttablex}
\usepackage{booktabs}
\usepackage{pdflscape}
\usepackage{lipsum}

\begin{document}

\begin{landscape}

\begin{ThreePartTable}

    \begin{TableNotes}
        $^*$ \lipsum[1]
    \end{TableNotes}
    
    \begin{xltabular}{\linewidth}{p{2cm}XX}
 
        \caption{TableName.} \\ 
        \toprule
        Column1 & Column2 & Column3  \\ \midrule
        \endfirsthead

        \multicolumn{3}{c}{Table \thetable~({\it continued})} \\[1pt]
        \toprule
        Column1 & Column2 & Column3  \\ \midrule
        \endhead
        
        \bottomrule
        \multicolumn{6}{r}{\footnotesize ({\it continued on next page})}
        \endfoot

        \bottomrule
        \insertTableNotes
        \endlastfoot
        
        Row1 & \lipsum[1] & \lipsum[1] \\
        Row2 & \lipsum[2] & \lipsum[2] \\
        Row3 & \lipsum[3] & \lipsum[3] \\
        Row4 & \lipsum[4] & \lipsum[4] 

    \end{xltabular} 

\end{ThreePartTable}

\end{landscape}

\end{document}

다음은 테이블이 페이지 중앙에 있지 않음을 보여주는 이미지입니다. 여기에 이미지 설명을 입력하세요 여기에 이미지 설명을 입력하세요

답변1

테이블 조각의 수직 중심화가 가장 중요해 보이기 때문에 단일 xltabular환경을 기반으로 테이블을 생성하는 것을 포기해야 할 수도 있습니다. 대신 rotating패키지와 해당 sidewaystable환경(페이지당 하나의 sidewaystable환경, tabularx측면 테이블당 하나의 환경) 을 사용하는 것을 고려할 수 있습니다 . 아마도 tablenotes세 개의(?) 테이블 모두에 대해 하나의 환경만 필요할 것입니다 . 그렇다면 이 tablennotes환경을 마지막 페이지에 배치하고 싶을 것입니다 .

그리고 모든 측면에서 사용 가능한 환경에서 공통 테이블 번호를 생성하기 위해 caption패키지와 해당 지시어를 사용하는 방법을 살펴보세요 .\ContinuedFloat

다음 스크린샷에서는 세 개의 테이블 조각이 모두 페이지 내에서 세로 중앙에 위치한다는 것을 보여주기를 바랍니다.

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


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


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

\documentclass[12pt]{article}
\usepackage[margin=1in]{geometry} 
\usepackage{tabularx} % for 'tabularx' env. and 'X' col. type
\usepackage{ragged2e} % for '\RaggedRight' macro
\newcolumntype{L}{>{\RaggedRight}X} % suppress full justification
\usepackage{rotating} % for 'sidewaystable' environment
\usepackage{threeparttable}
\usepackage{booktabs}
\usepackage{caption}  % for '\ContinuedFloat' macro
\usepackage{lipsum}   % for filler text

\begin{document}

% first page
\begin{sidewaystable}
\begin{threeparttable}
\caption{TableName.}
\begin{tabularx}{\textwidth}{@{} p{2cm} LL @{}}
\toprule
Column1 & Column2 & Column3  \\ 
\midrule
Row1 & \lipsum[1]\tnote{**} & \lipsum[1] \\
\midrule[\heavyrulewidth]
\multicolumn{3}{r@{}}{\footnotesize(continued on next page)}
\end{tabularx}
\end{threeparttable}
\end{sidewaystable}

% second page
\begin{sidewaystable}
\begin{threeparttable}
\ContinuedFloat
\caption{TableName, part 2 of 3.}
\begin{tabularx}{\textwidth}{@{} p{2cm} LL @{}}
\toprule
Column1 & Column2 & Column3  \\ 
\midrule
Row2 & \lipsum[2]\tnote{$\dagger$} & \lipsum[2] \\
\addlinespace
Row3 & \lipsum[3] & \lipsum[3]\tnote{$\ddagger$} \\
\midrule[\heavyrulewidth]
\multicolumn{3}{r@{}}{\footnotesize(continued on next page)}
\end{tabularx}
\end{threeparttable}
\end{sidewaystable}

% third page
\begin{sidewaystable}
\begin{threeparttable}
\ContinuedFloat
\caption{TableName, part 3 of 3.}
\begin{tabularx}{\textwidth}{@{} p{2cm} LL @{}}
\toprule
Column1 & Column2 & Column3  \\ 
\midrule
Row4 & \lipsum[4]\tnote{\S} & \lipsum[4] \\
\bottomrule
\end{tabularx}

\bigskip
\footnotesize
\RaggedRight
\begin{tablenotes}[flushleft]
\item[**]         \lipsum[1][1-10] 
\smallskip
\item[$\dagger$]  \lipsum[2][1-10]
\smallskip
\item[$\ddagger$] \lipsum[3][1-10]
\smallskip
\item[\S]         \lipsum[4][1-10]
\end{tablenotes}
\end{threeparttable}

\end{sidewaystable}

\end{document}

부록가로 모드에서 테이블을 조판하는 것뿐만 아니라 PDF 뷰어를 갖는 것에 대한 OP의 후속 질문을 해결하기 위해표시하다가로 모드의 페이지.

sidewaystable메서드는 콘텐츠를 가로 모드로 배치합니다. 그러나 발견한 바와 같이 PDF 뷰어에게화면상 디스플레이가로 모드 테이블의 세로 모드에서 가로 모드까지.

이것이 달성하려는 효과라면 다음과 같이 진행하는 것이 좋습니다. 먼저, 서문에서 \usepackage{rotating}로 변경합니다 \usepackage{pdflscape}. 둘째, 세 인스턴스를 모두 \begin{tabularx}{\textwidth}`\begin{tabularx}{\linewidth}로 변경합니다. 셋째, 전체 레이아웃을 다음과 같이 변경합니다.

% first page
\begin{sidewaystable}
...
\end{sidewaystable}

% second page
\begin{sidewaystable}
...
\end{sidewaystable}

% third page
\begin{sidewaystable}
...
\end{sidewaystable}

에게

\begin{landscape}
% first page
\begin{table}[p]
...
\end{table}

% second page
\begin{table}[p]
...
\end{table}

% third page
\begin{table}[p]
...
\end{table}
\end{landscape}

다르게 말하면 전체 레이아웃을 3개 환경 사용에서 단일 환경에 포함된 sidewaystable3개 환경 사용으로 변경해야 합니다 .table[p]landscape

관련 정보