From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Kitchin Subject: Re: Wrapping section within LaTeX environment Date: Sun, 13 Dec 2015 20:39:17 -0500 Message-ID: References: <566D79E0.3030704@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:43462) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a8I6k-0000xV-LU for emacs-orgmode@gnu.org; Sun, 13 Dec 2015 20:39:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a8I6h-0004EO-Fz for emacs-orgmode@gnu.org; Sun, 13 Dec 2015 20:39:22 -0500 Received: from mail-qg0-x236.google.com ([2607:f8b0:400d:c04::236]:36017) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a8I6h-0004EJ-Bt for emacs-orgmode@gnu.org; Sun, 13 Dec 2015 20:39:19 -0500 Received: by qget30 with SMTP id t30so1292644qge.3 for ; Sun, 13 Dec 2015 17:39:19 -0800 (PST) In-reply-to: <566D79E0.3030704@gmail.com> 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: Xavier Garrido Cc: "emacs-orgmode@gnu.org" could you provide a brief example of what you want to happen? i.e. are you looking for this: * some heading :correction: one line of content to convert to this in LaTeX? \begin{correction} one line of content \end{correction} Xavier Garrido writes: > Dear orgers, > > I would like to wrap a given org section between =\begin,\end= LaTeX > environment. These sections are identified by a special tag :correction: > and to initiate the =\begin= flag I have basically no problem by using > the org-export-filter-headline-function filter. The problem comes when > I want to close the environment i.e. when another section starts. I have > try this piece of code > > #+BEGIN_SRC emacs-lisp > (setq correction-flag nil) > (defun cpp-correction-headline (contents backend info) > (if (and (org-export-derived-backend-p backend 'latex) > (string-match "\\`.*correction.*\n" (downcase contents))) > (progn > (setq correction-flag t) > (replace-match "\\\\begin{correction}" nil nil contents) > ) > (when correction-flag > (setq correction-flag nil) > (concat "\\end{correction}" contents)) > ) > ) > (add-to-list 'org-export-filter-headline-functions > 'cpp-correction-headline) > #+END_SRC > > but I get several =\end{correction}= in the produced LaTeX file. > Actually this is much more a emacs-lisp related question since the > boolean =correction-flag= seems not to work and I don't know why (of > course I have very little knowledge in lisp). Can some emacs-lisp > experts helps me understand why the above code just does not work. > > Thanks a lot, > Xavier -- 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