\longtable의 마지막 각주의 중간 규칙이 모든 열에 걸쳐 있지 않습니다.

\longtable의 마지막 각주의 중간 규칙이 모든 열에 걸쳐 있지 않습니다.

LTXtable에 긴 테이블을 포함하고 있는데 마지막 규칙이 모든 열에 걸쳐 있지 않습니다. 대신 너비와 중심이 약 60%입니다.

다음과 같은 경고가 표시됩니다.

Package longtable Warning: Column widths have changed(longtable)
Package longtable Warning: Table widths have changed. Rerun LaTeX.

빌드를 다시 실행하면(Sublime Text 및 LatexTools를 사용하고 있음) 경고가 다시 나타납니다.

MWE:

main.tex

\documentclass{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{longtable}
\usepackage{ltxtable}
\usepackage{booktabs}

% Column Type for Table
\newcolumntype{L}[1]{>{\hsize=#1\hsize\raggedright\arraybackslash}X}%

\begin{document}
\chapter{First Chapter}
\LTXtable{\textwidth}{Tables/table.tex}
\end{document}

테이블.텍스

\renewcommand{\arraystretch}{1.5}
\fontsize{10}{11}
\begin{longtable}{L{0.33}L{0.33}L{0.33}}
\caption[Spielermotivationen nach Yee]{Spielermotivationen nach Yee\footnotemark}\label{tab:yeeMotivation}\\
\midrule
\endfirsthead

\caption[]{fortgesetzt} \\
\midrule
\endhead

\midrule 
\multicolumn{3}{r}{{Fortgesetzt auf nächster Seite}} \\ 
\endfoot

\midrule
\multicolumn{3}{r}{{Ende der Tabelle}} \\ 
\endlastfoot

\textbf{Achievement} & \textbf{Social} & \textbf{Immersion} \\
Advancement\linebreak\footnotesize Progress, Power, Accumulation, Status & Socializing\linebreak\footnotesize Casual chat, helping others, making friends & Discovery\linebreak\footnotesize Exploration, Lore, Finding hidden things \\

\end{longtable}
\normalsize

MWE - 전체 너비에 걸쳐 있지 않은 미드룰

테이블 끝에 있는 \midrule을 어떻게 수정합니까?

답변1

ltxtable 매뉴얼의 s 에 대한 경고와 관련하여 \multicolumn, 두 개 이상의 열에 걸쳐 있는 항목을 제거해야 한다고 생각합니다. 적어도 그것을 바꾸는 것은 많은 도움이 되었습니다.

나는 또한 다른 것(대부분 활자체와 관련된)을 변경하기 위해 자유를 얻었습니다.

  1. 테이블의 글꼴 크기를 줄여서는 안 됩니다. 그렇지 않으면 읽을 수 없게 되는 경향이 있습니다.
  2. 와 같은 명령을 사용하는 경우 변경 사항을 활성화하려면 를 \fontsize{10pt}{11pt}사용해야 합니다 .\selectfont
  3. L새로 정의된 -columntype이 무엇을 할 것인지 잘 모르겠습니다 . 특히 그 부분은 \hsize=#1\hsize. 더욱이 0.33.#1​ 나는 그것이 #1정규화된 차원임에 틀림없다고 의심했을 것입니다 (즉, 와 같은 차원을 가지고 있어야 합니다 pt). 나는 그것을 약간 더 간단한 열 선언으로 대체했습니다.
  4. 테이블에는 -명령이 하나만 있어야 합니다 \caption. 테이블의 다음 부분에 사용하는 것은 다소 위험합니다.
  5. @{}표 왼쪽과 오른쪽의 불필요한 흰색 여백을 제거하는 데 사용할 수 있습니다 . 괜찮으시다면 헤더에 삽입해 두었습니다. 괜찮다면 \multicolumn첫 번째 또는 마지막 열을 시도하는 s에 대한 선언을 반복하도록 주의하세요. @{}거기 를 잊어 버리면 \multicolumn테이블 헤드의 깔끔한 모습이 무너질 것입니다.
  6. 타이핑을 저장하기 위해 반복되는 L{0.33}-선언을 *{3}{L}.
  7. 글꼴 크기를 10pt로 변경한 후에는 위 명령으로 이미 10pt@11pt로 설정되었으므로 를 \normalsize입력 하여 기본값을 복원할 수 없습니다 . 테이블의 -명령 \normalsize으로 인해 일반 글꼴 크기를 복원하려는 경우에도 테이블 내부에 캡처되었으므로 테이블 외부에는 영향을 미치지 않으므로 이 또한 효과가 없습니다.\footnotesize\footnotesize

힌트 하나 더: 세 개 이상의 열을 사용하여 열을 점점 더 작게 만들 계획이라면 패키지를 로드 ragged2e하고 \raggedright열 선언의 를 \RaggedRight. 후자의 명령은 올바른 하이픈 연결을 사용하여 단어 사이뿐만 아니라 단어 사이에도 줄 바꿈을 수행할 수 있습니다. 이렇게 하면 더 잘 채워진 열이 제공됩니다.

다음은 수정된 MWE입니다( filecontents-environment를 사용하여 두 파일을 하나의 파일로 묶습니다.

\documentclass{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{longtable}
\usepackage{ltxtable}
\usepackage{array}
\usepackage{booktabs}

% Column Type for Table
% \newcolumntype{L}[1]{>{\hsize=#1\hsize\raggedright\arraybackslash}X}%
\newcolumntype{L}{>{\raggedright\arraybackslash}X}%

%% New:
%% Extra file within this file.
\begin{filecontents}{table.tex}
\renewcommand{\arraystretch}{1.5}
%\fontsize{10}{11}\selectfont %% <--- you need to use \selctfont in
                             %% order to make your font selection work
\begin{longtable}{@{} *{3}{L} @{}} %% <--- save typing
\caption[Spielermotivationen nach Yee]{Spielermotivationen nach
  Yee\footnotemark}
\label{tab:yeeMotivation}\\

\toprule  % <--- use the correct rulers
\endfirsthead

% \caption[]{fortgesetzt} \\ <--- your table should have only one caption!
\midrule
\multicolumn{1}{@{} l}{Fortsetzung \dots}\\
\endhead

\midrule
&& \multicolumn{1}{r @{}}{Fortsetzung auf nächster Seite} \\
\endfoot

\midrule
&& \multicolumn{1}{r @{}}{Ende der Tabelle} \\
\bottomrule % <--- correct ruler
\endlastfoot

\textbf{Achievement} & \textbf{Social} & \textbf{Immersion} \\
Advancement\newline
  Progress, Power, Accumulation, Status
& Socializing\newline
  Casual chat, helping others, making friends
& Discovery\newline
  Exploration, Lore, Finding hidden things \\

\end{longtable}
% \normalsize % <--- you don't need this, as \footnotesize was
% enclosed in the table.  Switching back to 10 or 12 pt fontsize as
% default font size, will not be sufficient to restore the original
% value!
\end{filecontents}


\begin{document}
\chapter{First Chapter}
\LTXtable{\textwidth}{table.tex}
\end{document}

그리고 결과는 (내 말을 증명하기 위해):

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

답변2

\hsize열 을 변경하는 경우 XX 열의 전체 너비가 변경되지 않았는지 확인해야 합니다. 따라서 여기서와 같이 3개가 있는 경우 X그 중 두 개( )를 절반으로 줄이면 세 번째 열( )을 두 배로 늘려 3개 열의 총 너비가 열 너비의 .5+.5+2=3배가 되도록 L{0.5}해야 합니다. L{2}표준 X.

L{.33}L{.33}L{.33}3개의 열이 있지만 X총 너비가 1 표준 X보다 작습니다. 이는 완전히 혼란스럽고 tabularx여기에서 볼 수 있듯이 합리적인 값으로 수렴하지 못하게 만듭니다. L{1}모든 열의 너비를 동일하게 하려면 사용해야 합니다 (Jan이 이미 답변에서 보여준 것처럼).

관련 정보