Definieren numerischer Variablen

Definieren numerischer Variablen

Ich möchte einige Variablen in einem Tex-Dokument definieren. Ich schreibe beispielsweise .texetwas Ähnliches wie: Our tool succeeds to validate x samples by Method A, and y samples by Method B. Thus its score is z. Wobei zdefiniert ist als x+yund x(bzw. y) an anderer Stelle durch eine Zahl instanziiert wird, z. B. 30(bzw. 50). Als Ergebnis ergibt sich nach der Kompilierung der Text als Our tool succeeds to validate 30 samples by Method A, and 50 samples by Method B. Thus its score is 80.

Der Vorteil dabei ist, dass ich nur den Wert einiger Variablen ändern muss, um alle Zahlen im Text zu ändern ...

Weiß jemand, wie das erreicht wird?

Antwort1

\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}

Ausgabe-

Bildbeschreibung hier eingeben

Antwort2

Sie können Features nutzen expl3, insbesondere das xfpPaket, welches Features \fpevalund bietet \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}

Bildbeschreibung hier eingeben

Natürlich können Sie auch \x{}anstelle von verwenden \inteval{\x}, aber mit der \intevalMethode können Sie auch

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

und verwenden Sie \inteval{\z}.

Dies setzt Operationen mit Ganzzahlen voraus. Wenn Sie Gleitkommazahlen benötigen, können Sie \fpevalanstelle von verwenden \inteval(die Dinge werden dann aber komplexer).

Antwort3

Hierzu können Sie Zähler verwenden:

\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}.

verwandte Informationen