如何旋转箭头上的标签xymatrix
?比如说,我希望标签文字与箭头平行?
\documentclass[12pt, a4paper]{article}% a minimal example
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[all]{xy}
\xyoption{pdf}
\begin{document}
\[
\xymatrix{
x\ar[d]^{looooooong}\\
y
}
\]
\end{document}
答案1
也许xy
有它自己的旋转支持,但我认为没有,但您可以使用标准 LaTeX 旋转:
\documentclass[12pt, a4paper]{article}% a minimal example
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern,graphicx}
\usepackage[all]{xy}
\xyoption{pdf}
\begin{document}
\[
\xymatrix{
x\ar[d]^{\rotatebox{90}{$\scriptstyle looooooong$}}\\
y
}
\]
\end{document}
答案2
您可以添加\xyoption{rotate}
。标签或任何对象的旋转说明出现在第 29 页XY-pic 参考手册。
\documentclass[12pt, a4paper]{article}% a minimal example
\usepackage[all]{xy}
\xyoption{rotate}
\xyoption{pdf}
\begin{document}
\[
\xymatrix{
x\ar[d]^[@!-90]{\scriptstyle looooooong}\\
y
}
\]
\end{document}
或者
\documentclass[12pt, a4paper]{article}% a minimal example
\usepackage[all]{xy}
\xyoption{rotate}
\xyoption{pdf}
\begin{document}
\[
\xymatrix{
x\ar[d]^[right]{\scriptstyle looooooong}\\
y
}
\]
\end{document}
答案3
如果您愿意使用tikz-cd
而不是xy
,您可以像对任何 TikZ 节点一样旋转标签。
% arara: pdflatex
\documentclass{article}
\usepackage{tikz-cd}
\usepackage{mathtools} % for the \text{} command
\begin{document}
\[
\begin{tikzcd}
x \ar{d}[%
,rotate=+90 % counter clockwise rotation
,below % attach label to the right of the arrow
,yshift=-0.3ex % optional for movement to the right.
]{\text{looooooong}}\\
y
\end{tikzcd}
\]
\end{document}
更新
在评论中,您要求为旋转标签提供自动解决方案。在中完成tikz-cd
,这可能看起来像这样:
% arara: pdflatex
\documentclass{article}
\usepackage{tikz-cd}
\tikzset{mystyle/.style={sloped, anchor=south}}
\usepackage{mathtools} % for the \text{} command
\begin{document}
\[
\begin{tikzcd}[every label/.append style={mystyle}]
\bullet & \bullet & \bullet\\
\bullet & x \ar{ul}{xy} \ar{u}{xy} \ar{ur}{xy} \ar{l}{xy} \ar{r}{xy} \ar{dl}{xy} \ar{d}{\text{looooooong}} \ar{dr}{xy} & \bullet\\
\bullet & y & \bullet
\end{tikzcd}
\]
\end{document}
我认为,每个标签都应该从右侧或下方可读。因此,every label/.append style={mystyle}
我不会使用整个图像,\ar{ul}[mystyle]{xy}
而是为任何箭头编写,并使用我的第一个解决方案来处理向下箭头的情况。