[Top][All Lists]

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

Re: [Orgmode] latex enumeration issue

From: Mark Elston
Subject: Re: [Orgmode] latex enumeration issue
Date: Wed, 03 Feb 2010 18:24:02 -0800
User-agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv: Gecko/20100111 Thunderbird/3.0.1


Never mind.  I had had problems in the past getting the hook function
to work because I was making it harder than it needed to be.  I just
went back to trying my hand at it and got it working pretty easily.

I added a hook function to org-export-preprocess-hook and removed the
blank headers that way.  That solved the problem before it even starts.
I probably don't have to do any perl post-processing at all, now.

Thanks for all the help.


P.S.  If anyone is interested here is the embarrassingly simple hook
function I came up with.  I show it not because I think anyone else
will find this thing useful but as an example of how simple it really
is to write this kind of thing.

;;; Export Hooks
(defun mee-delete-empty-org-headers ()
  (while (re-search-forward "^[*]+   [ ]+:[a-zA-Z0-9]+:$" nil t)
      (kill-line 0))))

(add-hook 'org-export-preprocess-hook

On 2/3/2010 12:41 PM, Mark Elston wrote:
Hi Carsten,

Thanks for the reply. My responses are below:

On 2/3/2010 2:34 AM, Carsten Dominik wrote:
Hi Mark,

On Feb 2, 2010, at 11:08 PM, Mark Elston wrote:

A year ago Flavio de Souza asked a question about latex enumerations
that is similar to a problem I now have. The answer given then was a
workaround that doesn't apply in my case.

This stems from my project of using a single file to maintain source
for generating my class notes *and* student handouts for my classes.
This allows me to take advantage of the common outline and common
text while specifying text that should go into only one or the other

I manage to do this by something like:

* Common heading

Some common text

** A common subheading

More common text

*** :handouts:
Something for handouts only

*** :both:
More common text

*** :notes:
My class notes text

*** :both:
More common text

I have a makefile which creates a temporary .org file by
prepending a specific header on this file for each type of
output (handouts or notes), exporting to a latex file, running
a perl script to remove any (sub)+sections with just the
tags in them, and running pdflatex to generate the output.

So far, so good.

However, I ran into a problem with enumerations. Sometimes I
have enumerations in my original org file which are separated by
the 'empty' sectioning commands. This ends the enumeration and
the next enumerated item starts a new one. The result is a set
of enumerations with a single element in it. I get something

1. Blah

handout-specific text

1. More Blah

etc. These should really have been 1, 2, etc.

I don't understand. Why is the text "handout-specific text" still there?
Do you need it between the items?

Yes (see below). I have in each of these items something I want as part
of the handouts and some additional info I want to include for myself.

 > Do you want to make it part of the
item (indentation would solve this).

It will always be a part of the item, otherwise I would have made it a
footnote or left it to after the enumeration.

Unfortunately, indentation doesn't solve this. My example above was a
little shy on details, sorry.

If I have a file with:


* Common Heading
Common Text

1) Blah

** :handouts:
handout-specific text
** :notes:
note-specific text
** :both:

2) More Blah

** :handouts:
handout-specific text
** :notes:
note-specific text
** :both:

3) Even more...

After I export to latex and post process with my perl script I
have the following for the body of my document:


\section{Common Heading}

Common Text

\item Blah

handout-specific text

\item More Blah

handout-specific text

\item Even more\ldots{}

This is because the 'empty' placeholder headings (tags-only)
interrupt the enumeration processing for each item, effectively
ending it and causing the insertion of the \end{enumeration}.
So each item is in it's own enumeration and the number restarts
from 1 with each item.

The only workaround I have so far is to make all these items lists
instead of enumerations. This works OK but they would make much more
sense as enumerations.

How does this help?

It eliminates the numbers and uses only list marks instead. That way
I don't have to worry about incorrect numbering of enumerations.
Unfortunately, the text between items is still not indented properly
since it appears outside the list environment.

It is not ideal but it is something I can live with if I have to.


Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.

reply via email to

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