
Mein Ziel ist es, einen Befehl zum Speichern und Berechnen von Zahlen in der Tabelle zu erstellen.
\begin{table}[h]
\npthousandsep{,}
\STautoround*{0}
\begin{spreadtab}{{tabular}{| l | r | r | r |}} \hline
& @\textbf{Current Arrangement} & @\textbf{New Arrangement} & @\textbf{Difference} \\ \hline
@Base Salary (SGD) & 50000.00 & 60000.00 & c2-b2\\ \hline
\end{spreadtab}
\end{table}
Aber aus irgendeinem Grund muss ich die Nummer aus dem Code laden. Beispielsweise verwende ich , \newcommand{\BASESALARYAMOUNT}{50,000.00}
um einen Teil der Tabelle zu ersetzen. Aufgrund der Existenz von ,
, verwende ich , xstring
um es mit dem folgenden Befehl zu löschen. Aber es läuft nicht.
\newcommand{\BASESALARYAMOUNT}{50,000.00}
\newcommand{\basesalaryamountno}{\StrSubstitute{\BASESALARYAMOUNT{}}{,}{}}
\begin{table}[h]
\npthousandsep{,}
\STautoround*{0}
\begin{spreadtab}{{tabular}{| l | r | r | r |}} \hline
& @\textbf{Current Arrangement} & @\textbf{New Arrangement} & @\textbf{Difference} \\ \hline
@Base Salary (SGD) & \BASESALARYAMOUNT & 60000.00 & c2-b2\\ \hline
\end{spreadtab}
\end{table}
Irgendwelche Lösungen? Danke
Antwort1
Hier ist ein Ansatz mit stringstrings
, wenn ich das Problem des OP richtig verstehe. Das Makro \convertchar[q]{\BASESALARYAMOUNT}{,}{}
entfernt das Kommazeichen aus \BASESALARYAMOUNT
und speichert das Ergebnis in \thestring
zum späteren Abrufen.
\documentclass{article}
\usepackage{spreadtab,numprint,stringstrings}
\begin{document}
\newcommand{\BASESALARYAMOUNT}{50,000.00}
\convertchar[q]{\BASESALARYAMOUNT}{,}{}
\begin{table}[h]
\npthousandsep{,}
\STautoround*{0}
\begin{spreadtab}{{tabular}{| l | r | r | r |}} \hline
& @\textbf{Current Arrangement} & @\textbf{New Arrangement} & @\textbf{Difference} \\ \hline
@Base Salary (SGD) & \thestring & 60000.00 & c2-b2\\ \hline
\end{spreadtab}
\end{table}
\end{document}
Antwort2
Anstatt zu verwenden \newcommand{\basesalaryamountno}{\StrSubstitute{\BASESALARYAMOUNT{}}{,}{}}
, habe ich \StrDel{\BASESALARYAMOUNT{}}{,}[\baseamount]
eine Lösung für das Problem gefunden. Dadurch kann das ,
in den Zahlen gelöscht und die neue Zeichenfolge im gespeichert werden \baseamount
.