在Partha D. 的问题“将图像完美地放置在文本上方”的答案[1] Partha 提出了一种解决方案,使用 wrapfig(而不是 pullquote)将标题文本放置在两列排列中居中图形下方。在 Partha 的示例中,图形下方的标题并非完全居中,而是左对齐。使用 Partha 的代码进行了大量测试,但都没有产生完全居中的标题,包括放置\定心在\标题这会产生错误“!@caption 的参数有一个多余的}。”。
我遗漏了什么?使用 wrapfig 时,如何将标题置于图形下方中央?
编辑:回应下面 leandriis 的评论(谢谢!),添加\captionsetup{对齐=居中}序言似乎不会影响居中......我的项目中图形下方的标题仍然位于左中心。
编辑 2:@leandriis - 谢谢。我的 documentclass 是:\documentclass[12pt,oneside,table,xcdraw]{book} ... 我无法使用 \documentclass[twocolumn]{article},因为我的文档大部分都是单列,只有几章使用双列,两列之间嵌套一张图片以示强调。\begin{multicols}{2} [和 \end{multicols}] 被用来开始 [和结束] 两列布局。任何使标题居中的方法都需要反映多列的使用。请注意,\caption 在文档的其他地方都可以正常工作。谢谢!
以下是 Partha D. 的 MWE,\定心插入到 \caption 命令中。
\usepackage{lipsum,graphicx,wrapfig}
\begin{document}
\lipsum[1]
\begin{wrapfigure}[15]{r}[0.35\columnwidth]{5.2cm}
\includegraphics[width=5cm,height=10\baselineskip]{example-image-a}
\caption{\centering This wrapfigure spans two-columns of text}
\end{wrapfigure}
\lipsum[3-5] % deciding the break is vital to the
% nice functioning of a 2-col wrapfigure
\begin{wrapfigure}[17]{l}[0.35\columnwidth]{5.2cm}
% this only creates free space without inserting anything
\end{wrapfigure}
\lipsum[6-7]
\end{document}
答案1
除了考虑评论中的@leandris 建议(效果很好)之外,您还需要将图像置于wrapfigure
环境中:
\documentclass[twocolumn]{article}
\usepackage{lipsum,graphicx,wrapfig}
\usepackage{caption}
\begin{document}
\lipsum[1]
\begin{wrapfigure}[14]{r}[0.35\columnwidth]{5.2cm}
\vspace{-\baselineskip}
\centering
\captionsetup{justification=centering}%
\includegraphics[width=5cm,height=10\baselineskip]{example-image-duck}%
\caption{This wrapfigure spans two-columns of text}
\end{wrapfigure}
\lipsum[3-5] % deciding the break is vital to the
% nice functioning of a 2-col wrapfigure
\begin{wrapfigure}[17]{l}[0.35\columnwidth]{5.2cm}
% this only creates free space without inserting anything
\end{wrapfigure}
\lipsum[6-7]
\end{document}
使用最新的 MikTeX 进行测试。