cleveref, autonum et étiquetage uniquement des équations référencées

Lutilisateur MMM ma recommandé dutiliser le nouveau autonum package en réponse à ma requête . Cependant, jai du mal à faire fonctionner le package. Voici un exemple de travail minimal qui compile avec des « références non définies »:

\documentclass{article} \usepackage{amsmath, cleveref} \usepackage{autonum} \begin{document} \begin{align}\label{eq:eq1} a = b+c \end{align} Refer to equation \cref{eq:eq1}. \end{document} 

Je suppose que je nutilise pas le package correctement, mais je ne sais pas exactement quoi Je me trompe.

Voici également la liste des fichiers pour la compilation LaTeX => PDF.

 *File List* article.cls 2007/10/19 v1.4h Standard LaTeX document class size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option) amsmath.sty 2000/07/18 v2.13 AMS math features amstext.sty 2000/06/29 v2.01 amsgen.sty 1999/11/30 v2.0 amsbsy.sty 1999/11/29 v1.2d amsopn.sty 1999/12/14 v2.01 operator names cleveref.sty 2011/01/19 v0.17.8 Intelligent cross-referencing autonum.sty 2012/06/21 v0.2 autonum LaTeX package etoolbox.sty 2011/01/03 v2.1 e-TeX tools for LaTeX etex.sty 1998/03/26 v2.0 eTeX basic definition package (PEB) textpos.sty 2012/06/01 v1.7h everyshi.sty 2001/05/15 v3.00 EveryShipout Package (MS) *********** 

Et le .log file:

