如何在beamer中正確使用multicols套件?

如何在beamer中正確使用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}

它工作得很好,但我仍然收到警告:

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而不是,所以為了避免警告使用multicolsnotmulticols*

\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如果使用有星號的版本

所有空白都會自動放置在最後一列或最後一列。 [...] [I]與通常的環境不同,最後一頁上的列不平衡。

該手冊是上面引用的來源,它也解釋了您所看到的警告:

如果我們不在主廚房上,即在某種盒子內,則該方法將不起作用,因為我們沒有盒子的垂直尺寸,因此我們最好警告我們無論如何都要保持平衡。

因此,您需要刪除*或提供一個具有某些定義的垂直尺寸的環境(顯然,未檢測到投影機幀,可能與其尺寸計算得相當晚有關,參見是否有一個簡單的命令可以控制投影機幻燈片中可用的高度?)。

另外,在這方面人們應該知道,beamer 包提供了一種本國的多列機制:columnscolumn環境。

相關內容