我怎样才能将两个图形并排放置以使其看起来美观?对于将两个图形并排放置,我在另一个问题中找到了下面的解决方案,但是,我希望将两个图形稍微向左移动一点,以便它们在文本行的左侧和右侧均匀突出,而不是仅在右侧突出。
另外,水平对齐这两个图的最佳方法是什么?我能想到的办法就是让左边图的标题比右边图的标题长,这样它就能将图表向上推。
这是我的代码:
\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]
显示图形如何相对于页边距居中,在实际文档中,您不需要它。
其次,对于并排放置图形,您有几种选择,每种选择都有其优点和缺点:
- 使用
minipage
包subcaption
为每个添加标题minipage
- 使用
subfig
选项丰富且具有\captionsetup
命令的包可以轻松控制输出。 - 使用
floatrow
专为这些目的设计的包 - 使用/ packages
captionof
中的命令。caption
subcation
第一个选项(minipage
)需要手动调整宽度,此外,对齐具有不同标题长度的图形也非常困难。
第三个选项(floatrow
)对字幕设置有一些限制
第四个选项有一些交叉引用的问题
在我看来,第二个选项是最好的选择。它不需要手动调整宽度,而是使用图形的自然宽度,并且适用于不同宽度和/或高度的图形。此外,使用\captionsetup
命令我们可以控制标题的外观,并且不需要包caption
。
第三,为了使两个图形相对于页边距居中,我们可以使用\makebox
中的命令graphicx
。本质上,\makebox[\textwidth]
使框仅\textwidth
宽(无论实际宽度是多少),这也可以避免“Overfull hbox”错误。 的第二个可选参数\makebox
用于将其对齐到中心。我是从对的回答中得到这个想法的这个问题。
实现相同目的的另一个选择是使用该adjustbox
包,它具有许多可供使用的对齐选项。