2

我有一个函数用于确定 latex 中的计数,并且通常喜欢使用 command brief。我将如何将其修改为输入选项而不是使用"-inc" "-brief". 我可以在 minibuffer 中输入我自己的一组参数以使用命令 texcount 运行。很可能最好将命令用逗号分隔,然后翻译成下面的格式。或者,如果需要,我可以自己输入整个内容"-inc" "-brief"

(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 "-inc" "-brief" this-file)))))
(string-match "\n$" word-count)
(message (replace-match "" nil nil word-count))))
4

1 回答 1

0

未经测试:

 
   (defun latex-word-count ()
      (交互的)
      (let* ((this-file (buffer-file-name))
             (选项 (让 ((opts ()))
                               选择)
                           (while (not (equal (setq opt (read-string "Option: "))
                                              ""))
                             (推送选择选项))
                           (反向选择)))
             (字数 (with-output-to-string
                             (带电流缓冲标准输出
                               (应用 'call-process "texcount" nil t nil
                                      (附加选项(列出此文件)))))))
        (字符串匹配“\n$”字数)
        (message (replace-match "" nil nil word-count))))

这使您可以按照您想要的顺序输入任意数量的选项。RET以没有输入的方式点击结束。

如果您知道 可以接受哪些选项texcount,那么您可以使用completing-read而不是read-string,提供这些选项的列表作为其COLLECTION参数。HTH。

于 2011-12-14T18:42:41.383 回答