代码:

代码:

我目前有一个使用子图的图表,如下所示:

\begin{figure}[!htbp]        
        \centering
        \begin{subfigure}[b]{0.3\textwidth}
                \centering
                \includegraphics[width=3.5cm]{figure1.eps}
                \caption{}
        \end{subfigure}%
        \begin{subfigure}[b]{0.3\textwidth}
                \centering
                \includegraphics[width=3.5cm]{figure2.eps}
                \caption{}
        \end{subfigure}%       
        \begin{subfigure}[b]{0.3\textwidth}
                \centering
                \includegraphics[width=3.5cm]{figure3.eps}
                \caption{}
        \end{subfigure}%
        \begin{subfigure}[b]{0.3\textwidth}
                \centering
                \includegraphics[width=3.5cm]{figure4.eps}
                \caption{}
        \end{subfigure}%
        \FigureCaptionOpt{caption}{captionCopy}
\end{figure}

您可能已经注意到,它溢出了文本,因为每张图片都是这样,0.3\textwidth而且有 4 张图片。现在,整个内容没有居中,而是与左边距对齐,并且溢出了右边距。本质上,我想将其向左移动,以便它以相同的量溢出两个边距,同时保持我在上面的命令中指定的大小。

答案1

您可以adjustwidthchangepage包裹

 \begin{adjustwidth}{<left margin offset>}{<right margin offset>}     

我在下面的 MWE 中进行了演示:

截屏

我加载了该geometryshowframe=true只是为了演示,并且由于我没有您的图像所以删除了demo该包的选项以用于实际文档。graphicx

\documentclass{article}

\usepackage[showframe=true]{geometry}
\usepackage[demo]{graphicx}
\usepackage{subcaption}
\usepackage{changepage}

\begin{document}
\begin{figure}[!htbp] 
            \begin{adjustwidth}{-1cm}{1cm}     
        \centering
        \begin{subfigure}[b]{0.3\textwidth}
                \centering
                \includegraphics[width=3.5cm]{figure1.eps}
                \caption{}
        \end{subfigure}%
        \begin{subfigure}[b]{0.3\textwidth}
                \centering
                \includegraphics[width=3.5cm]{figure2.eps}
                \caption{}
        \end{subfigure}%       
        \begin{subfigure}[b]{0.3\textwidth}
                \centering
                \includegraphics[width=3.5cm]{figure3.eps}
                \caption{}
        \end{subfigure}%
        \begin{subfigure}[b]{0.3\textwidth}
                \centering
                \includegraphics[width=3.5cm]{figure4.eps}
                \caption{}
        \end{subfigure}%
        \end{adjustwidth}
        \caption{My caption}
\end{figure}

\end{document}

答案2

我使用该软件包取得了很大的成功subfig。我的使用方法如下:

\begin{figure}[htbp]
    \centering
    \subfloat[][Caption a\label{fig:subfiga}]{\includegraphics[width=FOO]{imagea.eps}}
    \qquad
    \subfloat[][Caption b\label{fig:subfigb}]{\includegraphics[width=FOO]{imageb.eps}}
    \\
    \subfloat[][Caption c\label{fig:subfigc}]{\includegraphics[width=FOO]{imagec.eps}}
    \qquad
    \subfloat[][Caption d\label{fig:subfigd}]{\includegraphics[width=FOO]{imaged.eps}}
    \caption{Main Caption}
    \label{fig:MainLabel}
\end{figure}

注意我使用\qquad来分隔和\\强制换行。您可以尝试如何分隔和拆分图像,但这应该会给您一个良好的开端。请注意,每行都居中,因此在本例中,“image \qquad image”居中。

希望这可以帮助!

答案3

无需任何额外的包,你可以用\makebox它来欺骗 latex:

\makebox[0pt][c]{<content>}

代码:

\documentclass{article}

\usepackage[showframe=true]{geometry}
\usepackage[demo]{graphicx}
\usepackage{subcaption}
%\usepackage{changepage}

\begin{document}

\begin{figure}[!htbp] 
%            \begin{adjustwidth}{-1cm}{1cm}     
        \centering
\makebox[0pt][c]{%
        \begin{subfigure}[b]{0.3\textwidth}
                \centering
                \includegraphics[width=3.5cm]{figure1.eps}
                \caption{}
        \end{subfigure}%
        \begin{subfigure}[b]{0.3\textwidth}
                \centering
                \includegraphics[width=3.5cm]{figure2.eps}
                \caption{}
        \end{subfigure}%       
        \begin{subfigure}[b]{0.3\textwidth}
                \centering
                \includegraphics[width=3.5cm]{figure3.eps}
                \caption{}
        \end{subfigure}%
        \begin{subfigure}[b]{0.3\textwidth}
                \centering
                \includegraphics[width=3.5cm]{figure4.eps}
                \caption{}
        \end{subfigure}%
        }
%        \end{adjustwidth}
        \caption{My caption}
\end{figure}


\end{document}

在此处输入图片描述

相关内容