下面,第一行的颜色有问题。它应该是一个简单的灰色块,但却有一些覆盖的白色矩形。
为何以及怎样解决它?
\documentclass{article}
\usepackage{amsfonts}
\usepackage{tabularx}
\usepackage[table]{xcolor}
\usepackage{wasysym}
\begin{document}
\begin{tabular}{@{} m{2cm} <{\hspace*{1mm}} | m{1.9cm} <{\hspace*{1mm}}}
\multicolumn{2}{c}{\cellcolor{black!20!white}{}}\\[-3mm]
\multicolumn{2}{c}{\cellcolor{black!20!white}{\footnotesize $\ \mathbf{15}$ \hspace{0pt plus 1filll} Test}}\\[1.5mm]
\scriptsize \hfill $\times \hspace{-1pt}\approx\hspace{-1pt}\checked$
& \scriptsize \hfill $\times \hspace{-1pt}\approx\hspace{-1pt}\checked$ \\
\dotfill\scriptsize $\square$\,$\square$\,$\square$ & \dotfill\scriptsize $\square$\,$\square$\,$\square$\\
\dotfill\scriptsize $\square$\,$\square$\,$\square$ & \dotfill\scriptsize $\square$\,$\square$\,$\square$\\
\dotfill\scriptsize $\square$\,$\square$\,$\square$ & \dotfill\scriptsize $\square$\,$\square$\,$\square$\\[3mm]
\end{tabular}
\end{document}
日志
这是 pdfTeX,版本 3.14159265-2.6-1.40.18(TeX Live 2017)(预加载格式=pdflatex)\write18 已启用。进入扩展模式 (./bac_a_sable.tex LaTeX2e <2017-04-15> Babel <3.10> 和 84 种语言的连字符模式已加载。 (/usr/local/texlive/2017/texmf-dist/tex/latex/base/article.cls 文档类:article 2014/09/29 v1.4h 标准 LaTeX 文档类 (/usr/local/texlive/2017/texmf-dist/tex/latex/base/size10.clo)) (/usr/local/texlive/2017/texmf-dist/tex/latex/amsfonts/amsfonts.sty) (/usr/local/texlive/2017/texmf-dist/tex/latex/tools/tabularx.sty (/usr/local/texlive/2017/texmf-dist/tex/latex/tools/array.sty))(/usr/local/texlive/2017/texmf-dist/tex/latex/xcolor/xcolor.sty (/usr/local/texlive/2017/texmf-dist/tex/latex/graphics-cfg/color.cfg)(/usr/local/texlive/2017/texmf-dist/tex/latex/graphics-def/pdftex.def (/usr/local/texlive/2017/texmf-dist/tex/generic/oberdiek/infwarerr.sty)(/usr/local/texlive/2017/texmf-dist/tex/generic/oberdiek/ltxcmds.sty)) (/usr/local/texlive/2017/texmf-dist/tex/latex/colortbl/colortbl.sty))(/usr/local/texlive/2017/texmf-dist/tex/latex/wasysym/wasysym.sty)(./bac_a_sable.aux)(/usr/local/texlive/2017/texmf-dist/tex/context/base/mkii/supp-pdf.mkii [正在加载 MPS 到 PDF 转换器(版本 2006.09.02)。])(/usr/local/texlive/2017/texmf-dist/tex/latex/amsfonts/umsa.fd)(/usr/local/texlive/2017/texmf-dist/tex/latex/amsfonts/umsb.fd) (/usr/local/texlive/2017/texmf-dist/tex/latex/wasysym/uwasy.fd)[1{/usr/local/t exlive/2017/texmf-var/fonts/map/pdftex/updmap/pdftex.map}](./bac_a_sable.aux))< /usr/local/texlive/2017/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb> 输出写在 bac_a_sable.pdf 上(1 页,42174 字节)。SyncTeX 写在 bac_a_sable.synctex.gz 上。抄本写在 bac_a_sable.log 上。
答案1
如果我理解正确,你想要实现的目标,使用单行作为表头,使用cellspace
包来增加行高要简单得多!问题是使用两个\multicolumn
具有不同对齐方式或 hspace 规范的 s。即删除 '{0 plus 1fill}'。可能, \multicolumn{2}{c}{\cellcolor{black!20!white}{\footnotesize $\ \mathbf{15} $ \hspace{1.5mm} {\bf Test}}}\\
请参阅下文,了解使用 cellspace 包的可能的替代/更正:
\documentclass{article}
\usepackage{amsfonts}
\usepackage{tabularx}
\usepackage[table]{xcolor}
\usepackage{cellspace}
\setlength{\cellspacetoplimit}{8pt}
\setlength{\cellspacebottomlimit}{8pt}
\usepackage{wasysym}
\begin{document}
\begin{tabular}{@{} m{2cm} <{\hspace*{1mm}} | m{1.9cm} <{\hspace*{1mm}}}
\rowcolor{black!20!white}\multicolumn{1}{@{}Sl}{\footnotesize $\ \mathbf{15} $} & \multicolumn{1}{r}{\footnotesize Test}\\
\scriptsize \hfill $\times \hspace{-1pt}\approx\hspace{-1pt}\checked$
& \scriptsize \hfill $\times \hspace{-1pt}\approx\hspace{-1pt}\checked$ \\
\dotfill\scriptsize $\square$\,$\square$\,$\square$ & \dotfill\scriptsize $\square$\,$\square$\,$\square$\\
\dotfill\scriptsize $\square$\,$\square$\,$\square$ & \dotfill\scriptsize $\square$\,$\square$\,$\square$\\
\dotfill\scriptsize $\square$\,$\square$\,$\square$ & \dotfill\scriptsize $\square$\,$\square$\,$\square$\\[3mm]
\end{tabular}
\end{document}
答案2
\documentclass{article}
\usepackage{amssymb}
\usepackage{wasysym}
\usepackage[table]{xcolor}
\begin{document}
{\renewcommand\arraystretch{1.5}
\newcommand\mcbf[2]{\multicolumn{1}{#1}{\normalsize\textbf{#2}}}
\begin{tabular}{@{} >{\raggedleft\arraybackslash\scriptsize}p{2cm} <{\hspace*{1mm}} |
>{\raggedleft\arraybackslash\scriptsize}p{2cm} <{\hspace*{1mm}}}
\rowcolor{black!20!white}
\mcbf{l}{15} & \mcbf{r}{Test} \\
$\times \hspace{-1pt}\approx\hspace{-1pt}\checked$
& $\times \hspace{-1pt}\approx\hspace{-1pt}\checked$ \\
\dotfill $\square$\,$\square$\,$\square$ & \dotfill $\square$\,$\square$\,$\square$\\
\dotfill $\square$\,$\square$\,$\square$ & \dotfill $\square$\,$\square$\,$\square$\\
\dotfill $\square$\,$\square$\,$\square$ & \dotfill $\square$\,$\square$\,$\square$
\end{tabular}
}
\end{document}
答案3
在{NiceTabular}
中nicematrix
,您有一个键cell-space-limits
(受包的参数启发cellspace
),您可以使用命令仅更改一行(这里是第一行)\RowStyle
。
在下面的代码中,我\RowStyle
还使用了第一行的背景和字体大小。
\Block
我已使用命令(内置{NiceTabular}
)更改了文本“测试”的水平对齐方式: \Block[r]{}{Test}
。
\documentclass{article}
\usepackage{amsfonts}
\usepackage{nicematrix}
\usepackage{wasysym}
\begin{document}
\begin{NiceTabular}{@{} m[l]{2cm} <{\hspace*{1mm}} | m{1.9cm} <{\hspace*{1mm}}}
\RowStyle[rowcolor=black!20!white,cell-space-limits=8pt]{\footnotesize}
\Block{1-2}{} % to prevent the vertical rule in the first row
\ $\mathbf{15} $ & \Block[r]{}{Test}\\
\scriptsize \hfill $\times \hspace{-1pt}\approx\hspace{-1pt}\checked$
& \scriptsize \hfill $\times \hspace{-1pt}\approx\hspace{-1pt}\checked$ \\
\dotfill\scriptsize $\square$\,$\square$\,$\square$ & \dotfill\scriptsize $\square$\,$\square$\,$\square$\\
\dotfill\scriptsize $\square$\,$\square$\,$\square$ & \dotfill\scriptsize $\square$\,$\square$\,$\square$\\
\dotfill\scriptsize $\square$\,$\square$\,$\square$ & \dotfill\scriptsize $\square$\,$\square$\,$\square$\\[3mm]
\end{NiceTabular}
\end{document}