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 17:29:29 -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]:45524) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SZD7t-0001cY-SB for emacs-orgmode@gnu.org; Mon, 28 May 2012 23:29:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SZD7r-0005ky-HV for emacs-orgmode@gnu.org; Mon, 28 May 2012 23:29:41 -0400 Received: from oproxy8-pub.bluehost.com ([69.89.22.20]:49871) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1SZD7r-0005kb-8B for emacs-orgmode@gnu.org; Mon, 28 May 2012 23:29:39 -0400 In-Reply-To: (John Hendy's message of "Mon, 28 May 2012 21:33:17 -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 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 both >>>>> 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 putting >>>>> 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 and >>>>> 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 wit= h 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 be = 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 t= han >> redefining one of the existing LaTeX environments, IMHO. >> >> The white space problem is something to correct at the LaTeX step, after >> Org-mode has wrapped the blocks in semantically meaningful environments. >> > > 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. To have Org-mode 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 nrow(nonzero.data) #+end_src This should give you=20 #+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}} All the best, Tom >> hth, >> Tom >> >>>> 2) Configure LaTeX to typeset the new environments in a way that pleas= es >>>> 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 ple= ase >>>> 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" use = "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 --=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