longtable, math coloumn, rowcolor 및 arraystretch와 관련된 일부 문제

longtable, math coloumn, rowcolor 및 arraystretch와 관련된 일부 문제

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 노드를 사용하기 때문에).

위 코드의 출력

관련 정보