为什么我的代码不起作用?我收到最多 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}
当然,如果两个数字都是零的话则除外。