为什么我使用 psmatrix 会得到这个输出?

为什么我使用 psmatrix 会得到这个输出?

我正在尝试使用该包绘制一些图形psmatrix。除了左下方的圆圈外,输出与预期一致。起初我以为它是空节点(第 4 行,第 1 列),没有内容,但如果我删除边缘的代码,它就会消失。是什么导致了这个“故障”?

在此处输入图片描述

以下是代码:

\begin{center}
$
\psmatrix[colsep=1.5cm,rowsep=1cm,mnode=circle]
0 & 0 & 0 & 1 \\
1 & 1 & 1 & 0 \\
0 & 1 & 1 & 1 \\
& 0 & 1 & 0 \\
\ncline{->}{2,2}{1,2}
\ncline{->}{1,2}{1,1}
\ncline{->}{1,1}{2,1}
\ncline{->}{2,1}{3,1}
\ncline{->}{2,1}{3,1}
\ncline{->}{3,1}{3,2}
\ncline{->}{3,2}{4,2}
\ncline{->}{4,2}{4,3}
\ncline{->}{4,3}{4,4}
\ncline{->}{4,4}{3,4}
\ncline{->}{3,4}{2,4}
\ncline{->}{2,4}{1,4}
\ncline{->}{1,4}{1,3}
\ncline{->}{1,3}{2,3}
\ncline{->}{2,3}{3,3}%
\ncline[nodesep=5pt]{<->}{2,1}{2,2}
\ncline[nodesep=5pt]{<->}{2,2}{2,3}
\ncline[nodesep=5pt]{<->}{2,2}{3,2}
\ncline[nodesep=5pt]{<->}{3,2}{3,3}
\ncline[nodesep=5pt]{<->}{3,3}{4,3}
\ncline[nodesep=5pt]{<->}{3,3}{3,4}
\endpsmatrix$ 
\end{center}

以防万一,以下是序言:

\documentclass[a4paper, 11pt]{article}

\usepackage{graphicx}
\usepackage{graphics}
\usepackage{amsfonts}
\usepackage{color}
\usepackage{hyperref}
\usepackage{listings}
\usepackage{pstricks,pst-node,pst-tree,pstricks-add}

答案1

这是因为您用新的空行结束了 psmatrix。我借此机会删除了不必要的包:(graphics加载graphicx它)、colorpstricks加载xcolorpstrickspst-nodepstricks-add加载它们)。我添加auto-pst-pdf到编译中pdflatex。最后,我使用以下命令简化了代码foreach

\documentclass[a4paper, 11pt]{article}

\usepackage{graphicx}
\usepackage{amsfonts}
\usepackage{listings}
\usepackage{pst-tree,pstricks-add}
\usepackage{auto-pst-pdf} %% to compiile with pdflatex -shell-escape (TeX Live, MacTeX)
                                                 %% or pdflatex --enable-write18 (MiKTeX)
\usepackage{hyperref}

\begin{document}

  \[
    \begin{psmatrix}[colsep=1.5cm,rowsep=1cm,mnode=circle]
0 & 0 & 0 & 1 \\
1 & 1 & 1 & 0 \\
0 & 1 & 1 & 1 \\
& 0 & 1 & 0
%% horizontal arrows
\foreach \B/\E in{{1,2}/{1,1}, {1,4}/{1,3}, {3,1}/{3,2}, {4,2}/{4,3}, {4,3}/{4,4}}{\ncline[arrows=->, nodesep=5pt]{\B}{\E}}
%% vertical arrows
\foreach \B/\E in{{1,1}/{2,1}, {2,1}/{3,1}, {2,2}/{1,2}, {3,2}/{4,2}, {1,3}/{2,3}, {2,3}/{3,3}, {2,4}/{1,4}, {3,4}/{2,4}, {4,4}/{3,4}}%
{\ncline[arrows=->, nodesep=5pt]{\B}{\E}}
%% double arrows
\foreach \B/\E in{{2,1}/{2,2},{2,2}/{2,3},{2,2}/{3,2}, {3,2}/{3,3},{3,3}/{4,3},{3,3}/{3,4}}%
{\ncline[arrows=<->, nodesep=5pt]{\B}{\E}}
\end{psmatrix}
\]

\end{document} 

在此处输入图片描述

相关内容