This is pdfTeX, Version 3.1415926-1.40.10 (MiKTeX 2.8) (preloaded format=pdflatex 2012.7.8) 8 JUL 2012 05:05 entering extended mode **E:/programming/latex/minimal-examples/autonum.tex (E:/programming/latex/minimal-examples/autonum.tex LaTeX2e <2009/09/24> Babel <v3.8l> and hyphenation patterns for english, dumylang, nohyphenation, ge rman, ngerman, german-x-2009-06-19, ngerman-x-2009-06-19, french, loaded. (E:\programfiles\MiKTeX2.8\tex\latex\base\article.cls Document Class: article 2007/10/19 v1.4h Standard LaTeX document class (E:\programfiles\MiKTeX2.8\tex\latex\base\size10.clo File: size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option) ) \c@part=\count79 \c@section=\count80 \c@subsection=\count81 \c@subsubsection=\count82 \c@paragraph=\count83 \c@subparagraph=\count84 \c@figure=\count85 \c@table=\count86 \abovecaptionskip=\skip41 \belowcaptionskip=\skip42 \bibindent=\dimen102 ) (E:\programfiles\MiKTeX2.8\tex\latex\ams\math\amsmath.sty Package: amsmath 2000/07/18 v2.13 AMS math features \@mathmargin=\skip43 For additional information on amsmath, use the `?" option. (E:\programfiles\MiKTeX2.8\tex\latex\ams\math\amstext.sty Package: amstext 2000/06/29 v2.01 (E:\programfiles\MiKTeX2.8\tex\latex\ams\math\amsgen.sty File: amsgen.sty 1999/11/30 v2.0 \@emptytoks=\toks14 \ex@=\dimen103 )) (E:\programfiles\MiKTeX2.8\tex\latex\ams\math\amsbsy.sty Package: amsbsy 1999/11/29 v1.2d \pmbraise@=\dimen104 ) (E:\programfiles\MiKTeX2.8\tex\latex\ams\math\amsopn.sty Package: amsopn 1999/12/14 v2.01 operator names ) \inf@bad=\count87 LaTeX Info: Redefining \frac on input line 211. \uproot@=\count88 \leftroot@=\count89 LaTeX Info: Redefining \overline on input line 307. \classnum@=\count90 \DOTSCASE@=\count91 LaTeX Info: Redefining \ldots on input line 379. LaTeX Info: Redefining \dots on input line 382. LaTeX Info: Redefining \cdots on input line 467. \Mathstrutbox@=\box26 \strutbox@=\box27 \big@size=\dimen105 LaTeX Font Info: Redeclaring font encoding OML on input line 567. LaTeX Font Info: Redeclaring font encoding OMS on input line 568. \macc@depth=\count92 \c@MaxMatrixCols=\count93 \dotsspace@=\muskip10 \c@parentequation=\count94 \dspbrk@lvl=\count95 \tag@help=\toks15 \row@=\count96 \column@=\count97 \maxfields@=\count98 \andhelp@=\toks16 \eqnshift@=\dimen106 \alignsep@=\dimen107 \tagshift@=\dimen108 \tagwidth@=\dimen109 \totwidth@=\dimen110 \lineht@=\dimen111 \@envbody=\toks17 \multlinegap=\skip44 \multlinetaggap=\skip45 \mathdisplay@stack=\toks18 LaTeX Info: Redefining \[ on input line 2666. LaTeX Info: Redefining \] on input line 2667. ) (C:\Users\<User>\AppData\Roaming\MiKTeX\2.8\tex\latex\cleveref\cleveref.sty Package: cleveref 2011/01/19 v0.17.8 Intelligent cross-referencing Package cleveref Info: loaded `english" language definitions on input line 5263 . ) (C:\Users\<User>\AppData\Roaming\MiKTeX\2.8\tex\latex\autonum\autonum.sty Package: autonum 2012/06/21 v0.2 autonum LaTeX package (C:\Users\<User>\AppData\Roaming\MiKTeX\2.8\tex\latex\etoolbox\etoolbox.sty Package: etoolbox 2011/01/03 v2.1 e-TeX tools for LaTeX (E:\programfiles\MiKTeX2.8\tex\latex\misc\etex.sty Package: etex 1998/03/26 v2.0 eTeX basic definition package (PEB) \et@xins=\count99 ) \etb@tempcnta=\count100 ) (C:\Users\<User>\AppData\Roaming\MiKTeX\2.8\tex\latex\textpos\textpos.sty Package: textpos 2012/06/01 v1.7h Package: textpos 2012/06/01 1.7h, absolute positioning of text on the page (C:\Users\<User>\AppData\Roaming\MiKTeX\2.8\tex\latex\ms\everyshi.sty Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) ) \TP@textbox=\box28 \TP@holdbox=\box29 \TPHorizModule=\dimen112 \TPVertModule=\dimen113 \TP@margin=\dimen114 \TP@absmargin=\dimen115 Grid set 16 x 16 = 38.39343pt x 49.68562pt \TPboxrulesize=\dimen116 \TP@ox=\dimen117 \TP@oy=\dimen118 \TP@tbargs=\toks19 \TP@prevdepth=\dimen119 TextBlockOrigin set to 0pt x 0pt ) \c@autonum@counter=\count101 ) (E:\programming\latex\minimal-examples\autonum.aux) LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 5. LaTeX Font Info: ... okay on input line 5. LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 5. LaTeX Font Info: ... okay on input line 5. LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 5. LaTeX Font Info: ... okay on input line 5. LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 5. LaTeX Font Info: ... okay on input line 5. LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 5. LaTeX Font Info: ... okay on input line 5. LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 5. LaTeX Font Info: ... okay on input line 5. ABD: EveryShipout initializing macros Underfull \hbox (badness 10000) detected at line 5 []$[] $ [] LaTeX Warning: Reference `eq:eq1" on page 1 undefined on input line 10. [1 {C:/Users/<User>/AppData/Local/MiKTeX/2.8/pdftex/config/pdftex.map}] (E:\programming\latex\minimal-examples\autonum.aux) *File List* article.cls 2007/10/19 v1.4h Standard LaTeX document class size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option) amsmath.sty 2000/07/18 v2.13 AMS math features amstext.sty 2000/06/29 v2.01 amsgen.sty 1999/11/30 v2.0 amsbsy.sty 1999/11/29 v1.2d amsopn.sty 1999/12/14 v2.01 operator names cleveref.sty 2011/01/19 v0.17.8 Intelligent cross-referencing autonum.sty 2012/06/21 v0.2 autonum LaTeX package etoolbox.sty 2011/01/03 v2.1 e-TeX tools for LaTeX etex.sty 1998/03/26 v2.0 eTeX basic definition package (PEB) textpos.sty 2012/06/01 v1.7h everyshi.sty 2001/05/15 v3.00 EveryShipout Package (MS) *********** LaTeX Warning: There were undefined references. ) Here is how much of TeX"s memory you used: 2606 strings out of 495285 44952 string characters out of 3180519 139985 words of memory out of 3000000 5849 multiletter control sequences out of 15000+200000 4402 words of font info for 17 fonts, out of 3000000 for 9000 14 hyphenation exceptions out of 8191 30i,9n,31p,841b,210s stack positions out of 5000i,500n,10000p,200000b,50000s <E:/programfiles/MiKTeX2.8/fonts/type1/public/amsfonts/cm/cmbx10.pfb><E:/prog ramfiles/MiKTeX2.8/fonts/type1/public/amsfonts/cm/cmmi10.pfb><E:/programfiles/M iKTeX2.8/fonts/type1/public/amsfonts/cm/cmr10.pfb> Output written on autonum.pdf (1 page, 30636 bytes). PDF statistics: 18 PDF objects out of 1000 (max. 8388607) 0 named destinations out of 1000 (max. 500000) 1 words of extra memory for PDF output out of 10000 (max. 10000000) 

