
我想在行之間添加一些文本對齊*環境是這樣的:
我嘗試了以下程式碼:
\documentclass{article}
\usepackage{tikz,amsmath}
\usetikzlibrary{tikzmark}
\begin{document}
\begin{align*}
abc &= def + def + def + def \tikzmark{a}\\
&= ghi + ghi \tikzmark{b}\\
&= jkl\tikzmark{c}\\
&= mno + mno\tikzmark{d}
\end{align*}
\begin{tikzpicture}[remember picture, overlay]
\draw[->] ([xshift=2mm] pic cs:a)
to [out=0,in=0 ]
node[midway,anchor=west,xshift=3mm] {\footnotesize defitnition}
([xshift=2mm] pic cs:b);
\draw[->] ([xshift=2mm] pic cs:c)
to [out=0,in=0 ]
node[midway,anchor=west,xshift=3mm] {\footnotesize blablabla}
([xshift=2mm] pic cs:d);
\end{tikzpicture}
\end{document}
但它只給出
有兩個問題:
(i) 我想讓每個箭頭垂直對齊
(ii) 由於我將非常頻繁地使用此箭頭,因此我想將其定義為一種新命令。
我能做些什麼?
答案1
這可以使用該witharrows
包來完成。
這是代碼:
\documentclass{article}
\usepackage{witharrows}
\begin{document}
\[
\begin{WithArrows}
abc &= def+def+def+def \Arrow[tikz={font={\mdseries}}]{definition} \\
&= hgi+hgi\\
&= jkl\Arrow[tikz={font={\mdseries}}]{blablabla}\\
&=mno+mno
\end{WithArrows}
\]
\end{document}
請注意,使用時您可能需要編譯兩次witharrows
。
前往包文件在 CTAN 上查看許多使用選項,包括字體、箭頭、曲率、顏色等。
答案2
只是為了完整性:tikzmark
您正在使用的 with ,完成給出的程式碼沒有問題
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\begin{document}
\begin{align*}
abc &= def + def + def + def \tikzmarknode{a}{}\\
&= ghi + ghi \tikzmarknode{b}{}\\
&= jkl\tikzmarknode{c}{}\\
&= mno + mno\tikzmarknode{d}{}
\end{align*}
\begin{tikzpicture}[remember picture, overlay,font=\footnotesize]
\draw[-latex] ([xshift=2mm]a.east) coordinate (r)
to [out=0,in=0,looseness=2]
node[midway,anchor=west,xshift=3mm] {definition}
(b -| r);
\draw[-latex] (c-|r)
to [out=0,in=0,looseness=2]
node[midway,anchor=west,xshift=3mm] {blablabla}
(d-|r);
\end{tikzpicture}
\end{document}