垂直对齐子图标题

垂直对齐子图标题

我正在使用 IEEETrans 和推荐的 subfig 包。我在子图中有 tikz 图形,我真的希望它们通过其顶部边界框对齐(以便节点对齐)。

问题是,当我这样做时,字幕不再对齐(参见 MWE)。我怎么才能鱼与熊掌兼得呢?

梅威瑟:

\documentclass\[journal,compsoc,onecolumn,draftclsnofoot\]{IEEEtran}

\ifCLASSOPTIONcompsoc
\usepackage\[caption=false,font=normalsize,labelfon
t=sf,textfont=sf\]{subfig}
\else
\usepackage\[caption=false,font=footnotesize\]{subfig}
\fi

\usepackage{tikz}
\usetikzlibrary{positioning,shapes,arrows,calc,patterns,matrix,backgrounds,chains}

\begin{document}
    \begin{figure*}
        \subfloat\[A\]{
\begin{tikzpicture}\[baseline=(current bounding box.north)\]
\matrix (m)\[matrix of nodes\]
{
    a\\
};
\end{tikzpicture}           
}
        \subfloat\[B\]{
\begin{tikzpicture}\[baseline=(current bounding box.north)\]
\matrix (m)\[matrix of nodes\]
{
    a\\
    b\\
    c\\
    d\\
    e\\
};
\end{tikzpicture}
        }

    \end{figure*}
\end{document}]

生成的输出:

答案1

以下是 Werner 最初在此处发布的解决方案的修改版本:在图形*环境中垂直对齐不同尺寸的图像

\documentclass[journal,compsoc,onecolumn,draftclsnofoot]{IEEEtran}

\ifCLASSOPTIONcompsoc
\usepackage[caption=false,font=normalsize,labelfont=sf,textfont=sf]{subfig}
\else
\usepackage[caption=false,font=footnotesize]{subfig}
\fi

\usepackage{tikz}
\usetikzlibrary{positioning,shapes,arrows,calc,patterns,matrix,backgrounds,chains}

\begin{document}

\newsavebox{\myimage}   
\begin{figure*}
 \centering
 \savebox{\myimage}{%
    \begin{tikzpicture}
    \matrix (m)[matrix of nodes]
    {
    a\\
    b\\
    c\\
    d\\
    e\\
    };
    \end{tikzpicture}
 } % Store largest image
  \subfloat[A]{\raisebox{\dimexpr\ht\myimage-\height\relax}{%
    \begin{tikzpicture}
    \matrix (m)[matrix of nodes]
    {
    a\\
    };
    \end{tikzpicture}
    }} \quad
  \subfloat[B]{\usebox{\myimage}}
  \caption{This is a figure.}
\end{figure*}
\end{document}

在此处输入图片描述

相关内容