Saltar al contenido

Latexdiff con subarchivos

Puede darse el caso de que encuentres algún problema en tu código o trabajo, recuerda probar siempre en un ambiente de testing antes añadir el código al trabajo final.

Solución:

Tenga en cuenta que lo siguiente es una solución alternativa en lugar de una solución completa:

latexdiff --append-safecmd=subfile d1/main.tex d2/main.tex --flatten > mydiff.tex

se encargará de los casos en los que se haya agregado o eliminado un comando subfile del archivo, y todo el bloque esté marcado (solo probado en el MWE, deberá confirmarse para material incluido más largo), o el nombre de archivo de incluido cambios de archivo. Aún necesitará copiar los archivos incluidos en el directorio donde se genera el archivo de diferencias (directorio actual en el MWE).

Para resaltar los cambios de contenido en los subarchivos, puede procesar cada archivo por separado

cat /dev/null > null
latexdiff -pnull d1/includeme.tex d2/includeme.tex > includeme.tex

La opción -p obliga a latexdiff a omitir los comandos de preámbulo que normalmente inserta automáticamente cuando encuentra un begindocument (archivo auxiliar “null” se necesita como -p/dev/null no se reconoce debido a un error en latexdiff).

Ahora todo lo que queda es automatizar esto. La siguiente línea es una forma ingeniosa de lograr cierta automatización como prueba de concepto, pero realmente necesitaría expandirse a un script de shell pequeño más robusto y flexible:

grep -v '^%' main.tex | grep subfile{ | sed 's/^.*subfile(.*).*$/1/'
| awk ' print "latexdiff -pnull d1/" $1, "d2/" $1,">", $1 ' | sh

2 años después de que se hizo la pregunta, pero terminé escribiendo un archivo por lotes para resolver esto en un entorno de Windows:

@echo off
setlocal

set "old_path=....tagsold_versionmy_folder"
set "new_path=......trunkmy_folder"
set "doc_name=my_file.tex"

latexdiff --flatten %doc_name% %doc_name% > flat.tex
cd %old_path%
latexdiff --flatten %doc_name% %doc_name% > flat.tex
cd %new_path%
latexdiff --flatten %old_path%flat.tex flat.tex > diff.tex

rm flat.tex
rm %old_path%flat.tex

Te mostramos las comentarios y valoraciones de los usuarios

Puedes apoyar nuestro análisis mostrando un comentario y dejando una valoración te damos la bienvenida.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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