使用 floatrow 将三张图片垂直对齐在顶部,并使用最高的高度

使用 floatrow 将三张图片垂直对齐在顶部,并使用最高的高度

我正在使用以下 LaTeX,尝试将 3 幅图像对齐到顶部

\documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[top=2cm, bottom=1.8cm, left=3cm, right=3cm]{geometry}
\usepackage[pdftex]{graphicx}
\usepackage[english]{babel}
\usepackage{url, floatrow, caption, fancyhdr, pifont, adjustbox, array, longtable, tikz}
\usepackage[toc, page]{appendix}

\floatsetup{heightadjust=object}

\newcolumntype{R}[2]{%
    >{\adjustbox{angle=#1,lap=\width-(#2)}\bgroup}%
    l%
    <{\egroup}%
}

\newcommand*\rot{\multicolumn{1}{R{45}{1em}}}%

\renewcommand{\arraystretch}{1.5}
\newcommand{\cmark}{\ding{51}}

\begin{document}

\begin{figure}[!ht]
    \centering
    \begin{floatrow}
      \ffigbox[\FBwidth]{\caption{Dummy figure}\label{fig:dummy-1}}{%
        \includegraphics[width=0.33\textwidth]{old_engine/paper1.png}
      }
      \ffigbox[\FBwidth]{\caption{Dummy figure}\label{fig:dummy-2}}{%
        \includegraphics[width=0.33\textwidth]{old_engine/paper2.png}
      }
      \ffigbox[\FBwidth]{\caption{Dummy figure}\label{fig:dummy-3}}{%
        \includegraphics[width=0.33\textwidth]{old_engine/paper3.png}
      }
    \end{floatrow}
\end{figure}

\end{document}

然而,它的行为相当奇怪(三幅图像都被裁剪,顶部没有空白)。

  1. 第一张图片被往下推了一点
  2. 第三张图片是经过标题的

我想要的是 floatrow 获取“最高”图像的高度,其中每个图像都被剪辑到其 ffigbox 的顶部。

在此处输入图片描述

编辑

应该是这样的..然而它是完全相同的代码,只是图像不同。如何使用 LATEX??

在此处输入图片描述

答案1

\rule{}{}用你的改变我的\includegraphics[]{}

\documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[top=2cm, bottom=1.8cm, left=3cm, right=3cm]{geometry}
\usepackage[pdftex]{graphicx}
\usepackage[english]{babel}
\usepackage{url, floatrow, caption, fancyhdr, pifont, adjustbox, array, longtable, tikz}
\usepackage[toc, page]{appendix}

\floatsetup{heightadjust=object}

\newcolumntype{R}[2]{%
    >{\adjustbox{angle=#1,lap=\width-(#2)}\bgroup}%
    l%
    <{\egroup}%
}

\newcommand*\rot{\multicolumn{1}{R{45}{1em}}}%

\renewcommand{\arraystretch}{1.5}
\newcommand{\cmark}{\ding{51}}

\begin{document}

\begin{figure}[!ht]
\centering
\begin{floatrow}
  \ffigbox[\FBwidth][\FBheight][t]{\caption{Dummy figure}\label{fig:dummy-1}}{%
    \rule{0.33\textwidth}{80pt}
  }
  \ffigbox[\FBwidth][\FBheight][t]{\caption{Dummy figure}\label{fig:dummy-2}}{%
    \rule{0.33\textwidth}{200pt}
  }
  \ffigbox[\FBwidth][\FBheight][t]{\caption{Dummy figure}\label{fig:dummy-3}}{%
    \rule{0.33\textwidth}{120pt}
  }
\end{floatrow}
\end{figure}

\end{document}

答案2

我遇到了同样的问题,但使用的是subfloatrow。经过大量的实验和随机的代码更改,我了解到以下情况:只有当第三幅图像的高度最大时,才会出现此问题。我发现的唯一解决方案是手动设置所有三个 的高度ffigbox。不幸的是,高度无法自动检测。不过,也许可以自动计算填充。在示例中,它是20px

\documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{floatrow, caption, adjustbox}


\floatsetup{heightadjust=object}

\begin{document}
\begin{figure}[!ht]
\centering
\begin{floatrow}
  \ffigbox[\FBwidth][220pt][t]{\caption{Dummy figure}\label{fig:dummy-1}}{%
    \rule{0.33\textwidth}{80pt}
  }
  \ffigbox[\FBwidth][220pt][t]{\caption{Dummy figure}\label{fig:dummy-2}}{%
    \rule{0.33\textwidth}{120pt}
  }
  \ffigbox[\FBwidth][220pt][t]{\caption{Dummy figured}\label{fig:dummy-3}}{%
    \rule{0.33\textwidth}{200pt}
  }
\end{floatrow}
\end{figure}

\end{document}

相关内容