LaTeX:\bordermatrix 在子图中创建矩阵上方的边距

LaTeX:\bordermatrix 在子图中创建矩阵上方的边距

我想\bordermatrix在 a 中有一个环境subfigure来显示关联图(这是一个tikzpicture- 我确信它与问题无关)和关联矩阵之间的对应关系。这两个图彼此相邻(如预期的那样),但数学环境在上面创建了一个(巨大的)空白(边距)。请参阅下面的代码和屏幕截图。

\begin{figure}
  \centering 

  \subfigure[bipartiter Inzidenzgraph\newline (\emph{bipartite Anordnung})]{
    \fbox{
      \plotungerichteterHGInzidenzBipartit % a tikzpicture
    }
  }

  \subfigure[Inzidenzmatrix] {
    \fbox{
      \resizebox{4cm}{!}{
        $\bordermatrix{
          &v_1&v_2&v_3 &v_4&v_5  \cr
          e_1& 1 & 1 & 0 & 1 & 1 \cr
          e_2& 1 & 1 & 1 & 0 & 0 \cr
          e_3& 0 & 0 & 1 & 0 & 1  \cr
          e_4& 0 & 0 & 0 & 1 & 0}$
      }
    }
  }

  \caption[Darstellungsformen eines Hypergraphen]{Darstellungsformen eines Hypergraphen}
  \label{fig:ungerichteterHG}
\end{figure}

如您所见,我添加了 fbox 以显示图形的范围符合预期。这些以及 resizebox 都不是问题(我删除了它们,问题依然存在)。

相邻的子图

实际上,在上面的代码中,子图之间没有换行符,因此它们彼此相邻。但有趣的是,如果我将矩阵放在子图下方(通过添加新行),我将得到以下结果,正如您所见,这个神秘的空白消失了:

子图 1 位于子图 2 之上 - 没有空格

那么,为什么只有当我将它们彼此相邻放置时,矩阵上方才会有空白,但是如果我将它们彼此重叠放置,则一切都如预期的那样?

答案1

这是因为\bordermatrix命令将其内容沿数学轴垂直居中。换句话说,您会注意到\bordermatrix第 2 行和第 3 行之间的 - 的垂直中心是“锚点”所在的位置,它与 的基线锚点重合tikzpicture

以下是您可能追求的最新观点:

在此处输入图片描述

\documentclass{article}
\usepackage{subfigure,graphicx}% http://ctan.org/pkg/{subfigure,graphicx}
\begin{document}

\begin{figure}
  \centering 
  \subfigure[bipartiter Inzidenzgraph\newline (\emph{bipartite Anordnung})]{
    \fbox{%
      \rule{0.3\linewidth}{100pt}% a tikzpicture
    }
  }
  \subfigure[Inzidenzmatrix] {
    \raisebox{.5\height}{\fbox{%
      \resizebox{4cm}{!}{%
        $\bordermatrix{
          &v_1&v_2&v_3 &v_4&v_5  \cr
          e_1& 1 & 1 & 0 & 1 & 1 \cr
          e_2& 1 & 1 & 1 & 0 & 0 \cr
          e_3& 0 & 0 & 1 & 0 & 1  \cr
          e_4& 0 & 0 & 0 & 1 & 0}$
      }%
    }}
  }

  \caption{Darstellungsformen eines Hypergraphen}
  \label{fig:ungerichteterHG}
\end{figure}

\end{document}

我所做的修正是将\bordermatrix其高度提高 50%,从而将“锚点”置于基线。

一些注意事项:

  • subfigure已过时。使用subfig或者caption包,它提供了类似的支持。
  • %并且它们在 TeX 文件中的位置很重要。因此,您有一些虚假的空格。我已在上面更新了它们(尽管由于使用 ,它们可能不是必需的\fbox)。有关参考,请参阅%行末百分号 ( ) 有什么用?

附言:我使用黑框来表示tikzpicture,因为您没有将其包含在代码中。

相关内容