emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] Re: [Babel] Macro for begin_src?


From: Dan Davison
Subject: Re: [Orgmode] Re: [Babel] Macro for begin_src?
Date: Sun, 18 Apr 2010 12:50:44 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux)

Eric S Fraga <address@hidden> writes:

> On Sat, 17 Apr 2010 15:55:51 -1000, "Thomas S. Dye" <address@hidden> wrote:
>> On Apr 17, 2010, at 6:52 AM, Matt Lundin wrote:
>> > 1. The first and simplest option is built into org-mode. Simply type:
>> >
>> > <s [TAB] or [M-TAB]
>
> Thanks Matt for this.  I'd forgotten about the built-in definitions.
> These do make many of my yasnippets superfluous.
>
>> Neat.  What would you use yasnippets for, if anything?
>> 
>> All the best,
>> Tom
>
> Good question!  One case I would still use yasnippets for is more
> complex constructions.

I guess, for Nate's original application (converting existing code to
src blocks), what might have been most useful is something to enclose a
given region in a source block. Can anyone show how to do that with
yasnippet (or anything else)? Or is it best to make a custom function
for a task like this, e.g.

  (defun dan/enclose-region-in-src-block ()
    (interactive)
    (let* ((beg (if (region-active-p) (region-beginning) (point)))
           (end (if (region-active-p) (region-end) (point))))
      (goto-char end)
      (unless (eq (char-before) ?\n) (insert "\n"))
      (insert "#+end_src\n")
      (goto-char beg)
      (beginning-of-line)
      (insert "#+begin_src \n")
      (backward-char)))

Dan


>  For instance, I use tikz a lot for creating
> drawings for teaching.  For a given course, many of these drawings are
> similar.  One snippet I have is:
>
> #name : tikz
> # --
> #+begin_latex 
> \tikzstyle{unit}=[rectangle, draw=blue!80!black, fill=black!5!white]
> \tikzstyle{stream}=[rectangle, draw=white, fill=yellow!50!white]
> \begin{tikzpicture}[node distance=2cm]
>   \node[stream] (feed) {Feed};
>   \node[unit] (reactor) [right of=feed] {Reactor} edge [<-] (feed);
>   \node[unit] (separator) [right of=reactor] {Separation} edge [<-] (reactor);
> $0
> \end{tikzpicture}
> #+end_latex
>
> Before Carsten implemented the beamer option in org-mode, I also had a
> snippet for setting up columns with blocks in org-mode for my custom
> beamer setup I used to have.
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> address@hidden
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode




reply via email to

[Prev in Thread] Current Thread [Next in Thread]