我一直受到以下问题的困扰:
我正在制作发票模板LaTeX
。我用它\addtocounter
来计算小计、税和总计等值。这很好用,直到值包含小数(当然,这在发票中经常发生)。为了解决这个问题,我使用包来calc
执行:\addtocounter{subtotal}{\real{19.95}}
。这也很好用。
但是,当我加载包numprint
或siunitx
使我的数字在发票表中的十进制上正确格式化时,我收到错误:
/Invoices/A4.tex:22 Missing number, treated as zero \addtocounter{subtotal}{\real{19.95}}
一旦我删除这两个包,一切就恢复正常了。
我的问题:有没有办法格式化表格中的数字,同时仍然能够使用十进制数计算总数?
您可以在这里找到代码:https://www.overleaf.com/4958478dccytf#/15308055/
请注意,代码中包含一个invoice.cls
,并且可以在主页第 22 行和 23 行找到该问题的示例。
答案1
该\real
宏似乎arithmetics
迫切需要,即使用1*\real{19.95}
等。
但无论如何它都会被截断!
\documentclass{article}
\usepackage{siunitx}
\usepackage{numprint}
\usepackage{calc}
\newcounter{foo}
\begin{document}
\addtocounter{foo}{5*\real{1.7}}
\thefoo
\end{document}