subfig 包中的子标题问题

subfig 包中的子标题问题

这是我的第一个问题,所以我希望能正确地提出问题。我对 subfig 包的子标题有一个问题:子标题与左侧对齐,并且不如图形宽。我尝试将文档简化为基本内容或使用 \captionsetup[subfloat]{} 设置标题选项,但它不起作用,结果是一样的。我不知道如何让它工作,我也没有太多时间尝试其他解决方案。我附上了简化文档:

\documentclass[12pt]{book}      
\usepackage[T1]{fontenc}                
\usepackage[utf8]{inputenc}                 
\usepackage{indentfirst}                    

\usepackage[pdftex]{graphicx}       
\usepackage{caption}                    
\captionsetup[subfloat]{}
\usepackage{float}      
\usepackage{subfig} 

                        
\begin{document}

    \begin{figure}[p]
        %   
        \subfloat[PPL dolomite smithsonite calcite]{\label{2.JPG}} \includegraphics[width=0.5\textwidth]{2.JPG}
        %   
        \subfloat[CL galena sfalertie pirite]{\label{2.JPG}} \includegraphics[width=0.5\textwidth]{SAL 102_9.JPG}
        %       
        \caption{minerals minerals minerals}
        \label{minerals}
    \end{figure}.

\end{document}

答案1

语法\subfloat如下:

\subfloat[〈listentry〉][〈sub-caption〉]{〈body〉}

  • 〈listentry〉是图表列表中使用的子标题(〈sub-caption〉如果你没有指定单独的,则与 相同〈listentry〉),

  • 〈sub-caption〉是显示在图像/表格上方/下方的子标题,以及

  • 〈body〉是图像/表格本身。

因此,编译的 MWE 将如下所示(我用 替换了您的图像example-image):

在此处输入图片描述

\documentclass[12pt]{book}      
\usepackage[T1]{fontenc}                
\usepackage[utf8]{inputenc}                 
\usepackage{indentfirst}                    

\usepackage{graphicx}       
\usepackage{caption}                    
\usepackage{float}      
\usepackage{subfig} 

                        
\begin{document}

    \begin{figure}[p]
        %   
        \subfloat[PPL dolomite smithsonite calcite]{\includegraphics[width=0.5\textwidth]{example-image}\label{1.JPG}} 
        %   
        \subfloat[CL galena sfalertie pirite]{\includegraphics[width=0.5\textwidth]{example-image}\label{2.JPG}} 
        %       
        \caption{minerals minerals minerals}
        \label{minerals}
    \end{figure}

\end{document}

答案2

如果你用 来做那件事,那就没有问题了floatrow

无关:如果您有一个比较新版本的 latex,则无需加载inputenc:utf8 现在是默认设置。

\documentclass[12pt]{book}
\usepackage[T1]{fontenc}
\usepackage{indentfirst}
\usepackage{mwe}
\usepackage{graphicx}
\usepackage{caption, subcaption}
\usepackage{floatrow}

\begin{document}

    \begin{figure}[p]
    \centering
    \ffigbox{%
        \begin{subfloatrow}%
        \ffigbox{\caption{PPL dolomite smithsonite calcite}\label{a.JPG}}{\includegraphics[width=0.45\textwidth]{example-image-a}}
        \hfill%
        \ffigbox{\caption{CL galena sfalertie pirite}\label{b.JPG}}{\includegraphics[width=0.45\textwidth]{example-image-b}}
        \end{subfloatrow}}%
        {\caption{minerals minerals minerals}}
        \label{minerals}
    \end{figure}

\end{document} 

在此处输入图片描述

相关内容