我的目标是结合文档类生成内联列表(itemize
和) 。这些列表的符号应使用与其非内联对应项相同的符号,以匹配模板的外观。enumerate
beamer
beamer
对于标准文档类,可以通过以下包实现入围名单。但是,我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}} }
这可能非常粗糙,但对马德里来说确实有效。