![Problema com legenda de figura e tabela](https://rvso.com/image/330734/Problema%20com%20legenda%20de%20figura%20e%20tabela.png)
Estou escrevendo uma tese usando látex. Ocorreu o seguinte erro ao adicionar a legenda da figura:
l. 91 \caption{Chevauchement et ligature}
I suspect you've forgotten a `}', causing me to apply this control sequence to too much text.
quando escrevo o mesmo código em um novo arquivo, funciona, mas não na minha tese. Alguma ajuda, por favor?
Responder1
Como
pfe
e./styles/srcltx
não estão presentes no meu sistema, mudei o primeiro para book e removi o segundo. Criei uma pasta capítulos e uma subpasta chap1. Conforme mostrado na captura de tela abaixo, o resultado é compilado em meu sistema e a figura aparece (usei uma figura fictícia). Além do que parecem ser problemas de codificação, não há erros no seu MWE.imgur.com/GRtTOy7
Na verdade, o bit incorreto está no arquivo de classe
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%% % caption %%% ATENÇÃO CE Não há força de PAS suportada por todos os % distribuição LateX %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%
\RequirePackage{caption2}
\captionstyle{centerlast}
\renewcommand\captionfont{\footnotesize}
\renewcommand\captionlabelfont{\bfseries\itshape}
%\setcaptionmargin{\leftmargini}
%\setlength\captionindent{\parindent}
\renewcommand\captionlabeldelim{~---}
\onelinecaptionstrue
\setcaptionwidth{12.9999cm}
O comentário diz:
caption ATENÇÃO ISTO NÃO é necessariamente suportado por todas as distribuições LateX.
Tentei dar uma olhada na documentação do pacote caption2
, que parecia ser a origem do problema, e na seção de compatibilidade encontrei:
O pacote de legenda e seus experimentos, sem nenhuma variante de legenda2 verdadeira, é uma experiência interna que é confiável para que você possa conhecer melhor a compatibilidade aqui. Daher liegt this paket weiterhin the Datei caption2.sty bei, so daß ältere Documente, die das caption2-Paket verwenden, weiterhin übersetzt werden können.
que o Google traduz para:
A legenda do pacote e sua variante experimental e agora obsoleta caption2 são conceitualmente muito diferentes daqui para serem capazes de garantir compatibilidade total. Portanto, este pacote ainda está no arquivo caption2.sty para que documentos antigos que usam o pacote caption2 ainda sejam compilados.
Então a questão é: por que sua classe usa uma versão obsoleta de um pacote? Atualize essa classe para que isso não aconteça e aposto que o problema desaparecerá.
Atualizar
Modifiquei o bit incorreto na classe seguindo as instruções da documentação e agora está assim:
\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}
e tudo compila, e o formato parece mais ou menos igual ao original.
Aliás, o erro que recebi foi completamente diferente:
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}
Ainda parece haver problemas de codificação no seu documento. TeXShop
me avisou que tinha que abrir um dos seus documentos na IsoLatin8
codificação. Por favor, certifique-se de que tudo esteja na mesma codificação, melhor se UTF-8
. No momento, o pdf de saída é assim:
Atualização 2
Exatamente por que sua classe carregaria inputenc
encoding latin1
, quando utf8
é decididamente sempre melhor e latin1
causa problemas de codificação? E você sabia que sim? Vendo como você o chamou em seu documento, acho que não. Por favor, pegue sua aula e altere a opção de codificação de inputenc
from latin1
para utf8
, e os problemas de codificação (ou a maioria deles) desaparecerão. Com este resultado:
E já que estou editando, aqui está meu comentário agora excluído:
Além disso, o LaTeX não gosta particularmente de ter que buscar pacotes de pastas específicas, pois parece que o nome da pasta faz parte do nome do pacote e quando encontra o arquivo diz "NÃO, isso não fornece,
./styles/pfe
mas apenaspfe
";). O ?? pois a referência da figura obviamente fica clara na segunda compilação.
E isso foi esclarecido na versão com codificação corrigida.