嵌套多列环境中的奇怪行为

嵌套多列环境中的奇怪行为

我想使用 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}

相关内容