Alguns problemas com tabela longa, coluna matemática, rowcolor e arraystretch

Alguns problemas com tabela longa, coluna matemática, rowcolor e arraystretch

Eu tenho uma longtablecoluna alternada rowcolore duas colunas matemáticas. O rowcolor funciona conforme planejado quando o conteúdo da linha está em uma única linha, com preenchimento acima e abaixo do conteúdo da linha. Algumas entradas são válidas para ambas as colunas e, portanto, estão no meio. Mas no geral a tabela está bastante feia :(

insira a descrição da imagem aqui

Mas se o conteúdo abranger mais de uma linha, ou se houver um sinal de integral, a cor da linha toca o conteúdo e não há preenchimento. Já tentei aumentar arraystretch(já é 2 e não faz diferença) mas não adianta. Também tentei makecello pacote sugerido em algumas respostas, mas não funcionou tão bem, também tentei extrarowheight. Outra coisa que tentei foi adicionar manualmente espaços após a nova linha em cada linha \\[5pt], mas isso só resolve o problema das partes inferiores que tocam a próxima linha colorida e sua variável. Em alguns casos tive que adicionar 8pt ou 10pt para uma melhor visualização. Compreensivelmente, a parte superior do conteúdo não é afetada pela adição de espaço após a linha.

Por favor, sugira o que pode ser feito. Quaisquer outros pacotes em vez de longtablee quaisquer outras dicas em geral para melhorar a mesa serão apreciadas. Bônus se todas as entradas em uma determinada coluna puderem ser alinhadas.

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}

Responder1

\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}

insira a descrição da imagem aqui

Responder2

Como complemento à boa resposta de Clara com um layout de tabela ligeiramente alterado:

  • sem nova geometria para mesa, a mesa pode se ajustar perfeitamente ao layout de mesa existente
  • maiorrowsep
  • maneira diferente de "centralizar" células de duas colunas
\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}

insira a descrição da imagem aqui

Responder3

Uma solução baseada longtablee cellspacepara espaçamento adicional.

Existem algumas correções no que o LaTeX faz por padrão. Em primeiro lugar, estendi a primeira linha adicionando uma regra invisível. Em segundo lugar, na penúltima linha, reduzi o espaço, que seria ocupado por sobrescritos em frações, colocando expressões em \crampede \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}

insira a descrição da imagem aqui

Responder4

Com {NiceTabular}de 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}

Você precisa de várias compilações (porque nicematrixusa nós PGF/Tikz nos bastidores).

Saída do código acima

informação relacionada