Аннотируйте таблицу, чтобы показать приращения между записями

Аннотируйте таблицу, чтобы показать приращения между записями

Я ищу способ набрать таблицу с аннотациями, показывающими изменения между последовательными записями. Изображение ниже (небрежное, сделанное вручную) показывает, что я имею в виду. Обратите внимание, что добавленные записи должны появляться «между» записями таблицы. Мне не особенно важно, будут ли таблицы располагаться горизонтально, как показано, или вертикально.

введите описание изображения здесь

В идеале любое предложенное вами решение должно поддаваться итерации, как показано на следующем рисунке:

введите описание изображения здесь

яненужно, чтобы разницы рассчитывались автоматически, и на самом деле я бы предпочел, чтобы этого не было.

Надеюсь, то, о чем я спрашиваю, понятно. Я с радостью объясню.

Редактировать:Таблица, которую я хочу разметить, выглядит следующим образом:

\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|}
\hline
$x$&$0$&$3$&$6$&$9$&$12$&$15$&$18$&$21$&$24$\\
\hline
$f(x)$&$-20$&$-15$&$-8$&$1$&$12$&$25$&$40$&$57$&$76$\\
\hline
\end{tabular}

но я не знаю, будет ли это особенно полезно, особенно если (как @cfr в комментариях) вы не видите мои изображения.

решение1

Вотmatrix of math nodes использование TiкZ. Я использую циклы, чтобы сократить объем набора текста, но это, конечно, не обязательно.

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
  \matrix (m) [inner sep=0pt, draw=gray!75!blue, thick, matrix of math nodes, nodes={inner sep=2.5pt, text width=20pt, align=center}, column 1/.append style={nodes={align=right, text width=25pt}}]
  {
     \strut x&0&3&6&9&12&15&18&21&24\\
     \strut f(x)&-20&-15&-8&1&12&25&40&57&76\\
  };
  \draw [gray!75!blue, semithick] (m.west |- m-1-1.south) -- (m.east |- m-1-1.south) \foreach \i in {1,...,9} { (m.north -| m-1-\i.east) -- (m.south -| m-1-\i.east) };
  \foreach \i [count=\k from 1, count=\j from 3, remember=\j as \jlast (initially 2)] in {5,7,9,11,13,15,17,19}
  \draw [thick, draw=blue!50!cyan]
    ([xshift=1.5pt, yshift=.5pt]m-2-\jlast.south) -- ([yshift=-7.5pt]m-2-\jlast.south east) node (d\k) [below] {$\i$} -- ([xshift=-1.5pt, yshift=.5pt]m-2-\j.south)
    ([xshift=1.5pt, yshift=-.5pt]m-1-\jlast.north) -- ([yshift=7.5pt]m-1-\jlast.north east) node [above] {$3$} -- ([xshift=-1.5pt, yshift=-.5pt]m-1-\j.north)
    ;
  \foreach \i [remember=\i as \ilast (initially 1), count=\k from 3] in {2,...,8}
  \draw [thick, draw=magenta!50!blue]
  ([xshift=1.5pt, yshift=.5pt]d\ilast.south) -- ([yshift=-7.5pt]d\ilast.south -| m-1-\k.center) node [below] {$2$} -- ([xshift=-1.5pt, yshift=.5pt]d\i.south);
\end{tikzpicture}
\end{document}

аннотированная матрица

решение2

Это отправная точка, от которой вы можете отталкиваться:

\documentclass{article}

\begin{document}

\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|} \hline
$\Delta x$ & & \multicolumn{2}{|c|}{3} & \multicolumn{2}{|c|}{3}  & \multicolumn{2}{|c|}{3} & \multicolumn{2}{|c|}{3} &   \\  \hline
$x$ & \multicolumn{2}{|c|}{0} & \multicolumn{2}{|c|}{3} & \multicolumn{2}{|c|}{6} & \multicolumn{2}{|c|}{9} & \multicolumn{2}{|c|}{12} \\  \hline
\end{tabular} 

\end{document}

Результат:

введите описание изображения здесь

Пока что визуально это не очень привлекательно, но вы можете поиграть с идеей и усовершенствовать ее, если считаете, что это может оказаться подходящим подходом для того, что вы ищете.

Конечно, можно также иметь строку для вторых разностей.

Связанный контент