cleveref, autonum en labeling alleen vergelijkingen waarnaar wordt verwezen

Gebruiker MMM raadde aan dat ik de nieuwe autonum pakket als antwoord op mijn vraag . Ik heb echter enige moeite om het pakket werkend te krijgen. Hier is een minimaal werkend voorbeeld dat compileert met “ongedefinieerde referenties”:

\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} 

Ik neem aan dat ik het pakket niet goed gebruik, maar ik weet niet precies wat Ik doe verkeerd.

Hier is ook de bestandenlijst voor de LaTeX => PDF-compilatie.

 *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) *********** 

En de .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) 

Reacties

  • Het werkt voor mij. Heb je twee keer gecompileerd?
  • Minstens 10 keer! LaTeX = > PS = > PDF, btw.
  • Hm … plak dan je .log of een link ernaar
  • Ik ‘ d stel voor om \listfiles toe te voegen aan je invoer en de resulterende *File List* in de vraag.
  • Bestandslijst en logbestand toegevoegd.

Antwoord

In de huidige versie verbreekt het autonum-pakket de ondersteuning voor speciale tekens in labelnamen. Tekens zoals de dubbele punt of cijfers zijn op dit moment dus niet toegestaan en moeten worden gewijzigd.

De technische reden is dat de labelnaam wordt gebruikt als onderdeel van een nieuw gemaakt commando wanneer er naar een vergelijking wordt verwezen. Dit commando wordt opgeslagen in het aux-bestand en tijdens de volgende run krijgt het label een nummer als dit commando beschikbaar is in het aux-bestand. Omdat een commandonaam geen speciale tekens mag bevatten, treedt de waargenomen beperking op.

Ik denk dat ik een aparte vraag moet stellen om een betere oplossing voor dit probleem te krijgen, aangezien het mijn TeX-kennis overstijgt.

Update : een opdrachtnaam kan speciale tekens bevatten als correct gemaakt .

Update 2 : er is een nieuwe versie beschikbaar, die de bug verhelpt.

Update 3 : Versie 0.3.6 zou de bug voor eens en voor altijd moeten oplossen. Helaas was er een regressie die niet werd gedekt door de testsuite.

Opmerkingen

  • Bedankt MMM. Ik wacht op die update van het autonum -pakket dat al bijna is wat ik nodig heb. Aangezien mijn oorspronkelijke probleem compatibiliteit blijft met een zeer groot document dat die labelconventie volgt, zal de mogelijkheid van autonum om speciale tekens te verwerken inderdaad erg nuttig zijn.
  • Verbazingwekkend work, @MMM.
  • De huidige versie, v0.3.5 (2013/06/15) ondersteunt geen ‘ namen met speciale tekens, ik denk dat de versie waar het werd ondersteund, deed dit gewoon onbedoeld, niet als een functie
  • Speciale tekens lijken in het algemeen geen probleem te zijn in versie 0.3.5, aangezien ze aan de testsuite werden toegevoegd toen de bug de eerste keer voorkwam tijd en releases worden alleen gedaan als de testsuite alle tests doorstaat. Er kan een regressie optreden in specifieke situaties, waarvan ik me niet bewust ben, aangezien ik ‘ nog geen problematisch document heb gezien. Zoals al privé geschreven, hoop ik dat we het probleem kunnen oplossen, als er een minimaal voorbeeld is dat het demonstreert.
  • @MMM Sorry, maar voor mij gaan dingen kapot met v0.3.5 en een label zoals eq:a: in de .aux zie je \xdef\autonum@eq:bReferenced{} in plaats van wat ik ‘ verwacht, @namedef{autonum@eq:bReferenced}{}. Ik ‘ heb tex.stackexchange.com/questions/119737 gevolgd, maar vond het probleem toen ik uit de andere pakketten.

Answer

Naast eerdere antwoorden bestaat er nog steeds een bug ergens tussen cleveref en autonum waarbij \Cref is betrokken.

\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}

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *