Skip to content

Instantly share code, notes, and snippets.

@danielk333
Created March 20, 2021 07:26
Show Gist options
  • Save danielk333/4294658710d9a5be1cb6c27943347dda to your computer and use it in GitHub Desktop.
Save danielk333/4294658710d9a5be1cb6c27943347dda to your computer and use it in GitHub Desktop.
Performing latexdiff on an overleaf repository between two tags
#Execution: ./overleaf_diff [overleaf git hash] [main tex file name] [tag 1] [tag 2]
get_overleaf () {
if [ -d "$1" ]; then
cd "$1"
git pull
cd ..
else
git clone "https://git.overleaf.com/$1"
fi
if [ -d "$1_new" ]; then
cd "$1_new"
git pull
cd ..
else
cp -R "$1" "$1_new"
fi
cd $1
ver1=$(git log --oneline --all | grep $2)
ver2=$(git log --oneline --all | grep $3)
echo "Retrieved versions"
echo "$ver1"
echo "$ver2"
ver1=$(echo "$ver1" | cut -c1-6)
ver2=$(echo "$ver2" | cut -c1-6)
echo "Checking out hashes"
echo "$ver1"
echo "$ver2"
git checkout "$ver1"
cd ..
cd "$1_new"
git checkout "$ver2"
cd ..
}
do_diff () {
latexdiff "$1/$2" "$1_new/$2" > "./$1_new/revision.tex"
cd "$1_new"
pdflatex "revision.tex"
bibtex "revision.aux"
pdflatex "revision.tex"
pdflatex "revision.tex"
}
get_overleaf "$1" "$3" "$4"
do_diff "$1" "$2"
echo "Generated latex diff in: ./$1_new/revision.pdf"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment