多列FP计算问题

多列FP计算问题

我想在表格环境中进行计算,我的表格如下所示

\documentclass{book} 
\usepackage{array}
\usepackage{fp}
\begin{document}
\begin{tabular}{|*{4}{c|}}
\hline
a & b & c & d  \\
\hline
\multicolumn{3}{|c|}{a} & b \\
\hline
\multicolumn{2}{|>{\centering\arraybackslash}p{0.5\textwidth}|}{a} & b & c\\
\hline
\end{tabular}
\end{document}

在此处输入图片描述

但现在我想用 FP 更改列宽和列数。我尝试了类似

\documentclass{book} 
\usepackage{array}
\usepackage{fp}
\begin{document}
\begin{tabular}{|*{4}{c|}}
\hline
a & b & c & d  \\
\hline
\multicolumn{3}{|c|}{a} & b \\
\hline
\FPmul\one{2}{2}
\FPdiv\two{1}{2}
\multicolumn{\one}{|>{\centering\arraybackslash}p{\two\textwidth}|}{a} & b & c\\
\hline
\end{tabular}
\end{document}

我收到以下错误:

( FP-MUL ) ( FP-DIV )
! Misplaced \omit.
\multispan ->\omit 
                   \@multispan 
l.13 ...ng\arraybackslash}p{  \two\textwidth}|}{a}
                                                   & b & c\\

有什么帮助吗? :/

答案1

\multicolumn应该作为单元格中的第一项出现。fp计算使 TeX 开始一个单元格,因此为时已晚\multicolumn。您可以改用xfp

\documentclass{book}
\usepackage{array}
\usepackage{xfp}
\begin{document}
\begin{tabular}{|*{4}{c|}}
\hline
a & b & c & d  \\
\hline
\multicolumn{3}{|c|}{a} & b \\
\hline
\multicolumn{2}{|>{\centering\arraybackslash}p{\fpeval{1/2}\textwidth}|}{a} & b & c\\
\hline
\end{tabular}
\end{document}

在此处输入图片描述

对于\multicolumn的第一个参数有\inteval

相关内容