Como criar um operador √ entre colchetes?

Como criar um operador √ entre colchetes?

Em fórmulas que envolvem raízes quadradas, considero o overline bastante irritante e gostaria de criar um operador que se transformasse \sqrt{x}em √[x], ou seja, o argumento é delimitado por colchetes em vez do overlining usual. Como isso pode ser alcançado?

Até agora, eu tentei

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

mas o espaçamento não é muito atraente:

√ [x]

Idealmente, o final do símbolo √ se conectaria diretamente ao canto superior esquerdo do [.

Responder1

Se você deixar o \sqrt crescer, pode ser difícil evitar um entalhe horizontal no topo, mas...

insira a descrição da imagem aqui

\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}

Responder2

Consulte EDIT no final da resposta para obter suporte ao índice sqrt em \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}

insira a descrição da imagem aqui

A macro \stretchrelusa um argumento inteiro opcional que indica o alongamento percentual máximo permitido. Qualquer alongamento além desse valor também resulta em uma largura crescente. Definindo assim \sqrtcomo

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

resultaria na seguinte representação, em que o mais esticado \surdtambém é ampliado:

insira a descrição da imagem aqui

Se a distância entre o surd e o colchete for considerada muito grande, um espaço negativo poderá ser adicionado:

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

produzindo

insira a descrição da imagem aqui


EDIT para suportar índice em sqrt (mas apenas em displaystyle). As soluções anteriores suportam estilos matemáticos, conforme mostrado nos dois primeiros exemplos deste MWE. Aqui, apresento \dsqrto terceiro exemplo abaixo, que suporta índices no sqrt; no entanto, ele só funciona em \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}

insira a descrição da imagem aqui

informação relacionada