这是我第一次使用 wrapfig,它的标题对齐有问题。据我所知,似乎发生了以下情况:如果标题足够短,以至于只能容纳图中的一行,那么它就不会在图中水平居中,而是在整个图中水平居中\textwidth
,从图的左侧边缘开始,因此它最终会偏向右侧太远(如果图很窄,甚至会偏离页面)。下面是一个最小的反例。
我是不是做了什么愚蠢的事情,需要改正?如果没有,有什么好的解决办法吗?
\documentclass{amsart}
\usepackage{wrapfig}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam congue, turpis nec dignissim condimentum, lorem elit sodales justo, ut feugiat erat libero mollis diam. Phasellus ac dolor vel quam vehicula pellentesque quis vel purus.
\begin{wrapfigure}{r}{0.5\textwidth}
No problem.
\caption{Long captions align correctly.}
\end{wrapfigure}
In scelerisque, metus in convallis pulvinar, massa lacus condimentum tortor, ut mattis sapien libero quis diam. In eu diam pulvinar quam tempor suscipit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
\begin{wrapfigure}{r}{0.5\textwidth}
Problem!
\caption{But not short!}
\end{wrapfigure}
Duis luctus est ligula. Proin fermentum risus id mauris rhoncus vestibulum. Pellentesque vel leo elit. Cras tempus rutrum dui, vitae lobortis lorem egestas a. Vivamus suscipit commodo lectus vel aliquet. Proin molestie ullamcorper est, sed hendrerit leo pellentesque et. Nunc odio massa, sodales nec elementum at, vehicula quis enim.
\end{document}
答案1
你没有疯!
\documentclass{amsart}
是罪魁祸首。
有了标准article
课程,一切都运转良好。
你能改变课程吗?也许更新 ams 软件包会有帮助?更了解 ams 课程的人应该会有所帮助。
答案2
我使用的是acmart
,其行为类似。以下是我调整的内容,类似这样的内容应该适合您。
\usepackage{caption}
\DeclareCaptionLabelFormat{mywraplabel}{\hspace{.5ex}#1~#2.\newline}
\captionsetup[wrapfigure]{labelformat=mywraplabel,%
labelsep=none,name=Figure,justification=centering}
值得赞扬的是,这里的最佳答案给出了主要线索:如何更改标题编号和文本之间的间距?