TabularX 中的 Itemize:如何删除项目前的新行?

TabularX 中的 Itemize:如何删除项目前的新行?

考虑以下最小工作示例(MWE)

\documentclass{article}
\usepackage{enumitem}
\usepackage{tabularx}

\begin{document}

    \begin{tabularx}{\textwidth}{| p{2cm} | p{2cm} |}
        Text &  \begin{itemize}
                    \item Text
                    \item Text
                \end{itemize}
                \\
    \end{tabularx}

\end{document}

结果截图:

结果截图


问题说明:

\itemize在这种情况下,让它items从新行开始的行为看起来很丑陋。

我怎么会这样呢?

所需状态的屏幕截图

我宁愿避免使用混乱的\vspace{-...pt}硬编码值来进行items向上移动。

答案1

\documentclass{article}
\usepackage{enumitem}
\usepackage{tabularx}

\begin{document}

    \begin{tabularx}{\textwidth}{| p{2cm} | p{2cm} |}
        Text &\csname @minipagetrue\endcsname  \begin{itemize}
                    \item Text
                    \item Text
                \end{itemize}
                \\
    \end{tabularx}

\end{document}

在此处输入图片描述

答案2

我在这个网站上找到了一个宏,它可以让 LaTeX 相信单元格是一个小页面。但是,单元格底部仍存在垂直间距。这个问题可以通过在列表末尾添加负垂直间距来解决。此外,我建议在表格中enumitem使用以下选项:wide=0pt

\documentclass{article}
\usepackage{enumitem}
\usepackage{tabularx}
\makeatletter
\newcommand*{\compress}{\@minipagetrue}
\makeatother
\begin{document}

    \begin{tabularx}{.5\textwidth}{|X | >{\compress}X|}
 Some text & Some more other\\
        Text & \begin{itemize}[wide=0pt, leftmargin=*, nosep, after =\vspace*{-\baselineskip}]
                    \item Text
                    \item Text
                \end{itemize}
                \\
 Another text & Still another
    \end{tabularx}

\end{document} 

在此处输入图片描述

相关内容