答案1
以下是使用 的解决方案tikzmark
。请注意,您必须编译该文档两次。
定义一个新命令\nub
(嵌套下括号)。用法是\nub{<level>}{<content>}
。
级别必须是非重复的整数,并且必须在 1 到括号数之间。如果顺序混乱,括号会交叉。括号之间的间距由 全局控制\unitht
,当前设置为.8ex
。
nub
如果在文档中使用多个序列,则每个序列必须有自己的“前缀”。如屏幕截图所示,您必须\nubpre
使用重新定义\renewcommand{\nubpre}{<prefix>}
。
以下是上面截图的代码:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\newcommand{\unitht}{.8ex}
\newcommand{\nubpre}{A}
\newcommand{\nub}[2]{\tikzmark{a\nubpre#1}#2\tikzmark{b\nubpre#1}
\begin{tikzpicture}[remember picture,overlay]
\draw (pic cs:a\nubpre#1) --++(0,-#1*\unitht) -| (pic cs:b\nubpre#1);
\end{tikzpicture}\vspace{\unitht}%
}
\begin{document}
\[\nub{5}{11+\nub{4}{12+\nub{3}{13+\nub{2}{14+\nub{1}{15+16}+17}+18}+19}+20}=31\times5=155.\]
You must choose a different nub prefix for each subsequent use
\renewcommand{\nubpre}{B}
\[\nub{3}{1+\nub{2}{2+\nub{1}{3+\cdots+98}+99}+100}=101\times50=5050.\]
using \verb`\renewcommand{\nubpre}{<prefix>}`. The default prefix is \verb`A`.
\end{document}