我想在 LaTeX 中重现下表:
我决定使用tabularx
和minipage
环境。MWE 如下:
\documentclass{article}
\usepackage{tabularx}
\begin{document}
\begin{table}
\centering
\noindent
\begin{tabularx}{\textwidth}{p{15mm}|p{30mm}|p{3mm}|X@{}}
\hline
Row 1
&
\begin{minipage}[t]{\hsize}
\begin{itemize}
\item item text foo bla zoo
\item item text foo bla zoo
\end{itemize}
\end{minipage}
&
\begin{minipage}[t]{\hsize}
\begin{itemize}
\item item text foo bla zoo
\item item text foo bla zoo
\end{itemize}
\end{minipage}
\\
\hline
Row 2
&
\begin{minipage}[t]{\hsize}
\begin{itemize}
\item item text foo bla zoo
\item item text foo bla zoo
\end{itemize}
\end{minipage}
&
\begin{minipage}[t]{\hsize}
\begin{itemize}
\item item text foo bla zoo
\item item text foo bla zoo
\end{itemize}
\end{minipage}
\\
\hline
\end{tabularx}
\end{table}
\end{document}
但结果却很糟糕:
- 中间水平线与第二行第一个项目之间的空间很小
- 所有水平线都延伸到表格主体
非常感谢任何指点或建议。
答案1
首先,您不需要minipage
为此使用 s,而且您只有三列,但表格设置包含四列,我删除了那个p{3mm}
。其次, sitemize
内的环境tabular
需要特殊设置,因此我建议加载enumitem
和定义一个,newlist
并使用自定义设置仅在 s 内使用tabular
。请参阅下文如何做到这一点。
\documentclass{article}
\usepackage{tabularx}
\usepackage{enumitem}
\newlist{tabitemize}{itemize}{1}
\setlist[tabitemize]{label=\textbullet,leftmargin=*,topsep=0ex,parsep=0pt,
after=\vspace{-\baselineskip},before=\vspace{-0.75\baselineskip}}
\begin{document}
\begin{table}
\centering
\begin{tabularx}{\textwidth}{|p{15mm}|p{30mm}|X@{}|}
\hline
& column 1 & column 2 \\ \hline
Row 1
&
\begin{tabitemize}
\item item text foo bla zoo
\item item text foo bla zoo
\end{tabitemize}
&
\begin{tabitemize}
\item item text foo bla zoo
\item item text foo bla zoo
\end{tabitemize} \\ \hline
Row 2
&
\begin{tabitemize}
\item item text foo bla zoo
\item item text foo bla zoo
\end{tabitemize}
&
\begin{tabitemize}
\item item text foo bla zoo
\item item text foo bla zoo
\end{tabitemize} \\ \hline
\end{tabularx}
\end{table}
\end{document}