cleveref, autonum ed etichettatura solo equazioni referenziate

Lutente MMM mi ha consigliato di utilizzare il nuovo autonum pacchetto in risposta alla mia query . Tuttavia, ho qualche difficoltà a far funzionare il pacchetto. Ecco un minimo esempio funzionante che si compila con “riferimenti undefined”:

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

Presumo di non utilizzare correttamente il pacchetto, ma non sono sicuro di cosa esattamente Sto sbagliando.

Inoltre, ecco lelenco dei file per la compilazione 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) *********** 

E il .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) 

Commenti

  • Per me funziona. Hai compilato due volte?
  • Almeno 10 volte! LaTeX = > PS = > PDF, btw.
  • Hm … quindi incolla il tuo .log o un link ad esso
  • I ‘ d suggerisco di aggiungere \listfiles al tuo input e di modificare il *File List* nella domanda.
  • Elenco file e file di registro aggiunti.

Risposta

Nella sua versione corrente, il pacchetto autonum interrompe il supporto per i caratteri speciali nei nomi delle etichette. Pertanto, caratteri come i due punti o le cifre non sono consentiti al momento e devono essere modificati.

Il motivo tecnico è che il nome delletichetta viene utilizzato come parte di un comando appena creato quando si fa riferimento a unequazione. Questo comando viene salvato nel file aux e durante la successiva esecuzione letichetta riceve un numero se questo comando è disponibile nel file aux. Poiché il nome di un comando non deve contenere caratteri speciali, si verifica la limitazione osservata.

Penso di dover fare una domanda separata per ottenere una soluzione migliore a questo problema, poiché supera la mia conoscenza di TeX.

Aggiorna : il nome di un comando può contenere caratteri speciali se creato correttamente .

Aggiornamento 2 : è presente un nuova versione disponibile, correzione del bug.

Aggiornamento 3 : La versione 0.3.6 dovrebbe correggere il bug una volta per tutte. Sfortunatamente, si è verificata una regressione non coperta dalla suite di test.

Commenti

  • Grazie MMM. Aspetterò laggiornamento al pacchetto autonum che è già quasi quello di cui ho bisogno. Poiché il mio problema originale rimane la compatibilità con un documento molto grande che segue quella convenzione di etichettatura, la capacità di autonum di elaborare caratteri speciali sarà davvero molto utile.
  • Incredibile funziona, @MMM.
  • La versione corrente, v0.3.5 (15/06/2013) non ‘ supporta ancora i nomi con caratteri speciali, immagino che la versione in cui era supportata lo faceva solo involontariamente, non come caratteristica
  • I caratteri speciali non sembrano essere un problema nella versione 0.3.5 in generale, poiché sono stati aggiunti alla suite di test quando si è verificato il primo bug il tempo e i rilasci vengono eseguiti solo se la suite di test supera tutti i test. Potrebbe esserci una regressione in situazioni specifiche, di cui non sono a conoscenza, poiché ‘ non ho ancora visto un documento problematico. Come già scritto in privato, spero che possiamo risolvere il problema, se cè un esempio minimo che lo dimostri.
  • @MMM Scusa, ma per me le cose non funzionano con la v0.3.5 e unetichetta come eq:a: in .aux vedi \xdef\autonum@eq:bReferenced{} invece di quello che io ‘ d aspettarsi, @namedef{autonum@eq:bReferenced}{}. Ho ‘ seguito su tex.stackexchange.com/questions/119737 , ma ho riscontrato il problema quando ho rimosso gli altri pacchetti.

Risposta

Oltre alle risposte precedenti, esiste ancora un bug da qualche parte tra cleveref e autonum che coinvolgono \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}

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *