答案1
\documentclass{article}
\usepackage{stackengine,mathtools}
\stackMath
\renewcommand\stackalignment{l}
\setstackgap{S}{0pt}
\newcounter{sqrti}
\newcommand\esqrt[2][\litsqrti]{%
\ifx\litsqrti#1%
\stepcounter{sqrti}%
\edef\litsqrti{\thesqrti}%
\fi
\stackunder{\displaystyle\sqrt{#2}}{\smash{%
\belowbaseline[3pt]{\scriptscriptstyle~\mathclap{#1}}}}
}
\newcommand\resetesqrt{\setcounter{sqrti}{-1}}
\begin{document}
\[
\resetesqrt
\esqrt{p\pm\esqrt{p\pm\dots\pm\esqrt[n-2]{p}}}
\]
\end{document}
补充
在之前的代码中,surd 的底部和索引之间设置了 3pt 的间隙。随着 surd 深度的变化,索引的深度也会变化。
OP 询问索引是否可以垂直对齐。答案是可以的;但是,在这里,深度必须相对于基线定义。选择适当的深度可能因每个用例而异,具体取决于相关平方根无理数的深度。
因此,我提供\esqrtdp
定义该深度,这里设置为 13pt。
\documentclass{article}
\usepackage{stackengine,mathtools}
\stackMath
\renewcommand\stackalignment{l}
\setstackgap{L}{0pt}
\renewcommand\stacktype{L}
\newcounter{sqrti}
\newcommand\esqrt[2][\litsqrti]{%
\ifx\litsqrti#1%
\stepcounter{sqrti}%
\edef\litsqrti{\thesqrti}%
\fi
\stackunder{\displaystyle\sqrt{#2}}{\smash{%
\belowbaseline[\esqrtdp]{\scriptscriptstyle~\mathclap{#1}}}}%
}
\newcommand\resetesqrt{\setcounter{sqrti}{-1}}
\newcommand\esqrtdp{13pt}
\begin{document}
\[
\resetesqrt
\esqrt{p\pm\esqrt{p\pm\dots\pm\esqrt[n-2]{p}}}
\]
\end{document}