数学模式中的 FP 命令

数学模式中的 FP 命令

我在(包) 环境fp中运行宏时遇到一个奇怪的问题。我用它来生成一些基于 的个人列表环境所呈现的值。tabenumtablistsfptabenum

事实是,如果我fp在 之外设置一个值tabenum,我可以在环境内部访问它,但如果我在环境内部设置它,则结果值将被取消设置。根据设置相对于命令的位置,还会出现奇怪的行为tabenumitem

例如,以下代码

\begin{tabenum}
\FPmul\result{12}{10}
\tabenumitem \result
\end{tabenum}

会导致"unknown \result command" error 以下情况:

\FPmul\result{12}{10}
\begin{tabenum}
\tabenumitem \result
\end{tabenum}

将不会。

我的问题是我想使用环境multido内的命令生成几个值tabenum,所以无法在打开环境之前生成它们。

通过尝试大量示例,我发现fp命令的行为在数学模式中发生了变化。也许解决方案是退出数学模式来运行命令fp,然后返回到数学模式来使用 显示值tabenumitem

谢谢

答案1

表格单元格充当组的角色,因此组关闭后非全局定义就会消失。

  • 可以将计算放在同一个单元格内,或者
  • 定义一个全局宏。

两者的示例:

\documentclass{article}
\usepackage{tablists}
\usepackage{fp}

\begin{document}
  \begin{tabenum}
    \tabenumitem
    \FPmul\result{12}{10}%
    \FPclip\result\result
    \result
  \end{tabenum}
  \begin{tabenum}
    \FPmul\result{21}{10}%
    \FPclip\result\result
    \global\let\gresult\result
    \tabenumitem\gresult
  \end{tabenum}
\end{document}

结果

相关内容