Problema para almacenar el número con ifeqcase de xstring

Problema para almacenar el número con ifeqcase de xstring

Necesito el valor de una variable, establecida en ifeqcase, fuera de ifeqcase. Por ejemplo este código no funciona

\documentclass[12pt]{article}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{geometry}
\usepackage{calculator,calculus}
\usepackage{multido}
\usepackage{xstring}
\usepackage[fontsize=22pt]{scrextend}
\setmainfont{Latin Modern Sans Quotation}
\geometry{papersize{30cm,19.35cm},left=1cm,right=1cm,top=1cm,bottom=1cm}
\pagestyle{empty}
\newcommand{\valeurcal}[2]{
\SUBTRACT{1}{\ra}{\partiell}
\MULTIPLY{\partiell}{#1}{\partielll}
\MULTIPLY{\ra}{#2}{\partiell}
\ADD{\partiell}{\partielll}{\leresultat}
}

\begin{document}
\multido{\ra=0.0+0.2}{1}{
\valeurcal{0}{5}
\ROUND[0]{\leresultat}{\coupe}
\IfEqCase{\coupe}{%
{1}{ \COPY{5}{\nouvcoupe}}% test with calculator
{2}{  \def\nouvcoupe{6}}}% test with def, edef and gdef (thank for the answer)
value of nouvcoupe : \nouvcoupe}
\end{document}

dame: secuencia de control indefinida. (compilado con xelatex)

El problema parece venir con \valeurcal{0}{5}. ¡Si lo reemplazo \valeurcal{0}{5}por \COPY{2}{\leresultat}puedo compilarlo (pero no funciona)!

\valeurcal{0}{5}calcular 0*(1-\ra)+5*\radonde \ra ¿Qué me aconsejas? Gracias de antemano.

Respuesta1

usar

\gdef\nouvcoupe{6}

gramoglobaldefinicióninicio

Respuesta2

ok [\def\nouvcoupe{6}]faltaba

\IfEqCase{\coupe}{%
{1}{ \COPY{5}{\nouvcoupe}}% test with calculator
{2}{  \def\nouvcoupe{6}}}[\def\nouvcoupe{6}]

está bien

información relacionada