Commentaires

  • Cela fonctionne pour moi. Avez-vous compilé deux fois?
  • Au moins 10 fois! LaTeX = > PS = > PDF, btw.
  • Hm … puis collez votre .log ou un lien vers celui-ci
  • Je ‘ d vous suggère dajouter \listfiles à votre entrée et de modifier le *File List* à la question.
  • Ajout de la liste des fichiers et du fichier journal.

Réponse

Dans sa version actuelle, le package autonum rompt la prise en charge des caractères spéciaux dans les noms détiquettes. Ainsi, les caractères comme les deux points ou les chiffres ne sont pas autorisés pour le moment et doivent être modifiés.

La raison technique est que le nom de létiquette est utilisé dans le cadre dune commande nouvellement créée lorsquune équation est référencée. Cette commande est enregistrée dans le fichier aux et lors de la prochaine exécution, létiquette reçoit un numéro si cette commande est disponible dans le fichier aux. Comme un nom de commande ne doit pas contenir de caractères spéciaux, la limitation observée se produit.

Je pense que je dois poser une question distincte pour obtenir une meilleure solution à ce problème, car il dépasse mes connaissances TeX.

Mise à jour : un nom de commande peut contenir des caractères spéciaux si créé correctement .

Mise à jour 2 : Il y a un nouvelle version disponible, corrigeant le bogue.

Mise à jour 3 : La version 0.3.6 devrait corriger le bogue une fois pour toutes. Malheureusement, il y avait une régression non couverte par la suite de tests.

Commentaires

  • Merci MMM. Jattendrai cette mise à jour du package autonum qui est déjà très proche de ce dont jai besoin. Puisque mon problème initial reste la compatibilité avec un très gros document qui suit cette convention détiquetage, la capacité de autonum à traiter des caractères spéciaux sera en effet très utile.
  • Incroyable travail, @MMM.
  • La version actuelle, v0.3.5 (2013/06/15) ne ‘ t prend à nouveau en charge les noms avec des caractères spéciaux, je suppose que le la version où il était pris en charge la fait par inadvertance, pas en tant que fonctionnalité
  • Les caractères spéciaux ne semblent pas poser de problème dans la version 0.3.5 en général, car ils ont été ajoutés à la suite de tests lorsque le bogue sest produit le premier time et les versions ne sont effectuées que si la suite de tests réussit tous les tests. Il peut y avoir une régression dans des situations spécifiques, dont je ne suis pas au courant, car je nai ‘ pas encore vu un document problématique. Comme déjà écrit en privé, jespère que nous pourrons résoudre le problème, sil existe un exemple minimal pour le démontrer.
  • @MMM Désolé, mais pour moi, les choses sont cassées avec la v0.3.5 et une étiquette telle que eq:a: dans le .aux vous voyez \xdef\autonum@eq:bReferenced{} plutôt que ce que je ‘ d attend, @namedef{autonum@eq:bReferenced}{}. Je ‘ m suivi sur tex.stackexchange.com/questions/119737 , mais jai trouvé le problème lorsque je me suis déshabillé les autres paquets.

Réponse

Suite aux réponses précédentes, il existe toujours un bogue quelque part entre cleveref et autonum impliquant \Cref.

\documentclass{article} \usepackage{amsmath, cleveref} \usepackage{autonum} \begin{document} \begin{align}\label{eq:eq1} a = b+c \end{align} Refer to equation \cref{eq:eq1}. % This works fine post bug-fix. \Cref{eq:eq1} is a great equation. % This gives "reference undefined" 

\ end {document}

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *