emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Error with :wrap org in babel and 8.0-pre


From: John Hendy
Subject: Re: [O] Error with :wrap org in babel and 8.0-pre
Date: Mon, 15 Apr 2013 14:35:19 -0500

On Mon, Apr 15, 2013 at 1:12 PM, Eric Schulte <address@hidden> wrote:
> John Hendy <address@hidden> writes:
>
>> On Fri, Apr 12, 2013 at 5:24 PM, Eric Schulte <address@hidden> wrote:
>>> John Hendy <address@hidden> writes:
>>>
>>>> I thought this was the proper syntax for printing stuff directly to a
>>>> LaTeX document:
>>>>
>>>> #+begin_src R :session :exports results :results output :wrap org
>>>>
>>>
>>> I think you want either ":results latex" or ":wrap latex".
>>>
>>
>> Trying my best to follow the evolution here.... I've tried to discern
>> from the manual and Worg the best way to do something, generally try
>> it and fail. Then I post to the list and get an answer. A short time
>> later, I try doing what I think is approximately the same thing to
>> find that it seems to have changed since the last time:
>>
>> To print multiple file names and =#+attr_stuff= options, the answer
>> was =:results output org :exports results=
>> - http://lists.gnu.org/archive/html/emacs-orgmode/2012-08/msg01224.html
>>
>> Trying to do the same exact thing a bit later was =:results output
>> wrap=, shortly followed up with the instruction to use =:wrap org=
>> - http://lists.gnu.org/archive/html/emacs-orgmode/2013-03/msg01599.html
>>
>> Now, it's =:wrap latex=, but I'm not sure why.
>>
>
> I may have miss-understood your question.
>
>>
>> Is =:wrap org= appropriate for anything?
>
> Use :wrap latex if your code block produces raw latex.  E.g.,
>
>     #+begin_src sh :results output :wrap latex
>     cat <<EOF
>     \begin{tabular}{rr}
>     a & b\\
>     \hline
>     1 & 2\\
>     \end{tabular}
>     EOF
>     #+end_src
>
>     #+RESULTS:
>     #+BEGIN_latex
>     \begin{tabular}{rr}
>     a & b\
>     \hline
>     1 & 2\
>     \end{tabular}
>     #+END_latex
>

That makes sense, but it's not what I'm doing or at least not in full.
I may insert LaTeX here or there, but am also using Org-specific
syntax in many places as well (#+attr_blah lines and such).

>
> Use :wrap org if your code block produces raw org. E.g.,
>
>     #+begin_src sh :results output :wrap org
>     cat <<EOF
>     | a | b |
>     |---+---|
>     | 1 | 2 |
>     EOF
>     #+end_src
>
>     #+RESULTS:
>     #+BEGIN_org
>     | a | b |
>     |---+---|
>     | 1 | 2 |
>     #+END_org
>
> Let me know if that leave any mysteries or doesn't address part of your
> question.  I apologize for any contribution my often terse and hurried
> responses have made to this confusion.
>

This is also what I would have thought. In other words, =:wrap latex=
if you will have pure LaTeX in the blocks, and =:wrap org= if it's too
be interpreted just as if you'd typed the exact same thing in your
Org-mode file outside of the given results block.

But this was the reason for the original post. Here's my document:

#+begin_org_document

* Heading

#+begin_src R :session :exports results :results output :wrap org

library(ascii)

var1 <- 100
var2 <- 200

cat("With the assumption of", var1, "lbs. of input material 1 and",
var2, "lbs. of material 2,
we can produce the following number of widgets based on injection mold
wall thicknesses.\n")

qtys <- data.frame(wall = c("5 mil", "6 mil", "8 mil"), vals = c(.005,
.006, .008))
qtys$widgets <- trunc(var2 / qtys$vals)

qty_table <- ascii(qtys, header = T, include.colnames = T, include.rownames = F)
print(qty_table, type = "org")

#+end_src

#+RESULTS:
#+BEGIN_org
With the assumption of 100 lbs. of input material 1 and 200 lbs. of material 2,
we can produce the following number of widgets based on injection mold
wall thicknesses.
| wall  | vals | widgets  |
|-------+------+----------|
| 5 mil | 0.01 | 40000.00 |
| 6 mil | 0.01 | 33333.00 |
| 8 mil | 0.01 | 25000.00 |
#+END_org

#+end_org_document


Everything looks to be correct. I get this LaTeX upon compilation for
the results section:

#+begin_latex_output

\begin{org}
With the assumption of 100 lbs. of input material 1 and 200 lbs. of material 2,
we can produce the following number of widgets based on injection mold
wall thicknesses.
\begin{center}
\begin{tabular}{lrr}
\toprule
wall & vals & widgets\\
\midrule
5 mil & 0.01 & 40000.00\\
6 mil & 0.01 & 33333.00\\
8 mil & 0.01 & 25000.00\\
\bottomrule
\end{tabular}
\end{center}
\end{org}
% Generated by Org mode 8.0-pre in Emacs 24.3.1.
\end{document}

#+end_latex_output

This is in the *Org PDF LaTeX Output* buffer:

! LaTeX Error: Environment org undefined.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...

l.33 \begin{org}

(/home/jwhendy/.texlive/2012/texmf-dist/tex/latex/wasysym/uwasy.fd)
(/home/jwhendy/.texlive/2012/texmf-dist/tex/latex/base/ulasy.fd)
(/home/jwhendy/.texlive/2012/texmf-dist/tex/latex/amsfonts/umsa.fd)
(/home/jwhendy/.texlive/2012/texmf-dist/tex/latex/amsfonts/umsb.fd)

! LaTeX Error: \begin{document} ended by \end{org}.



So it seems like something is awry:
- Either the exporter is supposed to convert #+begin/end_org into
something else (I would assume there shouldn't be any \begin/end{org}
around it since it should just be including the LaTeX results as if it
wasn't in a #+RESULTS block at all, right?), OR
- I'm missing some sort of definition for an =org= environment in
LaTeX setup so that it knows what to do with \begin/end{org}


Thanks,
John

> --
> Eric Schulte
> http://cs.unm.edu/~eschulte



reply via email to

[Prev in Thread] Current Thread [Next in Thread]