较小的 \bullet 用于同源分级

较小的 \bullet 用于同源分级

在编写(同)同源分级时,该命令\bullet产生的项目符号对我来说太大了,请参见下面的示例。因此,我通常定义命令\smallbullet如下。但是,我的构造可能应该使用 来变得更加稳健\mathpalette,使用类似于。但是,如果您应用这些其他解决方案的构造,则会得到垂直位置错误的项目符号。在我的案例中,纠正此问题的最佳(也是最可靠)方法是什么?

\documentclass{article}

\usepackage{graphicx}

\newcommand\smallbullet{%
    \raisebox{-0.25ex}{\scalebox{1.2}{$\cdot$}}%
}

\begin{document}

$ H^{\bullet} $

$ H^{\smallbullet} $

\end{document}

在此处输入图片描述

答案1

我会缩小\bullet,因为\cdot它的边距相当宽。此处的比例因子为 0.5,请调整以适应。

\documentclass{article}

\usepackage{graphicx}

\makeatletter
\newcommand{\smallbullet}{} % for safety
\DeclareRobustCommand\smallbullet{%
  \mathord{\mathpalette\smallbullet@{0.5}}%
}
\newcommand{\smallbullet@}[2]{%
  \vcenter{\hbox{\scalebox{#2}{$\m@th#1\bullet$}}}%
}
\makeatother

\begin{document}

$ H^{\bullet} $

$ H^{\smallbullet} $

\end{document}

在此处输入图片描述

答案2

用小\bullet而美Steven B. Segletes 在这个问题上,有没有我可以使用的黑点符号?

\newcommand\sbullet[1][.5]{\mathbin{\ThisStyle{\vcenter{\hbox{%
  \scalebox{#1}{$\SavedStyle\bullet$}}}}}%
}

我对此做了一些修改,我建议将其用作上\strut标,以便更好地定位项目符号。这里有一个可能的 MWE,它显示了经典的附录中项目符号的两种不同大小\bullet

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}
\usepackage{graphicx,scalerel}
\newcommand\sbullet[1][.5]{\mathbin{\ThisStyle{\vcenter{\hbox{%
  \scalebox{#1}{$\SavedStyle\bullet$}}}}}%
}
\newcommand\smbullet[1][.8]{\mathbin{\ThisStyle{\vcenter{\hbox{%
  \scalebox{#1}{$\SavedStyle\bullet$}}}}}%
}
\begin{document}
$H\strut^{\bullet}, H\strut^{\sbullet}, H\strut^{\smbullet}$
\end{document}

在此处输入图片描述


使用宏,您将获得相同且正确的\smallbullet高度\bullet

 \documentclass[a4paper,12pt]{article}
    \usepackage{amsmath,amssymb}
    \usepackage{graphicx}
    \newcommand\smallbullet{%
    \raisebox{-0.25ex}{\scalebox{1.2}{$\cdot$}}%
}

    \begin{document}
    $P\strut^{\bullet}, H\strut^{\smallbullet}$
    \end{document}

在此处输入图片描述

答案3

我决定重写 egreg 在 中的出色回答expl3。然而,由于许多 TeX 概念(例如\vcenter\mathpalette)似乎还没有expl3类似物,我不得不混淆新旧标准。我希望 egreg 能发表评论并告诉我是否有什么可以改进的?

\documentclass{article}

\usepackage{expl3}

\ExplSyntaxOn

\cs_new_protected:Npn\gaussler_set_mathsurround_to_zero:
{
     % This is equivalent to "\m@th"
    \dim_set:Nn \mathsurround { 0pt }
}

\cs_set_protected:Npn\gaussler_bullet:
{
    \mathord{\mathpalette\__gaussler_bullet_auxiliary:Nn{0.5}}
}

\box_new:N \l__gaussler_bullet_box

\cs_set_protected:Npn\__gaussler_bullet_auxiliary:Nn#1#2
{
    \hbox_set:Nn \l__gaussler_bullet_box { $\gaussler_set_mathsurround_to_zero: #1 \bullet$ }
    \box_scale:Nnn \l__gaussler_bullet_box { #2 } { #2 }
    \vcenter{ \hbox:n { \box_use_drop:N \l__gaussler_bullet_box } }
}

\cs_set_eq:NN\smallbullet \gaussler_bullet:

\ExplSyntaxOff

\begin{document}

$ H^{\bullet} $

$ H^{\smallbullet} $

\end{document}

相关内容