Я использую плагин SyncTeX в gedit, и кажется, что нажатие ctrl в gedit (поиск вперед) открывает новый экземпляр Evince, даже если уже был открытый экземпляр.
Есть ли способ предотвратить это? Прямой поиск SyncTeX явно вызывает evince не так, как, например, Наутилус будет.
Между прочим, я компилирую свои текстовые файлы с помощью скрипта, используя плагин «external tools». Строка, которая открывает PDF-файл, использует xdg-open
.
Я понял, как решить эту проблему. Проблема заключалась в том, что экземпляр, запущенный Synctex, не был распознан командой в моем сценарии «Внешние инструменты».
Экземпляр Synctex был указан как /usr/bin/evince file:///path/to/my/file.pdf
, тогда как экземпляр, вызванный xdg-open, был указан как evince file.pdf
.
Итак, я просто изменил свой сценарий так, что он также будет указан как /usr/bin/evince file:///path/to/my/file.pdf
. Мой скрипт внешних инструментов теперь читает:
#!/bin/bash
if [ "$GEDIT_CURRENT_DOCUMENT_TYPE" == "text/html" ]; then
google-chrome $GEDIT_CURRENT_DOCUMENT_NAME
elif [ "$GEDIT_CURRENT_DOCUMENT_TYPE" == "text/x-tex" ]; then
filename=$GEDIT_CURRENT_DOCUMENT_NAME
shortname=`echo $filename | sed 's/\(.*\)\.tex$/\1/'`
path=file://$GEDIT_CURRENT_DOCUMENT_PATH
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
#xdg-open $shortname.pdf
/usr/bin/evince $shortpath.pdf
else
echo "I don't know how to compile files of the type:" "$GEDIT_CURRENT_DOCUMENT_TYPE"
fi