From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: Re: Re: markup in environments in latex export Date: Mon, 20 Apr 2009 08:04:04 +0200 Message-ID: <9960A46C-3D8A-4865-8990-EFBFEF4D73BC@gmail.com> References: <86iql57zkh.fsf@portan.ibr.cs.tu-bs.de> <8663h47njt.fsf@portan.ibr.cs.tu-bs.de> <550FAA9A-10B7-4DED-A712-77D381F68748@gmail.com> <87r5zoo1uf.fsf@gmail.com> Mime-Version: 1.0 (Apple Message framework v930.3) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lvmc1-0005kx-Iz for emacs-orgmode@gnu.org; Mon, 20 Apr 2009 02:04:13 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lvmbw-0005jJ-CQ for emacs-orgmode@gnu.org; Mon, 20 Apr 2009 02:04:12 -0400 Received: from [199.232.76.173] (port=41532 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lvmbw-0005ix-6J for emacs-orgmode@gnu.org; Mon, 20 Apr 2009 02:04:08 -0400 Received: from mx20.gnu.org ([199.232.41.8]:16466) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Lvmbv-0000MB-HK for emacs-orgmode@gnu.org; Mon, 20 Apr 2009 02:04:07 -0400 Received: from mail-bw0-f209.google.com ([209.85.218.209]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Lvmbu-0003R6-PO for emacs-orgmode@gnu.org; Mon, 20 Apr 2009 02:04:07 -0400 Received: by bwz5 with SMTP id 5so618844bwz.42 for ; Sun, 19 Apr 2009 23:04:05 -0700 (PDT) In-Reply-To: <87r5zoo1uf.fsf@gmail.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Chris Gray Cc: emacs-orgmode@gnu.org Hi Chris, Normally a request for a patch shuts people up, not in your case. :-) Very interesting, I like how you did this parallel to the other, similar environments that also require internal processing. I am quite over committed right now and have a trip coming up, and I will need to think a bit more about this, so I may not get to in quickly. I'll get back to you, at the latest in mid May. - Carsten P.S. Do you have an FSF copyright assignment? If not, could you please get one? On Apr 19, 2009, at 9:55 PM, Chris Gray wrote: > Hi Carsten, > > I took up your challenge and made a patch that does what I want. It > does what I suggested in my previous email in that it allows one to > put #+begin_foo and #+end_foo tags in the body of an org file. These > tags allow you to change the environment of the text between them. > What that means is left up to the exporter. For example, in LaTeX, > the tags are expanded to \begin{foo} and \end{foo}, whereas in HTML, I > have the tags being expanded to
and
. (I am > not sure if that is the right thing to do in HTML...) The text > between the tags is not protected, and thus it is interpreted for > markup just as the rest of the file. > > I have left the old cases in place, so blockquote, verse, and center > should still have the same behaviour as before. The only behaviour > that changes is with #+begin_quote in HTML. This no longer generates > a blockquote, but a
. It would be easy to revert > this to the old behaviour if many people were using #+begin_quote with > HTML export. > > I have put the patches up in a github repository (basically because I > wanted to play with github), so you should be able to pull them from > the general-cookies branch of git://github.com/chrismgray/org-mode.git > > Cheers, > Chris > > Carsten Dominik wrote: > >> Hi Chris, > >> no, this is really by design the way it is. Org-mode has its own >> markup. As a bonus to people used to LaTeX, it allows certain >> LaTeX constructs to be intermingled into the file. For LaTeX >> export, it will export these *literally*, the entire construct. >> For HTML export, you can arrange for these snippets to be >> processed by LaTeX as well and then included as images, >> this is useful for formulas and some other constructs. > >> Here is a way to fool it: > >> \nop{}\begin{center} > >> - /a/ this is a >> - /b/ this is b > >> \begin{itemize} >> \item \emph{a} this is a >> \item \emph{b} this is b >> \end{itemize} > >> \nop{}\end{center} > >> - /a/ this is a >> - /b/ this is b > > >> Why does it fool it? Because it recognized full environments to be >> included >> by \begin ... \end, wit these macros at the beginning of the line. > >> If I were to allow what you propose, it would quickly become hard to >> know >> what should be LaTeX and what not. I think. > >> Feel free to try to make a patch that will convince me of the >> opposite. > >> - Carsten > > > >> On Apr 16, 2009, at 3:09 PM, Chris Gray wrote: > >>> Carsten Dominik wrote: > >>>> Hi Chris, > >>>> you can't have the cake and eat it. > >>>> if you insert a LaTeX environment, the entire environment >>>> will be protected. After all, you rely on this quoting with your >>>> itemize environment! > >>> Hi Carsten, > >>> I don't really understand this. I can see it for things like the >>> verbatim environment, but that might be a special case. > >>>> However, you can do this: > >>>> #+begin_center > >>> I should have chosen a different example I suppose. What I am >>> really >>> using, rather than center, are the theorem, lemma, and proof >>> environments. I thought it would be safer for my example to use an >>> environment that is included by default in LaTeX. Unfortunately, >>> center >>> is already a special case in org. But I tried #+begin_proof and >>> that >>> did not work. > >>>> This works by the protection being done first, and only >>>> then #+begin_center is turned into \begin{center} > >>> Perhaps that could be generalized so that #+begin_foo means "do the >>> regular org parsing and then turn on \begin{foo}"? Other exporters >>> would be free to ignore these commands. > >>> I really like doing my work in org mode, and I can certainly convert >>> my >>> markup commands to regular LaTeX, but doing that really seems like a >>> second-best solution. > >>> Cheers, >>> Chris > > > >>> _______________________________________________ >>> Emacs-orgmode mailing list >>> Remember: use `Reply All' to send replies to the list. >>> Emacs-orgmode@gnu.org >>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode > > > >> _______________________________________________ >> Emacs-orgmode mailing list >> Remember: use `Reply All' to send replies to the list. >> Emacs-orgmode@gnu.org >> http://lists.gnu.org/mailman/listinfo/emacs-orgmode > > > > > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode