我正在尝试将我的项目从一个float
包迁移到floatrow
另一个包(我们无法使用后者加载前者,正如文档中所说floatrow
)。
我广泛使用ruled
样式。切换到后最明显的问题floatrow
是,当标题多行时,垂直对齐被破坏。
由于某种原因,标题文字和规则之间的间距有很大差异。看起来很糟糕。
第二个问题是我无法labelsep=period
从caption
包中开始工作。
我的 MWE 如下。
\documentclass[14pt]{extarticle}
\usepackage[english]{babel}
\usepackage{floatrow}%
\DeclareNewFloatType{LstEnv}{%
placement=htbp,fileext=lol}
\floatsetup[LstEnv]{style=ruled}
\usepackage{caption}
\captionsetup[LstEnv]{labelsep=period}
\begin{document}
\begin{LstEnv}[H]
Abc
\caption{My cap}
\end{LstEnv}
\begin{LstEnv}[H]
Abc
\caption{Very long caption Very long caption
Very long caption Very long caption Very long caption }
\end{LstEnv}
\end{document}
答案1
您的问题的解决方案:
重新定义上述规则
\DeclareFloatVCode{thickrule}{\par\rule{\hsize}{.8pt}\strut\par\unskip}
- 加载
caption
时间floatrow
完整代码
\documentclass[14pt]{extarticle}
\usepackage[english]{babel}
\usepackage{caption,xcolor}
\usepackage{calc}
\usepackage{floatrow}%
\DeclareNewFloatType{LstEnv}{%
placement=htbp,fileext=lol}
\DeclareFloatVCode{thickrule}{\par\rule{\hsize}{.8pt}\strut\par\unskip}
\floatsetup[LstEnv]{style=ruled}
\captionsetup[LstEnv]{labelsep=period}
\begin{document}
\begin{LstEnv}
Abc
\caption{My cap}
\end{LstEnv}
\begin{LstEnv}
Abc
\caption{Very long caption Very long caption
Very long caption Very long caption Very long caption }
\end{LstEnv}
\end{document}
最后的结果