在字母下划线处加上方括号(在数学模式下)

在字母下划线处加上方括号(在数学模式下)

如能得到帮助我将非常感激。

\documentclass{article}
\begin{document}
$ a,\underline{b},\underline{c},d $
\end{document}

我需要将字母 $b$ 下面的下划线用小方括号括起来,字母 $c$ 下面的下划线也需要用小方括号括起来,但是

  1. 不改变下划线与其上方字母之间的距离,
  2. 不改变相邻字母之间的水平距离,并且
  3. 而不改变字母及其下划线的大小。

每对方括号的高度应比逗号略短。

谢谢

答案1

您可以将括号的缩放版本向下推至下划线字母的深度:

\documentclass{article}
\usepackage{amsmath,graphicx}

\makeatletter
\newcommand\bunderline{}% check for being undefined
\DeclareRobustCommand\bunderline[1]{\mathord{\mathpalette\b@underline{#1}}}
\newcommand{\b@underline}[2]{%
  \sbox\z@{$\m@th#1\underline{#2}$}%
  \raisebox{-\dp\z@}{\scalebox{.5}[.25]{$\m@th#1[$}}%
  \copy\z@
  \raisebox{-\dp\z@}{\scalebox{.5}[.25]{$\m@th#1]$}}%
}
\makeatother

\begin{document}
$ a,\underline{b},\bunderline{b},\underline{g},\bunderline{g},
 \underline{i},\bunderline{i},d $

$x_{\bunderline{z}}$
\end{document}

在此处输入图片描述

答案2

类似这样的?请注意,某些尺寸可能需要根据文档中使用的字体或点大小进行调整。

\documentclass{article}
\usepackage{stackengine,graphicx}
\stackMath
\def\tinylb{\smash{\scalebox{.5}{$\scriptscriptstyle[$}}}
\def\tinyrb{\smash{\scalebox{.5}{$\scriptscriptstyle]$}}}
\def\bunderline#1{\setbox0=\hbox{$#1$}\def\useanchorwidth{T}%
  \stackunder[1.2pt]{#1}{\tinylb\rule[.3pt]{\wd0}{.4pt}\tinyrb}}
\begin{document}
$ a,\underline{b},\bunderline{b},\underline{g},\bunderline{g},
 \underline{i},\bunderline{i},d $
\end{document}

在此处输入图片描述

如果您需要保留数学样式:

\documentclass{article}
\usepackage{stackengine,graphicx,scalerel}
\stackMath
\def\tinylb{\smash{\scalebox{.25}{$\SavedStyle[$}}}
\def\tinyrb{\smash{\scalebox{.25}{$\SavedStyle]$}}}
\def\bunderline#1{\ThisStyle{\setbox0=\hbox{$\SavedStyle#1$}\def\useanchorwidth{T}%
  \stackunder[1.2pt]{\SavedStyle#1}{\tinylb\rule[.3\LMpt]{\wd0}{.4pt}\tinyrb}}}
\begin{document}
$ a,\underline{b},\bunderline{b},\underline{g},\bunderline{g},
 \underline{i},\bunderline{i},d $

$ \scriptstyle 
  a,\underline{b},\bunderline{b},\underline{g},\bunderline{g},
 \underline{i},\bunderline{i},d $

$ \scriptscriptstyle 
  a,\underline{b},\bunderline{b},\underline{g},\bunderline{g},
 \underline{i},\bunderline{i},d $
\end{document}

在此处输入图片描述

相关内容