
Моя цель — создать команду для сохранения чисел и вычислений в таблице.
\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}
Но по какой-то причине мне приходится загружать номер из кода. Например, я использую \newcommand{\BASESALARYAMOUNT}{50,000.00}
для замены части таблицы. Из-за существования ,
я использую xstring
для его удаления следующую команду. Но она не запускается.
\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}
Есть решения? Спасибо
решение1
Вот подход с stringstrings
, если я понимаю проблему OP. Макрос \convertchar[q]{\BASESALARYAMOUNT}{,}{}
удаляет символ запятой из \BASESALARYAMOUNT
и сохраняет результат \thestring
для последующего вызова.
\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}
решение2
Вместо использования \newcommand{\basesalaryamountno}{\StrSubstitute{\BASESALARYAMOUNT{}}{,}{}}
я нашел \StrDel{\BASESALARYAMOUNT{}}{,}[\baseamount]
решение проблемы. Это может удалить ,
в числах и сохранить новую строку в \baseamount
.