wrapfig无故报错,且与pdfpages冲突,为什么?

发布于 2022-02-13 02:19:46
\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宏包(无论是否用到了其功能)可以编译出全部内容,如使用则报错为error1.png
并编译到第一处使用wrapfig的位置之前。MWE如不去掉pdfpages,报错为error2.png
如去掉,则报错为error3.png
已经确认多次没有打错字,求大佬帮忙解决!!

查看更多

关注者
0
被浏览
2.1k
1 个回答
寄存器
寄存器 2022-02-13
这家伙很懒,什么也没写!

1、请在提问时使用代码块排版代码,否则无法直接拷贝测试,需要修改代码。
2、不建议在一个\usepackage里写这么多宏包,这样会造成无法采用折半注释法分析宏包冲突等问题。
3、类似\usepackage{ctex}\usepackage[OT1]{fontenc}在你的文档中是无意义的,请先读一下lshort-zh-cn,再来用LaTeX工作。
4、提问中并未提供2.jpg图像文件,无法进行测试,建议使用example-image代替。
5、折半注释法是LaTeX调试中一个非常重要的方法,建议熟练掌握。


采用折半注释法,注释所有wrapfigure环境后,则编译没有问题,显然这是该环境的使用问题。使用texdoc warpfig查阅其说明书可以看到其语法为:
image.png

但代码中,仅提供了一个必选参数{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宏包(折半注释很容易定位该问题)。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览