从方程的最后一行到第一行的箭头

从方程的最后一行到第一行的箭头

我想要一些类似于这张图片中的箭头的东西:

带箭头的方程

是否可以在不编写大量代码的情况下实现此功能?目前的代码如下:

\documentclass[10pt,a4paper]{scrbook}
\usepackage[T1]{fontenc}
 \usepackage[english]{babel}
 \usepackage{amsmath}
 \begin{document}

\begin{equation}
\begin{split}
& ^\text{1}\text{H} + {}^\text{1}\text{H}  \rightarrow {}^\text{2}\text{H} + \text{e}^+ + \nu \\
& ^\text{2}\text{H} + {}^\text{1}\text{H}  \rightarrow {}^\text{3}\text{He} + \gamma  \\
& ^\text{3}\text{He} + {}^\text{4}\text{He}  \rightarrow {}^\text{7}\text{Be} \\
& ^\text{7}\text{Be} + \text{p}  \rightarrow {}^\text{8}\text{B} + \gamma \\
& ^\text{8}\text{B}  \rightarrow {}^\text{8}\text{Be} + \nu + \text{e}^+ \\
& ^\text{8}\text{Be} \rightarrow \text{2}~ ^\text{4}\text{He}
\label{eq:ppkette3}
\end{split}
\end{equation}

\end{document}

我尝试用盒子装一些东西,但没有得到任何可用的结果。

提前致谢

答案1

使用著名宏的可能解决方案\tikzmark

\documentclass[10pt,a4paper]{scrbook}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{amsmath}


