大厅,
你知道为什么这段乳胶代码(Trey Hunner 的发票乳胶文件)在数学上会出现一些错误吗?
\documentclass{invoice} % Use the custom invoice class (invoice.cls)
\def \tab {\hspace*{3ex}} % Define \tab to create some horizontal white space
\begin{document}
%----------------------------------------------------------------------------------------
% HEADING SECTION
%----------------------------------------------------------------------------------------
\hfil{\Huge\bf Initech Inc.}\hfil % Company providing the invoice
\bigskip\break % Whitespace
\hrule % Horizontal line
123 Broadway \hfill (000) 111-1111 \\ % Your address and contact information
City, State 12345 \hfill [email protected]
\\ \\
{\bf Invoice To:} \\
\tab James Smith \\ % Invoice recipient
\tab Generic Corporation \\ % Recipient's company
{\bf Date:} \\
\tab \today \\ % Invoice date
%----------------------------------------------------------------------------------------
% TABLE OF EXPENSES
%----------------------------------------------------------------------------------------
\begin{invoiceTable}
\feetype{Consulting Services} % Fee category description
\hourrow{October 3, 2012}{10000}{.8} % Each separate billing day includes the date, the number of hours and the hourly rate
\end{invoiceTable}
%----------------------------------------------------------------------------------------
\end{document}
答案1
在 github 上的课程版本中(https://github.com/treyhunner/invoices)\hourrow
只有两个参数,汇率应在另一个命令中给出。我没有得到这个版本的舍入误差。
但是 github 上的问题跟踪器中的示例仍然给出了错误的结果。查看类后发现包中的数学有误。它使用包中\real
的calc
数字来处理 0.7 之类的小数,似乎不知道会产生舍入误差(0.699),并且将所有内容乘以 1000 不足以避免此类舍入误差的副作用。扔掉它。必须用更好的东西替换所有计算才能得到可用的东西。