Как создать скобочный √-оператор?

Как создать скобочный √-оператор?

В формулах, включающих квадратные корни, я считаю, что верхняя черта довольно раздражает, и хотел бы создать оператор, который превращается \sqrt{x}в √[x], т.е. аргумент разделяется скобками вместо обычной верхней черты. Как этого можно добиться?

До сих пор я пытался

\usepackage{letltxmacro}
\LetLtxMacro{\orgsqrt}{\sqrt}
\renewcommand{\sqrt}[2][]{\orgsqrt[#1]{}\left[#2\right]}

но интервал не очень привлекательный:

√ [х]

В идеале конец символа √ должен напрямую соединяться с верхним левым углом [.

решение1

Если вы позволите \sqrt вырасти большим, то будет трудно избежать горизонтальной выемки наверху, но...

введите описание изображения здесь

\documentclass{article}
\usepackage{mathtools}
\begin{document}

\[
\sqrt{\frac{1}{\sqrt{\frac{1}{\sqrt{x}}}}}
\]

\newcommand\bsqrt[2][]{%
\sqrt[{#1}]{\vphantom{\left[#2\right]}}\left[#2\right]%
}


\[
\bsqrt{\frac{1}{\bsqrt{\frac{1}{\bsqrt{x}}}}}
\]

\newcommand\bbsqrt[2][]{%
\sqrt[{#1}]{\vphantom{\left[\vcenter{\hbox{$#2$}}\right]}}%
\left[\vcenter{\hbox{$#2$}}\right]%
}


\[
\bbsqrt{\frac{1}{\bbsqrt{\frac{1}{\bbsqrt{x}}}}}
\]

\end{document}

решение2

См. EDIT в конце ответа для поддержки индекса sqrt в \displaystyle.

\documentclass{article}
\usepackage{scalerel}
\def\sqrt#1{\stretchrel{\surd}{\left[#1\right]}}

\begin{document}
\[
\sqrt{x} \quad \sqrt{\frac{x}{y}} \quad
\sqrt{\frac{1}{\sqrt{\frac{1}{\sqrt{x}}}}}
\]
\end{document}

введите описание изображения здесь

Макрос \stretchrelпринимает необязательный целочисленный аргумент, указывающий максимально допустимый процент растяжения. Любое растяжение сверх этого значения также приводит к увеличению ширины. Таким образом, определяя \sqrtкак

\def\sqrt#1{\stretchrel[200]{\surd}{\left[#1\right]}}

в результате получится следующее изображение, в котором наиболее растянутая часть \surdтакже расширена:

введите описание изображения здесь

Если зазор между сурдом и скобкой считается слишком большим, можно добавить отрицательный пробел:

\def\sqrt#1{\stretchrel{\surd}{\!\left[#1\right]}}

уступающий

введите описание изображения здесь


EDIT для поддержки индекса в sqrt (но только в displaystyle). Более ранние решения поддерживают математические стили, как показано в первых двух примерах этого MWE. Здесь я представляю \dsqrtтретий пример ниже, который поддерживает индексы в sqrt; однако он работает только в \displaystyle.

\documentclass{article}
\usepackage{scalerel,stackengine}
\stackMath
\def\sqrt#1{\stretchrel{\surd}{\left[#1\right]}}
%%% THE FOLLOWING DISABLES MATH-MODE PRESERVATION OF scalerel, WHICH MAKES
%%% NESTED scalerel MACROS MUCH MORE EFFICIENT BY ELIMINATING NESTED \mathchoice
\makeatletter
\def\turnoffsavemode{%
  \edef\m@switch{T}\LMex=1ex\relax\LMpt=1pt\relax%
  \renewcommand\ThisStyle[1]{\ifmmode\def\@mmode{T}##1\else\def\@mmode{F}##1\fi}%
}
\makeatother
%%%
% \dsqrt only works in displaystyle, but supports sqrt index
\newcommand\dsqrt[2][]{\stackinset{l}{1.8pt}{c}{2.5pt}{\scriptscriptstyle#1}%
  {\turnoffsavemode\stretchrel{\surd}{\left[#2\right]}}}

\begin{document}
\[
\sqrt{x} \quad \sqrt{\frac{x}{y}} \quad
\sqrt{\frac{1}{\sqrt{\frac{1}{\sqrt{x}}}}}
\]
\[\scriptstyle
\sqrt{x} \quad \sqrt{\frac{x}{y}} \quad
\sqrt{\frac{1}{\sqrt{\frac{1}{\sqrt{x}}}}}
\]
\[
\dsqrt[3]{x} \quad \dsqrt[3]{\frac{x}{y}} \quad
\dsqrt[3]{\frac{1}{\dsqrt[3]{\frac{1}{\dsqrt[3]{x}}}}}
\]
\end{document}

введите описание изображения здесь

Связанный контент