Автофокус xdvi после выполнения viewdvi в Emacs с AUCTeX

Я использовал emacs с режимом AUCTeX для редактирования моих латексных документов в течение нескольких дней теперь, но существует что-то, что это действительно прослушивает меня. Поскольку это должно быть, каждый раз, когда я делаю C-c C-c RET, это компилирует файл, и если повторяют команда, это просматривает вывод в xdvi. Это также установлено на мини-режим TeX-source-specials-mode, таким образом, вместо того, чтобы открыть новое окно в xdvi это только перезагружает окно, это уже открыто, выявляет его и отправляет меня в то, везде, где указатель был в emacs (передайте поиск).

Теперь вот проблема:
Даже при том, что xdvi окно выявлено, оно не фокусируется. Вместо этого emacs окна остается с фокусом (и это - то, куда любой ввод с клавиатуры идет). И я продолжаю забывать об этом, которое приводит меня к случайному редактированию исходного файла при попытке перейти в xdvi. Не говоря уже о я вынужден к alt-tab, чтобы сфокусировать xdvi и alt-tab дважды, если я просто хочу возвратиться к emacs.

Существует ли путь вокруг этой проблемы? Я просто хочу, чтобы xdvi был сфокусирован каждый раз, когда я выполняю команду представления от emacs.

Править: Я узнал, что могу сфокусироваться, xdvi окно с командой wmctrl-a основной (основной заголовок xdvi окна). Как я могу установить emacs для автоматического добавления этой команды в конец команды представления?

1
задан 19.05.2010, 20:28

3 ответа

После большого рытья я думаю, что нашел путь. Это чувствует себя довольно неуклюжим, поэтому не стесняйтесь предлагать лучший путь.

Команда представления по умолчанию составлена "xdvi", сопровождаемым несколькими аргументами, определенными некоторыми переменными, сопровождаемыми именем файла. Последний аргумент перед именем файла определяется переменным "Исходным Редактором Представления Экстренного сообщения Tex Флаги", и его значение по умолчанию: "-редактор "%cS"" (без наиболее удаленных кавычек).

Я добавил строку "%d && wmctrl-a, $ (повторите %d | sed-e 's/.dvi//g'), #" (снова, никакие кавычки) в конец этой переменной. Помните, что это - последний аргумент в команде представления перед именем файла.

  • %d предназначен для замены названия dvi файла, необходимого для команды xdvi.
  • && заканчивает xdvi (представление) команда.
  • wmctrl-a даст фокус названному окну: echo %d | sed -e 's/.dvi//g' (который является названием dvi файла без .dvi расширения).
  • наконец, просто говорит

    удар для игнорирования независимо от того, что прибывает затем. В нашем случае это - имя файла, которое emacs автоматически добавляет после всего этого.

Для редактирования этой переменной, я использовал emacs меню настройки для латекса.

0
ответ дан 12.12.2019, 13:16

Это не вполне работало на меня, так как мое emacs окно имеет tex файл, поскольку это - имя. Это означает, что wmctrl дает фокус emacs вместо xdvi.

Однако небольшое изменение зафиксировало его для меня. Я добавил следующую строку вместо этого:

%d && wmctrl -a xdvik #
1
ответ дан 12.12.2019, 13:16

Вот альтернативное решение Вашей проблемы (который является, если я корректен: иметь непосредственное представление Вашего недавно скомпилированного документа): просто откройте свой dvi файл в новом буфере набор это к auto-revert-mode. Теперь каждый раз, когда Вы скомпилируете свой документ, этот буфер должен показать Вам изменения без потребности отъезда emacs, и это разместило чистоту рядом. Отметьте, Вы могли бы хотеть попробовать это PDF как Ваш вывод компиляции; по крайней мере, мне, кажется, что автовозвращаются, является намного более быстро реагирующим с pdfs.

1
ответ дан 12.12.2019, 13:16

Теги

Похожие вопросы