From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Kitchin Subject: Re: Citations, continued Date: Mon, 02 Feb 2015 14:51:10 -0500 Message-ID: References: <87vbjmn6wy.fsf@berkeley.edu> <8761blm6n8.fsf@berkeley.edu> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56327) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YIN1y-0001JR-Dn for emacs-orgmode@gnu.org; Mon, 02 Feb 2015 14:51:35 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YIN1v-0001fq-4m for emacs-orgmode@gnu.org; Mon, 02 Feb 2015 14:51:34 -0500 Received: from smtp.andrew.cmu.edu ([128.2.105.204]:46749) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YIN1u-0001f9-W5 for emacs-orgmode@gnu.org; Mon, 02 Feb 2015 14:51:31 -0500 In-reply-to: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: "Thomas S. Dye" Cc: Richard Lawrence , "emacs-orgmode@gnu.org" , John Kitchin > I'm glad you like Samuel's idea about extensible syntax for links. I > don't know if it is practical or not, but it was one of those ideas that > seemed right on when I first read it. I am glad you mentioned, it was an inspiration! Although this is sure to move away from a standard new syntax, it is straightforward to subvert a link like the following example to get more readable pre/post text example. The quotes are necessary to get the list read correctly. Whether this is useful remains to be seen, but it was fun to work it out. #+BEGIN_SRC emacs-lisp :results silent (org-add-link-type "slink" ;; follow function (lambda (path) (let* ((data (read (concat "(" path ")"))) (head (car data)) (plist (cadr data))) (message-box "%s\n%s\n%s" head plist (plist-get plist :type)))) ;; format function (lambda (path description backend) (let* ((data (read (concat "(" path ")"))) (head (car data)) (plist (cadr data))) (format "\\%s[%s][%s]{%s}" (plist-get plist :type) (plist-get plist :pre) (plist-get plist :post) head)))) #+END_SRC [[slink:kitchin-2010 (:pre "See for example" :post "page 47" :type cite)]] Exports to: #+BEGIN_EXAMPLE \cite[See for example][page 47]{kitchin-2010} #+END_EXAMPLE > > All the best, > Tom -- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu