要求电子表格添加上面的所有行?

要求电子表格添加上面的所有行?

我喜欢spreadtab 背后的想法。作者应该受到祝贺。

但是,它似乎要求我为要添加的行指定具体数字。如果我有一个文档,我时不时地添加更多行,该怎么办?是否可以采用 1:lastrow 形式的语法,其中 lastrow 由包内部计算,而不是我计算?

答案1

请查看以下 MWE。

\documentclass{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{spreadtab}

\begin{document}

\begin{spreadtab}{{tabular}{r}}
12       \\
13       \\
14       \\
\hline
sum(a1:[0,-1]) \\
\end{spreadtab}

\end{document}

请参阅带有 的行sum(a1:[0,-1])。带有a1是第一个命名的单元格(包含 12)。带有[0,-1]可以寻址之前的单元格。如果您站在单元格中a4(即我们要计算总和的单元格),您可以调用带有a3的单元格[0,-1]

顺便说一句: [0,-2]你可以a2用值来调用单元格12

查看给定的 MWE 的结果(39 由函数计算得出sum):

给定 MWE 的结果

a1Btw2:假设您要计算从单元格到d1单元格中的总和。 然后您可以在单元格中e1使用。sum(a1:[-1,0])e1

希望这可以帮助 ...

答案2

您也可以使用tag宏,然后cell在的参数中写入宏sum

\begin{spreadtab}{{tabular}{r}}
12            \\
13            \\% you can add rows
14tag(lastrow)\\\hline
sum(a1:cell(lastrow)) \\
\end{spreadtab}

答案3

检查这个例子(使用包longtablespreadtab清零行在开始和结束处。这两行通过 变为不可见,并在开始时\phantom通过 向上移动。[-6.9mm]

\begin{spreadtab}{{longtable}{cccc}}%
@\textbf{ONE} & @\textbf{TWO} & @\textbf{THREE} & @\textbf{FOUR} \\
[-6.9mm]\phantom{:={0}} & \phantom{:={0}} & \phantom{:={0}} & \phantom{:={0 tag(start)}} \\
5 & 6 & 7 & 8 \\
5 & 6 & 7 & 8 \\
5 & 6 & 7 & 8 \\
[-6.9mm]\phantom{:={0}} & \phantom{:={0}} & \phantom{:={0}} & \phantom{:={0 tag(stop)}} \\
@\textbf{vsota} & sum(cell(start):cell(stop))
\end{spreadtab}

此示例允许您拆分桌子通过在文档前言中的某处定义两个命令。

第一的

\newcommand{\tablestart}{
    \begin{spreadtab}{{longtable}{cccc}}%
        @\textbf{dan} & @\textbf{ure} & @\textbf{vsebine} & @\textbf{status} \\
        [-6.9mm]\phantom{:={0}} & \phantom{:={0}} & \phantom{:={0}} & \phantom{:={0 tag(start)}} \\

}

第二

\newcommand{\tablestop}{
        [-6.9mm]\phantom{:={0}} & \phantom{:={0}} & \phantom{:={0}} & \phantom{:={0 tag(stop)}} \\
        @\textbf{vsota} & sum(cell(start):cell(stop))
    \end{spreadtab}

然后你还定义再来一个命令以便用户能够轻松地将数据输入表格:

\newcommand{\input}[4]{
    #1 & #2 & #3 & #4 \\
}

然后您可以在文档中使用这三个命令按此顺序

\tablestart
\input{5}{6}{7}{8}
\input{5}{6}{7}{8}
\input{5}{6}{7}{8}
\tablestop

表格将会对此进行总结!


错误:

如果您不拆分表,此方法会起作用,但如果您拆分表,则此方法会失败。有人知道原因吗?

相关内容