在编写(同)同源分级时,该命令\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}