我正在尝试这样做(这只是一个实验,而不是真实的案例):
\documentclass{article}
\begin{document}
$\mapsto\hspace{-1em}\pi$
\end{document}
我想\pi
水平方向从箭头左侧的确切位置开始。当然,我不知道箭头的确切宽度。-1em
上面代码中的宽度肯定是错误的。
答案1
问题是,您是想在较短的后面\pi
还是较长的后面跟随下一个对象\mapsto
。以下示例显示了两种变体:
\def\overlap#1#2{\overlapA{#1}{#2}}
\def\overlapA#1#2{\mathrel{\rlap{$#1$}}\mathrel{#2}}
test1: $a \overlap\mapsto \pi 123$.
\def\overlap#1#2{\overlapA{#2}{#1}}
test2: $a \overlap\mapsto \pi 123$.
答案2
应该是这个意思。
\documentclass{article}
\usepackage{amsmath,mathtools}
%\usepackage{newtxtext,newtxmath}
\newcommand{\smapsto}[1]{\mathrel{\mathrlap{#1}}\mapsto}
\begin{document}
$X \smapsto{\pi} Y$
\end{document}
如果你取消注释\usepackage{newtxtext,newtxmath}
,你会得到
您会发现,不同的字体对于字形的边界框有不同的想法。无论哪种情况,符号\mapstochar
左侧的边距都比 短\pi
。
我们可以用一个可选参数来修复它,将符号向右移动(正参数)或向左移动(负参数)。
\documentclass{article}
\usepackage{amsmath,mathtools}
%\usepackage{newtxtext,newtxmath}
\newcommand{\smapsto}[2][0]{\mathrel{\mathrlap{\mspace{#1mu}#2}}\mapsto}
\begin{document}
$X \smapsto[1]{\pi} Y$
\end{document}
使用 NewTX
并且您可能希望将符号进一步向右移动。使用
$X \smapsto[1.5]{\pi} Y$
你得到
既然您热衷于实验,为什么不尝试以下操作呢?
\documentclass{article}
\usepackage{amsmath,mathtools}
%\usepackage{newtxtext,newtxmath}
\newcommand{\smapsto}[2][0]{\mathrel{\mathrlap{\mspace{#1mu}\mathop{#2}}}\mapsto}
\begin{document}
$X \smapsto[1]{\pi} Y$
\end{document}
该符号将相对于箭头杆所在的数学轴垂直居中。