我做了一个演示问题与解答。
\documentclass{beamer}
\setbeamercovered{transparent=0}
\usepackage{xcolor}
\usepackage{transparent}
\title{Questions and Answer}
\author{Edy Wihardjo}
\date{}
\newcounter{num}
\setcounter{num}{0}
\newcommand\Que[1]{%
\leavevmode\par
\stepcounter{num}
\noindent
\hbox{
{\color{blue} \transparent{0.3} \Huge Q{\huge \thenum }} --- #1\par
}
}
\newcommand\Ans[2][]{%
\leavevmode\par
\noindent
\begin{flushright}
\textbf{#1} #2 --- {\Huge \color{blue} \transparent{0.3} A} \par
\end{flushright}\par}%}
\begin{document}
\maketitle
\texttransparent{Questions and Answer}}
\begin{frame}
\Que{First Question?}
\pause
\Ans{First Answer!}
\end{frame}
\begin{frame}
\Que{Second Question?}
\pause
\Ans{Second Answer!}
\end{frame}
\end{document}
问题是:
显示后第一个答案, 这第一个问题号已改变。
答案1
你需要使用
\resetcounteronoverlays{<counter>}
以防止覆盖增加计数器。
\documentclass{beamer}
\setbeamercovered{transparent=0}
\usepackage{xcolor}
\usepackage{transparent}
\title{Questions and Answer}
\author{Edy Wihardjo}
\date{}
\newcounter{num}
\setcounter{num}{0}
\newcommand<>\Que[1]{%
\leavevmode\par
\stepcounter{num}%
\noindent
\hbox{%
{\color{blue}\transparent{0.3}\Huge Q{\huge\thenum }} --- #1\par
}
}
\newcommand<>\Ans[2][]{%
\leavevmode\par
\noindent
\begin{flushright}
\textbf{#1} #2 --- {\Huge\color{blue}\transparent{0.3} A} \par
\end{flushright}\par}%}
\resetcounteronoverlays{num}
\begin{document}
\maketitle
%\texttransparent{Questions and Answer}{}
\begin{frame}
\Que{First Question?}
\pause
\Ans{First Answer!}
\end{frame}
\begin{frame}
\Que{Second Question?}
\pause
\Ans{Second Answer!}
\end{frame}
\end{document}
我使用从您的代码中隐藏了一些空格%
;我还<>
向您的命令添加了语法,以便它们能够感知覆盖。