答案1
您可以嵌套两个表格。
我给环境起的名字应该表明我对输出的看法。;-)
\documentclass{article}
\usepackage{booktabs}
\newenvironment{uglytabular}[2][c]
{%
\begin{tabular}[#1]{|@{}c@{}|}
\begin{tabular}[#1]{#2}
}
{%
\end{tabular}
\end{tabular}
}
\begin{document}
\begin{uglytabular}{ccc}
\toprule
A & B & C \\
\midrule
x & y & z \\
u & v & w \\
\bottomrule
\end{uglytabular}
\end{document}
答案2
由于有些人显然无法想象在任何情况下垂直线会(不丑陋)有用(在我的特定情况下他们会这样做),并且只是说它丑陋,所以我会尝试以更严肃的方式发表自己的观点。作为一名工程师,我更喜欢垂直线,因为它们很容易将输入与输出分开,而且它们也与我在笔记中写表格的方式一致。
我最终使用了 egreg 的解决方案,但完成了它以匹配问题(中间有垂直线)并且不需要降低我的个人偏好(即重命名uglytabular
为一个不那么厚颜无耻的名字ttable
:)。
\documentclass{article}
\usepackage{booktabs}
\usepackage[table]{xcolor}
\newenvironment{ttable}[2][c]
{%
\begin{tabular}[#1]{|@{}c@{}|}
\rowcolors{2}{white}{gray!20}
\begin{tabular}[#1]{#2}
}
{%
\end{tabular}
\end{tabular}
}
% Set hline to the default \midrule thickness:
\setlength{\arrayrulewidth}{0.05em}
\begin{document}
\begin{ttable}{cc|c}
\toprule
A & B & X \\\hline
0 & 0 & 0 \\
0 & 1 & 0 \\
1 & 0 & 0 \\
1 & 1 & 1 \\
\bottomrule
\end{ttable}
\end{document}
这正是我特定情况下需要的设计。无论它是否适合您,它都非常适合我想要的特定风格,这是个人选择,应该受到尊重。
答案3
只是为了好玩,我尝试创建一种单独调整每条线宽度的方法。 的大部分复杂性\hline
在于使用 制作双线\hline\hline
。
\documentclass{article}
\usepackage{booktabs}
\makeatletter
\newcommand{\hwidth}[1]{%
\noalign{\hrule \@height #1}%
}
\makeatother
\begin{document}
\begin{tabular}{|ccc|}
\hwidth{1pt}
A & B & C \\
\hwidth{.4pt}
x & y & z \\
u & v & w \\
\hwidth{1pt}
\end{tabular}
\end{document}
答案4
借助makecell
更粗的线条、cellspace
在单元格周围增加一些空间以及xcolor
选择table
添加交替行颜色:
\documentclass{article}
\usepackage{cellspace}
\setlength\cellspacetoplimit{.65ex}
\setlength\cellspacebottomlimit{.03em}
\usepackage{makecell}
\usepackage[table]{xcolor}
\begin{document}
\rowcolors{2}{white}{gray!25}
\begin{tabular}{|cc|c|}
\Xhline{0.08em}
A & B & C \\
\hline
0 & 0 & 1 \\
0 & 1 & 0 \\
1 & 0 & 0 \\
1 & 1 & 1 \\
\Xhline{0.08em}
\end{tabular}
\end{document}