您能否建议我任何额外的代码,使下表更漂亮,可能包括以下功能:
- 使表格单元格文本垂直居中
- 允许单元格中有更多填充
非常感谢!
\documentclass[]{article}
\begin{document}
\begin{center}
\begin{tabular}{|l | c | c | c | c | c |}
\hline
Question & $1$ & $2$ & $3$ & $4$ & $5$\\ \hline
Marks & $x$ & $x$ & $x$ & $y$ & $z$ \\ \hline
\end{tabular}
\end{center}
\end{document}
答案1
由于“漂亮”是一个主观术语,首先考虑出版物的类型:在正式文件中始终尽可能少地使用水平规则 booktabs
,避免使用垂直线......仅此而已(在很多情况下)。
在某些情况下,可以分别使用 \arraystretch
和控制一些额外的垂直和水平填充\tabcolsep
。
对于不那么严肃的出版物……嗯,有很多方法可以制作“漂亮”的表格,您甚至可以使用邪恶的垂直规则、虚线或点线,添加背景、颜色、夸张的填充,甚至使用非表格环境来产生一些视觉效果。当然,您可以将这些选项以无限组合的方式混合使用,使其更加花哨/醒目/华丽/华而不实。发挥想象力。一些例子:
\documentclass[]{article}
\usepackage{fancybox, tcolorbox, xcolor, booktabs}
\parskip2em
\begin{document}
\centering
\begin{tabular}{p{2cm}cccccc}
\toprule
Question\dotfill & 1 & 2 & 3 & 4 & 5\\
Marks\dotfill & $x$ & $x$ & $x$ & $y$ & $z$ \\
\bottomrule
\end{tabular}
\[
\left[\begin{array}{cccccc}
\mathrm{Questions} & 1 & 2 & 3 & 4 & 5\\\specialrule{.1em}{.3em}{.3em}
\mathrm{Marks} & x & x & x & y & x
\end{array}\right]\]
\ovalbox{\sffamily
\tabcolsep1.5em % horizonal padding
\begin{tabular}{l|ccccc}
Questions & 1 & 2 & 3 & 4 & 5\\[.5ex]
Marks & x & x & x & y & x
\end{tabular}
}
\tcbox[left=0mm,right=0mm,top=0mm,bottom=0mm,boxsep=0mm,
toptitle=0.5mm,bottomtitle=0.5mm,colback=blue!05,
title filled, title = ~ My table ]{%
\renewcommand{\arraystretch}{2}% verticall padding
\begin{tabular}{l|ccccc}
Questions & 1 & 2 & 3 & 4 & 5\\\hline
Marks & x & x & x & y & x
\end{tabular}
}
\end{document}
答案2
我的主要建议是 (i) 删除所有垂直线,(ii) 省略所有\hline
指令,以及 (iii) 使用单个\midrule
指令将标题行与内容行分开。这样表格的外观会更加“开放”,而且我认为开放性会提高易读性。
此外,由于表格中的大部分内容似乎都是由数学模式材料组成的,因此可以使用环境array
而不是环境来大幅减少需要输入的符号tabular
数量。$
\documentclass{article}
\usepackage{booktabs,array}
\begin{document}
\begin{center}
-- before --
\medskip
\begin{tabular}{|l | c | c | c | c | c |}
\hline
Question & $1$ & $2$ & $3$ & $4$ & $5$\\ \hline
Marks & $x$ & $x$ & $x$ & $y$ & $z$ \\ \hline
\end{tabular}
\bigskip\bigskip
-- after --
\medskip
\setlength\arraycolsep{6pt} % default is "5pt"
$\begin{array}{ >{$}l<{$} ccccc }
Question & 1 & 2 & 3 & 4 & 5\\
\midrule
Marks & x & x & x & y & z
\end{array}$
\end{center}
\end{document}
答案3
使用该包booktabs
(并查看详细的文档)。
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{center}
\begin{tabular}{l c c c c c }
\toprule
Question & $1$ & $2$ & $3$ & $4$ & $5$\\ \midrule
Marks & $x$ & $x$ & $x$ & $y$ & $z$ \\
\bottomrule
\end{tabular}
\end{center}
\end{document}
我在所有文档中都使用它,并尝试始终遵循手册中包含的良好建议。
答案4
以下是另外两种显示垂直规则的解决方案能尽量使用:
\documentclass{article}
\usepackage{amsmath}
\usepackage{booktabs,array, boldline}
\usepackage[math]{cellspace}
\setlength\extrarowheight{2pt}
\setlength\cellspacebottomlimit{5pt}
\begin{document}
\[ \setlength\arraycolsep{6pt} %
\begin{array}{ @{}>{ \text\bgroup}Sr<{\egroup} V{2}*{5}{c}}
Question & 1 & 2 & 3 & 4 & 5\\
\hlineB{2}
Marks & x & x & x & y & z
\end{array} \]
\vskip 1cm
\[ \setlength\arraycolsep{6pt} %
\begin{array}{ @{}>{ \text\bgroup}Sr<{\egroup} V{3}*{5}{c}}
Question & 1 & 2 & 3 & 4 & 5\\
\hlineB{2}
Marks & x & x & x & y & z
\end{array} \]
\end{document}