emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: "Thomas S. Dye" <tsd@tsdye.com>
To: Carsten Dominik <carsten.dominik@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: Unnumbered sections in LaTeX export
Date: Sat, 19 Sep 2009 06:32:20 -1000	[thread overview]
Message-ID: <811FAA65-7717-46AC-88FB-2122F31ACCFD@tsdye.com> (raw)
In-Reply-To: <B6274A02-DA5B-41C8-93BA-C73770FD651E@gmail.com>

Hi Carsten,

I was trying to combine these two variables cleverly but couldn't come  
up with a solution that worked.  I'd like a certain level, say ***, to  
be one thing some times and another thing at other times in the same  
output.

It would be neat if org-export-latex-low-levels could be set up like  
this:
("\\begin{%s}" "\\end{%s}" "\\begin{%s}" "\\end{%s}")
but when I tried it, %s was expanded only in the first of each pair.

A construct like this would allow the user to export any environment  
on a case by case basis.
So, in my case, I could have this in my org file when I want columns:
*** columns
And this in the instances where I don't want columns:
*** nocolumns
(assuming nocolumns is a suitably defined LaTeX command).

All the best,
Tom

On Sep 18, 2009, at 7:29 AM, Carsten Dominik wrote:

> Hi Thomas,
>
> I have not really looks at this problem, but would it help to use
> a clever combination of org-export-latex-low-levels and org- 
> export=headline-levels?
>
> - Carsten
>
> On Sep 15, 2009, at 11:04 PM, Thomas S. Dye wrote:
>
>>
>> On Sep 15, 2009, at 7:42 AM, Sebastian Rose wrote:
>>
>>> "Thomas S. Dye" <tsd@tsdye.com> writes:
>>>
>>>> Thanks Sebastian.  I appreciate the expert assistance.  I have a  
>>>> simple export
>>>> to Beamer working and was trying to implement automatic  export  
>>>> of columns, too.
>>>> The starred sections were going to be  placeholders for the  
>>>> columns heading
>>>> level when it wasn't used.  I've  found that skipping a headline  
>>>> level in the
>>>> source causes the latex  exporter to skip over subsequent  
>>>> inferior levels, so it
>>>> isn't possible  to assign a heading level to columns and then use  
>>>> them or not as
>>>> the  case requires.
>>>
>>> You could try to add a class to `org-export-latex-classes'. For  
>>> such a
>>> class, you can define a mapping for each headline level:
>>>
>>>
>>> ("my-beamer-class" "\\documentclass...\\usepackage{beamer}"
>>> ("\\chapter{%s}" . "\\my-chapter*{%s}")
>>> ("\\section{%s}" . "\\my-section*{%s}")
>>> ("\\subsection{%s}" . "\\my-subsection*{%s}")
>>> ("\\subsubsection{%s}" . "\\my-subsubsection*{%s}")))
>>>
>>> I don't know if this is an easy thing to do, since I only did this  
>>> once
>>> a long time ago.
>>> But it seems it's worth a try.
>>>
>>>
>>> See:
>>> http://orgmode.org/manual/Sectioning-structure.html#Sectioning-structure
>>> http://127.0.0.1/devel/org-notes/org-search.php?speedbar=1&main=/devel/org-notes/org-search.php
>>>
>>>
>>>
>>>
>>> Sebastian
>>
>> Yes, that is what I'm playing around with.  I have a useful, but  
>> simple export to beamer working.  I've been trying without success  
>> to implement beamer's \begin{columns} ... \end{columns}  
>> environment.  This is a fairly common construct in beamer that  
>> occurs inside some frames but not in others.  It seems natural to  
>> put it like this:
>>
>> ("\\section{%s}" . "\\section{%s}")
>> ("\\subsection{%s}" . "\\subsection{%s}")
>> ("\\begin{frame}\\frametitle{%s}" "\\end{frame}" "\\begin{frame}\ 
>> \frametitle{%s}" "\\end{frame}")
>> ("\\begin{columns}\\label{%s}" "\\end{columns}" "\\begin{columns}\ 
>> \label{%s}" "\\end{columns}")
>>
>> where the \label{%s} puts the mandatory use of %s somewhere it  
>> won't affect the LaTeX compilation.
>>
>> The problem with this is that for frames where columns aren't  
>> wanted, simply leaving out the fourth level in org means that  
>> everything below it won't be exported.
>>
>> This example results in an empty frame (Item 1 and Item 2 are  
>> dropped from the export):
>>
>> * Section head
>> ** Subsection head
>> *** Frame title
>> ***** Item 1
>> ***** Item 2
>>
>> It seems that a placeholder of some kind is needed if the columns  
>> environment isn't wanted.
>>
>> Initially, I explored using the definition for the unnumbered  
>> sections, like this:
>>
>> ("\\begin{columns}\\label{%s}" "\\end{columns}" "%%\\begin{columns}\ 
>> \label{%s}" "%%\\end{columns}")
>>
>> which would use a LaTeX comment as a placeholder.  This won't work  
>> because the switch for numbered/unnumbered sections is set at the  
>> file level and not for individual instances.
>>
>> Then, I thought to define a do-nothing environment in LaTeX
>>
>> \newenvironment{nocolumns}{}{}
>>
>> set it up in .emacs like this:
>>
>> ("\\begin{%s}" "\\end{%s}" "\\begin{%s}" "\\end{%s}")
>>
>> and then put this in my .org file:
>>
>> * Section head
>> ** Subsection head
>> *** Frame title
>> **** nocolumns
>> ***** Item 1
>> ***** Item 2
>>
>> But this doesn't work because %s doesn't expand in \\end{%s}.  I  
>> get \begin{nocolumns} ... \end{%s}, which LaTeX doesn't like.
>>
>> So, I'm stumped for now, but still pleased to have a simple export  
>> from org to beamer working, albeit one that produces frames without  
>> columns.
>>
>> All the best,
>> Tom
>>
>>
>>
>>
>>
>> _______________________________________________
>> Emacs-orgmode mailing list
>> Remember: use `Reply All' to send replies to the list.
>> Emacs-orgmode@gnu.org
>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>

      reply	other threads:[~2009-09-19 16:45 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-13 21:06 Unnumbered sections in LaTeX export Thomas S. Dye
2009-09-14  1:26 ` Matt Lundin
2009-09-14 20:21 ` Sebastian Rose
     [not found]   ` <1CCB79D7-DB7A-4274-B6E8-F53EE2B69638@tsdye.com>
     [not found]     ` <87ocpcvq2t.fsf@gmx.de>
2009-09-15  7:43       ` Thomas S. Dye
     [not found]         ` <87iqfkayuc.fsf@gmx.de>
2009-09-15 22:04           ` Thomas S. Dye
2009-09-18 17:29             ` Carsten Dominik
2009-09-19 16:32               ` Thomas S. Dye [this message]

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=811FAA65-7717-46AC-88FB-2122F31ACCFD@tsdye.com \
    --to=tsd@tsdye.com \
    --cc=carsten.dominik@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).