如何将两个图形并排放置并居中

如何将两个图形并排放置并居中

在此处输入图片描述

我怎样才能将两个图形并排放置以使其看起来美观?对于将两个图形并排放置,我在另一个问题中找到了下面的解决方案,但是,我希望将两个图形稍微向左移动一点,以便它们在文本行的左侧和右侧均匀突出,而不是仅在右侧突出。

另外,水平对齐这两个图的最佳方法是什么?我能想到的办法就是让左边图的标题比右边图的标题长,这样它就能将图表向上推。

这是我的代码:

  \begin{figure}[!tbp]
  \centering
  \begin{minipage}[b]{0.4\textwidth}
    \scalebox{.9}{\input{./graf/LVQ.tex}}
    \caption{Caption Figure 4}
  \end{minipage}
  \hfill
  \begin{minipage}[b]{0.4\textwidth}
   \scalebox{.55}{\input{./graf/baselinererun.tex}}
    \caption{Caption Figure 5}
  \end{minipage}
\end{figure}

答案1

有很多方法可以将两个图形并排放置。请参阅这个问题以及其中的答案,例如。

以下是使用该subfig包的解决方案:

\documentclass[12pt,a4paper]{article}
\usepackage[demo]{graphicx}
\usepackage[margin=1in,showframe]{geometry}

\usepackage{subfig}
\renewcommand{\thesubfigure}{Figure \arabic{subfigure}}
\captionsetup[subfigure]{labelformat=simple, labelsep=colon}
\begin{document}

\begin{figure}[!tbp]
  \makebox[\textwidth][c]{%
  \subfloat[Caption Figure 1]{\scalebox{1.7}{\includegraphics{fig4}}\label{fig:f4}}
  \quad
  \subfloat[Caption of Figure 2 which should be so long to se if the two captions are not equal in length]{\scalebox{1.7}{\includegraphics{fig5}}\label{fig:f5}}
  }
\end{figure}

\end{document}

在此处输入图片描述

细节

首先,确保图形使用相同的字体大小、线宽等,正如@prettygully 在评论中指出的那样,以查看解决方案是否有效。

我使用[demo]选项graphicx插入足够宽的虚拟图形,在文档中使用实际图形。此外,我使用geometry包选项[showframe]显示图形如何相对于页边距居中,在实际文档中,您不需要它。

其次,对于并排放置图形,您有几种选择,每种选择都有其优点和缺点:

  • 使用minipagesubcaption为每个添加标题minipage
  • 使用subfig选项丰富且具有\captionsetup命令的包可以轻松控制输出。
  • 使用floatrow专为这些目的设计的包
  • 使用/ packagescaptionof中的命令。captionsubcation

第一个选项(minipage)需要手动调整宽度,此外,对齐具有不同标题长度的图形也非常困难。

第三个选项(floatrow)对字幕设置有一些限制

第四个选项有一些交叉引用的问题

在我看来,第二个选项是最好的选择。它不需要手动调整宽度,而是使用图形的自然宽度,并且适用于不同宽度和/或高度的图形。此外,使用\captionsetup命令我们可以控制标题的外观,并且不需要包caption

第三,为了使两个图形相对于页边距居中,我们可以使用\makebox中的命令graphicx。本质上,\makebox[\textwidth]使框仅\textwidth宽(无论实际宽度是多少),这也可以避免“Overfull hbox”错误。 的第二个可选参数\makebox用于将其对齐到中心。我是从对的回答中得到这个想法的这个问题

实现相同目的的另一个选择是使用该adjustbox包,它具有许多可供使用的对齐选项。

相关内容