
Вот небольшой пример.
\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
notmulticols*
\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
Если используется отмеченная звездочкой версия
все пустое пространство автоматически помещается в последний столбец или столбцы. […] [В]место обычного расположения столбцы на последней странице не сбалансированы.
В руководстве, которое является источником приведенной выше цитаты, также объясняется предупреждение, которое вы видите:
Если мы не находимся на главной кухне, то есть внутри какого-то ящика, этот подход не сработает, поскольку у нас нет вертикального размера ящика, поэтому лучше предупредить, что мы в любом случае будем балансировать.
Таким образом, вам необходимо удалить *
или предоставить среду, которая имеет определенный вертикальный размер (судя по всему, кадры проектора не определяются как таковые, возможно, из-за того, что их размер вычисляется довольно поздно, см.Существует ли простая команда для определения доступной высоты в направляющей проектора?).
Кроме того, в этом контексте следует знать, что пакет проектора обеспечиваетродноймеханизм для нескольких столбцов: columns
и column
окружения.