
나는 얼마 전에 tabularray 패키지로 전환했으며 최근 lualatex 및 pdflatex가 포함된 보고서 클래스 문서에서 두 페이지에 걸쳐 있는 긴 테이블에서 "문제"를 발견했습니다. 테이블에는 마지막 열의 행 수가 다르며 목표는 마지막 줄의 빈 셀 주위에 있는 원하지 않는 셀 줄을 제거하는 것입니다.
그러나 첫 번째 하단 규칙(페이지 나누기 전)은 테이블 서문에서 요구하는 대로 전체 너비가 아니라 테이블 마지막 행과 같이 절반 너비입니다(이미지 참조).1MWE와 이미지로 제작2예상 출력의 경우).
MWE :
\documentclass{report}
\usepackage{tabularray}
\begin{document}
\begin{longtblr}
[ caption = {Caption of the table presented just below},
]
{ vlines={solid},
vline{5-7} ={Z}{0pt},
vline{4} = {1.5pt},
hline{1-2}={1.5pt,solid},
hline{1-Y}={-}{solid},
hline{Z}={1-3}{solid},
rowhead=1,
colspec={X[halign=c, valign=m]X[halign=c, valign=m]X[halign=c, valign=m]X[halign=c, valign=m]X[halign=c, valign=m]X[halign=c, valign=m]},
}
Z & alpha & beta & Z & alpha & beta\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & & &
\end{longtblr}
\end{document}
각 페이지 나누기 전의 아래쪽 규칙이 기본적으로 테이블 아래쪽 규칙의 "복사본"인지 궁금합니다.
또한 출력에 차이가 없이 Y와 Z 대신 행 번호만 사용해 보았습니다.
혹시 제가 설명서에서 뭔가를 놓친 게 아닐까요? 아직 온라인에 게시된 유사한 문제를 찾지 못했습니다.
편집 : @Celdor가 제안한 것을 시도했습니다. 마지막 행을 발로 정의할 때의 문제는 모든 페이지에서 반복되고 \hline 전체가 인쇄되지 않는다는 것입니다.
마지막 MWE에서 같은 줄의 반복이 혼란의 원인이 될 수 있으므로 MWE를 행 번호로 업데이트하고 열 번호를 줄였으며 테두리가 없는 팬텀 행발(분홍색)을 사용하는 모습을 보여주었습니다.삼.
원하는 출력은 다음과 같습니다: 전체 h라인이 있는 페이지 나누기 전의 마지막 행, 마지막 테이블 행, 절반 h라인삼
\documentclass{report}
\usepackage{tabularray}
\usepackage{xcolor}
\begin{document}
\begin{longtblr}
[ caption = {Caption of the table presented just below},
]{ rowfoot = 1,
vlines={solid},
vline{4-5} ={Y}{0pt},
vline{-} ={Z}{0pt},
vline{3} = {1-Y}{1.5pt},
hline{1-2}={1.5pt,solid},
hline{1-Y}={-}{solid},
hline{Z}={2-4}{0pt},
rowhead=1,
cell{Z}{-}={red!10},
colspec={X[halign=c, valign=m]X[halign=c, valign=m]X[halign=c, valign=m]X[halign=c, valign=m]},
}
Z & alpha & Z & beta\\
1 & alpha & 1 & beta\\
2 & alpha & 2 & beta\\
3 & alpha & 3 & beta\\
4 & alpha & 4 & beta\\
5 & alpha & 5 & beta\\
6 & alpha & 6 & beta\\
7 & alpha & 7 & beta\\
8 & alpha & 8 & beta\\
9 & alpha & 9 & beta\\
10 & alpha & 10 & beta\\
11 & alpha & 11 & beta\\
12 & alpha & 12 & beta\\
13 & alpha & 13 & beta\\
14 & alpha & 14 & beta\\
15 & alpha & 15 & beta\\
16 & alpha & 16 & beta\\
17 & alpha & 17 & beta\\
18 & alpha & 18 & beta\\
19 & alpha & 19 & beta\\
20 & alpha & 20 & beta\\
21 & alpha & 21 & beta\\
22 & alpha & 22 & beta\\
23 & alpha & 23 & beta\\
24 & alpha & 24 & beta\\
25 & alpha & 25 & beta\\
26 & alpha & 26 & beta\\
27 & alpha & 27 & beta\\
28 & alpha & 28 & beta\\
29 & alpha & 29 & beta\\
30 & alpha & 30 & beta\\
31 & alpha & 31 & beta\\
32 & alpha & 32 & beta\\
33 & alpha & 33 & beta\\
34 & alpha & 34 & beta\\
35 & alpha & 35 & beta\\
36 & alpha & 36 & beta\\
37 & alpha & 37 & beta\\
38 & alpha & 38 & beta\\
39 & alpha & 39 & beta\\
40 & alpha & 40 & beta\\
41 & alpha & 41 & beta\\
42 & alpha & 42 & beta\\
43 & gamma &\\
& & &
\end{longtblr}
\end{document}
어쩌면 이 경우에는 패키지를 그대로 사용하는 것이 불가능할 수도 있습니다. 여러 페이지에 걸쳐 있는 테이블을 피하는 것을 제외하고 makeatletter/if/else/makeatother 명령을 사용하여 마지막 행의 스타일을 재정의하는 것이 조사할 수 있습니까?
예:
> 페이지 나누기인 경우 전체 줄(또는 이 줄에 대해 사용자가 정의한 스타일)
> 그렇지 않으면 사용자가 정의한 줄 스타일 사용
답변1
패키지 관리자의 제안을 바탕으로 해결 방법을 게시하고 싶습니다(lvjr에게 감사드립니다!). 기본적으로 \hrule
마지막 페이지를 제외한 모든 페이지의 테이블 발에 를 추가하는 사용자 정의 템플릿을 만들 수 있습니다 . 아래 예는 왼쪽 두 열에 대해 규칙이 두 번 그려지지 않도록 조정될 수 있습니다.
\documentclass{report}
\usepackage{tabularray}
\DefTblrTemplate{firstfoot,middlefoot}{mytemplate}{
\vskip -0.4pt
\hrule height 0.4pt width \tablewidth
}
\DefTblrTemplate{lastfoot}{mytemplate}{
}
\NewTblrTheme{mytheme}{
\SetTblrTemplate{foot}{mytemplate}
}
\begin{document}
\begin{longtblr}
[ caption = {Caption of the table presented just below},
theme=mytheme,
]
{ vlines={solid},
vline{5-7} ={Z}{0pt},
vline{4} = {1.5pt},
hline{1-2}={1.5pt,solid},
hline{1-Y}={-}{solid},
hline{Z}={1-3}{solid},
rowhead=1,
colspec={X[halign=c, valign=m]X[halign=c, valign=m]X[halign=c, valign=m]X[halign=c, valign=m]X[halign=c, valign=m]X[halign=c, valign=m]},
}
Z & alpha & beta & Z & alpha & beta\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & 6 & rho & omega\\
5 & alpha & mu & & &
\end{longtblr}
\end{document}