我的演示文稿frame
中有一个。在框架内,我在 中有一个。在该算法中,我有以下内容来突出显示算法中的 区域。beamer
algorithmic
minipage
\documentclass[11pt]{beamer}
\usetheme{default}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{algorithm}% http://ctan.org/pkg/algorithm
\usepackage{algpseudocode}% http://ctan.org/pkg/algorithmicx
\begin{document}
\maketitle
\begin{frame}
\frametitle{}
\end{frame}
\begin{frame}
\makebox[\textwidth]{
\begin{minipage}{0.5\textwidth}
content
\end{minipage}
\begin{minipage}{0.5\textwidth}
\begin{algorithmic}[]
\Function{DivisibleOnce}{v, e}
\newline
\setbeamercolor{postit}{fg=white,bg=purple}
\begin{beamercolorbox}[wd=0.9 \textwidth,rounded=true,shadow=true]{postit}
\State $ s $
\end{beamercolorbox}
\EndFunction
\end{algorithmic}
\end{minipage}
}
\end{frame}
\end{document}
上述 Latex 在框架结束时导致错误。如果我注释掉\State $ s $
缺少插入的 \endcsname。\end{frame}
但是如果我使用\If
或者\Return
它有效
答案1
您应该拥有beamercolorbox
之后的环境\State
,而不是相反。
\documentclass[11pt]{beamer}
\usetheme{default}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{algorithm}% http://ctan.org/pkg/algorithm
\usepackage{algpseudocode}% http://ctan.org/pkg/algorithmicx
\begin{document}
\begin{frame}
\begin{algorithmic}
\Function{DivisibleOnce}{v, e}
\State
$ s $
\EndFunction
\Function{DivisibleOnce}{v, e}
\State
\setbeamercolor{postit}{fg=white,bg=purple}%
\begin{beamercolorbox}[wd=0.9 \textwidth,rounded=true,shadow=true]{postit}
$ s $
\end{beamercolorbox}
\EndFunction
\end{algorithmic}
\end{frame}
\end{document}