\odot
我正在寻找(带圆圈的点)和(带圆圈的加号)运算符的变体\oplus
,但用于不等式关系。换句话说,我正在寻找符号来替代以下示例中第二行打印的空白。
\documentclass{amsart}
\begin{document}
\begin{align*}
c\cdot x + y &\leq z\\
c\odot x\oplus y &\quad\ z
\end{align*}
\end{document}
我找不到任何匹配的符号解纤。
答案1
我们可以通过适当的缩放使圆与圆相匹配\oplus
。
要圈出的符号必须根据其大小进行缩放,因此\ogeneric
提供了一个可选参数(默认值0.7
似乎不错<
)。
\documentclass{article}
\usepackage{amsmath,graphicx,color}
\makeatletter
\newcommand{\ogeneric}[2][0.7]{%
\vphantom{\oplus}\mathpalette\o@generic{{#1}{#2}}%
}
\newcommand{\o@generic}[2]{\o@@generic#1#2}
\newcommand{\o@@generic}[3]{%
\begingroup
\sbox\z@{$\m@th#1\oplus$}%
\dimen@=\dimexpr\ht\z@+\dp\z@\relax
\savebox\tw@[\totalheight]{$\m@th#1\bigcirc$}%
\makebox[\wd\z@]{%
\ooalign{%
$#1\vcenter{\hbox{\resizebox{\dimen@}{!}{\usebox\tw@}}}$\cr
\hidewidth
$#1\vcenter{\hbox{\resizebox{#2\dimen@}{!}{$#1\vphantom{\oplus}{#3}$}}}$%
\hidewidth
\cr
}%
}%
\endgroup
}
\makeatother
\newcommand{\ole}{\mathrel{\ogeneric{<}}}
\newcommand{\oleq}{\mathrel{\ogeneric[0.6]{\leq}}}
\begin{document}
\begin{align*}
c\cdot x + y &\leq z\\
c\odot x\oplus y &\oleq z \\
c\odot x\oplus y &\ole z \\
\mbox{\textcolor{red}{$\oplus$}\llap{$\ole$}
$\oplus$\llap{\textcolor{red}{$\ole$}}}
\end{align*}
\end{document}
请注意,color
只是为了将最后一行\ole
叠加起来\oplus
才能看到它们匹配。
定义的符号也可以用于下标和上标,并且可以正确缩放。
答案2
答案3
为了回答你上一条评论中的问题,这里有一个简单的方法pstricks
。但是我不确定缩放看起来会不会很好看,因为带圆圈的符号不会与其他符号对齐。无论如何,我在以下代码中展示了一些可能的变体:
\documentclass{amsart}
\usepackage{amssymb}
\usepackage{pstricks, auto-pst-pdf}
\begin{document}
\begin{align*}
c\cdot x + y &\leq z\\
c\odot x\oplus y &\mathrel{\pscirclebox[framesep=-0.7pt, linewidth=0.4pt]{\leq}} z \\
c\odot x\oplus y &\mathrel{\pscirclebox[framesep=-0.7pt, linewidth=0.4pt]{\leqslant}} z \\
c\odot x\oplus y &\mathrel{\pscirclebox[framesep=-0.7pt, linewidth=0.4pt]{\leqslant\mkern2mu}} z
\end{align*}
\begin{align*}
c\cdot x + y &\leq z\\
c\odot x\oplus y &\mathrel{\psscalebox{0.67}{\pscirclebox[framesep=-0.7pt, linewidth=0.4pt]{\leq}}} z \\
c\odot x\oplus y &\mathrel{\psscalebox{0.67}{\pscirclebox[framesep=-0.7pt, linewidth=0.4pt]{\leqslant}}} z \\
c\odot x\oplus y &\mathrel{\psscalebox{0.67}{\pscirclebox[framesep=-0.7pt, linewidth=0.4pt]{\leqslant\mkern2mu}}} z
\end{align*}
\end{document}