定義數值變數

定義數值變數

我想在 tex 文檔中定義一些變數。例如,我寫的.tex內容類似:Our tool succeeds to validate x samples by Method A, and y samples by Method B. Thus its score is z。其中z定義為x+y,並且x(resp. y) 在其他地方由數字實例化,例如,30(resp. 50)。結果,編譯後的文字變成了Our tool succeeds to validate 30 samples by Method A, and 50 samples by Method B. Thus its score is 80

這樣做的好處是,我只需要更改一些變數的值,即可更改文字中的所有數字...

有誰知道如何實現這一目標?

答案1

\documentclass{article}

\newcommand\x{30}
\newcommand\y{50}
\begin{document}

 I would like to define some variables in a tex document. For example,
 I write in .tex something similar as: Our tool succeeds to validate \x\
 samples by Method A, and \y\ samples by Method B. Thus its score is
 \the\numexpr\x+\y\relax. 

\end{document}

輸出-

在此輸入影像描述

答案2

您可以使用expl3功能,特別是xfp包,其中功能\fpeval\inteval.

\documentclass{article}
\usepackage{xfp}

\newcommand\x{30}
\newcommand\y{50}

\begin{document}

I would like to define some variables in a \TeX{} document. For example,
I write in \texttt{.tex} something similar as: Our tool succeeds to
validate \inteval{\x} samples by Method~A, and \inteval{\y} samples by
Method~B. Thus its score is \inteval{\x+\y}.

\end{document}

在此輸入影像描述

當然你也可以使用\x{}代替\inteval{\x},但是使用\inteval方法你也可以這樣做

\newcommand{\z}{\x+3*\y}

並使用\inteval{\z}.

這假設對整數進行運算;如果你需要浮點,你可以使用\fpeval而不是\inteval(但事情會變得更複雜)。

答案3

您可以為此使用計數器:

\newcounter{x}
\setcounter{x}{30}
\newcounter{y}
\setcounter{y}{50}
Our tool succeeds to validate \arabic{x} samples by Method A,
and \arabic{y} samples by Method B. Thus its score is 
\the\numexpr\value{x}+\value{y}.

相關內容