我曾尝试使用 创建一些图表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
它更容易学习。