答案1
一个想法,类似于如何在等式各部分之间画箭头来显示数学分配律(乘法)?
\documentclass{article}
\usepackage{tikz}
\tikzset{mtm/.style={
remember picture,
inner sep=0pt,
outer ysep=0.1em,
}}
\newcommand\mtm[2]{\tikz[mtm] \node[anchor=base] (#1) {$#2\mathstrut$};}
\begin{document}
Test text test text test text.
Test text test text test text.
Test text test text test text.
Test text test text test text.
\begin{equation}
\mtm{n}{n} \quad \mtm{nr}{n^r} \mathbin{} \mtm{s}{s} \mathbin{}
\mtm{nl}{n^l} \quad \mtm{n2}{n}
\begin{tikzpicture}[thick,looseness=1.8,overlay,remember picture]
\draw (n.south) to[out=-90,in=-90] (nr.south);
\draw (s.south) -- ++(0,-2em);
\draw (nl.south) to[out=-90,in=-90] (n2.south);
\end{tikzpicture}
\vspace{1.5em} % to allow space for the descending line
\end{equation}
Test text test text test text.
Test text test text test text.
Test text test text test text.
Test text test text test text.
\end{document}
代码解释
\tikzset{mtm/.style={
remember picture,
inner sep=0pt,
outer ysep=0.1em,
}}
贯穿始终的风格mtm
(“数学 Ti钾Z 标记)节点。remember picture
这样我们的整体绘图稍后就可以引用节点名称。inner sep=0pt
确保数学间距不受影响。outer ysep=0.1em
在我们稍后绘制的线和数学变量之间添加一些填充。
\newcommand\mtm[2]{\tikz[mtm] \node[anchor=base] (#1) {$#2\mathstrut$};}
一个宏来放置我们的“数学 Ti钾Z 标记”节点。它接受 2 个参数。第一个是节点名称(我们稍后会使用)。第二个是要打印的节点内容,假设我们处于数学模式上下文中。anchor=base
并且\mathstrut
仅涵盖与下标/上标/上升部/下降部/等对齐的所有基础。
\begin{equation}
\mtm{n}{n} \quad \mtm{nr}{n^r} \mathbin{} \mtm{s}{s} \mathbin{}
\mtm{nl}{n^l} \quad \mtm{n2}{n}
在方程中,我们正常地书写(我添加了手动间距命令来近似图像中的间距;我假设您有更正式的方式来指定这些间距应该是多少)。除此之外,只要我们需要在绘图中使用变量(例如n
),我们就使用\mtm{n}{n}
。节点名称必须是唯一的,因此对于第二个n
,我们使用mtm{n2}{n}
其中n2
是此第二个的节点名称n
。
\begin{tikzpicture}[thick,looseness=1.8,overlay,remember picture]
\draw (n.south) to[out=-90,in=-90] (nr.south);
\draw (s.south) -- ++(0,-2em);
\draw (nl.south) to[out=-90,in=-90] (n2.south);
\end{tikzpicture}
在我们完成方程式编写之后,我们添加了一个tikzpicture
来放置注释。overlay,remember picture
是必需的,以便图片可以放在已经排版的数学公式上并参考那些节点名称。
\vspace{1.5em} % to allow space for the descending line
\end{equation}
在等式的末尾,我们必须添加一些额外的空间来留出空间,tikzpicture
因为它不占用页面上的任何“空间”。
注意事项
\displaystyle
对于分数、运算符限制、间距等,将会丢失,因为我在节点内输入了内联数学。如果需要,您可以将其添加到定义中\mtm
,尽管对于此用例来说这并不重要。
每张图片的数量\vspace
都必须进行调整——如果注释的大小发生变化,额外的空间也必须改变。