下面的代码是我编写的代码的简化版本。问题是在第三列中,在枚举开始之前,代码断行了。如何防止这种情况发生?谢谢!
\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
并将选项传递nosep
给enumerate
环境,然后 (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}