LaTeX技巧925:怎样让水平排列两个子图垂直方向居中同时标题也垂直方向对齐?

如题,在下的代码:

\documentclass{article}

\usepackage{tikz}
\usepackage{caption}
\usepackage{subcaption}

\begin{document}
\begin{figure}[!ht]
	\centering
	\begin{subfigure}[c]{0.4\linewidth}
		\centering
		\begin{tikzpicture}
		\draw (0,0) circle [radius=1];
		\end{tikzpicture}
		\subcaption{Caption a}
	\end{subfigure}
	\begin{subfigure}[c]{0.4\linewidth}
		\centering
		\begin{tikzpicture}
		\draw (0,0) circle [radius=2];
		\end{tikzpicture}
		\subcaption{Caption b}
	\end{subfigure}
	\caption{Caption}
\end{figure}
\end{document}

效果是这样的,子图 (a) 的标题比子图 (b) 高出一截:想要达到差不多这么个效果:刘海洋回复:在可能的情况下,那样用现成的 floatrow 宏包是最方便的。如果条件不允许,才需要看下面的内容。子图的内容居中但子标题不居中,那么我直观地想到两种思路:

  • 让两个子图的内容物高度一致,然后让这个内容物里面图形垂直居中。

  • 把两个子图和子图标题分别放进 2x2 的表格中,这样很容易控制垂直对齐。

前一种方式写起来比较直接,只是需要手工指定子图内容物的高度(floatrow 宏包是通过计算,在第二次编译时得到这个高度的)。后一种方式是控制对齐的「正统」方式,但要在此基础上控制子标题样式、间距之类,则可能麻烦一点。

\documentclass{article}
\usepackage{floatrow}
\usepackage{caption}
\DeclareCaptionSubType[alph]{figure}
\floatsetup[subfigure]{style=plain,heightadjust=object}
\begin{document}
\begin{figure}[!htb]
\ffigbox[\FBwidth]{%
\begin{subfloatrow}
\ffigbox[\FBwidth]{\caption{dummy 1}}{\rule{3cm}{4cm}}
\ffigbox[\FBwidth]{\caption{dummy 2}}{\rule{4cm}{3cm}}%
\end{subfloatrow}}
{\caption{dummy}}
\end{figure}
\end{document}

第二种方式:

\documentclass{article}

\usepackage{tikz}
\usepackage{subcaption}

\begin{document}
\begin{figure}[!ht]
  \centering
  \begin{subfigure}{.4\linewidth}
    \parbox[][4cm][c]{\linewidth}{% 手工指定高度、内容对齐
      \centering
      \tikz\draw circle(1);}
    \subcaption{small}
  \end{subfigure}
  \begin{subfigure}{.4\linewidth}
    \parbox[][4cm][c]{\linewidth}{% 手工指定高度、内容对齐
      \centering
      \tikz\draw circle(2);}
    \subcaption{large}
  \end{subfigure}
  \caption{circle}
\end{figure}
\end{document}

选自:https://www.zhihu.com/question/63029836/answer/204584525

分享到:
未经允许不得转载:LaTeX技巧925:怎样让水平排列两个子图垂直方向居中同时标题也垂直方向对齐?
已有 条意见

    最新文章

    加载中...
      本站提供专业LaTeX排版、咨询、定制服务,请点击下图咨询详情


      全国首个精品的LaTeX视频教程,大牛带着你入门,让LaTeX学习不再纠结,请点击下图咨询详情

      热门评论

        联系我们

        交流QQ群:91940767
        本站QQ号:343083553
        邮箱联系latexstudio@qq.com
        淘宝店铺latexstudio.taobao.com 提供排版,模板定制,培训,图片处理,视频教程等LaTeX服务。

        关注微信公众号: latex2015

        如果您投稿或者希望加入我们团队,请发送您的简历到latexstudio@qq.com。

        科技艺术的完美融合,专业精致的排版体验

        联系我们联系我们