我需要根据字幕的长度创建一个“if 子句”。我的代码是:
\documentclass{beamer}
\subtitle{Testing the Subtitles}
\newlength{\sbtw}\settowidth{\sbtw}{\insertsubtitle}
\ifnum \sbtw > 100
\newlength{\nyl}\settowidth{\nyl}{\hspace*{100 pt}}
\else
\newlength{\nyl}\settowidth{\nyl}{\hspace*{0 pt}}
\fi
\begin{document}
\begin{frame}
Length of subtitle=\the\sbtw
The value to be assigned is = 0
But the actual assigned value is=\the\nyl
\end{frame}
\end{document}
但是 if 子句不起作用,我发现字幕长度命令 (\sbtw) 以“pt”为单位打印长度,因此“ifnum”命令不起作用。我尝试使用数字(如下所示)使该子句起作用,但我不能直接使用数字,因为它们是从文本中测量的。
\ifnum 94.687 > 100
\newlength{\nyl}\settowidth{\nyl}{\hspace*{100 pt}}
\else
\newlength{\nyl}\settowidth{\nyl}{\hspace*{0 pt}}
\fi
我尝试从测量的长度中删除“pt”(使用“strip@pt\length”)并将其放入 if 条件中,但结果出现错误。
任何解决此问题的建议对我来说都非常有用。提前致谢。