如何正确地将 psmatrix 嵌套在 psmatrix 中(没有不需要的空间)

如何正确地将 psmatrix 嵌套在 psmatrix 中(没有不需要的空间)

我想在 内嵌套多个 psmatrix 环境psmatrix,这样外部的每个单元psmatrix本身又是一个 psmatrix。最终,我想使用 在这些内部矩阵内进行绘制pspicturebeamer如果相关的话,所有这些都在文档中。不幸的是,当嵌套 psmatrices 时,会以某种方式添加不必要的空间,导致外部psmatrix不再相对于页面正确居中。

\documentclass{beamer}
\usepackage[utf8x]{inputenc}
\usepackage{pstricks}
\usepackage{pst-node}
\newcommand\mycirc{\pspicture(.5,.5)\pscircle(.25,.25){.25}\endpspicture}
\newcommand\myframe{\pspicture(.5,.5)\psframe(.5,.5)\endpspicture}
\begin{document}
\begin{frame}{Properly centered}
\begin{center}
 \begin{psmatrix}
  A & B \\
  C & D
 \end{psmatrix}
 \end{center}
\end{frame}
\begin{frame}{Not centered}
\begin{center}
 \begin{psmatrix}[rowsep=2,colsep=2]
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]A1&A2\\A3&A4\end{psmatrix}&
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]B1&B2\\B3&B4\end{psmatrix}\\
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]C1&C2\\C3&C4\end{psmatrix}&
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]D1&D2\\D3&D4\end{psmatrix}
  \end{psmatrix}
 \end{center}
\end{frame}
\begin{frame}{Not centered - pspicture example}
\begin{center}
 \begin{psmatrix}[rowsep=2,colsep=2]
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]\mycirc&\mycirc\\ \mycirc&\mycirc\end{psmatrix}&
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]\myframe&\myframe\\ \myframe&\myframe\end{psmatrix}\\
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]\mycirc&\mycirc\\ \mycirc&\mycirc\end{psmatrix}&
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]\myframe&\myframe\\ \myframe&\myframe\end{psmatrix}
  \end{psmatrix}
 \end{center}
\end{frame}
\end{document}

我的问题是如何使 psmatrix 正确对齐。我pspicture在这里提到环境,以防有人对此有更优雅的解决方案。注意:作为一种解决方法,我使用非嵌套,psmatrix其中四个“块”之间的距离由额外的空列引入。请不要提出这一点。我更喜欢嵌入式解决方案,因为它允许更细粒度的定位。

在此先感谢所有花时间给我提示的人!

由 The Last Error 编辑

以下编辑尝试简化上面给出的 MWE。如果您不喜欢我的编辑,请随时回滚。

\documentclass[preview,border=12pt]{standalone}

\usepackage{pst-node}
\newcommand\mycirc{\pspicture(.5,.5)\pscircle(.25,.25){.25}\endpspicture}
\newcommand\myframe{\pspicture(.5,.5)\psframe(.5,.5)\endpspicture}

\begin{document}
\section{Properly centered}
\begin{center}
 \begin{psmatrix}
  A & B \\
  C & D
 \end{psmatrix}
 \end{center}

\section{Not centered}
\begin{center}
\fbox{%
 \begin{psmatrix}[rowsep=2,colsep=2,mcol=l]
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]A1&A2\\A3&A4\end{psmatrix}&
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]B1&B2\\B3&B4\end{psmatrix}\\
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]C1&C2\\C3&C4\end{psmatrix}&
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]D1&D2\\D3&D4\end{psmatrix}
  \end{psmatrix}}
 \end{center}

\section{Not centered - pspicture example}
\begin{center}
\fbox{%
 \begin{psmatrix}[rowsep=2,colsep=2]
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]\mycirc&\mycirc\\ \mycirc&\mycirc\end{psmatrix}&
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]\myframe&\myframe\\ \myframe&\myframe\end{psmatrix}\\
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]\mycirc&\mycirc\\ \mycirc&\mycirc\end{psmatrix}&
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]\myframe&\myframe\\ \myframe&\myframe\end{psmatrix}
  \end{psmatrix}}
 \end{center}

\end{document}

在此处输入图片描述

答案1

OP 在评论中坚持认为替代方法(不采用psmatrix)是不是\pspicture他正在寻找什么。而且我还没有调试“psmatrices”的嵌套。此外,无论我运行什么 MWE,我的尝试都因始终产生空白图像这一事实而受阻。

无论如何,\kern在输入外部时只需添加一个负数psmatrix,其他一切都从那里开始。使用 MWE 的实验表明,kern 的大小应等于colsep外部的值psmatrix

\documentclass[preview,border=12pt]{standalone}

\usepackage{pst-node}
\newcommand\mycirc{\pspicture(.5,.5)\pscircle(.25,.25){.25}\endpspicture}
\newcommand\myframe{\pspicture(.5,.5)\psframe(.5,.5)\endpspicture}

\begin{document}
\section{Properly centered}
\begin{center}
 \begin{psmatrix}
  A & B \\
  C & D
 \end{psmatrix}
 \end{center}

\section{Not centered}
\begin{center}
\fbox{\kern-2cm%
 \begin{psmatrix}[rowsep=2,colsep=2,mcol=l]
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]A1&A2\\A3&A4\end{psmatrix}&
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]B1&B2\\B3&B4\end{psmatrix}\\
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]C1&C2\\C3&C4\end{psmatrix}&
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]D1&D2\\D3&D4\end{psmatrix}
  \end{psmatrix}}
 \end{center}

\section{Not centered - pspicture example}
\begin{center}
\fbox{\kern-2cm% WITHOUT A VISUAL, DON'T KNOW IF AMOUNT IS CORRECT
 \begin{psmatrix}[rowsep=2,colsep=2]
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]\mycirc&\mycirc\\ \mycirc&\mycirc\end{psmatrix}&
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]\myframe&\myframe\\ \myframe&\myframe\end{psmatrix}\\
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]\mycirc&\mycirc\\ \mycirc&\mycirc\end{psmatrix}&
  \begin{psmatrix}[rowsep=0.5,colsep=0.5]\myframe&\myframe\\ \myframe&\myframe\end{psmatrix}
  \end{psmatrix}}
 \end{center}

\end{document}

在此处输入图片描述

答案2

使用嵌套的 是没有意义的psmatrix。不用它也可以简单地完成:

\documentclass{beamer}
\usepackage{pst-node}

\begin{document}
\begin{frame}{centered}
\begin{center}
\fbox{%
 \begin{psmatrix}[rowsep=0.5,colsep=0.5]
  A1&A2  &&& B1&B2 \\
  A3&A4  &&& B3&B4 \\[1cm]
  C1&C2  &&& D1&D2 \\
  C3&C4  &&& D3&D4
\end{psmatrix}}
\end{center}
\end{frame}

\end{document}

在此处输入图片描述

相关内容