\documentclass{ctexbook}
\usepackage{txfonts,fancyhdr,CJKfntef,color,ctex,enumitem,setspace,graphicx,lipsum,wrapfig,pdfpages}
\usepackage[OT1]{fontenc}
\begin{document}
\part{AAA}
\section*{AAA}
\subsection*{AAA}
\lipsum[1-3]
\begin{wrapfigure}{R}
\centering
\includegraphics[width=25bp]{2.jpg}
\caption{AAA}
\end{wrapfigure}
\lipsum[1-5]
\end{document}
编译环境为TeX Live 2021,TeXStudio,Windows 11。以上内容(MWE)是从一个大文档中取出来的,这个大文档中除了设置字体、版面、标点格式和目录以及普通插图(figure)的命令之外均为一般内容,但大文档如去掉pdfpages宏包(无论是否用到了其功能)可以编译出全部内容,如使用则报错为
并编译到第一处使用wrapfig的位置之前。MWE如不去掉pdfpages,报错为
如去掉,则报错为
已经确认多次没有打错字,求大佬帮忙解决!!
1、请在提问时使用代码块排版代码,否则无法直接拷贝测试,需要修改代码。
2、不建议在一个\usepackage
里写这么多宏包,这样会造成无法采用折半注释法分析宏包冲突等问题。
3、类似\usepackage{ctex}
和\usepackage[OT1]{fontenc}
在你的文档中是无意义的,请先读一下lshort-zh-cn
,再来用LaTeX工作。
4、提问中并未提供2.jpg
图像文件,无法进行测试,建议使用example-image
代替。
5、折半注释法是LaTeX调试中一个非常重要的方法,建议熟练掌握。
采用折半注释法,注释所有wrapfigure
环境后,则编译没有问题,显然这是该环境的使用问题。使用texdoc warpfig
查阅其说明书可以看到其语法为:
但代码中,仅提供了一个必选参数{R}
,因此,这是造成问题的原因,修改后的代码为:
\documentclass{ctexbook}
\usepackage{txfonts}
\usepackage{fancyhdr}
\usepackage{CJKfntef}
\usepackage{color}
% \usepackage{ctex}
\usepackage{enumitem}
\usepackage{setspace}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage{wrapfig}
\usepackage{pdfpages}
% \usepackage[OT1]{fontenc}
\begin{document}
\part{AAA}
\section*{AAA}
\subsection*{AAA}
\lipsum[1-3]
\begin{wrapfigure}{r}{5cm}
\centering
\includegraphics[width=25bp]{example-image}
\caption{AAA}
\end{wrapfigure}
\lipsum[1-5]
\end{document}
其中\begin{wrapfigure}{r}{5cm}
中的{5cm}
是随意给的,请根据需要进行调整。
说明: wrapfig
宏包的最新版本是2003年的版本,已非常老了,建议使用新的wrapfig2
宏包。在新的wrapfig2
宏包中,wrapfigure
环境仅需要一个必选参数,因此你的代码可以通过编译。但wrapfig2
宏包会与color
宏包发行冲突,可以考虑不使用color
宏包(折半注释很容易定位该问题)。