这是一个小例子。
\documentclass{beamer}
\usepackage{multicol}
\usepackage{lipsum}
\setlipsumdefault{1-1}
\begin{document}
\begin{frame}
\tiny
\lipsum
\begin{multicols*}{2}
\lipsum
\end{multicols*}{1}
\lipsum
\end{frame}
\end{document}
它运行良好,但我仍然收到警告:
Package multicol Warning: multicols* inside a box does not make sense.
(multicol) Going to balance anyway on input line 13.
我是不是搞错了什么?有没有正确的方法来使用 包beamer
?在 中,还有哪些其他选项可以让文本从一列流到另一列beamer
?
multicols
为了更清楚地说明这一点,我提供了另一个示例,其中使用而不是手动将文本划分为列似乎非常自然:
\documentclass{beamer}
\usepackage{multicol}\columnseprule 0.4pt\raggedcolumns
\begin{document} \begin{frame}
The main programming paradigms are:
\begin{multicols*}{2}
\begin{itemize}
\item Imperative
\item Object Oriented
\item Functional
\item Logical
\item Aspect Oriented
\item Constraints
\item Parallel
\end{itemize}
\end{multicols*}
However, there are many multi-paradigm programming languages.
\begin{multicols*}{2}
\begin{itemize}
\item Mathematica
\item Oz
\item F\#
\item Visula Basic.Net
\item C\#
\item Scala
\item Object Pascal
\end{itemize}
\end{multicols*}
\end{frame}\end{document}
输出是
答案1
警告来自表单*
,multicols*
它表示它将改用multicol
,因此为了避免警告,multicols
请勿使用multicols*
\documentclass{beamer}
\usepackage{multicol}
\usepackage{lipsum}
\setlipsumdefault{1-1}
\begin{document}
\begin{frame}
\tiny
\lipsum
\begin{multicols}{2}
\lipsum
\end{multicols}{1}
\lipsum
\end{frame}
\end{document}
答案2
multicols
如果使用带星号的版本
所有空白都会自动放置在最后一列或多列中。[…]与通常的环境不同,最后一页的列不平衡。
该手册是上述引文的来源,它也解释了您所看到的警告:
如果我们不在主厨房,即不在某种盒子里面,那么这种方法将不起作用,因为我们没有盒子的垂直尺寸,所以我们最好警告我们保持平衡。
因此你需要删除*
或提供具有某些定义的垂直尺寸的环境(显然,投影仪框架没有被检测到,可能与其尺寸计算得相当晚有关,参见投影仪幻灯片中是否有一个简单的命令可以设置可用高度?)。
另外,应该知道,在这种情况下,beamer 包提供了一个本国的多列机制:columns
和column
环境。