From mboxrd@z Thu Jan 1 00:00:00 1970 From: tsd@tsdye.com (Thomas S. Dye) Subject: Re: Exporting via babel to LaTeX Date: Mon, 28 May 2012 18:53:56 -1000 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([208.118.235.92]:48564) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SZERd-0002rN-PR for emacs-orgmode@gnu.org; Tue, 29 May 2012 00:54:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SZERb-0005Nx-94 for emacs-orgmode@gnu.org; Tue, 29 May 2012 00:54:09 -0400 Received: from oproxy6-pub.bluehost.com ([67.222.54.6]:38609) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1SZERa-0005Nd-SQ for emacs-orgmode@gnu.org; Tue, 29 May 2012 00:54:07 -0400 In-Reply-To: (John Hendy's message of "Mon, 28 May 2012 22:46:45 -0500") 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: John Hendy Cc: emacs-orgmode John Hendy writes: > On Mon, May 28, 2012 at 10:29 PM, Thomas S. Dye wrote: >> John Hendy writes: >> >>> On Mon, May 28, 2012 at 6:35 PM, Thomas S. Dye wrote: >>>> John Hendy writes: >>>> >>>>> On Mon, May 28, 2012 at 4:32 PM, Thomas S. Dye wrote: >>>>>> John Hendy writes: >>>>>> >>>>>>> I've only ever used src blocks to make plots or create files to >>>>>>> include. I have my first opportunity to actually try and include bo= th >>>>>>> code and results and have a question about spacing. You won't have = my >>>>>>> data, but this is pretty simple stuff.: >>>>>>> >>>>>>> #+begin_src R :session basic :results output :exports both >>>>>>> nrow(data) >>>>>>> #+end_src >>>>>>> #+begin_src R :session basic :results output :exports both >>>>>>> nrow(nonzero.data) >>>>>>> #+end_src >>>>>>> >>>>>>> I split them up because I wanted the results like so: >>>>>>> >>>>>>> Code-A >>>>>>> Results-A >>>>>>> Code-B >>>>>>> Results-B >>>>>>> >>>>>>> If I kept them together, it came out Code-A, Code-B, then Results-A= , Results-B. >>>>>>> >>>>>>> Anyway, the LaTeX output is creating the following: >>>>>>> >>>>>>> \begin{verbatim} >>>>>>> nrow(data) >>>>>>> \end{verbatim} >>>>>>> >>>>>>> \begin{verbatim} >>>>>>> =C2=A0[1] 681 >>>>>>> \end{verbatim} >>>>>>> >>>>>>> \begin{verbatim} >>>>>>> nrow(nonzero.data) >>>>>>> \end{verbatim} >>>>>>> >>>>>>> \begin{verbatim} >>>>>>> =C2=A0[1] 455 >>>>>>> \end{verbatim} >>>>>>> >>>>>>> This gives really, really spaced out results. I'd prefer output that >>>>>>> looks more like an R terminal output, which can be done by not putt= ing >>>>>>> code and results in separate verbatim blocks. Is this standard >>>>>>> spacing/behavior or is there an option/exporter tweak I can use on >>>>>>> this? It just ends up taking so much space. >>>>>>> >>>>>>> I'm super new to this and barely know anything about the header >>>>>>> arguments at all. I will say I was thrilled to find out about the >>>>>>> :session option. I was worried about "walking through code" because= I >>>>>>> rely on initial block results to carry through to the others. What = do >>>>>>> you know? There's a way to do that :) Thanks for this wonderful >>>>>>> implementation. I've seen it come up on the list hundreds of time a= nd >>>>>>> have to say it's really cool actually getting to work with it! >>>>>>> >>>>>>> >>>>>>> Best regards, >>>>>>> John >>>>>>> >>>>>>> >>>>>> Hi John, >>>>>> >>>>>> One way to do this would be to redefine the verbatim environment in >>>>>> LaTeX. =C2=A0There is a fancyvrb package for LaTeX that might help w= ith this. >>>>>> >>>>>> I think a better answer to your query has two parts. >>>>> >>>>> Thanks for the input! >>>>> >>>>>> >>>>>> 1) Make Org-mode distinguish your code and results, instead of having >>>>>> them both be verbatim environments. =C2=A0One way to do this would b= e to use >>>>>> listings or minted to typeset the source code blocks: see >>>>>> http://orgmode.org/worg/org-tutorials/org-latex-export.html#sec-12. >>>>>> >>>>>> Then use :wrap foo to wrap the results in a foo environment. >>>>>> >>>>> >>>>> So... foo could be verbatim or something like that shaded example in >>>>> the worg tutorial above? I'm thinking the code and results would still >>>>> be in different environments when the PDF is generated, right? You're >>>>> just suggesting that I put them in an environment that doesn't insert >>>>> so much white space? >>>>> >>>> You'll probably have to create a LaTeX environment that doesn't insert= so >>>> much white space. =C2=A0Best to do this with a new environment, rather= than >>>> redefining one of the existing LaTeX environments, IMHO. >>>> >>>> The white space problem is something to correct at the LaTeX step, aft= er >>>> Org-mode has wrapped the blocks in semantically meaningful environment= s. >>>> >>> >>> I took a look at this and have managed to modify that example to tweak >>> the R blocks. How do I pick up the results, though? LaTeX is still >>> putting them in verbatim and I don't see how the listings package >>> could know what Org-mode babel is doing as it's not really "source >>> code" at that point in some sort of language? >>> >>> Also, yes, I didn't have org-special-blocks enabled, hence it not >>> allowing me to create custom #+begin_... blocks. >>> >>> >>> Thanks! >>> John >>> >> Hi John, >> >> Yes, you're right, listings won't touch the results. =C2=A0To have Org-m= ode >> put the results in an environment of your choosing, do this (note the >> :wrap keyword): >> >> #+begin_src R :session basic :results output :exports both :wrap foo >> =C2=A0nrow(nonzero.data) >> #+end_src >> >> This should give you >> #+BEGIN_foo >> ... >> #+END_foo >> >> If you also have lines like this, then you should see something in the >> pdf file. >> >> #+LaTeX_HEADER: \usepackage{framed} >> #+LaTeX_HEADER: \usepackage{xcolor} >> #+LaTeX_HEADER: \definecolor{shadecolor}{gray}{.95} >> #+LaTeX_HEADER: \newenvironment{foo}{\begin{shaded}}{\end{shaded}} >> > > Ahhh. Now I get it. That's brilliant! Why can't we just have =3D:wrap > foo=3D apply to the source blocks as well? That would solve all my > problems :) For a simple tweak, it seems much easier to have universal > syntax like :wrap vs. having to define language specific > listings/minting options to make this work. > > On the other hand, I think I get the benefit listings/minting have for > those who do this a lot more than me. Set it once, then forget it. For > someone who just likes to tweak the look of all source blocks > though... a :wrap argument would be fantastic -- set it on a > per-document basis in Org and you're set. > > Sincere thanks for your explanations and assistance! > > > John > > Hi John, Glad it's working for you. Minted and listings are neat because they parse the source code and do semantic markup. Once you set up one, it should just work. Good luck with the LaTeX part. All the best, Tom >> All the best, >> Tom >> >>>> hth, >>>> Tom >>>> >>>>>> 2) Configure LaTeX to typeset the new environments in a way that ple= ases >>>>>> you. LaTeX specifies for each environment the space to leave before = it >>>>>> and after it. =C2=A0You should be able to set these so the results p= lease >>>>>> you. =C2=A0Here is one example for how to modify the results block: >>>>>> http://orgmode.org/worg/org-tutorials/org-latex-export.html#sec-10-2. >>>>>> Note that this was written for an earlier version of Org-mode, before >>>>>> results blocks were stored in drawers. =C2=A0Instead of "results" us= e "foo". >>>>>> >>>>> >>>>> It will take me a while to figure all of this out. I don't know either >>>>> of these packages! >>>>> >>>>>> You'll need to consult the listings or minted packages to configure = one >>>>>> of them. >>>>>> >>>>>> In effect, you will be taking advantage of LaTeX's semantic markup. >>>>> >>>>> Thanks again! I'll have a look into this this week. >>>>> >>>>> John >>>>> >>>>>> >>>>>> hth, >>>>>> Tom >>>>>> -- >>>>>> Thomas S. Dye >>>>>> http://www.tsdye.com >>>>> >>>> >>>> -- >>>> T.S. Dye & Colleagues, Archaeologists >>>> 735 Bishop St, Suite 315, Honolulu, HI 96813 >>>> Tel: 808-529-0866, Fax: 808-529-0884 >>>> http://www.tsdye.com >> >> -- >> T.S. Dye & Colleagues, Archaeologists >> 735 Bishop St, Suite 315, Honolulu, HI 96813 >> Tel: 808-529-0866, Fax: 808-529-0884 >> http://www.tsdye.com --=20 T.S. Dye & Colleagues, Archaeologists 735 Bishop St, Suite 315, Honolulu, HI 96813 Tel: 808-529-0866, Fax: 808-529-0884 http://www.tsdye.com