emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Table of contents for just one section?


From: Rasmus
Subject: Re: [O] Table of contents for just one section?
Date: Sun, 26 Oct 2014 16:01:10 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

Hi,

Nicolas Goaziou <address@hidden> writes:

> Rasmus <address@hidden> writes:
>
>> I think we can do it with titletoc.  I have used other functionality
>> of titletoc, and it 'doesn't sucks'ᵀᴹ.  Below is an example.  The
>> output is more inline with normal tocs, but you can also style it
>> [I've used this for making paragraph-TOCs in the past].
>>
>> So ox-latex needs to insert at least the following to initialize a
>> local TOC
>>
>>    \startcontents[ID-level] % need not be unique and might not be neceasary
>>    \printcontents[ID-level]{}{(1+ level)}{TOC OPTIONS}
>>
>> And, importantly — and mildely annoyingly — \startcontents[ID] *after*
>> the next heading of the same level.
>
> I don't quite get this part. Does that string need to be inserted only
> after the second sibling (i.e., not after the third, too)? What happens
> if there is no other sibling?

Ah, it's much easier to use \stopcontents[level-i] to end contents
collection.  Revising the example:

     \documentclass{book}
     \usepackage{titletoc}
     \begin{document}
     \part{p1}
     \startcontents[level-0]
     \printcontents[level-0]{}{0}{\setcounter{tocdepth}{2}}
     \chapter{c1}
     \startcontents[level-1]
     \printcontents[level-1]{}{1}{\setcounter{tocdepth}{1}}
     \section{s1} \subsection{s2}
     \stopcontents[level-1]
     \chapter{c2}
     \section{s3}
     \stopcontents[level-0]
     \part{p2}\chapter{c3}
     \end{document}

Note that the contents is determined by the .pcf file.  Maybe that's
easier to to understand than my babeling.  Also, "pcf" should be added
to `org-latex-logfiles-extensions'.

>> There are some preamble options, but since we are doing it
>> programically, it might be safer to insert it into the body.
>
> The patch will not insert "\usepackage{titletoc}" for the user, however,
> à la `org-latex-listings'.

Great.

> What do you call the "brute force"?

I meant to insert \startcontents[ID-level] after each, say, chapter
unconditionally rather than inserterting as few
\startcontents[ID-level] as possible.  But ignore that:
\stopcontents[ID-level] it's much cleaner.

>> Let me know what you think and whether you will do it.
>
> I can try to implement it.
>
> I also note that these tocs do not have any title. Would it make sense
> to remove title from local tocs in other back-ends too?

No idea.  Both makes sense, but maybe including the TOC-title is too
verbose?  In any case, I think it's easy to add a title if you.  Based
on article.cls and book.cls, I think we can generalize the toc-title
to "heading one level down in level and unnumbered with title
\contentsname".  The TOC title for chapter is thus
\section*{\contentsname}.  For \part it's \chapter*{\contentsname}.  I
guess you can use the cdr in level part of `org-latex-classes', though
it would be incompatible with e.g. \addsec{·} of KOMA-Script.

—Rasmus

Article.cls:

\newcommand\tableofcontents{%
    \section*{\contentsname
        address@hidden
           \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
    address@hidden
    }

Book.cls:

\newcommand\tableofcontents{%
    address@hidden
      address@hidden
    \else
      address@hidden
    \fi
    \chapter*{\contentsname
        address@hidden
           \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
    address@hidden
    address@hidden
    }

—Rasmus

-- 
And I faced endless streams of vendor-approved Ikea furniture. . .




reply via email to

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