我有以下的一段代碼膠乳:變量評價膠乳
\def\a{1}
\def\b{2}
\def\c{\a+\b}
\def\d{\c/2}
我預期\ d可具有值1.5。但事實並非如此。然而,增加圓括號\ C的定義,就像
\def\c{\a+\b}
也不管用,因爲如果我用\ C的地方,它抱怨括號。在\ d的定義中除以2之前是否有評估\ c的方法?像:
\def\d{\eval{\c}/2}
(我做了\ EVAL高達說明我的意思)
我有以下的一段代碼膠乳:變量評價膠乳
\def\a{1}
\def\b{2}
\def\c{\a+\b}
\def\d{\c/2}
我預期\ d可具有值1.5。但事實並非如此。然而,增加圓括號\ C的定義,就像
\def\c{\a+\b}
也不管用,因爲如果我用\ C的地方,它抱怨括號。在\ d的定義中除以2之前是否有評估\ c的方法?像:
\def\d{\eval{\c}/2}
(我做了\ EVAL高達說明我的意思)
對於討論LaTeX問題,請隨時訪問tex.stackexchange.com。
你需要記住\def
是關於創建替換文本。它會一直讓你回到你放入的東西,除了不瞭解數學的任何事情。如果我們假設您正在使用e-TEX(可能),那麼對於整數表達式,你可能會做
\def\a{1}
\def\b{2}
\edef\c{\number\intexpr \a + \b \relax}
\edef\d{\number\intexpr \c/2 \relax}
它使用電子-TEX原始\intexpr
,這確實整數數學。對於實際數字,斯蒂芬是正確的,fp包是最好的方法。