Подсчет слов для ЛАТЕКСА в emacs

Я хочу рассчитать, сколько слов мой ЛАТЕКСНЫЙ документ имеет в нем. Я могу сделать это путем движения в веб-сайт для texcount пакета и использования веб-интерфейса там. но это не идеально.

У меня был бы некоторый ярлык в emacs, чтобы просто возвратить количество слов в файле (или идеально количество слов в файле и во всех файлах, названных \input или \include в рамках документа). Я загрузил texcount сценарий, но я не знаю, что сделать с ним. Таким образом, я не знаю, куда поместить .pl файл, и как назвать его в emacs.

Это: Я хочу сочетание клавиш для команды оболочки. И я хочу, чтобы та команда оболочки выполнила texcount на текущем активном буфере и возвратила общие слова в мини-буфере.

Я использую Ubuntu и emacs22, если это помогает...

19
задан 30.03.2010, 14:51

2 ответа

(defun latex-word-count ()
  (interactive)
  (shell-command (concat "/usr/local/bin/texcount.pl "
                         ; "uncomment then options go here "
                         (buffer-file-name))))

Можно решить поместить texcount.pl где-нибудь кроме/usr/local/bin, просто изменить код как соответствующий, если Вы делаете. Это создает новую команду "M-x latex-word count", которая выполнит texcount.pl на текущем файле (это даст неправильный результат, если Вы не сохранили файл хотя). Можно удалить точку с запятой и заменить текст заполнителя любыми параметрами командной строки, которые Вы хотите использовать, если таковые имеются. Можно связать это с командой клавиатуры с чем-то вроде этого в .emacs:

(define-key latex-mode-map "\C-cw" 'latex-word-count)

Страница, которая описывает, как установить texcount, здесь: часто задаваемые вопросы texcount. Короткая версия:

sudo cp texcount.pl /usr/local/bin/texcount.pl
или альтернативно Вы могли сделать, как они рекомендуют и просто называют это texcount и обновляют код соответственно.

15
ответ дан 07.12.2019, 10:18

Вот немного более хорошая версия вышеупомянутого сценария (пробелы дескрипторов в именах файлов, производит короткий вывод, и т.д....), LaTeX рычаги для AuCTeX.

(defun my-latex-setup ()
  (defun latex-word-count ()
    (interactive)
    (let* ((this-file (buffer-file-name))
           (word-count
            (with-output-to-string
              (with-current-buffer standard-output
                (call-process "texcount" nil t nil "-brief" this-file)))))
      (string-match "\n$" word-count)
      (message (replace-match "" nil nil word-count))))
    (define-key LaTeX-mode-map "\C-cw" 'latex-word-count))
(add-hook 'LaTeX-mode-hook 'my-latex-setup t)
11
ответ дан 07.12.2019, 10:18

Теги

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