我需要一个变量的值,该变量设置在 ifeqcase 中,在 ifeqcase 之外。例如,此代码不起作用
\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}
给我:未定义的控制序列。(使用 xelatex 编译)
问题似乎出在\valeurcal{0}{5}
。如果我用 替换\valeurcal{0}{5}
,\COPY{2}{\leresultat}
我可以编译它(但它不能完成工作)!
\valeurcal{0}{5}
计算0*(1-\ra)+5*\ra
一下\ra
你对我有什么建议?提前谢谢您。
答案1
使用
\gdef\nouvcoupe{6}
G全球化定义开始
答案2
[\def\nouvcoupe{6}]
缺少OK
\IfEqCase{\coupe}{%
{1}{ \COPY{5}{\nouvcoupe}}% test with calculator
{2}{ \def\nouvcoupe{6}}}[\def\nouvcoupe{6}]
没问题