与 \square 和 \triangle 兼容的圆形符号

与 \square 和 \triangle 兼容的圆形符号

\square我需要一个与和兼容的圆形符号(从布局角度来看)\triangle。如您在以下示例中所见

\documentclass{article}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\begin{document}
$\circ AB$, $\bigcirc AB$, $\square ABCD$,  $\triangle ABC$, 
\end{document}

正方形和三角形完美匹配,但圆形符号都不匹配。有没有办法让圆形与文本底线对齐,并且高度与其他两个符号相当?处于数学模式。

图像

我见过这个问题,但它不适合我的情况: 有圆圈符号吗?

答案1

您可以缩小\bigcirc

\documentclass{article}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{graphicx}

\makeatletter
\DeclareRobustCommand{\iscircle}{\mathord{\mathpalette\is@circle\relax}}
\newcommand\is@circle[2]{%
  \begingroup
  \sbox\z@{\raisebox{\depth}{$\m@th#1\bigcirc$}}%
  \sbox\tw@{$#1\square$}%
  \resizebox{!}{\ht\tw@}{\usebox{\z@}}%
  \endgroup
}
\makeatother

\begin{document}

$\iscircle AB$, $\square ABCD$,  $\triangle ABC$,

\end{document}

在此处输入图片描述

答案2

其他一些可能性:使用ocirclefrom wasysym,稍微凸起(常规符号呈现在基线以下),或者使用 TikZ 并在小写字母周围打印一个紧密的圆圈(但不打印字母)。

命令可以简单地定义,使其随字体缩放,但不随下标和上标缩放,或者使用 来定义更具数学意识的版本\mathchoice。另一个答案中的解决方案也包括在内,请注意,在正常大小示例的下标中,圆圈有点扁平,但在版本中是圆形的\Huge

\documentclass{article}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{wasysym}
\usepackage{tikz}
\makeatletter
\DeclareRobustCommand{\iscircle}{\mathord{\mathpalette\is@circle\relax}}
\newcommand\is@circle[2]{%
  \begingroup
  \sbox\z@{\raisebox{\depth}{$\m@th#1\bigcirc$}}%
  \sbox\tw@{$#1\square$}%
  \resizebox{!}{\ht\tw@}{\usebox{\z@}}%
  \endgroup
}
\makeatother
\newcommand{\wacircsimple}{\raisebox{0.2ex}{$\ocircle$}}
\newcommand{\tkzcircsimple}{\tikz{\node[circle,inner sep=0,outer sep=0,draw]{$\phantom{o}$}}}
\newcommand{\wacircscale}{\mathchoice%
{\raisebox{0.2ex}{$\displaystyle\ocircle$}}%
{\raisebox{0.2ex}{$\textstyle\ocircle$}}%
{\raisebox{0.2ex}{$\scriptstyle\ocircle$}}%
{\raisebox{0.2ex}{$\scriptscriptstyle\ocircle$}}%
}
\newcommand{\tkzcircscale}{\mathchoice%
{\tikz{\node[circle,inner sep=0,outer sep=0,draw]{$\displaystyle \phantom{o}$}}}%
{\tikz{\node[circle,inner sep=0,outer sep=0,draw]{$\textstyle \phantom{o}$}}}%
{\tikz{\node[circle,inner sep=0,outer sep=0,draw]{$\scriptstyle \phantom{o}$}}}%
{\tikz{\node[circle,inner sep=0,outer sep=0,draw]{$\scriptscriptstyle \phantom{o}$}}}%
}

\begin{document}
$\square\iscircle BA_{\iscircle AB_{\iscircle AB}}$

$\square\wacircsimple BA_{\wacircsimple AB_{\wacircsimple AB}}$

$\square\wacircscale BA_{\wacircscale AB_{\wacircscale AB}}$

$\square\tkzcircsimple BA_{\tkzcircsimple AB_{\tkzcircsimple AB}}$

$\square\tkzcircscale BA_{\tkzcircscale AB_{\tkzcircscale AB}}$

\Huge
$\square\iscircle BA_{\iscircle AB_{\iscircle AB}}$

$\square\wacircsimple BA_{\wacircsimple AB_{\wacircsimple AB}}$

$\square\wacircscale BA_{\wacircscale AB_{\wacircscale AB}}$

$\square\tkzcircsimple BA_{\tkzcircsimple AB_{\tkzcircsimple AB}}$

$\square\tkzcircscale BA_{\tkzcircscale AB_{\tkzcircscale AB}}$
\end{document}

在此处输入图片描述

在我看来,TikZ 版本在普通字体(考虑线宽)下看起来更好,但在符号\Huge版本中wasysym看起来更好。

相关内容