Problema com rowcolors e @{} em ambiente tabular

Problema com rowcolors e @{} em ambiente tabular

Gostaria de inserir o símbolo \pm entre um par de números em cada linha de uma tabela.

tabela simples sem linhas sombreadas

Eu gostaria de colorir alternadamente as linhas. Tentei usar o pacote rowcolors, mas isso substitui o símbolo.

\documentclass{article}
\usepackage{colortbl}
\usepackage[table]{xcolor}
\definecolor{lightgray}{gray}{0.92}
\begin{document}
\rowcolors{1}{}{lightgray}
\begin{tabular}{r@{$\pm$}r}
 1 & 0.5 \\
  1 & 0.5 \\
\end{tabular}
\end{document}

Mas isso produz:

Tabela com linhas cinzas, mas símbolo sobrescrito

Essesoluçãoestá relacionado, mas não consigo ver como usar isso mantendo o espaçamento, sem introduzir manchas brancas na cor da linha.

Responder1

Não consigo encontrar o erro, mas proponho outra solução:

  • \setlength{\tabcolsep}{0pt}
  • >{$\pm$}na frente do conteúdo da segunda coluna

O código

\documentclass{article}
\usepackage{colortbl}
\usepackage{amsmath}
\usepackage[table]{xcolor}
\definecolor{lightgray}{gray}{0.92}
\begin{document}
\rowcolors{1}{}{lightgray}
\setlength{\tabcolsep}{0pt}
\begin{tabular}{r >{$\pm$}r}
1 & 0.5 \\
12345 & 0.5 \\
\end{tabular}
\end{document}

insira a descrição da imagem aqui

EDIT: Outra solução com o pacotetabularray

\documentclass{article}
\usepackage{tabularray}
\usepackage{xcolor}
\definecolor{lightgray}{gray}{0.92}
\begin{document}
  \begin{tblr}{
    colspec = {Q[r,mode=math] Q[l,mode=math]},
    vline{2} = {text=\clap{$\pm$}},
    %
    row{even} = {lightgray},
    }
    1 & 0.5 \\
    12345 & 0.5 \\
    \end{tblr}
\end{document}

Responder2

Com {NiceTabular}de nicematrix.

\documentclass{article}
\usepackage{nicematrix}
\definecolor{lightgray}{gray}{0.92}
\begin{document}

\begin{NiceTabular}{r@{$\pm$}r}
\CodeBefore
  \rowcolors{1}{}{lightgray}
\Body
  1 & 0.5 \\
  1 & 0.5 \\
\end{NiceTabular}
\end{document}

Você precisa de várias compilações.

Saída do código acima

Responder3

Com tabularray:

\documentclass[a4paper, 11pt]{article}
\usepackage{xcolor}
\definecolor{lightgray}{gray}{0.92}
\usepackage{tabularray}

\begin{document}
\[
\begin{tblr}{
    colspec={lr},
    column{1}={rightsep=0.7pt},
    column{2}={leftsep=0pt},
    cell{1-Z}{1}={appto={\pm}},
    cell{even}{1-Z}={lightgray},
    }
1 & 0.5 \\
1 & 0.5 \\
\end{tblr}
\]
In case there is a header:
\[
\begin{tblr}{
    hspan=minimal,
    colspec={Q[1.6em,r]Q[1.6em,l]},
    column{1}={rightsep=0.7pt},
    column{2}={leftsep=0pt},
    cell{1}{1}={c=2}{c, mode=text},
    cell{2-Z}{1}={appto={\pm}},
    cell{odd[2-Z]}{1-Z}={lightgray},
    }
Header&\\
1 & 0.5 \\
1 & 0.5 \\
\end{tblr}
\]

\end{document}

insira a descrição da imagem aqui

informação relacionada