我想在表格的每一行的一对数字之间插入 \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$}
在第二列内容的前面
代码
\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
答案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}