使用 l3draw 重新创建 \cplus

使用 l3draw 重新创建 \cplus

考虑以下 MWE:

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}
\usepackage{l3draw,xparse}
\ExplSyntaxOn
%---------------------------------------------------------
\box_new:N \default_math_plus
\hbox_set:Nn \default_math_plus {$+$}

\box_new:N \cplus_box


\dim_new:N \l__default_math_plus_width
\dim_set:Nn \l__default_math_plus_width { \box_wd:N \default_math_plus}

\fp_new:N \l__expl_cplus_fp

\cs_new_protected:Nn \expl_cplus:
 {
  \draw_begin:
  \draw_linewidth:n { \l__expl_cplus_fp }
  \draw_cap_round:
  \draw_join_round:
  \draw_path_moveto:n { 0.5\l__default_math_plus_width , 0.0\l__default_math_plus_width }
  \draw_path_lineto:n { 0.5\l__default_math_plus_width , 1.0\l__default_math_plus_width }
  \draw_path_use_clear:n { stroke }
  \draw_path_moveto:n { 0.0\l__default_math_plus_width , 0.5\l__default_math_plus_width }
  \draw_path_lineto:n { 1.0\l__default_math_plus_width , 0.5\l__default_math_plus_width }
  \draw_path_use_clear:n { stroke }
  \draw_path_circle:nn { 0.5\l__default_math_plus_width , 0.5\l__default_math_plus_width } {0.25\l__default_math_plus_width}
  \draw_path_use_clear:n { stroke }
  \draw_end:
 }
\NewDocumentCommand{\explcplus}{}
 {
  \mathbin
   {
    \fp_set:Nn \l__expl_cplus_fp { 0.08ex }
    \hbox_set:Nn \cplus_box { $\mspace{1mu}$ \expl_cplus: $\mspace{1mu}$ }
    \box_move_down:nn  { \box_dp:N \default_math_plus }{ \box_use:N \cplus_box }
   }
 }
 

%---------------------------------------------------------
\ExplSyntaxOff

\begin{document}
$a+b\explcplus c_{+\explcplus}$

$a\explcplus b+c_{+\explcplus}$

\medskip

% test for larger size

{\LARGE$a\explcplus b+c_{+\explcplus}$}
\end{document}

我正在尝试重现@egreg在他的回答中所做的事情:https://tex.stackexchange.com/a/397806/10898 但我似乎无法获得正确的数学空间和深度。

我做错了什么?或者如何正确计算+尺寸?

最后一张图片的缩放比例不对,似乎没有定义ex如何进行适当缩放。

相关内容