\usepackage{tikz}
\newcommand{\tikzmark}[1]{%
\tikz[overlay,remember picture, 
 baseline=-\the\dimexpr\fontdimen22\textfont2\relax]% correct vertical alignment:
% http://tex.stackexchange.com/questions/59658/use-of-tikzpicture-matrix-in-align-or-gather-environment/59660#comment126261_59660
 \node (#1) {};%
}
\tikzset{square arrow/.style={to path={(\tikztostart)-- ++(-0.5,0) |- (\tikztotarget)}}}

\begin{document}

\begin{equation}
\begin{split}
\tikzmark{ini} & ^\text{1}\text{H} + {}^\text{1}\text{H}  \rightarrow {}^\text{2}\text{H} + \text{e}^+ + \nu \\
               & ^\text{2}\text{H} + {}^\text{1}\text{H}  \rightarrow {}^\text{3}\text{He} + \gamma  \\
               & ^\text{3}\text{He} + {}^\text{4}\text{He}  \rightarrow {}^\text{7}\text{Be} \\
               & ^\text{7}\text{Be} + \text{p}  \rightarrow {}^\text{8}\text{B} + \gamma \\
               & ^\text{8}\text{B}  \rightarrow {}^\text{8}\text{Be} + \nu + \text{e}^+ \\
\tikzmark{end} & ^\text{8}\text{Be} \rightarrow \text{2}~ ^\text{4}\text{He}
\end{split}
\begin{tikzpicture}[remember picture,overlay]
\draw[-stealth,square arrow] (end) to (ini);
\end{tikzpicture}
\label{eq:ppkette3}
\end{equation}

\end{document}

结果:

在此处输入图片描述

它需要两次编译运行。

要获得与 匹配的箭头\rightarrow,可以利用强大的arrows.meta库。添加

\usetikzlibrary{arrows.meta}

在序言中并进行修改:

\draw[-stealth,square arrow] (end) to (ini);

\draw[-{To[length=2.45pt]},square arrow] (end) to (ini);

其结果将是:

在此处输入图片描述

答案2

我们还可以使用halign没有行间跳跃和垂直规则的平原来做到这一点。

在此处输入图片描述

\documentclass{article}
\begin{document}
\begin{equation}
\vcenter{\offinterlineskip\halign{&$#$\hfil\cr
\vrule height .6ex depth 6pt\mkern-1.67mu \to & \rm \mathord{{}^1H + {}^1H} \to \mathord{{}^2H + e^+ + \nu} \cr
\vrule height  9pt depth 6pt                  & \rm \mathord{{}^2H + {}^1H} \to {}^3He +\gamma \cr
\vrule height  9pt depth 6pt                  & \rm \mathord{{}^3He+ {}^4He} \to {}^7Be\cr
\vrule height  9pt depth 6pt                  & \rm \mathord{{}^7Be+ p} \to {}^8B+\gamma\cr
\vrule height  9pt depth 6pt                  & \rm \mathord{{}^8B} \to {}^8Be+\nu+e^+\cr
\vrule height  9pt depth -.6ex\mkern-.67mu 
\vrule height .6ex depth -.5ex width 1em \ 
& \rm \mathord{{}^8Be} \to {}^4He\cr
}}
\end{equation}
\end{document}

这样做的好处是箭头看起来一样。请注意,最后的水平线实际上是由 绘制的\vrule

答案3

tkz-linknodes如果您同意将箭头放在等式的右侧,则包是另一种选择。

套餐目标是

通过指示两条线之间进行的操作,轻松地在环境中的线之间创建链接,使之对齐或仍然对齐

仅使用三个命令/环境NodesListAddNodeLinkNodes。来自包文档的示例如下:

\documentclass{article}
\usepackage[T1]{fontenc}
 \usepackage[english]{babel}
 \usepackage{amsmath}
\usepackage{tkz-linknodes}
\begin{document}
\begin{NodesList}
\begin{align}
\boxed{ 3(x^2-3) =4 } \AddNode\\
x^2-3 =\frac{4}{3} \AddNode\\
\intertext{\hfil isolate the term with the variable \hfil}
x^2 =\frac{13}{3} \AddNode\\
\sqrt{x^2} =\sqrt{\frac{13}{3}} \AddNode\\
|x| =\sqrt{\frac{13}{3}} \AddNode\\
x =\pm\sqrt{\frac{13}{3}} \AddNode
\end{align}
\LinkNodes[margin=1cm]{$\div 3$}%
\LinkNodes[margin=1.5cm]{$+3$}%
\LinkNodes[margin=2.5cm]{$\sqrt{\ldots}$}
\LinkNodes[margin=3cm]{$\sqrt{x^2}=|x|$}
\LinkNodes[margin=4.5cm]{we have two answers}
\end{NodesList}
\end{document}

并产生

在此处输入图片描述

因此,你的例子可能是

\documentclass[10pt,a4paper]{scrbook}
\usepackage[T1]{fontenc}
 \usepackage[english]{babel}
 \usepackage{amsmath}
\usepackage{tkz-linknodes}
 \begin{document}

\begin{NodesList}
\begin{equation}
\begin{split}
& ^\text{1}\text{H} + {}^\text{1}\text{H}  \rightarrow {}^\text{2}\text{H} + \text{e}^+ + \nu \AddNode \\
& ^\text{2}\text{H} + {}^\text{1}\text{H}  \rightarrow {}^\text{3}\text{He} + \gamma  \\
& ^\text{3}\text{He} + {}^\text{4}\text{He}  \rightarrow {}^\text{7}\text{Be} \\
& ^\text{7}\text{Be} + \text{p}  \rightarrow {}^\text{8}\text{B} + \gamma \\
& ^\text{8}\text{B}  \rightarrow {}^\text{8}\text{Be} + \nu + \text{e}^+ \\
& ^\text{8}\text{Be} \rightarrow \text{2}~ ^\text{4}\text{He}\AddNode 
\label{eq:ppkette3}
\end{split}
\end{equation}
\tikzset{ArrowStyle/.append style={<-}}
\LinkNodes[margin=4cm]{}
\end{NodesList}

\end{document}

结果:

在此处输入图片描述

答案4

如果您同意将箭头放在等式的右侧,则可以使用它witharrows,它是直接的。

\documentclass{article}
\usepackage{amstext}
\usepackage{witharrows}
\begin{document}
\begin{DispWithArrows*}[format = l]
^\text{1}\text{H} + {}^\text{1}\text{H}  \rightarrow {}^\text{2}\text{H} + \text{e}^+ + \nu
\Arrow[tikz=<-,jump=5]{} \\
^\text{2}\text{H} + {}^\text{1}\text{H}  \rightarrow {}^\text{3}\text{He} + \gamma  \\
^\text{3}\text{He} + {}^\text{4}\text{He}  \rightarrow {}^\text{7}\text{Be} \\
^\text{7}\text{Be} + \text{p}  \rightarrow {}^\text{8}\text{B} + \gamma \\
^\text{8}\text{B}  \rightarrow {}^\text{8}\text{Be} + \nu + \text{e}^+ \\
^\text{8}\text{Be} \rightarrow \text{2}~ ^\text{4}\text{He}
\end{DispWithArrows*}
\end{document}

第一个代码的结果

如果您愿意,可以更改箭头的形状(如果您知道 Tikz 的语法)。

\documentclass{article}
\usepackage{amstext}
\usepackage{witharrows}
\begin{document}
\begin{DispWithArrows*}%
   [ format = l ,
     tikz-code = { \draw (#1) -- ++(5mm,0) |- (#2) ; } ]
^\text{1}\text{H} + {}^\text{1}\text{H}  \rightarrow {}^\text{2}\text{H} + \text{e}^+ + \nu
\Arrow[tikz=<-,jump=5]{} \\
^\text{2}\text{H} + {}^\text{1}\text{H}  \rightarrow {}^\text{3}\text{He} + \gamma  \\
^\text{3}\text{He} + {}^\text{4}\text{He}  \rightarrow {}^\text{7}\text{Be} \\
^\text{7}\text{Be} + \text{p}  \rightarrow {}^\text{8}\text{B} + \gamma \\
^\text{8}\text{B}  \rightarrow {}^\text{8}\text{Be} + \nu + \text{e}^+ \\
^\text{8}\text{Be} \rightarrow \text{2}~ ^\text{4}\text{He}
\end{DispWithArrows*}
\end{document}

第二段代码的结果

相关内容