emacs 中 LaTeX 的字数统计

Sea*_*mus 21 latex emacs word-count

我想计算我的 LaTeX 文档中有多少字。我可以通过访问texcount 包的网站并使用那里的 Web 界面来做到这一点。但这并不理想。

我宁愿有一个文件中的Emacs单词的只是回数内的一些快捷方式(或理想数量的文件,并通过调用的所有文件的话\input\include文档中)。我已经下载了 texcount 脚本,但我不知道如何处理它。也就是说,我不知道将.pl文件放在哪里,以及如何在 emacs 中调用它。

那就是:我想要一个 shell 命令的键盘快捷键。我希望该 shell 命令在当前活动缓冲区上运行 texcount 并返回小缓冲区中的总字数。

我正在使用 Ubuntu 和 emacs22,如果有帮助的话......

Jus*_*ith 16

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

您可以选择将 texcount.pl 放在 /usr/local/bin 以外的其他地方,如果您这样做,只需根据需要修改代码。这将创建一个新命令“Mx latex-word-count”,它将在当前文件上运行 texcount.pl (如果您还没有保存文件,它将给出错误的结果)。您可以删除分号并将填充文本替换为您要使用的任何命令行参数(如果有)。你可以在你的 .emacs 中使用类似的东西将它绑定到一个键盘命令:

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

描述如何安装 texcount 的页面在这里:texcount faq。精简版:

sudo cp texcount.pl /usr/local/bin/texcount.pl
Run Code Online (Sandbox Code Playgroud)或者,您可以按照他们的建议进行操作,并将其简单地命名为 texcount,然后适当地更新代码。


小智 11

这是上述脚本的一个稍微好一点的版本(处理文件名中的空格,产生一行输出等...)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)
Run Code Online (Sandbox Code Playgroud)


Flo*_*low 5

精简版: M-! texcount <file.tex> RET

我只想用emacs包括shell-command

M-! <cmd> RET

连同texcount(texcount.pl)一起安装在大多数乳胶发行版中。在编辑您的文档时,只需按M-!Enter 键texcount <tex-file>并按回车键即可。