使用 xymatrix 的丑陋对角箭头

使用 xymatrix 的丑陋对角箭头

我曾尝试使用 创建一些图表xymatrix。但是,我遇到的问题是斜箭头看起来不太好 - 它们不平滑,并且类似于光栅图形而不是矢量图形。我在使用 pdfLaTeX 以及 LaTeX + dvips 时遇到了同样的问题。

这是我的代码:

\documentclass{article}
\usepackage[utf8]{inputenc}                                    
\usepackage[T1]{fontenc}
\usepackage[all,cmtip]{xy}
\begin{document}
\begin{displaymath}
\xymatrixcolsep{5pc}\xymatrix{& & A & \\ B \ar[r] \ar[urr] & C \ar[r] & D \ar[r] \ar[u] & E 
}
\end{displaymath}
\end{document}

urr-arrow 看起来不太好。我想知道这个问题是否可以解决,因为,例如,在这个文件演示了 xymatrix 的使用,没有发现类似问题的迹象。提前谢谢您。

答案1

使用最新的 TeX 发行版,无需执行任何操作即可获得绘制斜箭头的驱动程序支持。所以我怀疑你使用的是旧版本的xy

您也可以尝试tikz-cd。我展示了两个输出。

\documentclass{article}
\usepackage[utf8]{inputenc}                                    
\usepackage[T1]{fontenc}
\usepackage[all,cmtip]{xy}
\usepackage{tikz-cd}
\begin{document}
\begin{displaymath}
\xymatrixcolsep{5pc}
\xymatrix{
  & & A & \\ 
  B \ar[r] \ar[urr] & C \ar[r] & D \ar[r] \ar[u] & E 
}
\end{displaymath}

\[
\begin{tikzcd}[column sep=5pc]
  {} & {} & A \\
  B \arrow{rru}{} \arrow{r}{} &
  C \arrow{r}{} &
  D \arrow{r}{} \arrow{u}{} & E
\end{tikzcd}
\]
\end{document}

在此处输入图片描述

答案2

如果您考虑使用TikZ,您可能会获得更好的结果,而无需安装单独的字体。

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
   \begin{tikzpicture}
      \matrix[matrix of math nodes,column sep=5pc,row sep=3em]
      {
                 &         & |(A)| A &            \\
         |(B)| B & |(C)| C & |(D)| D & |(E)| E    \\
      };
      \begin{scope}[->]
         \draw (B) -- (C);
         \draw (B) -- (A);
         \draw (C) -- (D);
         \draw (D) -- (E);
         \draw (D) -- (A);
      \end{scope}
   \end{tikzpicture}
\end{document}

示例输出

对于矩阵,TikZ语法可以像 一样密集xymatrix。但是,从长远来看,我发现TikZ它更容易学习。

相关内容