问题:
在下表中,我想调整每个单元格的长度和高度,我该怎么做?
梅威瑟:
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\begin{document}
\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}
\cline{1-2} \cline{4-5} \cline{7-8} \cline{10-11} \cline{13-14}
(1) & & & (5) & & & (9) & & & (13) & & & (17) & \\ \cline{1-2} \cline{4-5} \cline{7-8} \cline{10-11} \cline{13-14}
(2) & & & (6) & & & (10) & & & (14) & & & (18) & \\ \cline{1-2} \cline{4-5} \cline{7-8} \cline{10-11} \cline{13-14}
(3) & & & (7) & & & (11) & & & (15) & & & (19) & \\ \cline{1-2} \cline{4-5} \cline{7-8} \cline{10-11} \cline{13-14}
(4) & & & (8) & & & (12) & & & (16) & & & (20) & \\ \cline{1-2} \cline{4-5} \cline{7-8} \cline{10-11} \cline{13-14}
\end{tabular}
\end{document}
答案1
正如我之前的评论中提到的,我将把单个表拆分成五个不同的表。这将使代码更长,但(至少在我看来)可读性更强,也更易于调整。
在下面的例子中,我还使用了自动行编号方法。我还引入了一种新的居中固定宽度列类型。为了增加行高,我添加了包makecell
及其\makegepedcells
命令。最后,我确保五个表格在\hfill
它们之间使用 inbetween 以适合文本宽度。
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{makecell} % For increased row height using \makegapedcells
%%%%% Atomatic rownumbering from https://tex.stackexchange.com/a/21245/134144
\usepackage{array,etoolbox}
\newcounter{magicrownumbers}
\setcounter{magicrownumbers}{0}
\newcommand\rownumber{\stepcounter{magicrownumbers}\arabic{magicrownumbers}}
%%%%%
\newcommand\rn{\makebox[2.5em][c]{(\rownumber)}}
\newcolumntype{P}{>{\centering\arraybackslash}p{1cm}}
\setcellgapes{6pt}
\begin{document}
\noindent
\makegapedcells
\begin{tabular}{|@{\rn}|P|}
\hline
\\
\hline
\\
\hline
\\
\hline
\\
\hline
\end{tabular}\hfill
\begin{tabular}{|@{\rn}|P|}
\hline
\\
\hline
\\
\hline
\\
\hline
\\
\hline
\end{tabular}\hfill
\begin{tabular}{|@{\rn}|P|}
\hline
\\
\hline
\\
\hline
\\
\hline
\\
\hline
\end{tabular}\hfill
\begin{tabular}{|@{\rn}|P|}
\hline
\\
\hline
\\
\hline
\\
\hline
\\
\hline
\end{tabular}\hfill
\begin{tabular}{|@{\rn}|P|}
\hline
\\
\hline
\\
\hline
\\
\hline
\\
\hline
\end{tabular}
\end{document}
当然,您可以通过更改 的宽度来调整包含数字的列的宽度,以满足您的喜好。通过更改类型单元格\makebox
定义中的宽度P
,您可以更改第二列的宽度。通过调整 的值,\setcellgapes
您可以影响行的高度。
在下面的截图中,我使用了:
\newcommand\rn{\makebox[2em][c]{(\rownumber)}}
\newcolumntype{P}{>{\centering\arraybackslash}p{1.25cm}}
\setcellgapes{10pt}