在涉及平方根的公式中,我认为上划线相当烦人,因此想创建一个运算符,将其转换\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
请参阅答案末尾的编辑,以了解对 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]}}
屈服
编辑以支持 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}