
В формулах, включающих квадратные корни, я считаю, что верхняя черта довольно раздражает, и хотел бы создать оператор, который превращается \sqrt{x}
в √[x]
, т.е. аргумент разделяется скобками вместо обычной верхней черты. Как этого можно добиться?
До сих пор я пытался
\usepackage{letltxmacro}
\LetLtxMacro{\orgsqrt}{\sqrt}
\renewcommand{\sqrt}[2][]{\orgsqrt[#1]{}\left[#2\right]}
но интервал не очень привлекательный:
В идеале конец символа √ должен напрямую соединяться с верхним левым углом [.
решение1
Если вы позволите \sq
rt вырасти большим, то будет трудно избежать горизонтальной выемки наверху, но...
\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}