手动调整表格(单元格)的长度和宽度

手动调整表格(单元格)的长度和宽度

问题:

在下表中,我想调整每个单元格的长度和高度,我该怎么做?

梅威瑟:

\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}

在此处输入图片描述

相关内容