我正在使用 latex 撰写论文。添加图形标题时出现以下错误:
l. 91 \caption{Chevauchement et ligature}
I suspect you've forgotten a `}', causing me to apply this control sequence to too much text.
当我在新文件中编写相同的代码时,它可以工作,但在我的论文中却不行。有什么帮助吗?
答案1
自
pfe
和./styles/srcltx
,我将第一个更改为 book 并删除了第二个。我创建了一个文件夹 chapters 和一个子文件夹 chap1。如下面的屏幕截图所示,结果在我的系统中编译并显示图形(我使用了虚拟图形)。除了似乎是编码问题之外,您的 MWE 中没有任何错误。imgur.com/GRtTOy7
事实上,有问题的部分在类文件中
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{caption2}
\captionstyle{centerlast}
\renewcommand\captionfont{\footnotesize}
\renewcommand\captionlabelfont{\bfseries\itshape}
%\setcaptionmargin{\leftmargini}
%\setlength\captionindent{\parindent}
\renewcommand\captionlabeldelim{~---}
\onelinecaptionstrue
\setcaptionwidth{12.9999cm}
评论如下:
标题注意这不一定受到所有 LateX 发行版的支持。
我尝试查看软件包文档caption2
,这似乎是问题的根源,在兼容性部分我发现:
该包标题及其实验结果并未实际变体 caption2 从内部概念中分离出来,因此可以实现完全兼容的兼容性。接下来是该包中的 caption2 文件,因此使用后续文档时,可以对 caption2 包进行进一步的解释。
谷歌翻译为:
caption 包和其实验性且现已过时的变体 caption2 在概念上存在太大差异,因此无法确保完全兼容。因此,此包仍位于 caption2.sty 文件中,以便使用 caption2 包的旧文档仍可编译。
所以问题是:为什么你的类使用包的过时版本?请更新该类,这样它就不会使用过时版本了,我相信问题会消失。
更新
我按照文档中的说明修改了类中有问题的部分,现在它看起来像这样:
\RequirePackage[font=footnotesize,labelfont={bf,it}]{caption}
\captionsetup{justification=centerlast,singlelinecheck=on}
%\renewcommand\captionfont{\footnotesize}
%\renewcommand\captionlabelfont{\bfseries\itshape}
%\setcaptionmargin{\leftmargini}
%\setlength\captionindent{\parindent}
\newcommand\captionlabeldelim{~---}
%\onelinecaptionstrue
\setcaptionwidth{12.9999cm}
并且所有内容都编译了,并且格式看起来与原始格式差不多。
顺便说一句,我收到的错误完全不同:
Runaway argument?
{\parbox [b]\captionlinewidth {\strut \@nameuse {caption@@@centerlast\ETC.
./chapters/chap1.tex:15: Paragraph ended before \@gobble was complete.
<to be read again>
\par
l.15 ...ns possibles du hamza en association avec}
您的文档中似乎仍然存在编码问题。TeXShop
警告我它必须以IsoLatin8
编码打开您的一个文档。请确保所有内容都采用相同的编码,最好是UTF-8
。目前,输出 pdf 如下所示:
更新 2
究竟为什么您的类会inputenc
使用编码加载latin1
,而编码utf8
总是更好的,并且latin1
会导致编码问题?您知道它确实如此吗?鉴于您从文档中调用它,我猜您不知道。请将您的类的编码选项从 更改为,inputenc
编码问题(或大多数问题)将消失。结果如下:latin1
utf8
由于我正在编辑,以下是我现已删除的评论:
此外,LaTeX 并不特别喜欢从指定的文件夹获取包,因为文件夹名称似乎是包名称的一部分,当它找到文件时,它会说“不,这不提供,
./styles/pfe
只是pfe
”;)。图引用的 ?? 显然在第二次编译时就消失了。
并且它在编码修复版本中得到了解决。