在表格中绘制箭头

在表格中绘制箭头

在下表中画一条对角线的最佳方法是什么?

\begin{center}
\begin{tabular}{*{9}{c}}
$e_{1}$ & = & $0$ & $.$ & $d_{1}^{1}$ & $d_{1}^{2}$ & $d_{1}^{3}$ & $d_{1}^{4}$ & $...$ \\
\\
$e_{2}$ & = & $0$ & $.$ & $d_{2}^{1}$ & $d_{2}^{2}$ & $d_{2}^{3}$ & $d_{2}^{4}$ & $...$ \\
\\
$e_{3}$ & = & $0$ & $.$ & $d_{3}^{1}$ & $d_{3}^{2}$ & $d_{3}^{3}$ & $d_{3}^{4}$ & $...$ \\
\\
$e_{4}$ & = & $0$ & $.$ & $d_{4}^{1}$ & $d_{4}^{2}$ & $d_{4}^{3}$ & $d_{4}^{4}$ & $...$ \\
$...$ \\
\end{tabular}
\end{center}

我想要箭击中$d_{1}^{1}$,,$d_{2}^{2}$等等。

答案1

这是一个TikZ变体(\tikzmark借用自 Andrew Stacey 的一个答案):

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc,arrows}

\newcommand{\tikzmark}[1]{%
  \tikz[overlay,remember picture] \node (#1) {};}

\begin{document}
\[
    \begin{array}{*{9}{c}}
    e_{1} & = & 0 & . & \tikzmark{a}d_{1}^{1} & d_{1}^{2} & d_{1}^{3} & d_{1}^{4} & ... \\
    \\
    e_{2} & = & 0 & . & d_{2}^{1} & d_{2}^{2} & d_{2}^{3} & d_{2}^{4} & ... \\
    \\
    e_{3} & = & 0 & . & d_{3}^{1} & d_{3}^{2} & d_{3}^{3} & d_{3}^{4} & ... \\
    \\
    e_{4} & = & 0 & . & d_{4}^{1} & d_{4}^{2} & d_{4}^{3} & d_{4}^{4}\tikzmark{b} & ... \\
    ... \\
    \end{array}
\]
\tikz[overlay,remember picture] \draw[-triangle 45] ($(a.north east)+(-0.2,0.2)$) -- ($(b.south west)+(0.3,-0.2)$);

\end{document}

在此处输入图片描述

对于其他不同的预定义箭头提示,请参阅第节23 箭头提示库手册pgf

答案2

您可以使用pst-node和一个latex-> dvips-> ps2pdf(或xelatex)编译序列来产生以下内容:

在此处输入图片描述

\documentclass{article}
\usepackage{pst-node}% http://ctan.org/pkg/pst-node
\begin{document}
\[
    \begin{array}{*{9}{c}}
    e_{1} & = & 0 & . & \rnode{A}{d_{1}^{1}} & d_{1}^{2} & d_{1}^{3} & d_{1}^{4} & ... \\
    \\
    e_{2} & = & 0 & . & d_{2}^{1} & d_{2}^{2} & d_{2}^{3} & d_{2}^{4} & ... \\
    \\
    e_{3} & = & 0 & . & d_{3}^{1} & d_{3}^{2} & d_{3}^{3} & d_{3}^{4} & ... \\
    \\
    e_{4} & = & 0 & . & d_{4}^{1} & d_{4}^{2} & d_{4}^{3} & \rnode{B}{d_{4}^{4}} & ... \\
    ... \\
    \end{array}
\]
\ncline[nodesep=-1.2\baselineskip,linewidth=.4pt]{->}{A}{B}% Draw line
\end{document}

\rnode{<node>}{<stuff>}使人们能够<stuff>通过进行引用<node>\ncline用于绘制指定节点之间的node连接线。由于这借鉴了丰富的cpstricks库,您可以根据需要修改线条的颜色、宽度、呈现方式和样式。

请注意,我已将“完全数学tabular”更改为array环境,这是其预期用途。此外,center我没有将其居中(通过环境),而是将整个放置array在显示数学环境中(使用\[\])。


通过一些基本的箭头修改,可以实现更明显的箭头定义。pstricks可以使用选项 (key-value) arrowsize=<dim> <num>arrowlength=<dim>或。以下是来自arrowinset=<num>arrowscale=<factor>pstricks文档(第 28 页,第15 箭头等):

在此处输入图片描述

例如,尝试

\ncline[nodesep=-1.2\baselineskip,linewidth=.4pt,arrowsize=3pt 2]{->}{A}{B}% Draw line

答案3

使用{NiceMatrix}nicematrixTikZ 绘制箭头(通过使用nicematrix数组中创建的节点)。

\documentclass{article}
\usepackage{nicematrix,tikz}
\usetikzlibrary{arrows.meta}

\begin{document}
\[
\begin{NiceMatrix}
  e_{1} & = & 0 & . & d_{1}^{1} & d_{1}^{2} & d_{1}^{3} & d_{1}^{4} & ... \\
\\
  e_{2} & = & 0 & . & d_{2}^{1} & d_{2}^{2} & d_{2}^{3} & d_{2}^{4} & ... \\
\\
  e_{3} & = & 0 & . & d_{3}^{1} & d_{3}^{2} & d_{3}^{3} & d_{3}^{4} & ... \\
\\
  e_{4} & = & 0 & . & d_{4}^{1} & d_{4}^{2} & d_{4}^{3} & d_{4}^{4}& ... \\
... \\
\CodeAfter
  \tikz \draw [shorten > = -2mm , ->] (1-5.north west) -- (7-8.south east) ;
\end{NiceMatrix}
\]

\end{document}

上述代码的输出

相关内容