我想使用 multicols 环境来创建多列 itemize 环境。问题是我已经在主文档中使用了 multicols* 环境,当分页符出现在非常特定的位置时,嵌套它们似乎会破坏一些东西。我很难复制它(它看起来不稳定),但这里有一个 MWE:
\documentclass[a4paper,11pt]{article}
\usepackage[a4paper,margin=15mm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{multicol}
\usepackage{lipsum}
\begin{document}
\begin{multicols*}{2}
\lipsum[1-8]
Test
Test
Test
Test
Test
Test
Test
Test
Test
\begin{enumerate}
\item First question
\begin{multicols}{2}
\begin{itemize}
\item Test
\item Test
\item Test
\item Test
\end{itemize}
\end{multicols}
\item Second question
\begin{enumerate}
\item Test
\item Test
\item Test
\item Test
\end{enumerate}
\end{enumerate}
\end{multicols*}
\end{document}
以下是编译后的 pdf(使用 pdflatex 或 lualatex):
第一页中的列似乎与 itemize 环境中的列对齐。
任何有助于理解这里发生的事情的帮助都将不胜感激!
答案1
很好的例子:-) 您可以在https://github.com/latex3/latex2e/issues但一个快速的解决方法是对内部列表进行装箱和拆箱
\documentclass[a4paper,11pt]{article}
\usepackage[a4paper,margin=15mm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{multicol}
\usepackage{lipsum}
\begin{document}
\begin{multicols*}{2}
\lipsum[1-8]
Test
Test
Test
Test
Test
Test
Test
Test
Test
\begin{enumerate}
\item First question
\setbox0\vbox{
\begin{multicols}{2}
\begin{itemize}
\item Test
\item Test
\item Test
\item Test
\end{itemize}
\end{multicols}
}\unvbox0
\item Second question
\begin{enumerate}
\item Test
\item Test
\item Test
\item Test
\end{enumerate}
\end{enumerate}
\end{multicols*}
\end{document}