From: Lawrence Bottorff <borgauf@gmail.com>
To: emacs-orgmode@gnu.org
Subject: Re: Tangled Latex code gives error
Date: Sun, 26 Apr 2015 21:45:31 -0400 [thread overview]
Message-ID: <CAFAhFSWVjeqNwSXsUTGrFjOGxbbH3pKzaCxDDzHTqH7=VLW2NQ@mail.gmail.com> (raw)
In-Reply-To: <CAFAhFSWgsG+MVX4KQrC7k1-TOJMre2SaZJDhHTmMxy-OpD9NtA@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 4112 bytes --]
. . . okay, I realize that a viable Latex document has many preliminary
commands. Here's a "working" version of my tangled code
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{trees}
\begin{document}
\begin{tikzpicture}
\node [circle, draw, fill=red!20] at (0,0) {1}
child { node [circle, draw, fill=blue!30] {2}
child { node [circle, draw, fill=green!30] {3} }
child { node [circle, draw, fill=yellow!30] {4} }};
\end{tikzpicture}
\end{document}
I guess I need to know where to begin to get the "default" org-mode Latex
export functionality for Latex babel tangling.
But then maybe I'm barking up the wrong tree. One of the hardest things
about learning org-mode is finding out what the "best practice" of
something really is.
On Sun, Apr 26, 2015 at 7:20 PM, Lawrence Bottorff <borgauf@gmail.com>
wrote:
> I'm following the Latex howto of org-mode babel. Here's the snippet from
> the howto I've got in a separate .org file (see bottom of howto page):
>
> #+LATEX_HEADER: \usepackage{tikz}
>
> First execute the second code block, to define the convenience macro
> and to set the required new variables in ob-latex.el. Then export to
> HTML and to pdf to see the tree exported as an SVG image and as
> embedded tikz respectively.
>
> * Tikz test
> Here's a tree, exported to both html and pdf.
>
> #+header: :file (by-backend (html "tree.svg") (t 'nil))
> #+header: :imagemagick
> #+header: :results (by-backend (pdf "latex") (t "raw"))
> #+header: :tangle yes
> #+begin_src latex
> \usetikzlibrary{trees}
> \begin{tikzpicture}
> \node [circle, draw, fill=red!20] at (0,0) {1}
> child { node [circle, draw, fill=blue!30] {2}
> child { node [circle, draw, fill=green!30] {3} }
> child { node [circle, draw, fill=yellow!30] {4} }};
> \end{tikzpicture}
> #+end_src
>
> * COMMENT setup
> #+header: :tangle yes
> #+begin_src emacs-lisp :results silent
> (setq org-babel-latex-htlatex "htlatex")
> (defmacro by-backend (&rest body)
> `(case (if (boundp 'backend) (org-export-backend-name backend) nil)
> ,@body))
> #+end_src
>
> This doesn't really produce a .svg of the tree as advertised, but
> exporting to Latex does produce it just fine.
>
> My real confusion starts when I try to tangle the babel code blocks. The
> C-c C-v t command produces two separate files just fine, a .tex and .el,
> but then if I try to Run Latex on the .tex file just by itself it gives an
> error. Here's what the org-mode tangle produces:
>
> \usetikzlibrary{trees}
> \begin{tikzpicture}
> \node [circle, draw, fill=red!20] at (0,0) {1}
> child { node [circle, draw, fill=blue!30] {2}
> child { node [circle, draw, fill=green!30] {3} }
> child { node [circle, draw, fill=yellow!30] {4} }};
> \end{tikzpicture}
>
> And here's the error log after I try to run it by itself in Emacs:
>
> . . .entering extended mode
> restricted \write18 enabled.
> file:line:error style messages enabled.
> %&-line parsing enabled.
> **\input prac2.tex
> (./prac2.tex
> ./prac2.tex:2: Undefined control sequence.
> l.2 \usetikzlibrary
> {trees}
> The control sequence at the end of the top line
> of your error message was never \def'ed. If you have
> misspelled it (e.g., `\hobx'), type `I' and the correct
> spelling (e.g., `I\hbox'). Otherwise just continue,
> and I'll forget about whatever was undefined.
> Another version (from C-c `) produces this error message:
>
> ERROR: Undefined control sequence.
>
> --- TeX said ---
> l.2 \usetikzlibrary
> {trees}
> --- HELP ---
> TeX encountered an unknown command name. You probably misspelled the
> name. If this message occurs when a LaTeX command is being processed,
> the command is probably in the wrong place---for example, the error
> can be produced by an \item command that's not inside a list-making
> environment. The error can also be caused by a missing \documentclass
> command.
>
> What am I missing here? I'd like to be able to keep my org stuff separate
> from the Latex source, which org-mode seems to do nicely. But then it has
> to run properly too. . . .
>
> LB
>
[-- Attachment #2: Type: text/html, Size: 5584 bytes --]
next prev parent reply other threads:[~2015-04-27 1:45 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-26 23:20 Tangled Latex code gives error Lawrence Bottorff
2015-04-27 1:45 ` Lawrence Bottorff [this message]
2015-04-27 8:28 ` Andreas Leha
2015-04-27 9:33 ` Eric S Fraga
2015-04-27 11:58 ` Lawrence Bottorff
2015-04-28 7:33 ` e.fraga
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAFAhFSWVjeqNwSXsUTGrFjOGxbbH3pKzaCxDDzHTqH7=VLW2NQ@mail.gmail.com' \
--to=borgauf@gmail.com \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).