我想在 LateX 中写出两个方程,它们通过某种箭头相互关联(如图所示),但我不知道该怎么做。我该怎么做?我总是在变量之间看到很大的空格。谢谢。这是我正在使用的代码:
\begin{tikzcd}[row sep=.5pt]
f(x)=\frac{1}{\sqrt(x)}(1+&24x\arrow[ld]+&324x^2\arrow[ld]+&3200x^3\arrow[ld]+&25650x^4\arrow[ld]+&176256x^5+&O(x^6)) \\
f(x)={\sqrt(x)}(1+&24x+&324x^2+&3200x^3+&25650x^4+&176256x^5+&O(x^6))
\end{tikzcd}
答案1
这是一个非常快速的设置,可以提示您如何使用tikzmark
库来实现这一点。当然,您align
也可以将其包含在环境中。
\documentclass[12pt]{article}
\usepackage{tikz}
\usetikzlibrary{tikzmark, arrows.meta}
\newcommand{\tmn}{\tikzmarknode}
\begin{document}
\tikzset{every node/.style={outer sep=2pt}}
\[
f(x)=\frac{1}{\sqrt(x)}(1+\tmn{A}{24x}+\tmn{B}{324x^2}+\tmn{C}{3200x^3}+\tmn{D}{25650x^4}+\tmn{E}{176256x^5}+O(x^6)) \]
\[f(x)={\sqrt(x)}(\tmn{a}{1}+\tmn{b}{24x}+\tmn{c}{324x^2}+\tmn{d}{3200x^3}+\tmn{e}{25650x^4}+176256x^5+O(x^6))
\]
\begin{tikzpicture}[overlay,remember picture,>={Stealth[scale=1.2]}]
\foreach \L/\l in {A/a,B/b,C/c,D/d,E/e}
\draw [->] (\L) -- (\l);
\end{tikzpicture}
\end{document}
这绝对不是优化的,正如您所看到的,根据简单项和增强项的不同高度,每个箭头并不位于同一水平。这是可定制的,但您明白我的意思。
编辑
这是一个vphantom
添加了一些 s 的版本,以纠正箭头尖端的错位,并且为了避免这些箭头(默认)与节点中心对齐,我纠正了它们的锚点。
\documentclass[12pt]{article}
\usepackage{tikz}
\usetikzlibrary{tikzmark, calc, arrows.meta}
\newcommand{\tmn}{\tikzmarknode}
\begin{document}
\tikzset{every node/.style={outer sep=1pt}}
\[
f(x)=\frac{1}{\sqrt(x)}(1+\tmn{A}{24x}+\tmn{B}{324x^2}+\tmn{C}{3200x^3}+\tmn{D}{25650x^4}+\tmn{E}{176256x^5}+O(x^6)) \]
\[f(x)={\sqrt(x)}(\tmn{a}{\vphantom{x^2}1}+\tmn{b}{\vphantom{x^2}24x}+\tmn{c}{324x^2}+\tmn{d}{3200x^3}+\tmn{e}{25650x^4}+176256x^5+O(x^6))
\]
\begin{tikzpicture}[overlay,remember picture,>={Stealth[scale=1.2]}]
\foreach \L/\l in {A/a,B/b,C/c,D/d,E/e}
\draw[->] ($(\L.south)+(0,-2pt)$) -- (\l.north);
\end{tikzpicture}
\end{document}