在 xypic 中旋转标签

在 xypic 中旋转标签

如何旋转箭头上的标签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}而是为任何箭头编写,并使用我的第一个解决方案来处理向下箭头的情况。

相关内容