这是我在这个网站上的第一个问题。我不得不说,访问这个网站对于我了解 LaTeX 的工作原理非常有用,所以恭喜你。
所以,问题是,我该怎么做?我希望解决方案不在 tikz 中,因为我从未使用过它。我正在寻找类似宏或类似的东西。这必须在方程环境中。
谢谢!
答案1
根据我的回答如何在数学模式中链接两个术语, 使用
\ubar{left}{middle}{right}{undertext}
其中每个项都采用数学模式,包括undertext
。可以改变参数\rldp
、、\rlht
和\rlwd
来\rlbr
影响外观。
\rldp
是主要水平底线的深度
\rlht
是垂直支柱的高度,包括主要水平底杆的上方和下方。
\rlwd
是规则的宽度(厚度)
\rlbr
是次要垂直规则的高度,用于界定实际的数学术语。
\documentclass{article}
\usepackage{stackengine}
\stackMath
\def\rldp{1.4ex}
\def\rlht{.8ex}
\def\rlwd{.8pt}
\def\rlbr{2pt}
\setstackgap{L}{\rldp}
\def\uvbarR#1{%
\def\stackalignment{r}\def\stacktype{S}\stackunder[-\rlwd]{%
\def\stackalignment{c}\def\stacktype{L}\stackunder{\ubr{#1}}{\rule{\rlwd}{\rlht}}%
}{\setbox0\hbox{$#1$}\rule{.5\wd0}{\rlwd}}%
}
\def\uvbarL#1{%
\def\stackalignment{l}\def\stacktype{S}\stackunder[-\rlwd]{%
\def\stackalignment{c}\def\stacktype{L}\stackunder{\ubr{#1}}{\rule{\rlwd}{\rlht}}%
}{\setbox0\hbox{$#1$}\rule{.5\wd0}{\rlwd}}%
}
\def\uvbar#1#2{%
\def\stacktype{S}\def\stackalignment{c}\def\useanchorwidth{T}\stackunder[0pt]{%
\def\stacktype{L}\setbox0\hbox{${}#1{}$}%
\stackunder[\rldp]{{}#1{}}{\rule{\wd0}{\rlwd}}%
}{\def\stacktype{S}\stackunder[1pt]{\rule{\rlwd}{\rlht}}{\scriptscriptstyle#2}}%
}
\def\ubr#1{\setbox2=\hbox{$#1$}\stackunder[\dimexpr\rldp-\rlht\relax]{#1}{%
\llap{\rule{\rlwd}{\rlbr}}\rule{\wd2}{\rlwd}\rlap{\rule{\rlwd}{\rlbr}}}}
\newcommand\ubar[4]{\uvbarR{#1} \uvbar{#2}{#4} \uvbarL{#3}}
\begin{document}
$\ubar{ax}{+ by +}{cz}{h} =d$
\end{document}
正如 egreg 所建议的,通过使用来细化线条\rlwd
可能是可取的。这里设置\rlwd
为 0.4pt。
答案2
这是一个使用选项\underbrace
:
\documentclass{article}
\usepackage{amsmath}
\newlength{\lwidth}
\newlength{\rwidth}
\begin{document}
\begin{align*}
\underbrace{\mathstrut zabc}{} + defg + \underbrace{\mathstrut hijklm} &= n \\[-4\jot]
\settowidth{\lwidth}{zabc}% Left \underbrace width
\settowidth{\rwidth}{hijklm}% Right \underbrace width
\underbrace{\hspace{.6\lwidth} \phantom{{} + defg + {}}\hspace{.6\rwidth}}_{opqr}
\hspace{.4\rwidth}% Due to right-alignment in align
\mkern 6mu% Adjustment for missing =
\end{align*}
\end{document}
左、右下支撑内容长度存储在和中\lwidth
,\rwidth
用于下部的间距目的\underbrace
。需要在此处和那里进行微小调整以定位事物。
\mathstrut
强制没有下降部分的数学内容具有相同的深度。
答案3
不完美但接近:
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{equation*}
\begin{aligned}
&\underbracket{ax} + by + \underbracket{cz} = d \\[-14pt]
&\hphantom{a\!}%
\underbracket{\hphantom{a+ by+ c}}
\end{aligned}
\end{equation*}
\end{document}
祝你好运