From: Mark Elston <m_elston@comcast.net>
To: emacs-orgmode@gnu.org
Subject: Re: latex enumeration issue
Date: Wed, 03 Feb 2010 18:24:02 -0800 [thread overview]
Message-ID: <4B6A2FC2.5020908@comcast.net> (raw)
In-Reply-To: <4B69DF82.70407@comcast.net>
Carsten,
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.
Sigh.
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.
Mark
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)
(progn
(beginning-of-line)
(kill-line 0))))
(add-hook 'org-export-preprocess-hook
'mee-delete-empty-org-headers)
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
>>> document.
>>>
>>> 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
>>> like:
>>>
>>> 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:
>
> ------------------------------------
> #+EXPORT_EXCLUDE_TAGS: notes
>
> * 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}
> \label{sec-1}
>
> Common Text
>
> \begin{enumerate}
> \item Blah
> \end{enumerate}
>
> handout-specific text
>
> \begin{enumerate}
> \item More Blah
> \end{enumerate}
>
> handout-specific text
>
> \begin{enumerate}
> \item Even more\ldots{}
> \end{enumerate}
> ------------------------------------
>
> 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.
>
> Mark
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>
next prev parent reply other threads:[~2010-02-04 2:24 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-02 22:08 latex enumeration issue Mark Elston
2010-02-03 10:34 ` Carsten Dominik
2010-02-03 20:41 ` Mark Elston
2010-02-04 2:24 ` Mark Elston [this message]
2010-02-04 3:12 ` Mark Elston
2010-02-04 4:28 ` Dan Davison
2010-02-04 7:00 ` Mark Elston
2010-02-04 10:05 ` Eric S Fraga
2010-02-06 8:18 ` Daniel Martins
2010-02-06 19:06 ` Mark Elston
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B6A2FC2.5020908@comcast.net \
--to=m_elston@comcast.net \
--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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.