cleveref, autonum y etiquetado solo hacen referencia a ecuaciones

El usuario MMM recomendó que use el nuevo autonum paquete en respuesta a mi consulta . Sin embargo, estoy teniendo algunas dificultades para que el paquete funcione. Aquí hay un ejemplo de trabajo mínimo que se compila con «referencias no definidas»:

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

Supongo que no estoy usando el paquete correctamente, pero no estoy seguro de qué es exactamente Estoy haciendo mal.

Además, aquí está la lista de archivos para la compilación 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) *********** 

Y el .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) 

Comentarios

  • Funciona para mí. ¿Ha compilado dos veces?
  • ¡Al menos 10 veces! LaTeX = > PS = > PDF, por cierto.
  • Hm … luego pegue su .log o un vincularlo
  • Yo ‘ le sugiero que agregue \listfiles a su entrada y edite el *File List* en la pregunta.
  • Se agregó la lista de archivos y el archivo de registro.

Respuesta

En su versión actual, el paquete autonum rompe el soporte para caracteres especiales en los nombres de las etiquetas. Por lo tanto, los caracteres como los dos puntos o los dígitos no están permitidos en este momento y deben cambiarse.

La razón técnica es que el nombre de la etiqueta se usa como parte de un comando recién creado cuando se hace referencia a una ecuación. Este comando se guarda en el archivo auxiliar y durante la siguiente ejecución, la etiqueta obtiene un número si este comando está disponible en el archivo auxiliar. Como el nombre de un comando no debe contener caracteres especiales, se produce la limitación observada.

Creo que tengo que hacer una pregunta aparte para obtener una mejor solución a este problema, ya que excede mi conocimiento de TeX.

Actualización : el nombre de un comando puede contener caracteres especiales si creado correctamente .

Actualización 2 : hay un nueva versión disponible, solucionando el error.

Actualización 3 : La versión 0.3.6 debería corregir el error de una vez por todas. Desafortunadamente, hubo una regresión no cubierta por el conjunto de pruebas.

Comentarios

  • Gracias MMM. Esperaré la actualización del paquete autonum que ya es casi lo que necesito. Dado que mi problema original sigue siendo la compatibilidad con un documento muy grande que sigue esa convención de etiquetado, la capacidad de autonum para procesar caracteres especiales será realmente muy útil.
  • Increíble trabajo, @MMM.
  • La versión actual, v0.3.5 (2013/06/15) no ‘ t admite nombres con caracteres especiales de nuevo, supongo que la versión en la que se admitía lo hizo sin querer, no como una característica
  • Los caracteres especiales parecen no ser un problema en la versión 0.3.5 en general, ya que se agregaron al conjunto de pruebas cuando se produjo el error por primera vez el tiempo y los lanzamientos solo se realizan si el conjunto de pruebas pasa todas las pruebas. Puede haber una regresión en situaciones específicas, de las que no estoy al tanto, ya que todavía ‘ no he visto un documento problemático. Como ya está escrito en privado, espero que podamos resolver el problema, si hay un ejemplo mínimo que lo demuestre.
  • @MMM Lo siento, pero para mí las cosas se rompen con la v0.3.5 y una etiqueta como eq:a: en .aux ves \xdef\autonum@eq:bReferenced{} en lugar de lo que yo ‘ d esperar, @namedef{autonum@eq:bReferenced}{}. ‘ estoy haciendo un seguimiento de tex.stackexchange.com/questions/119737 , pero encontré el problema cuando eliminé los otros paquetes.

Respuesta

Además de las respuestas anteriores, todavía existe un error en algún lugar entre cleveref y autonum que involucran a \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 {documento}

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *