答案1
也许是这样的?
\documentclass{article}
\usepackage{amsmath, amssymb}
\usepackage{graphicx}
\newlength{\harpoonswidth}
\settowidth{\harpoonswidth}{$\rightleftharpoons$}
\newcommand*{\circnotharpoons}{%
\mathrel{\ooalign{%
$\rightleftharpoons$\cr%
\makebox[\harpoonswidth]{%
\begin{picture}(10,10)(-5,0)
\put(0,3.5){\circle{2}}
\end{picture}%
}\cr%
\makebox[\harpoonswidth]{%
\rotatebox[origin=c]{-45}{%
\rule[.3pt]{.4pt}{2.5pt}%
}%
}%
}}%
}
\begin{document}
\(A \circnotharpoons B\)
\(A \rightleftharpoons B\)
\end{document}
答案2
这是一个也可以改变下标和上标的大小的版本,同时保持圆圈和斜线的正确线宽。
\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{pict2e}
\makeatletter
% line thickness
\newcommand{\hermis@thickness}[1]{%
\fontdimen8
\ifx#1\displaystyle\textfont\else
\ifx#1\textstyle\textfont\else
\ifx#1\scriptstyle\scriptfont\else
\scriptscriptfont\fi\fi\fi 3
}
% width for the decoration
\newcommand{\hermis@width}[1]{%
0.2\fontdimen6
\ifx#1\displaystyle\textfont\else
\ifx#1\textstyle\textfont\else
\ifx#1\scriptstyle\scriptfont\else
\scriptscriptfont\fi\fi\fi 2
}
% distance
\newcommand{\hermis@distance}[1]{%
\ifx#1\displaystyle 0.12\fontdimen6\textfont\else
\ifx#1\textstyle 0.12\fontdimen6\textfont\else
\ifx#1\scriptstyle 0.075\fontdimen6\scriptfont\else
0.0385\fontdimen6\scriptscriptfont\fi\fi\fi 2
}
% circle
\newcommand{\hermis@circle}[1]{%
$#1\vcenter{\hbox{\begin{picture}(1,1)
\put(0.5,0.5){\arc{0.5}}
\end{picture}}}$%
}
% slash
\newcommand{\hermis@slash}[1]{%
$#1\vcenter{\hbox{\begin{picture}(1,1)
\roundcap
\Line(0,0)(1,1)
\end{picture}}}$%
}
% the main command
\newcommand{\sosmc}{\mathrel{\mathpalette\hermis@sosmc\relax}}
\newcommand{\hermis@sosmc}[2]{%
\begingroup\m@th
\vcenter{%
\setlength{\unitlength}{\hermis@width{#1}}%
\linethickness{\hermis@thickness{#1}}%
\hbox{\ooalign{%
$#1\rightharpoonup$\cr
\hidewidth\hermis@circle{#1}\hidewidth\cr
}}%
\nointerlineskip\vskip-\hermis@distance{#1}%
\hbox{\ooalign{%
$#1\leftharpoondown$\cr
\hidewidth\hermis@slash{#1}\hidewidth\cr
}}%
}%
\endgroup
}
\makeatother
\begin{document}
$A\sosmc B$
$\scriptstyle A\sosmc B$
$\scriptscriptstyle A\sosmc B$
\end{document}
答案3
不太确定你到底想要什么,但我根据命令提出了这个代码,\stackinset
希望它与你想要的不太远:
\documentclass[11pt]{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{stackengine}
\newcommand{\Orightharpoonup}{\mathrel{\stackMath\stackinset{c} {0pt}{c}{0.5pt}{\circ}{\relbar\mkern-3.2mu\rightharpoonup}}}%
\newcommand{\nleftharpoondown}{\mathrel{\stackMath\stackinset{c}{-4pt}{c}{0.5pt}{\not}{\leftharpoondown\mkern-3.2mu\relbar}}}%
\begin{document}
\[ \begin{matrix}
A \Orightharpoonup B \\
D \nleftharpoondown C
\end{matrix}\]%
\[A \mathrel{\begin{matrix}
\Orightharpoonup \\[-1.5ex]
\nleftharpoondown
\end{matrix}} B \]%
\end{document}