Beamer 内联逐项列举和枚举

Beamer 内联逐项列举和枚举

我的目标是结合文档类生成内联列表(itemize和) 。这些列表的符号应使用与其非内联对应项相同的符号,以匹配模板的外观。enumeratebeamerbeamer

对于标准文档类,可以通过以下包实现入围名单。但是,我shortlst与 结合使用beamer,没有显示任何列表符号。

这是一个最小的工作示例:

\documentclass{beamer}

\usepackage{shortlst}

\begin{document}

\begin{frame}{Test}
  % standard enumerate where item symbol style is set by beamer template 
  \begin{enumerate}
    \item this
    \item takes
    \item too
    \item much
    \item space
  \end{enumerate}

  % my goal is to have an inline list which uses the same symbols as the "standard" lists
  % in this example, no list symbols appear at all
  \begin{shortenumerate}
    \item this
    \item one
    \item doesn't
  \end{shortenumerate}
\end{frame}

\end{document}

答案1

嗨这样合适吗?

\documentclass[slidestop]{beamer}
\usetheme{Madrid}
\begin{document}


\newcommand{\inlineitem}{%
\leavevmode\usebeamertemplate{itemize item}
}
\newcounter{newenumi}
\setcounter{newenumi}{1}

\newcommand{\inlineenum}{%
 {%
 \setcounter{enumi}{\thenewenumi}%
 \leavevmode\usebeamertemplate{enumerate  item}
 \stepcounter{newenumi}
 \setcounter{enumi}{0}
 }
}

\newcommand{\resetinlineenum}{
 \setcounter{newenumi}{1}
}


\begin{frame}{Test}
 \inlineitem short \inlineitem list test
 \inlineenum test \inlineenum test \resetinlineenum \inlineenum new test
  \begin{block}{in a block} 
  \inlineitem short in a block
 \end{block}
 \begin{enumerate}
  \item normal
  \item 
 \end{enumerate}

\end{frame}

\end{document}

这里有三个新的用户命令:\inlineitem只产生一个球。 \inlineenum一个内联枚举标签并\resetinlineenum根据您的意愿重置它。

在此处输入图片描述

对于环保主义者来说:

\documentclass[slidestop]{beamer}
\usetheme{Madrid}

\newenvironment{inlineitemize}{%
 \let\par\relax%
 \def\item{\usebeamertemplate{itemize item}\hspace{1mm}}
 \leavevmode%
}{}

\newenvironment{inlineenumerate}{%
 \let\par\relax%
 \setcounter{enumi}{1}%
 \def\item{\usebeamertemplate{enumerate  item} \stepcounter{enumi}}%
 \leavevmode%
}{%
 \setcounter{enumi}{0}%
}

\begin{document}

\begin{frame}{Test}
\begin{inlineitemize}
\item item
\item 2


\end{inlineitemize}%
\begin{inlineenumerate}
 \item test 

 \item test 

 \item test

\end{inlineenumerate}

  \begin{block}{in a block} 
\begin{inlineenumerate}
 \item test 

 \item test 

 \item test

\end{inlineenumerate}
 \end{block}
 \begin{enumerate}
  \item normal
  \item 
 \end{enumerate}

\end{frame}

\end{document}

答案2

很抱歉发布答案,但由于我还没有达到 50 分,似乎无法发表评论。你可以用这个方法修复颜色问题:

\newcommand{\inlineitem}{\leavevmode{\color{blue}\usebeamertemplate{itemize item}} }

这可能非常粗糙,但对马德里来说确实有效。

相关内容