子浮点字幕调整不起作用

子浮点字幕调整不起作用

我想删除第二个子标题前面的多余边距(黄色部分)。我该怎么做?

在此处输入图片描述

我当前的代码如下。

\documentclass[a4paper,11pt]{report}
\usepackage{import}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{caption}

\newcommand\mycaption[2]{\caption{\textbf{#1}\newline\footnotesize#2}}
\captionsetup{font=small, labelfont=bf, singlelinecheck=false, tableposition=bottom, justification=justified}
\begin{document}

% test 
\begin{figure}[h]
\captionsetup[subfloat]{farskip=1pt, captionskip=0pt} %<--I thought it does the job...
\centering
\captionsetup{width=0.7\linewidth}
\subfloat[First figure]
{%
    \label{fig1}%
    \includegraphics[clip,width=0.85\columnwidth]{myfig1.png} }
    \vfill 
\subfloat[Second figure]
{%
    \label{fig2}%
    \includegraphics[clip,width=0.85\columnwidth]{myfig2.png} }
\mycaption{Test}{Explanation blah blah...}
\label{figExamples}
\end{figure}

\end{document}

笔记

这可能是图形特定的问题,因此我在这里附加两张图片以供您参考。

在此处输入图片描述 在此处输入图片描述

答案1

第二幅图下方有一些空白。

使用trim={<left> <lower> <right> <upper>}

A

\documentclass[a4paper,11pt]{report}
\usepackage{import}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{caption}

\newcommand\mycaption[2]{\caption{\textbf{#1}\newline\footnotesize#2}}
\captionsetup{font=small, labelfont=bf, singlelinecheck=false, tableposition=bottom, justification=justified}
\begin{document}
    
    % test 
    \begin{figure}[h]
        \captionsetup[subfloat]{farskip=1pt, captionskip=0pt} %<--I thought it does the job...
        \centering
        \captionsetup{width=0.7\linewidth}
        \subfloat[First figure]
        {%
            \label{fig1}%
            \includegraphics[clip,width=0.85\columnwidth]{myfig1.png} } 
        \vfill 
        \subfloat[Second figure]
        {%
            \label{fig2}%
            \includegraphics[trim={ 0pt 25pt 0pt 0pt}, clip,width=0.85\columnwidth]{myfig2.png} }% changed <<<<<<
        \mycaption{Test}{Explanation blah blah...}
        \label{figExamples}
    \end{figure}

\end{document}

答案2

我无法重现您的问题。可能是第二张图片在图片下方包含一些空白。您可以通过fbox在图片周围添加来检查这一点,例如:

\subfloat[Second figure \label{fig2}]
{\fbox{\includegraphics[width=0.8\linewidth]{example-image-duck}} }
\caption[Test]{ Test\\
                \footnotesize
                Explanation \lipsum*[66]}

您可以使用 samo 图像处理工具或使用包trim选项删除白色空间graphicx

无关:

不太清楚你为什么定义\mycaption。如果你想区分图片列表 (LoF) 中的文本和图片中的标题文本,你应该使用

\caption[<text in LoF>]{Text at figure}

例如:

\documentclass[a4paper,11pt]{report}
\usepackage{graphicx}
\usepackage{caption, subcaption}
\captionsetup{font=small,
              labelfont=bf,
              justification=justified,
              singlelinecheck=false,
              }
% changed page share for floats and text 
 \renewcommand{\topfraction}{.95}
 \renewcommand{\bottomfraction}{.85}
 \renewcommand{\textfraction}{.05}
\usepackage{lipsum}

\begin{document}

\begin{figure}[ht]
\centering
\subfloat[First figure  \label{fig1}]
{\includegraphics[width=0.8\linewidth]{example-image-duck} }

\bigskip
\subfloat[Second figure \label{fig2}]
{\includegraphics[width=0.8\linewidth]{example-image-duck} }
\caption[Test]{ Test.\\
                \footnotesize
                Explanation \lipsum*[66]}
\label{figExamples}
\end{figure}
\lipsum[1]

\end{document}

在此处输入图片描述

相关内容