There are two different concepts - tangling and exporting. When you
tangle the file, code blocks are written out into code files (possibly
with evaluation etc). This is part of the 'literate programming' support
within org.

When you export a file, you are exporting the file
contents into a different format i.e PDF, HTML, markdown etc. By
default, code blocks are not evaluated during this process - they are
just exported 'as-is'. However, sometimes, these code blocks are used to
generate content in the file, so you do want them to be evaluated during
the export (for example, to create a 'results' section, generate an
image that is embedded in the file etc).

So, if you 'export' your emacs init org file as PDF, it will be exported
as a PDF file where the source blocks will appear as source listings in
the PDF file along with all the other non source block text. If on the
other hand, you tangle your emacs init org file, it will create an .el
file with only the source blocks.

Nathan Neff <nathan.n...@gmail.com> writes:

> Thanks Tim - I wanted to ask the list -- what does "
>
> By default, Org does not tangle the ‘src’ code block on export." mean in
> this web page:https://orgmode.org/manual/Extracting-source-code.html
> I mean, I have all of my begin_src emacs-lisp blocks with no explicit
> :tangle yesand they all are exported to the resulting *.el file.  What does
> the above statement mean?
>
> On Tue, Sep 24, 2019 at 6:14 PM Tim Cross <theophil...@gmail.com> wrote:
>
>>
>> I just put :tangle no in the block header e.g.
>>
>> #+begin_src emacs-lisp :tangle no
>>
>> #+end_src
>>
>> This is how I turn off or remove blocks from my .emacs.d/init.el file,
>> which is tangled from an or file. You can also put a filename. This is
>> what I do for Emacs 27, which introduces the early-init.el file i.e.
>>
>> #+begin_src emacs-lisp :tangle early-init.el
>>
>> #+end_src
>>
>> #+begin_src emacs-lisp :tangle init.el
>>
>> #+end_src
>>
>> Nathan Neff <nathan.n...@gmail.com> writes:
>>
>> > Hello all,
>> >
>> > I use *.org files to configure my emacs and use org-babel-load-file
>> > to configure my org-mode using *.org files.  Love the feature.
>> >
>> > However sometimes I'm experimenting with code blocks, and want to simply
>> > "turn off" certain code blocks in my *.org files from being executed.
>> > Every time
>> > I go to do this, I search the web for 30-60 minutes and I'm frustrated
>> and
>> > confused by
>> > the myriad options and documentation.
>> >
>> > All I want to do is mark a source code block in my *.org files so that
>> the
>> > particular code block is:
>> >
>> > 1) Not exported to the resulting .el file when tangling
>> > Or
>> > 2) Not ran in the resulting .el files when tangling
>> >
>> > I recently spent 30 minutes to an hour trying to figure out how to simply
>> > "disable" or "prevent" or "exclude" or "quit" or "don't" or "stop" or
>> > "please don't do this"
>> > to a code block in my *.org files.  I don't want to mark the code block
>> as
>> > "text", unless there's really no other option.
>> >
>> > In my opinion, the documentation does not simply define how to do this
>> > relatively common task.
>> >
>> > Can someone please point me in the right direction?  Also I would be
>> > willing to submit a doc-fix or FAQ item if there is currently not an item
>> > to do so.  I'm lost and do not want to spend more time on this seemingly
>> > easy task.
>> >
>> > Thanks,
>> > --Nate
>>
>>
>> --
>> Tim Cross
>>
>>


--
Tim Cross

Reply via email to