如题,请问各位大佬,如何在latex排版数学公式时,在某些相应加上说明的项下方使用横线划出相应的范围并在下方给出想要的注释?
满意此回答的话,可以点一下,采纳,谢谢~
\documentclass[border=2pt,tikz]{standalone}
\usetikzlibrary{tikzmark}
\begin{document}
\begin{tikzpicture}[remember picture]
\node [right] at (0,0) {
$\tikzmarknode{a}{e^{\pi i}}+\tikzmarknode{b}{1}=\tikzmarknode{c}{0}$
};
\draw [red,thick] ([yshift=-2pt]a.south west) -- ([yshift=-2pt]a.south east) node [midway,below=1pt,scale=.5,text=black] {What};
\draw [blue,thin] ([yshift=-2pt]b.south west) -- ([yshift=-2pt]b.south east) node [midway,below=1pt,scale=.5,text=black] {is};
\draw [cyan,line width=1.5pt] ([yshift=-2pt]c.south west) -- ([yshift=-2pt]c.south east) node [midway,below=1pt,scale=.5,text=black] {this?};
\end{tikzpicture}
\end{document}
这样还存一个问题,对于不同部分如果高度不一样,最后得到的横线貌似不在同一水平位置:

@u3379 可以考虑使用
vphantom
插入一个虚拟的盒子占位,把tikznode
撑大@u70550 哎呀....忘记调用
ctex
支持中文了...我不管了...这是你评论里mwe的问题😡@u70550 好滴,好滴,另外还想问一下,为什么我这里画的线不是从公式的左下角开始而是偏左一点呢,从您给出的图也能看到,不是从左下角开始的?
@u3379 你所说的不正确间距,有可能是因为
tikzmarknode
不是零宽造成的,如果确需刚好卡在盒子的“正确四角”,可以使用overlay
模式。但是使用
overlay
模式后,如果遇到高低不平的情况且存在过高的数学元素,行内公式可能需要手动添加额外的垂直间距,以规避重叠的情况,行间公式你可以自己测试一下。@u101077 如果不嫌麻烦,自己手动调节横线的左右偏移量也是可以的,就在
yshift
那个中括号里,加上英文逗号和xshift=...
就可以了,表示括弧里的坐标向左右偏移@u101077 好滴好滴,谢谢大佬
@u3379 我的上一个评论是完全基于你的评论给出的代码,你评论的代码画线本来就有
的问题。
听从@u101077 老师的建议即可...