![多行和多列环境中单元格的大小](https://linux22.com/image/393724/%E5%A4%9A%E8%A1%8C%E5%92%8C%E5%A4%9A%E5%88%97%E7%8E%AF%E5%A2%83%E4%B8%AD%E5%8D%95%E5%85%83%E6%A0%BC%E7%9A%84%E5%A4%A7%E5%B0%8F.png)
我有以下表格,我想为第 1、2 和 3 列指定一个固定的长度。我发现了一个技巧,即在底部添加一个“不可见”行 (& \multicolumn{1}{p{3.5cm}}{} & \multicolumn{1}{p{3.5cm}}{}\),但这似乎不是一个好的解决方案,因为在我解释表格之前,我显然得到了一个空行。如果没有那个不可见的行,虽然我将大小放在表格的开头 (\begin{tabular}{m{8.2cm} m{3.5} m{3.5cm}}),但表格只是适应内容,这不是我想要的。
你有解决方案吗?这是我第一次在 Latex 中制作这样的表格,因此我认为代码非常“低效且奇怪”。
谢谢你!
\documentclass[11pt,a4paper]{article}
\renewcommand{\baselinestretch}{1.5}
\renewcommand\thesection{\arabic{section}}
\renewcommand\thesubsection{\thesection.\arabic{subsection}}
\usepackage{float}
\usepackage{array}
\usepackage{multirow}
\usepackage{arydshln}
\usepackage{geometry}
\usepackage[font=small, justification=justified, format=plain]{caption}
\begin{document}
\begin{table}[H]
\centering
\caption{Title of the table}
\label{my_label}
\begin{tabular}{m{8.2cm} m{3.5} m{3.5cm}}
\hline
\multirow{2}{*}{Bulletpoint Title} & \multicolumn{2}{c}{Merged columns 2-3}
\\
& \multicolumn{1}{c}{column 2} & \multicolumn{1}{c}{column 3} \\
\hline
\begin{itemize}
\item Bulletpoint 1
\item Bulletpoint 2
\end{itemize}
& \multicolumn{1}{c}{abc} & \multicolumn{1}{c}{abc}\\
\hdashline
\begin{itemize}
\item Bulletpoint 3
\item Bulletpoint 4
\end{itemize}
& \multicolumn{1}{c}{xyz} & \multicolumn{1}{c}{xyz} \\
\hline
Total & \multicolumn{1}{c}{Total c1} & \multicolumn{1}{c}{Total c2}\\
\hline
& \multicolumn{1}{p{3.5cm}}{} & \multicolumn{1}{p{3.5cm}}{}\\
\end{tabular}
\caption*{\footnotesize This table shows *COMMENT*}
\end{table}
\end{document}
答案1
\documentclass[11pt,a4paper]{article}
\renewcommand{\baselinestretch}{1.5}
\renewcommand\thesection{\arabic{section}}
\renewcommand\thesubsection{\thesection.\arabic{subsection}}
%\usepackage{float}
\usepackage{array, multirow}
\usepackage{arydshln}
\usepackage{geometry}
\usepackage[font=small, justification=justified, format=plain]{caption}
\usepackage{enumitem} % new
\begin{document}
\begin{table}[htb]
\setlist[itemize]{leftmargin=*, % new
after=\vspace{-0.6\baselineskip}
}
\centering
\caption{Title of the table}
\label{my_label}
\begin{tabular}{m{8.2cm} *{2}{>{\centering\arraybackslash}m{3.5cm}}}
\hline
\multirow{2}{*}{Bulletpoint Title}
& \multicolumn{2}{c}{Merged columns 2-3} \\
& column 2 & column 3 \\
\hline
\begin{itemize}
\item Bulletpoint 1
\item Bulletpoint 2
\end{itemize}
& abc & abc \\
\hdashline
\begin{itemize}
\item Bulletpoint 3
\item Bulletpoint 4
\end{itemize}
& xyz & xyz \\
\hline
Total & Total c1 & Total c2 \\
\hline
\end{tabular}
\caption*{\footnotesize This table shows *COMMENT*}
\end{table}
\end{document}
给出:
在上面的 MWE 中,我删除了所有不必要的\multicolumn{1}{c}{...}
和空行,重新定义了列类型,使列内容居中,并且对于列表使用该enumitem
包。