![修改Floatrow包的Floatfoot和移动规则](https://linux22.com/image/390524/%E4%BF%AE%E6%94%B9Floatrow%E5%8C%85%E7%9A%84Floatfoot%E5%92%8C%E7%A7%BB%E5%8A%A8%E8%A7%84%E5%88%99.png)
从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
。其位置命令 ( default
、caption
、bottom
) 不是我想要的。
此外,浮点数下方的水平线在我看来是一个很好的点缀。
作为第一步,有没有办法把这个规则放在
postcode
多于这floatfoot
? 这应该不难,但我失败了。摆弄midcode
等等都没能解决问题。其次,这是一个更高级的问题。这可能不合理。有没有办法将 and
rule
塑造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
。
不过,我希望人们会对此感兴趣。