符号\Rrightarrow
用三条线产生含义;符号\Mapsto
用两条线产生含义和“停止符”(标志着暗示开始的垂直线)。
我如何添加一个塞子来\Rrightarrow
产生“有开头”的三行含义?如果需要任何说明,我很乐意提供示例图片。
谢谢你!
答案1
您可以通过在 前添加垂直线来构建符号\Rrightarrow
。
\documentclass{article}
\usepackage{amsmath, amssymb}
\makeatletter
\newlength{\arrowdepth}
\newlength{\arrowheight}
\newcommand*{\Mmapsto}{%
\settodepth{\arrowdepth}{$\Rrightarrow$}
\settoheight{\arrowheight}{$\Rrightarrow$}
\addtolength{\arrowheight}{\arrowdepth}
\mathrel{%
\rule[-\arrowdepth]{\fontdimen8\textfont 3}{\arrowheight}%
\mkern-1.5mu%
{\Rrightarrow}%
}%
}
\makeatother
\begin{document}
\(A \Rrightarrow B\)
\(A \Mmapsto B\)
\end{document}
答案2
你可以伪造它:
\documentclass{article}
\usepackage{amsmath,amssymb,pict2e}
\makeatletter
\NewDocumentCommand{\Mmapsto}{}{%
\mathrel{\mathpalette\Mmapstochar@\Rrightarrow}%
\Rrightarrow
}
\NewDocumentCommand{\Mapsto}{}{%
\mathrel{\mathpalette\Mmapstochar@\Rightarrow}%
\Rightarrow
}
\newcommand{\Mmapstochar@}[2]{%
\vcenter{%
\sbox\z@{$#1#2$}%
\setlength{\unitlength}{1.8\dimexpr\Mmapstochar@ht{#1}+\dp\z@\relax}
\hbox to \z@{%
$\m@th#1\mkern1.3mu\nonscript\mkern-0.3mu$%
\Mmapstochar@thickness{#1}%
\begin{picture}(0,1)
\roundcap
\Line(0,0)(0,1)
\end{picture}\hss
}%
}%
}
\newcommand{\Mmapstochar@ht}[1]{%
\fontdimen22
\ifx#1\displaystyle\textfont\else
\ifx#1\textstyle\textfont\else
\ifx#1\scriptstyle\scriptfont\else
\scriptscriptfont\fi\fi\fi 2
}
\newcommand{\Mmapstochar@thickness}[1]{%
\linethickness{%
\fontdimen8
\ifx#1\displaystyle\textfont\else
\ifx#1\textstyle\textfont\else
\ifx#1\scriptstyle\scriptfont\else
\scriptscriptfont\fi\fi\fi 3
}%
}
\makeatother
\begin{document}
$A\Rrightarrow B \Rightarrow C$
$A\Mmapsto B \Mapsto C$
$\scriptstyle A\Mmapsto B \Mapsto C$
$\scriptscriptstyle A\Mmapsto B \Mapsto C$
\end{document}
并不完美\scriptscriptstyle
,但我猜你没有走得那么深。
fixcmex
如果您使用,请记得加载lmodern
。其他符号字体ammsymb
可能需要进行一些调整。