我尝试让命令像 一样工作,\alt
但是 的行为\onslide
意味着 出现时不会移动事物。
我尝试了以下解决方案,但在某些时候,行与行之间会滑动。在我的示例中,有足够的空间容纳单词zeros
,但没有足够的空间容纳\dots
。
有什么想法可以实现这个吗?
\documentclass{beamer}
\newcommand{\Alt}[2][\dots]{\only<.-.>{#1}\onslide<+->{{#2}}}
\begin{document}
\begin{frame}[t]
\begin{enumerate}[<+->]
\item Ne pas oublier qu'un décimal peut s'écrire avec des
\alt<+->{zéros inutiles si besoin.}{\dots}
\item Ne pas oublier qu'un décimal peut s'écrire avec des
\Alt{zéros inutiles si besoin.}
\item Ne pas x x x oublier qu'un décimal peut s'écrire avec des
\Alt{zéros inutiles si besoin.}
\end{enumerate}
Must not move.
\end{frame}
\end{document}
答案1
为了避免单词间空格缩小和拉伸的问题,可以使用\RaggedRight
并防止在点前换行,请尝试\nolinebreak
\documentclass{beamer}
\usepackage{ragged2e}
\begin{document}
\begin{frame}[t]
\begin{enumerate}[<+->]
\RaggedRight
\item Ne pas x xxx x oublier qu'un décimal peut s'écrire avec des
\only<.>{\nolinebreak\dots }\visible<+->{zéros inutiles si besoin.}
\end{enumerate}
Must not move.
\end{frame}
\end{document}