我在(包) 环境fp
中运行宏时遇到一个奇怪的问题。我用它来生成一些基于 的个人列表环境所呈现的值。tabenum
tablists
fp
tabenum
事实是,如果我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}