电子表格中的 gcd 错误

电子表格中的 gcd 错误

为什么我的代码不起作用?我收到最多 22 条错误信息

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{dcolumn}
\usepackage{spreadtab}
\usepackage{siunitx}
\usepackage{mathtools}
\usepackage{fp}

\begin{document}
\STautoround{3}
\begin{spreadtab}{{tabular}{|c|D{.}{,}{3}|c|c|}}
    \SThidecol&\SThidecol&\SThidecol&@$(hkl)$
    &@\mathclap{\hspace*{10pt}d_{hkl}\,[\si{\angstrom}]}
    &@$2\theta$&@$(h,k,l)$\\
    0&0&1&@(001)&
    \STcopy{v}{1/((a2/3.83)^2+(b2/3.89)^2+(c2/11.7)^2)^(1/2)}&
    \STcopy{v}{arcsin(1.5406/(2*e2))}&
    \STcopy{v}{gcd(a2,b2,c2)}\\
    0&0&4&@(004)&&&\\
    0&0&5&@(005)&&&\\
    0&1&2&@(012)&&&\\
    0&1&3&@(013)&&&\\
    1&0&2&@(102)&&&\\
    1&0&3&@(103)&&&\\
    1&1&0&@(110)&&&\\
    1&1&1&@(111)&&&\\
    1&1&2&@(112)&&&\\
    1&1&3&@(113)&&&\\
    2&2&2&@(222)&&&\\
\end{spreadtab}
\end{document}

答案1

手册上没有提到,但如果我尝试

\documentclass{article}
\usepackage{spreadtab}
\usepackage{booktabs}

\begin{document}

\begin{spreadtab}{{tabular}{rrr}}
\toprule
\multicolumn{2}{c}{@Numbers} & @GCD \\
\midrule
0 & 1 & \STcopy{v}{gcd(a2,b2)} \\
\bottomrule
\end{spreadtab}

\end{document}

我明白了

New spreadtab: \begin{tabular}{rrr}
* reading tab: ok
* computing formulas:
     cell A2
     cell B2
! Extra \or.
\STeval@cell@i ...distant@rownumber )}\fi \fi \or
                                                  \let \ST@tobereplaced \ST@...
l.13 \end{spreadtab}

您可以检查某个数字是否等于零。例如,这将为上表产生正确的结果。

\documentclass{article}
\usepackage{spreadtab}
\usepackage{booktabs}

\begin{document}

\begin{spreadtab}{{tabular}{rrr}}
\toprule
\multicolumn{2}{c}{@Numbers} & @GCD \\
\midrule
0 & 12 & \STcopy{v}{gcd(ifeq(a2,0,b2,a2),ifeq(b2,0,a2,b2))} \\
\bottomrule
\end{spreadtab}

\end{document}

当然,如果两个数字都是零的话则除外。

在此处输入图片描述

相关内容