使用子图环境的多个子图

使用子图环境的多个子图

当我编译附加的代码时,我发现:(a) 图形未居中 (b) 子图重叠 (c) 标题重复。由于我是新用户,我无法包含 .tikz 文件。但是,我相信以 fig.tikz 格式保存并与附加代码片段以及 matlab2tikz mfile 包含在同一个目录中的任何其他图形都应该可以很好地演示该问题。

\documentclass{report}
    \usepackage{subcaption}
    \usepackage{tikz,pgfplots}
    \usepackage{epsfig}
    \begin{document}
    \newlength\figureheight 
    \newlength\figurewidth 
    \begin{figure}
    \centering
    \begin{subfigure}{.2\linewidth}
        \centering
        \setlength\figureheight{4cm} 
        \setlength\figurewidth{4cm}
        \input{fig.tikz} \caption{(a) Fig 1}
    \end{subfigure}
    \hspace{1cm}
    \begin{subfigure}{.2\linewidth}
        \centering      
        \setlength\figureheight{4cm} 
        \setlength\figurewidth{4cm}         
        \input{fig.tikz} \caption{(b) Fig 2}
    \end{subfigure}\\
    \vspace{1cm}    
    \begin{subfigure}{.2\linewidth}
        \centering                  
        \setlength\figureheight{4cm} 
        \setlength\figurewidth{4cm}         
        \input{fig.tikz} \caption{(c) Fig 3}
    \end{subfigure}
    \begin{subfigure}{.2\linewidth}
        \centering              
        \setlength\figureheight{4cm} 
        \setlength\figurewidth{4cm}         
        \input{fig.tikz} \caption{(d) Fig 4}
    \end{subfigure}
    \end{figure}
    \end{document}

答案1

您提出了矛盾的要求:您允许.2\linewidth子图有(约 69pt)的大小,但又希望它们的宽度为 4cm(约 114pt)。

看看下面的例子(我使用了\test来代替你的只是为了显示\input结果)demographicx

\documentclass{report}
\usepackage{subcaption}
\usepackage[demo]{graphicx}
\usepackage{tikz,pgfplots}

\newcommand{\test}{\includegraphics[width=\figurewidth,height=\figureheight]{x}}

\newlength\figureheight 
\newlength\figurewidth 

\begin{document}

\begin{figure}
\centering
\begin{subfigure}{.3\linewidth}
  \centering
  \setlength\figureheight{\linewidth} 
  \setlength\figurewidth{\linewidth}
  \test \caption{Fig 1}
\end{subfigure}%
\hspace{1cm}%
\begin{subfigure}{.3\linewidth}
  \centering
  \setlength\figureheight{\linewidth}
  \setlength\figurewidth{\linewidth}
  \test \caption{Fig 2}
\end{subfigure}\\
\vspace{1cm}
\begin{subfigure}{4cm}
  \centering
  \setlength\figureheight{4cm}
  \setlength\figurewidth{4cm}
  \test \caption{Fig 3}
\end{subfigure}
\begin{subfigure}{4cm}
  \centering
  \setlength\figureheight{4cm}
  \setlength\figurewidth{4cm}
  \test \caption{Fig 4}
\end{subfigure}
\end{figure}
\end{document}

在第一行中,正方形填满了所有可用的空间(\linewidth指的是当前的行宽,在subcaption环境中,它是您为其保留的行宽)并且它们之间有 1 厘米的间隔(请注意注释%以屏蔽行尾)。在第二行中,方块宽为 4 厘米,由正常的单词间间隔分隔。

您不需要(a)在标题中指定等等,因为它们是自动提供的。

在此处输入图片描述

相关内容