使用 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適當縮放。

相關內容