图表和表格标题有问题

图表和表格标题有问题

我正在使用 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

AjN 的评论

事实上,有问题的部分在类文件中

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\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编码问题(或大多数问题)将消失。结果如下:latin1utf8

在此处输入图片描述

由于我正在编辑,以下是我现已删除的评论:

此外,LaTeX 并不特别喜欢从指定的文件夹获取包,因为文件夹名称似乎是包名称的一部分,当它找到文件时,它会说“不,这不提供,./styles/pfe只是pfe”;)。图引用的 ?? 显然在第二次编译时就消失了。

并且它在编码修复版本中得到了解决。

相关内容