修改Floatrow包的Floatfoot和移动规则

修改Floatrow包的Floatfoot和移动规则

floatrow包中,我正在使用floatfoot命令来引用来源和类似的内容。

这个 MWE 产生的输出是完全可以接受的:

\documentclass{article}

\usepackage{xcolor}
\usepackage{floatrow}
        \floatsetup[figure]%
        {%
            capbesideposition=right,%
            postcode=rule,%
        }%
    \setlength{\floatfootskip}{0pt}%remove vertical space/skip
\usepackage{caption}
    \DeclareCaptionFont{ftfont}{\scriptsize\raggedleft}
    \captionsetup[floatfoot]
        {%
            footfont=ftfont,%
        }%      
\begin{document}
    \begin{figure}
        \ffigbox[\FBwidth]
        {%
            \rule{5cm}{5cm}
        }%
        {%
            \caption{None}%
            \floatfoot{Floatfoot}%  
        }%
    \end{figure}
    \begin{figure}
        \fcapside[\FBwidth]
        {%
            \rule{5cm}{5cm}
        }%
        {%
            \caption{None}%
            \floatfoot{Floatfoot}%  
        }%
    \end{figure}    
    \begin{table}
        \ttabbox
        {%
            \caption{None}%
            \floatfoot{Floatfoot}
        }%
        {%
            \begin{tabular}{ll}
                \hline
                Number & Name\\
                2 & Fred\\
                \hline
            \end{tabular}
        }%
    \end{table}
\end{document}

它看起来像这样:

在此处输入图片描述

插入表格是为了便于查看,看起来不错。我关心的是数字。

我在软件包文档中找不到有关修改 的信息floatfoot。其位置命令 ( defaultcaptionbottom) 不是我想要的。

此外,浮点数下方的水平线在我看来是一个很好的点缀。

  1. 作为第一步,有没有办法把这个规则放在postcode 多于floatfoot 这应该不难,但我失败了。摆弄midcode等等都没能解决问题。

  2. 其次,这是一个更高级的问题。这可能不合理。有没有办法将 andrule塑造floatfoot成这样:

在此处输入图片描述

请原谅我的草图。

答案1

经过一段时间的中断后,我又重新回到这个问题并这样解决:

\documentclass{article}
\usepackage{caption}
    \DeclareCaptionLabelSeparator{slash}{\ /\ }%
    \DeclareCaptionFont{ftfont}{\scriptsize\color{red}\hypersetup{hidelinks}\sffamily\raggedleft}
    \captionsetup{%
        format=plain,%
        textformat=period,%
        font=small,%all fonts
        labelfont={sf,bf},%
        labelsep=slash,%
        labelformat=simple,%just Name/Number, no period or similar
        indention=1em,%
    }%
    \captionsetup[floatfoot]%
                    {%
                        footfont=ftfont,%
                    }%
\usepackage{floatrow}%
    \floatsetup{footnoterule=none}%avoid drawing two rules
    \floatsetup[figure]%
                    {%
                        capbesideposition=right,%
                        capbesidesep=quad,%
                    }%  
\usepackage{hyperref}
\newlength{\floatfootruleindent}
\makeatletter
    \setlength{\floatfootruleindent}{\caption@indent}
\makeatother
\renewcommand\floatfootskip{2pt\hspace{\floatfootruleindent}\hrulefill}

\begin{document}
    \begin{figure}
        \ffigbox[\FBwidth]
        {%
            \caption{My caption which is longer than usual so it spans more than one line}
            \floatfoot{This is the float foot}
%           \footnotetext[1]{A footnote.}
        }%
        {%
            \rule{4cm}{4cm}%\mpfootnotemark[1]
        }%
    \end{figure}
    \begin{figure}
    \fcapside[\FBwidth]
    {%
        \caption{My caption which is longer than usual so it spans more than one line}
        \floatfoot{This is the float foot}
        \footnotetext[1]{A footnote.}
    }%
    {%
        \rule{4cm}{4cm}\mpfootnotemark[1]
    }%
\end{figure}
\end{document}

\floatfootskip据我所知,这是一种误用,它似乎只是用来表示长度。第一个输入2pt提供了包所需的长度,但随后还插入了其背后的所有代码。

目前它能正常工作。我是摆弄.sty定义的绝对初学者,所以我确信这是一种糟糕的方法。尤其\floatfootskip是 how 也用于 的方式\footnotetext,这会导致\hrulefill绘制另一条线,即使我们不想这样。默认是绘制一条较短的线,这里用 删除footrulerule=none

不过,我希望人们会对此感兴趣。

结果如下在此处输入图片描述

相关内容