
Я сталкиваюсь со странной проблемой запуска 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}