表形式環境での行色と @{} の問題

表形式環境での行色と @{} の問題

表の各行の数字のペアの間に \pm 記号を挿入したいと思います。

網掛けの行のないシンプルな表

行を交互に色分けしたいと思います。rowcolors パッケージを使用しようとしましたが、シンボルが上書きされてしまいます。

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

しかし、これは次の結果をもたらします:

灰色の行があるがシンボルが上書きされている表

これ解決関連していますが、行の色に白い斑点を入れずに、間隔を維持しながらこれを使用する方法がわかりません。

答え1

エラーは見つかりませんが、別の解決策を提案します:

  • \setlength{\tabcolsep}{0pt}
  • >{$\pm$}2列目のコンテンツの前に

コード

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

ここに画像の説明を入力してください

編集: パッケージの別の解決策tabularray

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

答え2

のと。{NiceTabular}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}

複数のコンパイルが必要です。

上記コードの出力

答え3

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}

ここに画像の説明を入力してください

関連情報