垂直符号的 TeX 代码是什么\mapsto
?我找过了,但没找到。
我正在绘制交换图,并且想绘制特定符号的映射,因此我在垂直箭头的标签上执行此操作,通过调整标签元素的位置。其余工作正常,我需要的只是一个垂直\mapsto
符号。目前我能做的最好的就是使用\downarrow
并在稍上方放置一个连字符,但看起来不太好。
\usepackage[all]{xy}
\xymatrix{
0 \ar[r] &
A_{n+1} \ar[r] \ar[d] &
B_{n+1} \ar[r] \ar[d] &
C_{n+1} \ar[r] \ar[d] &
0 \ar[d]
\\
&
A_n \ar[r] \ar[d] &
B_n \ar[r] \ar[d]^(0.25){b}^(0.6){d_{n}} &
C_n \ar[r]^{g_n} \ar[d]_(0.3){c}_(0.44){ \; \; - }_{ \downarrow}_(0.7){0} &
0 \ar[d]
\\
&
A_{n-1} \ar[r]^(0.2){a} &
B_{n-1} \ar[r]^{f_{n-1}} &
C_{n-1} \ar[r] & 0
}
答案1
此MnSymbol
套餐\upmapsto
提供\downmapsto
:
\documentclass{article}
\usepackage{MnSymbol}
\begin{document}
$\upmapsto\quad\downmapsto$
\end{document}
但是,使用此包会改变其他一些符号,这可能是不可取的。在这个特殊情况下,由于交换图需要箭头,我建议使用该tikz-cd
包及其mapsto
箭头选项:
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
A \arrow{r}{\psi} \arrow[mapsto,color=red]{d}
& B \\
C \arrow[mapsto,color=red]{r}[color=blue]{\eta}
& D \arrow[mapsto,color=red]{u}
\end{tikzcd}
\end{document}
现在已经对原始问题进行了编辑,包括所需的交换图,这里使用tikz-cd
:
\documentclass{article}
\usepackage{tikz-cd}
\newcommand\tikzmark[5][0]{%
\tikz[overlay,remember picture,baseline] \node [rotate=#1,anchor=base,xshift=#4,yshift=#5] (#2) {$\scriptstyle#3$};}
\begin{document}
\begin{tikzcd}
0 \arrow{r} &
A_{n+1} \arrow{r} \arrow{d} &
B_{n+1} \arrow{r} \arrow{d} &
C_{n+1} \arrow{r} \arrow{d} &
0 \arrow{d}
\\
&
A_n \arrow{r} \arrow{d} &
\tikzmark{s}{b}{14pt}{-9pt}B_n \arrow{r} \arrow{d}{d_n} &
\tikzmark{s}{c}{-2pt}{-8pt}\tikzmark{e}{0}{-2pt}{-24pt}\tikzmark[270]{a}{\mapsto}{14pt}{-4pt}
C_n \arrow{r}{g_n} \arrow{d} &
0 \arrow{d}
\\
&
A_{n-1} \arrow{r}{a} &
B_{n-1} \arrow{r}{f_{n-1}} &
C_{n-1} \arrow{r} & 0
\end{tikzcd}
\end{document}
的变体\tikzmark
用于定位一些特殊字符;特别是,将选项rotate=270
应用于标准时获得了垂直的“downmapsto”箭头\mapsto
答案2
您可以旋转符号:
\usepackage{graphicx} % for \rotatebox
\usepackage{amsmath} % for \substack
\newcommand{\downmapsto}{\rotatebox[origin=c]{-90}{$\scriptstyle\mapsto$}\mkern2mu}
并输入相关箭头作为
C_n \ar[r]^{g_n} \ar[d]_{\substack{c\\\downmapsto\\0}} &
添加的填充空间是通过反复试验来计算的,以确保良好的对齐。
答案3
这个符号叫做U+21A7在 Unicode 中。有很多支持该字体。您可以通过以下方式搜索系统上可能的符号点击这里。
在该字体列表的帮助下,我尝试了一些我的机器上可用的符号(这需要 Xe 或 LuaLaTeX):
% arara: lualatex
\documentclass{article}
\usepackage{fontspec}
\usepackage{booktabs}
\newcommand{\test}[1]{\texttt{#1} & {\fontspec{#1}\symbol{"21A7}}}
\begin{document}
\begin{tabular}{lc}
\toprule
Font & Example \\
\midrule
\test{arialuni.ttf} \\
\test{code2000.ttf} \\
\test{dejavusans.ttf} \\
\test{mathcadunimath.otf} \\
\test{osifont-2013-04-18.ttf} \\
\test{quivira.otf} \\
\test{symbola.ttf} \\
\bottomrule
\end{tabular}
\end{document}
unicode-math
此符号在命令下的包中也有描述\mapsdown
。一些可能的符号如下所示:
% arara: lualatex
\documentclass{article}
\usepackage{unicode-math}
\begin{document}
$\mapsdown$\setmathfont{XITS Math}$\mapsdown$\setmathfont{Asana Math}$\mapsdown$\setmathfont{TeX Gyre Pagella Math}$\mapsdown$
\end{document}
纳入您的图表中,我会执行以下操作:
% arara: lualatex
\documentclass{article}
\usepackage{tikz-cd}
\usepackage{mathtools}
\usepackage{unicode-math}
\begin{document}
\begin{tikzcd}[row sep = 8ex]
0 \arrow{r} & A_{n+1} \arrow{r} \arrow{d} & B_{n+1} \arrow{r} \arrow{d} & C_{n+1} \arrow{r} \arrow{d} & 0 \arrow{d} \\
& A_n \arrow{r} \arrow{d} & B_n \arrow{r} \arrow{d}{d_n} & C_n \arrow{r}{g_n} \arrow[swap]{d}{\substack{c\\[1.1\jot]\mapsdown\\[1.1\jot]0}} & 0 \arrow{d} \\
& A_{n-1} \arrow{r}{a} & B_{n-1} \arrow{r}{f_{n-1}} & C_{n-1} \arrow{r} & 0
\end{tikzcd}
\end{document}
答案4
继续使用 xy 包写入
\ar@{|->}[r]
@ 总是表示对箭头的一些修改。然后,在括号内{尾部、轴部、头部的修改}
但如果括号中只有一个符号,例如
\ar@{|}[r]
它会修改头部。
参见ftp://ctan.unsw.edu.au/tex-archive/macros/generic/diagrams/xypic/xy/doc/xyguide.pdf