Команды FP в математическом режиме

Команды FP в математическом режиме

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

Результат

Связанный контент