有人能帮我在 psmatrix 中生成两个重叠的框吗?我需要的是一个从 {3,3} 到 {8,8} 的 ncbox 和一个从 {3,3} 到 {3,8} 的 ncbox。我知道可以将它们绘制在单独的图中,但我无法将它们放在同一个 psmatrix 中。
\documentclass[12pt,oneside,english]{book}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{geometry}
\geometry{verbose,tmargin=3cm,bmargin=3cm,lmargin=3cm,rmargin=3cm}
\pagestyle{plain}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\usepackage{float}
\usepackage{amsmath,qtree, amssymb, amsthm, graphicx,graphics, makeidx,esint,bm,pstricks,pst-node,pst-tree}
\begin{document}
\begin{figure}[H]
\begin{align*}
\psmatrix[colsep=0.7cm,rowsep=0.15cm]
\cdot \\
\cdot & \cdot \\
\cdot & \cdot & \cdot \\
\cdot & \cdot & \cdot & \cdot \\
\cdot & \cdot & \cdot & \cdot & \cdot \\
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot \\
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot \\
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot
\ncbox[nodesep=.25cm,boxsize=.25,linearc=.2]{3,3}{8,8}
\endpsmatrix
\end{align*}\caption{\label{fig:equal sets in matrix}}
\end{figure}
\end{document}
答案1
它与 无关psmatrix
。这是未定义数组或表格单元格的问题,并且您在使用 时也会遇到水平线长度的相同问题\hline
。当您使用\\
前你已经定义全部在一行中定义列,则某些单元格默认未定义。在第三行中定义所有单元格,一切都会正常:
\documentclass{book}
\usepackage{amsmath,pst-node}
\begin{document}
\begin{align*}
\psmatrix[colsep=0.7cm,rowsep=0.15cm]
\cdot \\
\cdot & \cdot \\
\cdot & \cdot & \cdot & & & & &\\ % define all cells!
\cdot & \cdot & \cdot & \cdot \\
\cdot & \cdot & \cdot & \cdot & \cdot \\
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot \\
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot \\
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot
\ncbox[nodesep=.25cm,boxsize=.25,linearc=.2,
fillstyle=solid,fillcolor=red!30]{3,3}{8,8}
\ncbox[nodesep=.25cm,boxsize=.25,linearc=.2,
fillstyle=solid,fillcolor=blue!50,opacity=0.5]{3,3}{3,8}
\endpsmatrix
\end{align*}
\end{document}