如何在LaTeX表格中移除特定单元格间竖线且保留其余竖线
移除NiceTabular特定单元格竖线的解决方案
要实现仅移除表头行中7.5%左侧和17.5%右侧的竖线,同时保留表格外框及下方所有行的竖线,可借助nicematrix包的\Block命令边框控制功能,无需修改全局列格式,且完全兼容后续的单元格高亮/着色操作。
修改后的完整代码
\documentclass[a4paper]{book} \usepackage{tikz} \usepackage{float} % H command \usepackage{booktabs} % for cmidrule \usepackage{nicematrix} \begin{document} \begin{table}[H] \centering \begin{NiceTabular}{cc|rcccc|c} & \Block{1-*}{+ 10 $\%$ MPD} \\ & \Block{1-*}{PEG3350 + PEG1000} \\ & & \Block[left-border=false]{} \small 7.5 $\%$ & \small 10 $\%$ & \small 12.5 $\%$ & \small 15 $\%$ & \Block[right-border=false]{} \small 17.5 $\%$ & \\ \cmidrule{3-7} \Block{3-1}{\rotate NPS salts [mM]} & \small 10 & & & & & & \Block{3-1}{\rotate \small 100 mM bicine/Tris \\ Hcl pH 8.5}\\ & \small 30 & & & & & \\ & \small 50 & & & & & \\ \cmidrule{3-7} \end{NiceTabular} \end{table} \end{document}
关键修改说明
- 移除7.5%左侧竖线:在该单元格前添加
\Block[left-border=false]{},仅取消当前单元格的左侧边框,下方行对应位置的竖线不受影响。 - 移除17.5%右侧竖线:在该单元格前添加
\Block[right-border=false]{},仅取消当前单元格的右侧边框,不破坏表格外框及下方行的竖线结构。
后续高亮兼容示例
若需对特定单元格高亮,可直接在表格末尾添加\CodeAfter块配合tikz实现,例如高亮表头行的3-7列:
\CodeAfter \tikz \fill[yellow!30] (3-3) rectangle (3-7);
内容的提问来源于stack exchange,提问作者Kim
相关产品推荐
相关产品推荐

