我想要了解以下信息:
使用 xy-pic,如何避免下图中箭头尾部切断字母 I?xy-pic 中是否有缩短箭头的命令?
谢谢您的帮助。
\documentclass[a4paper]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage{dsfont}
\usepackage{rotating}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{mathrsfs}
\usepackage{eufrak}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{textcomp}
\usepackage{array}
\usepackage{graphicx}
\usepackage[pdftex]{color}
\usepackage{paralist}
\usepackage{ulem}
\usepackage{hyperref}
\usepackage[arrow, matrix, curve]{xy}
\usepackage{multirow}
\begin{document}
$\xymatrix@1{I\ar[r] \ar@{>->}[d]_f & K\otimes_R M \ar@{-->}[dl]\\ M^F & }$
\end{document}
答案1
我\mystrut
在 之前添加了一个自定义I
,在本例中\strut
是按 1.3 缩放的。但是,自定义支柱可以由\rule[depth]{0pt}{height}
所需尺寸的简单支柱组成。
\documentclass[a4paper]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage{dsfont}
\usepackage{rotating}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{mathrsfs}
\usepackage{eufrak}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{textcomp}
\usepackage{array}
\usepackage{graphicx}
\usepackage[pdftex]{color}
\usepackage{paralist}
\usepackage{ulem}
\usepackage{hyperref}
\usepackage[arrow, matrix, curve]{xy}
\usepackage{multirow}
\def\mystrut{\scalebox{1.3}{\strut}}
\begin{document}
$\xymatrix@1{\mystrut I\ar[r] \ar@{>->}[d]_f & K\otimes_R M \ar@{-->}[dl]\\ M^F & }$
\end{document}
答案2
带尾部的箭头对于 Xy-pic 来说是一个大问题,因为箭头宽度没有考虑尾部。
重叠的根源是@1
挤压图表的后缀。手册中的练习 14 提供了一种解决方法:
\documentclass[a4paper]{scrartcl}
\usepackage[arrow, matrix, curve,cmtip]{xy}
\newdir{ >}{{}*!/-8pt/@{>}} % exercise 14
\begin{document}
$\xymatrix@1{
I\ar[r] \ar@{ >->}[d]_f & K\otimes_R M \ar@{-->}[dl]\\
M^F
}$
\bigskip
$\xymatrix{
I\ar[r] \ar@{ >->}[d]_f & K\otimes_R M \ar@{-->}[dl]\\
M^F
}$
\end{document}
@1
注意省略时的区别。我使用了cmtip
,因为我无法忍受默认样式。
这与 相同tikz-cd
:
\documentclass[a4paper]{scrartcl}
\usepackage{tikz-cd}
\begin{document}
$\begin{tikzcd}
I\arrow{r}{} \arrow[swap,rightarrowtail]{d}{f} & K\otimes_R M \arrow[dash pattern=on 4pt off 3pt]{dl} \\
M^F
\end{tikzcd}$
\end{document}