我有一张幻灯片,其中的枚举部分位于主幻灯片中,部分位于同一张幻灯片的某一列中。下面是一个展示我意图的简单示例:
\documentclass{beamer}
\begin{document}
\begin{frame}{Lorem ipsum}
\begin{enumerate}
\item Lorem
\item ipsum
\begin{columns}
\begin{column}{0.5\textwidth}
\item dolor
\item sit
\end{column}
\begin{column}{0.5\textwidth}
% something else here
\end{column}
\end{columns}
\end{enumerate}
\end{frame}
\end{document}
在下面的屏幕截图中,我如何才能使 3 和 4 也像 1 和 2 一样缩进?我通常使用0.45\textwidth
列宽,但为了解决这个问题,我希望缩进独立于列宽来决定(或者以编程方式完成,这样我就不必计算它)。
答案1
我猜你的目标是让数字与某些项目保持一致,这就是你columns
在里面引入环境的原因enumerate
,这通常不是一个好主意。
另一种方法是将整体放入enumerate
框架minipage
宽度的一半中(或者column
,如果您愿意,可以放入中,但由于您不会使用第二列,因此minipage
也是合适的),然后将图形放在其中一个项目的右侧,使用picture
大小为零的环境。
例如,以下代码将把一个图形(作为参数给出)放置在0.5\textwidth
命令使用点右侧的某个点单位处。第二个参数是图形的大小:
\def\putfigure#1#2{% 1=graphic file, 2=width of the graphic
\begin{picture}(0,0)\setlength{\unitlength}{0.5\textwidth}%
\put(1,0){\vbox{\hbox{\includegraphics[width=#2]{#1}}}}%
\end{picture}}
图形将与使用该命令的行底部对齐,因此建议将此命令放在要\item
与图形对齐的最后一行的开头。在您的示例中,这将位于第四项:
\item\putfigure{myfigure}{0.3\textwidth}sit
以下是设计用于测试的 MWELaTeX 预览器。此预览器没有beamer
包,所以我无法使用frame
,但您可以毫不费力地将其适应您的演示文稿。
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\def\putfigure#1#2{%
\begin{picture}(0,0)\setlength{\unitlength}{0.5\textwidth}%
\put(1,0){\vbox{\hbox{\includegraphics[width=#2]{#1}}}}%
\end{picture}}
%\begin{frame}{Lorem ipsum}
\begin{minipage}{.5\textwidth}
\begin{enumerate}
\item Lorem
\item ipsum
\item dolor
\item\putfigure{star.mps}{0.2\textwidth}sit
\item and some
\item more
\end{enumerate}
\end{minipage}
\end{document}
导致:
更新:一种不同的方法。
如果要考虑图形占用的垂直空间,另一个想法是使用表格将不同的“部分”分隔enumerate
在不同行中,并使用表格的第二列放置图形。需要注意以下几点:
- 这段
enumerate
被分成了好几个enumerate
部分,但项目的编号应该从前一个部分继续下去。 - 图形和对应的项目应该垂直对齐在单元格的中心,这需要将图形放在
$\vcenter{}$
最小工作示例:
\documentclass{beamer}
\usepackage{graphics}
\newcounter{saveenum}
\begin{document}
\begin{frame}{Lorem ipsum}
\begin{tabular}{p{.4\textwidth}p{.4\textwidth}}
\parbox{.4\textwidth}{\begin{enumerate}
\item Lorem
\item ipsum
\setcounter{saveenum}{\value{enumi}}
\end{enumerate}} & \\
\parbox{.4\textwidth}{\begin{enumerate}
\setcounter{enumi}{\value{saveenum}}
\item dolor
\item sit
\setcounter{saveenum}{\value{enumi}}
\end{enumerate}} &
$\vcenter{\includegraphics[width=.3\textwidth]{elephant}}$ \\
\begin{enumerate}
\setcounter{enumi}{\value{saveenum}}
\item And some
\item more
\end{enumerate} & \\
\end{tabular}
\end{frame}
\end{document}
其结果为:
(大象形象来自Flickr)。
答案2
如果不需要,则不必中断枚举。例如,以下 MWE 有一个单一的enumerate
,并且使用和重叠的组合将图像推入位置\hspace
。此外,要从图像高度中删除任何垂直重新调整,您可以\smash
在将其向上/向下移动(使用\raisebox{<length>}{<stuff>}
)之前将其移除。
\documentclass{beamer}% http://ctan.org/pkg/beamer
%\usepackage{graphicx}% http://ctan.org/pkg/graphicx
\begin{document}
\begin{frame}{Lorem ipsum}
\begin{enumerate}
\item Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc pellentesque egestas
orci non tempor. Mauris dapibus congue turpis, ut egestas quam dignissim vel. Nam condimentum
ornare eleifend.
\item ipsum
\item \leavevmode\rlap{dolor}\hspace*{.5\textwidth}%
\rlap{\smash{\raisebox{-\height}{\includegraphics[width=.3\linewidth]{example-image-a}}}}
\item sit
\end{enumerate}
\end{frame}
\end{document}
有关 item 的一些解释dolor
:\leavevmode
“开始”枚举,随后将零宽度设置dolor
为r
ight over lap
。接下来是.5\textwidth
间隙,然后是ed 图像的另一个r
ight over ,其总高度被删除。lap
\smash
example-image-a
\height