我尝试使用该包旋转图形及其标题adjustbox
。这很正常,直到我floatrow
也加载了该包,标题才旋转。
参见我的 MWE:
\documentclass{article}
\usepackage{adjustbox}
\usepackage{blindtext}
\usepackage{floatrow}
\begin{document}
\blindtext
\begin{figure}[ht]
\begin{adjustbox}{addcode={\begin{minipage}{\width}}{\caption{%
Here is a caption of the figure which is so long that
it has to be wrapped over multiple lines, but should
not exceed the width (height after the rotation) of the image.
}\end{minipage}},rotate=90,center}
\includegraphics[scale=.6]{example-image}%
\end{adjustbox}
\end{figure}
\blindtext
\end{document}
我检查了两个包文档中是否有相互引用的内容,但似乎没有任何内容。
有人知道如何解决这个问题吗?
答案1
这里的问题是floatrow
重新定义命令的内部代码\caption
并挂接到figure
环境代码中。然后商店首先在内部插入标题文本,然后将其重新插入到配置的位置,即图形内容的顶部或底部。如果没有该包,正常行为是立即放置标题。
由于它没有放置在编写代码的位置 - 在adjustbox
环境内部 - 因此它不能被该环境旋转!相反,它会像上面提到的那样稍后重新插入。
不幸的是,没有简单的方法可以强制floatrow
这里将标题正常放置,因为它看起来不是为此设计的。然后,adjustbox
这里无能为力。我建议忍受它或尝试更改为另一个浮动包,它可以为您提供所需的功能,但让标题保持原样。
然而,我猜想一个完整的解决方案是再次破解内部代码float
并将旋转代码放在floatrow
代码之后,但有点小题大做。