Lo que he aprendido: latexdiff vuelve a la carga

¿Os acordáis que me tuve que rendir y utilizar latexdiff online porque no me iba en el Windows? Pues volví a la carga (soy muy terca) y ahora funciona.

La cuestión es que leí esto y decidí usar latexdiff-so por probar a ver qué hacía. Y funcionó. Y yo me quedé loquísima.

Intentaré contar aquí un poco la película para ver si os vale a alguno. Pongamos un poco de contexto, latexdiff es un script de Perl que marca las diferencias entre dos archivos de Latex. Se puede instalar directamente desde el gestor de paquetes de MikTex, para el resto de distribuciones no tengo ni idea.

Como script de Perl que es necesita Perl para poderse usar, así que yo instalé Strawberry Perl, me añadió el path por sí mismo pero por si acaso comprobáis y si no está C:\Strawberry\perl\bin lo añadís. También hay que añadir la carpeta donde está latexdiff al path, será algo del estilo de C:\Program Files (x86)\MiKTeX 2.9\scripts\latexdiff\ así que aprovechamos y hacemos las dos cosas.

Bien, ahora para hacer el diff hacemos lo siguiente:

latexdiff-so viejo.tex nuevo.tex > diff.tex

Nos creará un archivo diff.tex que podemos compilar y donde veremos las diferencias.

Ahora viene lo raro: a mí latexdiff tal cual no me carrula, me da este error:

Can't locate Algorithm/Diff.pm in @INC (@INC contains: /usr/lib/perl5/5.8.8/msys /usr/lib/perl5/5.8.8 /usr/lib/perl5/site_perl/5.8.8/msys /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl .) at C:\Program Files (x86)\MiKTeX 2.9\scripts\latexdiff\latexdiff line 117.
BEGIN failed--compilation aborted at C:\Program Files (x86)\MiKTeX 2.9\scripts\latexdiff\latexdiff line 117.

Creo que tiene que ver con lo que cuentan aquí: latexdiff usa el paquete Algorithm::Diff de Perl y latexdiff-so en cambio no (es standalone). De hecho en el código de latexdiff-so pone lo siguiente:

# The stand-alone version of latexdiff is provided as a convenience
# for latex users with no knowledge of PERL who do not wish to install
# additional packages to be able to use latexdiff.

Y en lugar de hacer:

use Algorithm::Diff qw(traverse_sequences);

que es lo que hace latexdiff, define Algorithm::Diff dentro del propio script:

BEGIN { 
package Algorithm::Diff;
use strict;

Y eso hermanos míos, que no hay que rendirse nunca jamás, siempre podemos encontrar una pista aleatoria en Internet que nos encamine hacia la solución final 🙂

Anuncios

3 pensamientos en “Lo que he aprendido: latexdiff vuelve a la carga

  1. victorhck

    No sabía qué era eso del botónn rojo final, pero hoy le he dado y he visto que es la polla! 😛
    Hicieron canciones que después de 30 años siguen siendo actuales, o eran unos putos cracks o el mundo sigue siendo igual de mierdoso!!

    Por cierto puedes utilizar la etiqueta [more] o leer más, no muerde, y así en la portada del blog no se verán los artículos completos…

    PS: Como ves sigo con mis offtopics 😛

    Responder
    1. Ondiz Autor de la entrada

      Sí, en el botón rojo suelo poner vídeos o artículos que me vienen a la cabeza por algo que haya escrito en el post. Al poner “la solución final” era evidente qué iba a recordar como punki como soy 😉

      Sobre poner los posts enteros en la portada nunca me he parado a pensar, a mí me mola poder leer todo seguido sin tener que abrir otra pestaña o ir hacia atrás, pero miraré cómo queda de la otra manera. Offtopic-ea todo lo que quieras hombre, no hay problema 😀

      Responder
  2. Pingback: Curso no convencional de LaTeX: abramos la caja de herramientas | Onda Hostil

¡Opina sin miedo! (Puedes usar Markdown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s