我在包含许多小节的文档中使用包wrapfig
。每页至少一个。我有一个很高的图形,几乎是整个页面的高度,所以我假设wrapfig
这是放置它的正确方法 - 一列文本(约占页面宽度的 60%)和一列图形(约占页面宽度的 40%)。
然而,wrapfig
当它扩展到一个部分或子部分时,似乎会出现问题。有两个(1,2) 网站上的问题已经提到了这个问题,但这两个问题的答案都是“将新部分放在下一页”。由于我有许多部分,因此这在本文档中不起作用。
也许解决方案是嵌入wrapfig
到另一个环境中,但我不确定是哪一个。
编辑
我发现了导致该问题的原因:
\setcounter{secnumdepth}{-1}
这是 MWE。它应该会生成下面的屏幕截图。注释掉上面的行,似乎wrapfig
可以正常工作。
\RequirePackage[l2tabu, orthodox]{nag}
\documentclass[12pt]{article}
\usepackage{lipsum}
\usepackage{wrapfig}
\setcounter{secnumdepth}{-1} % disables section and subsection numbering
\begin{document}
\section{Section 1}
\begin{wrapfigure}{r}{0.30\linewidth}
\rule{5cm}{9cm}
\caption{Caption}
\label{fig:fig}
\end{wrapfigure}
\subsection{Subsection 1}
\lipsum[1]
\subsection{Subsection 2}
\lipsum[2-4]
\end{document}
答案1
有趣的,
您可以修补部分处理,以便一切正常:
添加
\makeatletter
\def\patchsect#1\let\@svsec\@empty{#1\def\@svsec{\leavevmode\kern1sp\relax}}
\let\old@sect\@sect
\def\@sect{\expandafter\patchsect\old@sect}
\makeatother
但是如果你的实际文档使用像这样的编号部分,则设置secnumdepth
为 -1 并在部分标题中使用数字是错误的做法,它会禁用所有 LaTeX 的交叉引用机制。请参阅这个问题