
longtable
교대 열과 rowcolor
두 개의 수학 열이 있습니다 . 행 색상은 행 내용이 한 줄에 있고 행 내용 위와 아래에 패딩이 있을 때 의도한 대로 작동합니다. 일부 항목은 두 열 모두에 유효하므로 중간에 있습니다. 하지만 전반적으로 테이블은 다소 보기 흉해 보입니다. :(
그러나 내용이 두 줄 이상에 걸쳐 있거나 적분 기호가 있는 경우 행 색상이 내용에 닿고 패딩이 없습니다. 나는 증가를 시도했지만 arraystretch
(이미 2이고 아무런 차이가 없습니다) 도움이되지 않습니다. 나는 또한 일부 답변에서 제안한 대로 패키지를 시도했지만 makecell
잘 작동하지 않았고 시도했습니다 extrarowheight
. 내가 시도한 또 다른 방법은 각 행의 개행 뒤에 수동으로 공백을 추가하는 것이 \\[5pt]
었지만 이는 다음 색상 행과 해당 변수에 닿는 아래쪽 부분의 문제만 해결합니다. 어떤 경우에는 더 나은 모양을 위해 8pt나 10pt를 추가해야 했습니다. 콘텐츠의 상단 부분은 당연히 행 뒤에 공백을 추가해도 영향을 받지 않습니다.
할 수 있는 일을 제안해주세요. 대신 테이블을 더 좋게 만드는 데 도움이 되는 다른 패키지 longtable
와 다른 팁을 주시면 감사하겠습니다. 특정 열의 모든 항목을 정렬할 수 있으면 보너스입니다.
MWE
\documentclass[twoside]{book}
\usepackage{geometry}
\geometry{paperwidth=205mm, paperheight=236mm, top=15mm,bottom=20mm, textheight=196mm, headsep=5mm, left=15mm, right=85mm, textwidth=95mm, marginpar=70mm,marginparsep=5mm}
\usepackage{amsmath}
\usepackage{fouriernc}
\usepackage{physics}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage[table,svgnames]{xcolor}
\usepackage{multicol}
\newcommand{\tbb}[1]{\textcolor{DarkSlateBlue}{{\textbf{#1}}}}
\newcolumntype{M}{>{$}p{4cm}<{$}} % math mode column
\begin{document}
\newgeometry{margin=15mm,inner=15mm,outer=15mm,marginparwidth=0cm,marginparsep=0mm}
%invoked newgeometry to fit the table in the given space, otherwise in the twoside mode the table runs into margin for even pages
{\everymath{\displaystyle}
\setlength{\tabcolsep}{8pt}
\renewcommand{\arraystretch}{2}
\rowcolors{3}{white}{DarkSlateBlue!30}
\begin{longtable}{p{5cm}MM}
\toprule
\tbb{Relation} & \tbb{\text{SI}} & \tbb{\text{Gaussian System}} \\
\midrule
Relation between $\vb{D}$ and $\vb{E}$ & \vb{D} = \varepsilon \varepsilon_{0} \vb{E} & \vb{D} = \varepsilon \vb{E} \\
Gauss theorem for vector $\vb{D}$ & \oint \vb{D} \, \dd \vb{S} = q & \oint \vb{D} \, \dd \vb{S} = 4 \pi q\\
Capacitance of a capacitor & \multicolumn{2}{c}{ $C = \frac{q}{U}$} \\
Capacitance of a parallel-plate capacitor & C = \frac{\varepsilon \varepsilon_{0}S}{h}& C = \frac{\varepsilon S}{4 \pi h} \\
Energy of system of charges & \multicolumn{2}{c}{ $W = \frac{1}{2} \sum q_{i} \varphi_{i} $} \\
Total energy of interaction & \multicolumn{2}{c}{ $W = \frac{1}{2} \int \rho \, \varphi \, \dd V $} \\
Energy of capacitor & \multicolumn{2}{c}{ $W = \frac{qU}{2} = \frac{CU^{2}}{2} = \frac{q^{2}}{2C} $} \\
Electric field energy density & w = \frac{\vb{E}\vdot \vb{D}}{2} & w = \frac{\vb{E}\vdot \vb{D}}{8 \pi}\\
\bottomrule
\end{longtable}
}
\clearpage
\restoregeometry
\end{document}
답변1
\documentclass{book}
\usepackage[margin=15mm]{geometry}
\usepackage{physics}
\usepackage[svgnames]{xcolor}
\usepackage{tabularray}
\begin{document}
\begin{longtblr}
[
caption = {title},
label = {key},
]
{
colspec = {X[1.5,l,m]X[l,m]X[l,m]},
hline{1,Z} = {wd=.08em},
hline{2} = {wd=.05em},
row{1} = {font=\bfseries,fg=DarkSlateBlue},
cell{4,6,7,8}{2} = {c=2}{halign=c},
row{even[2-Z]} = {bg=DarkSlateBlue!30},
cell{2-Z}{2-Z} = {mode=dmath},
}
Relation & SI & Gaussian System \\
Relation between $\vb{D}$ and $\vb{E}$ & \vb{D}=\varepsilon\varepsilon_{0}\vb{E} & \vb{D}=\varepsilon\vb{E} \\
Gauss theorem for vector $\vb{D}$ & \oint\vb{D}\,\dd\vb{S}=q & \oint \vb{D}\,\dd\vb{S}=4\pi q \\
Capacitance of a capacitor & C=\frac{q}{U} & \\
Capacitance of a parallel-plate capacitor & C=\frac{\varepsilon \varepsilon_{0}S}{h} & C=\frac{\varepsilon S}{4\pi h} \\
Energy of system of charges & W=\frac{1}{2}\sum q_{i}\varphi_{i} & \\
Total energy of interaction & W=\frac{1}{2}\int\rho\,\varphi\,\dd V & \\
Energy of capacitor & W=\frac{qU}{2}=\frac{CU^{2}}{2}=\frac{q^{2}}{2C} & \\
Electric field energy density & w=\frac{\vb{E}\vdot\vb{D}}{2} & w=\frac{\vb{E}\vdot\vb{D}}{8\pi} \\
\end{longtblr}
\clearpage
\restoregeometry
\end{document}
답변2
약간 변경된 테이블 레이아웃으로 멋진 Clara 답변을 보완합니다.
- 테이블에 새로운 형상이 없습니다. 테이블은 기존 테이블 레이아웃에 잘 맞습니다.
- 더 큰
rowsep
- 두 개의 열 셀을 "중심화"하는 다른 방법
\documentclass[twoside]{book}
\usepackage{geometry} % set desired page layout
\usepackage{physics}
\usepackage[svgnames]{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{booktabs}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\clearpage
\begin{longtblr}[
caption = {title},
label = {key}]{colspec = {Q[l] X[l,mode=dmath] X[l,mode=dmath]},
column{2} = {colsep = 2em}, % <---
rowsep = 5pt, % <---
row{1} = {font=\bfseries, mode=text},
cell{4,6,7,8}{2} = {c=2}{preto=\hspace{8em},l}, % <---
row{even[2]} = {bg=DarkSlateBlue!30},
}
\toprule
Relation
& SI
& Gaussian System \\
\midrule
Relation between $\vb{D}$ and $\vb{E}$
& \vb{D}=\varepsilon\varepsilon_{0}\vb{E}
& \vb{D}=\varepsilon\vb{E} \\
Gauss theorem for vector $\vb{D}$
& \oint\vb{D}\,\dd\vb{S}=q
& \oint \vb{D}\,\dd\vb{S}=4\pi q \\
Capacitance of a capacitor
& C=\frac{q}{U}
& \\
Capacitance of a parallel-plate capacitor
& C=\frac{\varepsilon_{r} \varepsilon_{0}S}{h}
& C=\frac{\varepsilon S}{4\pi h} \\
Energy of system of charges
& W=\frac{1}{2}\sum q_{i}\varphi_{i}
& \\
Total energy of interaction
& W=\frac{1}{2}\int\rho\,\varphi\,\dd V
& \\
Energy of capacitor
& W=\frac{qU}{2}=\frac{CU^{2}}{2}=\frac{q^{2}}{2C}
& \\
Electric field energy density
& w=\frac{\vb{E}\vdot\vb{D}}{2}
& w=\frac{\vb{E}\vdot\vb{D}}{8\pi} \\
\bottomrule
\end{longtblr}
\end{document}
답변3
추가 간격을 기반 longtable
으로 한 솔루션입니다 .cellspace
LaTeX의 기본 기능에는 몇 가지 수정 사항이 있습니다. 우선 보이지 않는 규칙을 추가하여 첫 번째 행을 늘렸습니다. 두 번째로, 마지막 행의 앞 행에서는 \cramped
및 에 표현식을 넣어서 분수의 위 첨자가 차지할 공간을 줄였습니다 \smash
.
\documentclass[twoside]{book}
\usepackage{geometry}
\usepackage{mathtools} % Required by \cramped{}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage[column=E]{cellspace}
\usepackage[table,svgnames]{xcolor}
\usepackage{fouriernc}
\usepackage{physics}
\setlength\cellspacetoplimit{3pt}
\setlength\cellspacebottomlimit{3pt}
\newcommand{\tbb}[1]{\textcolor{DarkSlateBlue}{{\textbf{#1}}}}
\newcolumntype{M}{>{$}E{l}<{$}} % math mode column
\newcolumntype{L}{E{l}}
\newcommand\dstrut[1][1]{%
\rule[-0.5\dimexpr#1\normalbaselineskip-1ex]{0pt}{#1\dimexpr\normalbaselineskip}}
\begin{document}
\begingroup
\centering
\everymath{\displaystyle}
\setlength{\tabcolsep}{8pt}
\rowcolors{3}{white}{DarkSlateBlue!30}
\begin{longtable}{LMM}
\toprule
\multicolumn{1}{l}{\tbb{Relation}} & \multicolumn{1}{l}{\tbb{\text{SI}}} & \multicolumn{1}{l}{\tbb{\text{Gaussian System}}} \\
\specialrule{\lightrulewidth}{3pt}{0pt}
\dstrut[1.5]%
Relation between $\vb{D}$ and $\vb{E}$ & \vb{D} = \varepsilon \varepsilon_{0} \vb{E} & \vb{D} = \varepsilon \vb{E} \\
Gauss theorem for vector $\vb{D}$ & \oint \vb{D} \, \dd \vb{S} = q & \oint \vb{D} \, \dd \vb{S} = 4 \pi q \\
Capacitance of a capacitor & \multicolumn{2}{E{c}}{$C = \frac{q}{U}$} \\
Capacitance of a parallel-plate capacitor & C = \frac{\varepsilon \varepsilon_{0}S}{h} & C = \frac{\varepsilon S}{4 \pi h} \\
Energy of system of charges & \multicolumn{2}{E{c}}{$W = \frac{1}{2} \sum q_{i} \varphi_{i} $} \\
Total energy of interaction & \multicolumn{2}{E{c}}{$W = \frac{1}{2} \int \rho \, \varphi \, \dd V $} \\
Energy of capacitor & \multicolumn{2}{E{c}}{$W = \frac{qU}{2} = \smash{\cramped{\frac{CU^{2}}{2} = \frac{q^{2}}{2C}}}$} \\
Electric field energy density & w = \frac{\vb{E}\vdot \vb{D}}{2} & w = \frac{\vb{E}\vdot \vb{D}}{8 \pi}\\
\specialrule{\heavyrulewidth}{0pt}{0pt}
\end{longtable}\par
\endgroup
\end{document}
답변4
의 .{NiceTabular}
nicematrix
\documentclass{book}
\usepackage[margin=15mm]{geometry}
\usepackage{physics}
\usepackage[svgnames]{xcolor}
\usepackage{nicematrix}
\usepackage{booktabs}
\begin{document}
\everymath{\displaystyle}
\begin{NiceTabular}{X[3,l]X[2,l]X[2,l]}[cell-space-limits=3pt]
\CodeBefore
\rowcolors{2}{}{DarkSlateBlue!30}
\Body
\toprule
\RowStyle[bold,color=DarkSlateBlue]{}
Relation & SI & Gaussian System
\\
\midrule
Relation between $\vb{D}$ and $\vb{E}$ & $\vb{D}=\varepsilon\varepsilon_{0}\vb{E}$ & $\vb{D}=\varepsilon\vb{E}$ \\
Gauss theorem for vector $\vb{D}$ & $\oint\vb{D}\,\dd\vb{S}=q$ & $\oint \vb{D}\,\dd\vb{S}=4\pi q$ \\
Capacitance of a capacitor & \Block{1-2}{$C=\frac{q}{U}$} \\
Capacitance of a parallel-plate capacitor & $C=\frac{\varepsilon \varepsilon_{0}S}{h}$ & $C=\frac{\varepsilon S}{4\pi h}$ \\
Energy of system of charges & \Block{1-2}{$W=\frac{1}{2}\sum q_{i}\varphi_{i}$} \\
Total energy of interaction & \Block{1-2}{$W=\frac{1}{2}\int\rho\,\varphi\,\dd V$} \\
Energy of capacitor & \Block{1-2}{$W=\frac{qU}{2}=\frac{CU^{2}}{2}=\frac{q^{2}}{2C}$} \\
Electric field energy density & $w=\frac{\vb{E}\vdot\vb{D}}{2}$ &
$w=\frac{\vb{E}\vdot\vb{D}}{8\pi}$ \\
\bottomrule
\end{NiceTabular}
\end{document}
여러 컴파일이 필요합니다( nicematrix
내부적으로 PGF/Tikz 노드를 사용하기 때문에).