[ESS] Making M-n r (for ess-swv-knit) available in polymode

Mathieu Basille basille.web at ase-research.org
Thu Apr 3 23:02:02 CEST 2014


Hey Josh,

I use the following keyboard setup for polymode:

;; F5 to weave / C-F5 to compile to HTML / C-S-F5 to tangle
(define-key polymode-mode-map [(f5)] 'ess-swv-weave)
(define-key polymode-mode-map [(control f5)] 'ess-swv-pandoc)
(define-key polymode-mode-map [(control shift f5)] 'ess-swv-tangle)

With the home-made 'ess-swv-pandoc' function below:

;; Function ess-swv-pandoc to use knitr::pandoc with options in
;; .emacs.d/config.pandoc
(defun ess-swv-pandoc ()
   "Run Pandoc on the associated .md file."
   (interactive)
   (let* ((rmd-buf (current-buffer)))
     (save-excursion
       (let* ((sprocess (ess-get-process ess-current-process-name))
              (sbuffer (process-buffer sprocess))
              (md-filename (file-name-sans-extension (buffer-file-name)))
              (buf-coding (symbol-name buffer-file-coding-system))
              (pandoc-cmd
	      (format "require(knitr); pandoc(\"%s.md\", format =
	      \"html\", config =
	      \"/home/mathieu/.emacs.d/config.pandoc\")"
	      md-filename)))
	(message "Running pandoc on %s.md" md-filename)
         (ess-execute pandoc-cmd 'buffer nil nil)
         (switch-to-buffer rmd-buf)
         (ess-show-buffer (buffer-name sbuffer) nil)))))

Of course, you'd have to adjust it to your own setup (and keyboard 
preferences, e.g. M-n r instead), but it might get you started.

Mathieu.


Le 04/03/2014 04:34 PM, Josh O'Brien a écrit :
> Hello,
>
> When I open a *.Rnw document_without_ having loaded markdown mode and
> polymode, I am able to knit and PDF-ify the document by doing first "M-n r"
> (for ess-swv-knit) and then "M-n P".
>
> When markdown mode and polymode _are_ loaded (using the emacs commands
> copied below), I get very nice document highlighting, but neither of those
> keyboard shortcut works. Typing "M-n r" just gets me the message "M-n r is
> undefined", and likewise when I type "M-n P".
>
> Is there something wrong with the commands I'm using to load markdown mode
> and/or polymode? Alternatively, is there some way I can make polymode aware
> of my intended meaning of those two keyboard shortcuts?
>
> For the record, I am using GNU Emacs 24.3.1 and ess-version: 13.09 [svn:
> 5778 (2013-09-27)] on a Windows 7 machine.
>
> Here is the code that I use to load markdown mode and Vitalie Spinu's
> polymode.
>
> ;; Markdown mode, needed by Vitalie's polymode.
> ;; From http://jblevins.org/projects/markdown-mode/
> (autoload 'markdown-mode "markdown-mode"
>     "Major mode for editing Markdown files" t)
> (add-to-list 'auto-mode-alist '("\\.text\\'" . markdown-mode))
> (add-to-list 'auto-mode-alist '("\\.markdown\\'" . markdown-mode))
> (add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))
>
> ;; Add polymode to load path
> ;; From https://github.com/vitoshka/polymode
> (add-to-list 'load-path (expand-file-name "~/.emacs.d/polymode"))
> (add-to-list 'load-path (expand-file-name "~/.emacs.d/polymode/modes"))
> (require 'poly-R)
> (require 'poly-markdown)
>
>
> Thanks,
>
> Josh
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> ESS-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/ess-help
>

-- 

~$ whoami
Mathieu Basille, PhD

~$ locate --details
University of Florida \\
Fort Lauderdale Research and Education Center
(+1) 954-577-6314
http://ase-research.org/basille

~$ fortune
« Le tout est de tout dire, et je manque de mots
Et je manque de temps, et je manque d'audace. »
  -- Paul Éluard



More information about the ESS-help mailing list