我想做这个,
而不必在 TikZ 中完成整个过程。我尝试过这(pst-node),这种方法有点管用,但是我必须使用基本构建器,而我想避免这种情况。
我也尝试用 TikZ 制作箭头,但无法将 tikzpicture 移入方程环境中。
\documentclass[12pt,norsk, fleqn]{article}
\usepackage{amssymb, amsmath}
\begin{document}
\begin{equation*}
\begin{matrix}
x_1&y_1&z_1&x_1&y_1&z_1\\
x_2&y_2&z_2&x_2&y_2&z_2
\end{matrix}
\end{equation*}
\end{document}
有任何想法吗?
答案1
问题是“无需做全部的TikZ 中的东西”,因此这里有一个保留原始的解决方案matrix
:
\documentclass[12pt,norsk, fleqn]{article}
\usepackage{amssymb, amsmath}
\usepackage{tikz}
\newcommand{\rn}[2]{%% "rn": "remember node"
\tikz[remember picture,baseline=(#1.base)]\node [inner sep=0] (#1) {$#2$};%
}
\begin{document}
%% The original matrix, but with commands to remember the nodes:
\begin{equation*}
\begin{matrix}
x_1 & \rn{11}{y_1} & \rn{12}{z_1} & \rn{13}{x_1} & \rn{14}{y_1} & z_1
\\
x_2 & \rn{21}{y_2} & \rn{22}{z_2} & \rn{23}{x_2} & \rn{24}{y_2} & z_2
\end{matrix}
\end{equation*}
%% Draw the arrows:
\begin{tikzpicture}[overlay,remember picture]
\draw [->] (11) -- (22);
\draw [->] (12) -- (23);
\draw [->] (13) -- (24);
\draw [->] (21) -- (12);
\draw [->] (22) -- (13);
\draw [->] (23) -- (14);
\end{tikzpicture}
\end{document}
解释:
该命令\rn
将其第二个参数放在一个tikz
节点中。该选项remember picture
使这些节点即使在迷你 tikzpicture 之后(即方程之后)也可用。稍后,另一个 tikzpicture 绘制箭头。该选项overlay
确保它不占用空间并且可以在上面的矩阵之上绘制。
答案2
tikz-cd 可用于此目的。向上箭头由 绘制\arrow[ur]
,向下箭头由 绘制\arrow[dr]
。此处适用常规 tikz 选项。您可以通过指定任意长度来控制row sep
和,或者简单地将其用作快捷键。column sep
[cramped, sep=small]
\documentclass[12pt,norsk, fleqn]{article}
\usepackage{amssymb, amsmath, tikz-cd}
\begin{document}
\begin{tikzcd}[cramped, sep=small]
x_1 & y_1\arrow[dr] & z_1\arrow[dr] & x_1\arrow[dr] & y_1 & z_1 \\
x_2 & y_2\arrow[ur] & z_2\arrow[ur] & x_2\arrow[ur] & y_2 & z_2
\end{tikzcd}
\end{document}
答案3
没有tikz
。
\documentclass{article}
\usepackage{amssymb, amsmath,graphicx,tabstackengine}
\newcommand\crisscross{\ooalign{%
\rotatebox[origin=c]{30}{${-}\mkern-4mu{-}\mkern-4mu{\rightarrow}$}\cr
\rotatebox[origin=c]{-30}{${-}\mkern-4mu{-}\mkern-4mu{\rightarrow}$}}
}
\TABstackMath
\begin{document}
\[
{}={}\tabbedCenterstack{
x_1&&y_1&&z_1&&x_1&&y_1&&z_1\\
&\phantom{\crisscross}&&\crisscross&&\crisscross&&\crisscross&&\phantom{\crisscross}&\\
x_2&&y_2&&z_2&&x_2&&y_2&&z_2}
\]
\end{document}
答案4
和pstricks
:
\documentclass[12pt,norsk, fleqn]{article}
\usepackage{amssymb, amsmath, pgffor}
\usepackage{pst-node}%, auto-pst-pdf
\begin{document}
\begin{pspicture}
\begin{equation*}
\setlength{\arraycolsep}{8pt}
\begin{matrix}
x_1&\Rnode{A1}{y_1}&\Rnode{B1}{z_1}&\Rnode{C1}{x_1}&\Rnode{D1}{y_1}&z_1\\
x_2&\Rnode{A2}{y_2}&\Rnode{B2}{z_2}&\Rnode{C2}{x_2}&\Rnode{D2}{y_2}&z_2
\end{matrix}
\psset{arrowinset=0.12, arrows=->, linewidth=0.6pt, nodesepB=0.8pt}
\foreach \L/\M in {A1/B2, B1/C2, C1/D2}{\ncline{\L}{\M}}
\psset{nodesepB=-0.2pt}
\foreach \L/\M in {A2/B1,B2/C1, C2/D1}{\ncline{\L}{\M}}
\end{equation*}
\end{pspicture}
\end{document}