[ESS] Code contribution or suggestion

Keith Ponting k.ponting at aurix.com
Fri Jul 1 12:48:30 CEST 2011


Another alternative that I use for my Sweave sources is template
http://emacs-template.sourceforge.net  - setup TEMPLATE.rnw as you like
it (optionally including useful substitutions like author name,
date,...) and then every time you open a new .rnw file you will be asked
whether you want to use that template.

BTW I also use and like yasnippet, but I think the template.el approach
would be less typing/mousing per document.

Keith Ponting
Aurix Ltd, Malvern WR14 3SZ  UK

> From: Steve Lianoglou <mailinglist.honeypot at gmail.com>
> 
> Hi Jim,
> 
> Unless I'm missing something, an alternative way to achieve your
> templatings stuffs that you've got here is to use yasnippet:
> http://code.google.com/p/yasnippet/
> 
> You can setup templates rather easily for various languages (not just
> sweave), and making new templates are pretty easy (no elisp required
> :-)
> 
> Here's a video of it in action:
> http://www.youtube.com/watch?v=76Ygeg9miao
> 
> The first ~ minute is how to install it, which you can skip if you're
in
> a hurry and just want to check it out.
> 
> Hope that helps,
> -steve
> 
> On Fri, Jun 24, 2011 at 11:10 AM,  <Jim_Garrett at bd.com> wrote:
> >
> > ? Hi all,
> > ? I have just joined this list. ?I've been using Emacs and ESS for
> > years but ? only recently have I begun learning e-lisp and
customizing
> > Emacs. ?I've also ? just begun using Sweave consistently. ?I manage
> > several other statisticians, ? and I'm training them on Sweave so
that
> > we may use it for all critical ? reports. ?Along the way, I've taken
> > some steps to automate the generation of ? boilerplate text in
> > standard, common cases. ?This has made it much easier to ? use
Sweave,
> > partly by reducing typing and partly to keep me from having to ?
> > remember options. ?This may be a form of dumbing-down but it does
help
> one ? to get started quickly.
> > ? I'd like to contribute some e-lisp functions I've written for
> > possible ? inclusion ?in ?ESS. ? They would be trivial for any
> > experienced e-lisp ? programmer to write, so I guess I'm actually
> > asking that something along ? these lines be included to help
> > beginners set up Sweave documents. ?(Or is ? something equivalent
> > already there?) ?I'm using ESS 5.10-1, Emacs 23.1.1, ? all from
> Ubuntu's repositories.
> > ? Specifically, here are the things I've automated:
> > ? ?1. Generating a skeletal LaTeX document with a standard
preamble..
> > ? ?2. Creating a skeleton for an Sweave code chunk that creates a
> figure.
> > ? ?3. Similarly, for a table (using xtable).
> > ? ?4. Similarly, for a code chunk that returns nothing (i.e.,
carries
> > out ? ? ? necessary data processing but does not directly add to a
> > report)
> >
> > ? Below are my functions. ?Feel free to make whatever modifications
> > you feel ? necessary, or to achieve these ends by other means.
> > ? Best regards,
> > ? Jim Garrett
> > ? Baltimore, Maryland, USA
> > ? 1. To generate a template for a LaTeX file:
> > ? (defun create-sweave-file ()
> > ? ? "Insert contents of template file into buffer."
> > ? ? (interactive nil)
> > ? ? (insert-file-contents "~/.sweave-template.rnw")) ? where
> > .sweave-template.rnw is ? \documentclass[english]{article} ?
> > \usepackage[T1]{fontenc} ? \usepackage[latin9]{inputenc} ?
> > \usepackage{babel} ? \begin{document} ? \title{} ? \author{} ?
\date{}
> > ? \maketitle ? \end{document} ? I actually include more in the
> > skeleton because I encourage a particular ? report format for my
> > group, but I don't want to inflict those on everyone.
> > ? 2. To create a template for a code chunk that creates a figure:
> > ? (defun insert-sweave-figure (label)
> > ? ? "Insert standard figure stuff and R tags."
> > ? ? (interactive "MEnter label: ")
> > ? ? (insert
> > ? ? ? (concat
> > ? "\\begin{figure}
> > ? ? \\begin{center}
> > ? <<" label ", fig = T, echo = F>>=
> > ? @
> > ? ? \\end{center}
> > ? ? \\caption{}
> > ? ? \\label{fig:" label "}
> > ? \\end{figure}")))
> > ? (I like to leave 3 blank lines in the code block so that I can
edit
> > the ? middle one, leaving one above and below so it doesn't look
> > crowded.) ? 3. To create a template for a code chunk creating a
table,
> using xtable:
> > ? (defun insert-sweave-table (label)
> > ? ? "Insert code that creates a LaTeX table through the xtable
> function."
> > ? ? (interactive "MEnter label: ")
> > ? ? (insert
> > ? ? ?(concat
> > ? ? ? "<<"
> > ? ? ? label
> > ? ? ? ", echo = F, results = tex>>=
> > ? require(xtable)
> > ? print(xtable(,
> > ? caption = \"\",
> > ? label = \"tab:"
> > ? ? ? label
> > ? ? ? "\"),
> > ? include.rownames = F)
> > ? @")))
> > ? 4. To create a template for a code chunk that returns no output:
> > ? (defun insert-sweave-code (label)
> > ? ? "Insert code block that produces no output."
> > ? ? (interactive "MEnter label: ")
> > ? ? (insert
> > ? ? ?(concat
> > ? ? ? "<<"
> > ? ? ? label
> > ? ? ? ", echo = F, include = F>>=
> > ? @")))
> > ? -----------------------------------------
> > ?
*******************************************************************
> > ? IMPORTANT MESSAGE FOR RECIPIENTS IN THE U.S.A.: This message may
> > constitute ? an advertisement of a BD group's products or services
or
> > a solicitation of ? interest in them. If this is such a message and
> > you would like to opt out of ? receiving future advertisements or
> > solicitations from this BD group, please ? forward this e-mail to
> optoutbygroup at bd.com.
> > ?
> >
*******************************************************************Thi
> > s ? message (which includes any attachments) is intended only for
the
> > designated ? recipient(s). It may contain confidential or
proprietary
> > information and may ? be ?subject ?to the attorney-client privilege
or
> > other confidentiality ? protections. If you are not a designated
> > recipient, you may not review, use, ? copy or distribute this
message.
> > If you received this in error, please ? notify ?the sender by reply
> > e-mail and delete this message. Thank you.
> > ?
*******************************************************************
> > ? Corporate Headquarters Mailing Address: BD (Becton, Dickinson and
> > Company) 1 ? Becton Drive Franklin Lakes, NJ 07417 U.S.A.
> > ______________________________________________
> > ESS-help at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/ess-help
> >
> 
> 
> 
> --
> Steve Lianoglou
> Graduate Student: Computational Systems Biology ?| Memorial Sloan-
> Kettering Cancer Center ?| Weill Medical College of Cornell University
> Contact Info: http://cbio.mskcc.org/~lianos/contact
> 
> 
> 
> ------------------------------
> 
> _______________________________________________
> ESS-help mailing list  DIGESTED
> ESS-help at r-project.org
> https://stat.ethz.ch/mailman/listinfo/ess-help
> 
> 
> End of ESS-help Digest, Vol 101, Issue 1
> ****************************************



More information about the ESS-help mailing list