以下是有问题的示例:
\documentclass[12pt]{article}
\usepackage{longtable}
\usepackage{tabu}
\usepackage{array}
\usepackage{lipsum}
\begin{document}
{\setlength{\tabulinesep}{3pt}
\begin{longtabu}to \textwidth { | m{2cm} | X[c] | }
\hline
Item & item \\
\hline
Item &
\begin{enumerate}
\item \lipsum[1]
\item \lipsum[2]
\item \lipsum[3]
\item \lipsum[4]
\end{enumerate}\\
\hline
\end{longtabu}
\end{document}
它生成两个页面
存在两个问题:
- 列表
enumerate
按第一行拆分,只留下第一页的第一行。 - 列表
enumerate
直接超出第二页。如何解决这个问题longtabu
?
latex 不能实现 MS word 的效果吗?在 MS word 中,你只需用 list 之类的东西不停地输入,它们就会自动出现在页面上,就像这样
答案1
避免使用表格进行此类布局。在大多数情况下,您可以通过嵌套普通列表来实现类似的效果,如果您确实需要框架,则可以使用 tcolorbox:
\documentclass[12pt]{article}
\usepackage{lipsum,enumitem}
\usepackage[many]{tcolorbox}
\begin{document}
\begin{tcolorbox}[breakable,sharp corners,
colback=white,
overlay={\draw[dashed] ([xshift=1.7cm]interior.north west)--([xshift=1.7cm]interior.south west);}]
\begin{description}[leftmargin=1.5cm,labelwidth=!]
\item[item] item
\item[item]
\begin{enumerate}
\item \lipsum[1]
\item \lipsum[2]
\item \lipsum[3]
\item \lipsum[4]
\end{enumerate}
\end{description}
\end{tcolorbox}
\end{document}