sqrt - 改善间距的建议

sqrt - 改善间距的建议

我不喜欢 sqrt 打印的间距。在下面的代码中,暂时不考虑空的可选参数,我在 sqrt 符号前破坏了良好的间距。

\documentclass[12pt,a4paper]{article}

\let\stdsqrt\sqrt
\renewcommand\sqrt[2][]{\stdsqrt[#1\,\,]{#2\,}}


\begin{document}

Bla, bla $\sqrt{2} = \stdsqrt{2}$ et $\sqrt[2]{3} = \stdsqrt[2]{3}$ .

Bla, bla $\stdsqrt{2} = \sqrt{2}$ et $\stdsqrt[2]{3} = \sqrt[2]{3}$ .

\end{document}

答案1

你最好使用\leftroot

\documentclass[12pt,a4paper]{article}
\usepackage{amsmath}

\begin{document}

Bla, bla $\sqrt{2} = \sqrt{2}$ et $\sqrt[\leftroot{1}3]{3} = \sqrt[3]{3}$.

Bla, bla $\sqrt{2} = \sqrt{2}$ et $\sqrt[\leftroot{3}3]{3} = \sqrt[3]{3}$.

Bla, bla $\sqrt{2} = \sqrt{2}$ et $\sqrt[3\,\,]{3} = \sqrt[3]{3}$.

\end{document}

在此处输入图片描述

我从来没有见过部首左边距正上方的索引。

答案2

问题确实出在缺少对第一个空参数的处理。下面的代码似乎可以解决这个问题。

\documentclass[12pt,a4paper]{article}

\let\stdsqrt\sqrt
\renewcommand\sqrt[2][]{\if\relax\detokenize{#1}\relax\stdsqrt{#2\,}\else\stdsqrt[\!\!#1\,\,]{#2\,}\fi}


\begin{document}

Bla, bla $\sqrt{2} = \stdsqrt{2}$ et $\sqrt[2]{3} = \stdsqrt[2]{3}$ .

Bla, bla $\stdsqrt{2} = \sqrt{2}$ et $\stdsqrt[2]{3} = \sqrt[2]{3}$ .

\end{document}

相关内容