Wie schreibt man einen Pfeil auf xdashmapsto?

Wie schreibt man einen Pfeil auf xdashmapsto?

Dies ist eine Fortsetzung vondiese Frageüber Pfeile, die für die birationale Geometrie benötigt werden, mit der gleichen Grundannahme wiediese Frageüber xdashrightarrowusw.

Ich brauche einen Pfeil wie xmapsto, aber mit mapstogestricheltem Pfeil. Ich habe derzeit

\def\dashmapsto{\mapstochar\dashrightarrow}

das gibt den dashmapstoPfeil. Ich fände es toll, wenn ich eins xdashmapstodazu hätte.

Vielen Dank für Ihre Hilfe.

Antwort1

Ich habe einfach die beiden Antworten, die Sie zitieren, kombiniert, indem ich Davids Technik auf Heikos Code angewendet habe. Das Verdienst gebührt ihnen. Hier war meine Ergänzung zu Heikos Code:

\newcommand\xdashmapsto[2][]{\mathrel{\mapstochar\xdashrightarrow[#1]{#2}}}

Der einzige Kniff bestand darin, daran zu denken, Argumente auf die gleiche Weise zu verwenden, wie sie von verwendet wurden \xdashrightarrow.

\documentclass{article}
\usepackage{amsfonts}
\usepackage{amsmath}
\newcommand\xdashmapsto[2][]{\mathrel{\mapstochar\xdashrightarrow[#1]{#2}}}

\makeatletter
\newcommand*{\da@rightarrow}{\mathchar"0\hexnumber@\symAMSa 4B }
\newcommand*{\da@leftarrow}{\mathchar"0\hexnumber@\symAMSa 4C }
\newcommand*{\xdashrightarrow}[2][]{%
  \mathrel{%
    \mathpalette{\da@xarrow{#1}{#2}{}\da@rightarrow{\,}{}}{}%
  }%
}
\newcommand{\xdashleftarrow}[2][]{%
  \mathrel{%
    \mathpalette{\da@xarrow{#1}{#2}\da@leftarrow{}{}{\,}}{}%
  }%
}
\newcommand*{\da@xarrow}[7]{%
  % #1: below
  % #2: above
  % #3: arrow left
  % #4: arrow right
  % #5: space left 
  % #6: space right
  % #7: math style 
  \sbox0{$\ifx#7\scriptstyle\scriptscriptstyle\else\scriptstyle\fi#5#1#6\m@th$}%
  \sbox2{$\ifx#7\scriptstyle\scriptscriptstyle\else\scriptstyle\fi#5#2#6\m@th$}%
  \sbox4{$#7\dabar@\m@th$}%
  \dimen@=\wd0 %
  \ifdim\wd2 >\dimen@
    \dimen@=\wd2 %   
  \fi
  \count@=2 %
  \def\da@bars{\dabar@\dabar@}%
  \@whiledim\count@\wd4<\dimen@\do{%
    \advance\count@\@ne
    \expandafter\def\expandafter\da@bars\expandafter{%
      \da@bars
      \dabar@ 
    }%
  }%  
  \mathrel{#3}%
  \mathrel{%   
    \mathop{\da@bars}\limits
    \ifx\\#1\\%
    \else
      _{\copy0}%
    \fi
    \ifx\\#2\\%
    \else
      ^{\copy2}%
    \fi
  }%   
  \mathrel{#4}%
}
\makeatother

\begin{document}

\[ X \xdashmapsto{x} Y \xdashmapsto{\mathrm{longer}} Z 
\xdashmapsto[\mathrm{underset}]{\mathrm{longer}} W 
\]

\end{document}

Bildbeschreibung hier eingeben

Wenn man den Abstand nach dem Pfeil zu groß findet, kann man ihn mit einem kleinen negativen Abstand neu definieren als

\newcommand\xdashmapsto[2][]{\mathrel{\mapstochar\xdashrightarrow[#1]{#2}\!}}

verwandte Informationen