如何使用枚举防止表格列内的换行?

如何使用枚举防止表格列内的换行?

下面的代码是我编写的代码的简化版本。问题是在第三列中,在枚举开始之前,代码断行了。如何防止这种情况发生?谢谢!

\documentclass[12pt,a4paper,oneside]{book}
\usepackage{rotating}

\begin{document}

\begin{sidewaystable}[p]
\begin{tabular}{p{2.5cm}p{3cm}p{4cm}}

\hline 
\footnotesize Example & \footnotesize Example & \footnotesize Example \\
\hline 
\footnotesize Example & \footnotesize Example & \footnotesize 
\begin{enumerate} 
    \item Example.
    \item Example.
\end{enumerate}\\
\hline

\end{tabular}
\end{sidewaystable}
\end{document}

在此处输入图片描述

答案1

正如@Au101 在他的评论中提到的,你无法阻止它,但你可以消灭它。我建议使用enumitem来定义适合表格的枚举环境。此外,你应该使用 来booktabs设置带有一些垂直填充的表格规则(通常,LaTeX 会生成非常紧密的表格):

\documentclass[12pt,a4paper,oneside]{book}
\usepackage{rotating}
\usepackage{enumitem}
\newlist{tabenumerate}{enumerate}{1}
\setlist[tabenumerate, 1]{label=\arabic*., wide, nosep, before=\leavevmode\vspace{-\baselineskip}, after=\vspace{-\baselineskip}}

\begin{document}

\begin{sidewaystable}[p] \footnotesize \begin{tabular}{p{2.5cm}p{3cm}p{4cm}}
  \hline
  Example & Example & Example \\
  \hline
  Example & Example &
  \begin{tabenumerate}%
    \item Example.
    \item Example.
  \end{tabenumerate} \\
  \hline
  \end{tabular}
\end{sidewaystable}

\end{document} 

在此处输入图片描述

答案2

这不是插入换行符的问题,而是 LaTeX 在环境上方(和下方)插入垂直空格的问题enumerate。我建议您 (a) 加载包enumitem并将选项传递nosepenumerate环境,然后 (b) 使用合适的\vspace指令删除剩余的垂直空格。

在此处输入图片描述

\documentclass[12pt,a4paper,oneside]{book}
\usepackage{rotating,enumitem,array}
\newcolumntype{f}[1]{>{\footnotesize}p{#1}}
\begin{document}

\begin{sidewaystable}
\begin{tabular}{f{2.5cm}f{3cm}f{4cm}}
\hline 
Example & Example & Example \\
\hline 
Example & Example &  
\vspace*{-0.58\baselineskip}
\begin{enumerate}[nosep] % <-- note the "nosep" option
    \item Example.
    \item Example.
\end{enumerate}\\[-2.2ex]
\hline
\end{tabular}
\end{sidewaystable}
\end{document}

相关内容