我没能使用 TikZ 将红色弯曲箭头添加到表格中。我感到很惭愧…… :-)
我并不是在寻找自动化解决方案。
这是仅适用于表格的代码。
\documentclass[a4paper, 13pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{r|l}
$k$ & $u(k)$
\\ \hline
$0$ & $10$
\\ \hline
$1$ & $8,\!5 = 0,\!5 \times 10 + 3,\!5$
\\ \hline
$2$ & $7,\!75 = 0,\!5 \times 8,\!5 + 3,\!5$
\\ \hline
$3$ & $7,\!375 = 0,\!5 \times 7,\!75 + 3,\!5$
\\ \hline
$4$ & $7,\!1875 = 0,\!5 \times 10 + 3,\!5$
% Not good even with a straight arrow !
% \CodeAfter
% \begin{tikzpicture}
% \draw[->, red] (2-2) edge (3-2);
% \draw[->, red] (3-2) edge (4-2);
% \end{tikzpicture}
\end{NiceTabular}
\end{document}
答案1
改编
- 使用
foreach
循环实现自动化(为所有线创建相同的箭头) basiceval
在 foreach 循环中添加了用于简单索引计算的命令- 设置选项
create-large-nodes
(NiceTabular
参见手动的,部分:“‘中型节点’和‘大型节点’”) - 使用
.east
节点的和xshift
和yshift
进行精细定位 - 更改类选项
13pt
以fontsize=13pt
解决警告
笔记
- 您还可以使用或作为全局解决方案,而不是
,\!
在数学模式下使用 删除逗号后的空格(但如果需要,则必须在逗号后添加空格)。{,}
\usepackage{icomma}
代码
\documentclass[a4paper, fontsize=13pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{nicematrix}
\usepackage{tikz}
\def\basiceval#1{\the\numexpr#1\relax}
\begin{document}
\begin{NiceTabular}[create-large-nodes]{r|l}
$k$ & $u(k)$
\\ \hline
$0$ & $10$
\\ \hline
$1$ & $8,\!5 = 0,\!5 \times 10 + 3,\!5$
\\ \hline
$2$ & $7,\!75 = 0,\!5 \times 8,\!5 + 3,\!5$
\\ \hline
$3$ & $7,\!375 = 0,\!5 \times 7,\!75 + 3,\!5$
\\ \hline
$4$ & $7,\!1875 = 0,\!5 \times 10 + 3,\!5$
\CodeAfter
\begin{tikzpicture}
\foreach \i in {2, ..., 5} {
\draw[->, red] ([xshift=2mm, yshift=-.5mm] \i-2-large.east) to [bend left=50] ([xshift=2mm, yshift=.5mm] \basiceval{\i+1}-2-large.east);
}
\end{tikzpicture}
\end{NiceTabular}
\end{document}
结果
答案2
只是为了留下另一种可能性(因为以前的答案已经被接受),知道nicematrix
在表格中的线相交处和单元格的中心处创建节点,您可以轻松访问它们:
\documentclass[a4paper, 12pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{r|l}[name=A]
$k$ & $u(k)$
\\ \hline
$0$ & $10$
\\ \hline
$1$ & $8,\!5 = 0,\!5 \times 10 + 3,\!5$
\\ \hline
$2$ & $7,\!75 = 0,\!5 \times 8,\!5 + 3,\!5$
\\ \hline
$3$ & $7,\!375 = 0,\!5 \times 7,\!75 + 3,\!5$
\\ \hline
$4$ & $7,\!1875 = 0,\!5 \times 10 + 3,\!5$
\CodeAfter
\begin{tikzpicture}
\foreach \i in {1.5,2.5,...,5.5}
{
\pgfmathsetmacro{\j}{\i+1};
\draw[red,->] ([yshift=-2pt]\i-|3) to[out=-20,in=20,looseness=2] ([yshift=2pt]\j-|3);
}
\end{tikzpicture}
\end{NiceTabular}
\end{document}
large nodes
顺便说一句,这种方法可以阻止您使用,这也是一种好方法。