I figured out how to solve this. The problem was that the instance started by Synctex wasn't recognized by the command in my 'External Tools' script.
The Synctex instance was listed as
/usr/bin/evince file:///path/to/my/file.pdf, whereas the instance called by xdg-open was listed as
So, I just changed my script such that it will also be listed as
/usr/bin/evince file:///path/to/my/file.pdf. My External Tools script now reads:
if [ "$GEDIT_CURRENT_DOCUMENT_TYPE" == "text/html" ]; then
elif [ "$GEDIT_CURRENT_DOCUMENT_TYPE" == "text/x-tex" ]; then
shortname=`echo $filename | sed 's/\(.*\)\.tex$/\1/'`
shortpath=`echo $path | sed 's/\(.*\)\.tex$/\1/'`
latex -synctex=1 -interaction batchmode -src $filename
dvips -t a4 $shortname.dvi
ps2pdf -sPAPERSIZE=a4 -dOptimize=true -dEmbedAllFonts=true $shortname.ps
rm --interactive=never $shortname.dvi $shortname.out $shortname.ps $shortname.blg $shortname.toc $shortname.log
echo "I don't know how to compile files of the type:" "$GEDIT_CURRENT_DOCUMENT_TYPE"