调整宽根索引的建议

调整宽根索引的建议

我不喜欢mn显示根的宽索引的方式,并希望看看其他人如何处理这个问题。我使用下面列出的参考资料中的闭平方根,这使我可以稍微调整位置,因此能够使和mn左侧对齐,并尝试移动右侧的索引,但我对结果不满意:

在此处输入图片描述

参考:

代码:

\documentclass{article}
\usepackage{amsmath}
\usepackage{xparse}
\usepackage{letltxmacro}

\LetLtxMacro{\oldsqrt}{\sqrt}

\def\DHLhksqrt#1#2{%
  \setbox0=\hbox{$#1\oldsqrt{#2\,}$}\dimen0=\ht0\relax%
  \advance\dimen0-0.25\ht0\relax%
  \setbox2=\hbox{\kern-0.375pt\vrule height\ht0 depth -\dimen0}%
  {%
    \hbox{$#1\expandafter\oldsqrt\expandafter[\DHLindex]{#2\,}$}%
    \lower\ifx\math@version\[email protected]\else0.4pt\fi\box2%
  }%
}
\newcommand{\ClosedSqrt}[1][]{\def\DHLindex{#1}\mathpalette\DHLhksqrt}%

\RenewDocumentCommand{\sqrt}{O{\hphantom{3}} O{0} O{0}  m}{\ClosedSqrt[\leftroot{#2}\uproot{#3}#1]{#4}}%

\begin{document}
\begin{alignat*}{3}
    \oldsqrt[m]{\oldsqrt[n]{x}} &= \oldsqrt[mn]{x} &\quad\text{original sqrt}\\
    \sqrt[m][-3]{\sqrt[n][-1][2]{x}} &= \sqrt[mn]{x} = \sqrt[mn][-3][2]{x} &\quad\text{closed sqrt}
\end{alignat*}
\end{document}

答案1

这就是我所能提供的。

\documentclass{article}
\usepackage{amsmath,array}
\usepackage{xparse}
\usepackage{letltxmacro}

\LetLtxMacro{\latexsqrt}{\sqrt}

\ExplSyntaxOn
\RenewDocumentCommand{\sqrt}{ O{\hphantom{3}} O{0} O{0}  m }
 {
  \grill_root:nnxx 
   { #1 } % index
   { #4 } % main argument
   { \int_eval:n { #2 - 1 } } % left shift (default -1)
   { \int_eval:n { #3 + 1 } } % up shift (default 1)
 }
\cs_new_protected:Npn \grill_root:nnnn #1 #2 #3 #4
 {
  \latexsqrt[ \leftroot{#3} \uproot{#4} #1 ] { #2 }
 }
\cs_generate_variant:Nn \grill_root:nnnn { nnxx }
\ExplSyntaxOff

\begin{document}
\renewcommand{\arraystretch}{1.5}

\begin{tabular}{>{$\displaystyle}r<{$}@{}>{$\displaystyle{}}l<{$}}

\multicolumn{2}{l}{Original} \\
\latexsqrt[m]{\latexsqrt[n]{x}} &= \latexsqrt[mn]{x}\\
\latexsqrt[n]{\latexsqrt[m]{x}} &= \latexsqrt[nm]{x}\\
\latexsqrt[p]{\latexsqrt[q]{x}} &= \latexsqrt[pq]{x}\\

\multicolumn{2}{l}{New} \\
\sqrt[m]{\sqrt[n]{x}} &= \sqrt[mn]{x}\\
\sqrt[n]{\sqrt[m]{x}} &= \sqrt[nm]{x}\\
\sqrt[p]{\sqrt[q]{x}} &= \sqrt[pq]{x}

\end{tabular}
\end{document}

更新后的\sqrt命令默认应用 a\leftroot{-1}和 a,\uproot{1}可选参数会添加到 a 中。这在正常情况下似乎是一个很好的折衷方案:带有降部的索引不会触及根符号。

恐怕不可能出现能够适用于各种规模的激进分子的东西。

如果你说

\sqrt[3][1][-1]

您清除默认调整,但可选参数可以是任何整数。

当然,我不会考虑“封闭”根,原因你应该知道。;-)

在此处输入图片描述

相关内容