我有以下问题:我想通过某些元素的图像来表达函数的组成。下表是一个例子:
\begin{center}
\begin{tabular}{ccccc}
& $A(e_0,\dots,\widehat{e_i},\dots,e_p)$& &$A(v_0,\dots,v_p)$&\\
$e_0$ & $\longmapsto$ & $e_0$ & $\longmapsto$ & $v_0$\\
$\dots$ & & $\dots$ & & $\dots$\\
$e_{i-1}$ & $\longmapsto$ & $e_{i-1}$ & $\longmapsto$ & $v_{i-1}$\\
$e_i$ & $\longmapsto$ & $e_{i+1}$ & $\longmapsto$ & $v_{i+1}$\\
$\dots$ & & $\dots$ & & $\dots$\\
$e_{p-1}$ & $\longmapsto$ & $e_p$ & $\longmapsto$ & $v_p$\\
\end{tabular}
\end{center}
但是,您可能已经意识到,函数的名称太宽,以至于 \mapsto 无法使这个表格看起来好看。我如何才能延长 \mapsto 的长度,使其与列中最宽元素的长度相匹配?这可能吗?如果可能的话,我该如何改进这个演示?
在此先感谢您的时间。
PS 这是我在这个网站上的第一篇文章,也是我第一次用 LaTeX 打字写文章,所以如果可能的话,我将非常感激一个清晰、完整的答案。
答案1
您可以\mapstofill
按照类似的方式进行定义\rightarrowfill
。
我习惯于array
减少符号的数量$
;这导致必须\mapstofill
在$
符号之间关闭数学模式并在最后重新打开它。
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\DeclareRobustCommand\mapstofill{%
$\m@th
{\mapstochar}%
\smash-\mkern-7mu
\cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill
\mkern-7mu
\mathord\rightarrow
$%
}
\makeatother
\begin{document}
\[
\begin{array}{ccccc}
& A(e_0,\dots,\widehat{e_i},\dots,e_p) & & A(v_0,\dots,v_p) \\
e_0 & $\mapstofill$ & e_0 & $\mapstofill$ & v_0 \\
\vdots & \vdots & & \vdots \\
e_{i-1} & $\mapstofill$ & e_{i-1} & $\mapstofill$ & v_{i-1} \\
e_i & $\mapstofill$ & e_{i+1} & $\mapstofill$ & v_{i+1} \\
\vdots & \vdots & & \vdots \\
e_{p-1} & $\mapstofill$ & e_p & $\mapstofill$ & v_p \\
\end{array}
\]
\end{document}
答案2
\mapsto
可以将其制成可扩展的箭头,其方式与\x...arrow
扩展 s 的方式相同,同样借鉴中amsmath
的定义 。\mapsto
plain.tex
这是一个例子,将其与任何 LaTeX 设置\longmapsto
中定义和提供的内容进行比较。plain.tex
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\newcommand{\xmapsto}[2][]{\mapstochar \ext@arrow 0359\rightarrowfill@{#1}{#2}}
\makeatother
\begin{document}
some text
\[
x \overset{a very long modifier}{\longmapsto} y
\]
more text
\[
x \xmapsto{a very long modifier} y
\]
more text
\end{document}
要按要求在表中使用它,可以将修饰符替换为\hspace*
并将整个表达式埋入\mathclap
(在 中定义mathtools
)。这确实需要明确选择长度,但也许其他人可以将其调整为更自动化。
更新:
正如@Schrödinger's cat 所提醒的,\xmapsto
中已经存在mathtools
,因此不需要重新定义。(但我将保留定义,因为喜欢探索细节的人可能会对了解它的构造方式感兴趣。)