On Tue, 7 Nov 2006, Aditya Mahajan wrote:

> On Tue, 7 Nov 2006, Jeff Smith wrote:
>
>> Hi,
>>
>> Some time ago I had a query on the list about roman numbering in
>> headers. Once I got my answer, I asked something else relatively
>> unrelated but in the same thread. It's probably bad etiquette, so I
>> figure that is why it has remained unheeded. I'd like to submit my
>> second query again.
>>
>> I have a problem with the separator in header numbers. I want to
>> use a different separator between chapter and section numbers (-), than 
>> between
>> section and subsection numbers (.).
>>
>> So, assuming I'm using roman numerals for chapters, I'd like numering
>> of sections to be I-1, I-2, I-3, etc., of subsections to be I-1.1,
>> I-1.2, I-2.1, I-2.2, I-2.3, etc.
>>
>> Is there a way to achieve what I want to do?
>
> Yes, as long as you do not want to refer to your sections :) The
> separator seems to be broken while refering anyways.

I need this functionality for a project (IEEE conference style), so 
here is hack to get the feature. The referencing also works.

Use with caution, can break existing macros.

\setupsection[section-1][separator=-]
\setupsection[section-2][separator=-]
\setupsection[section-3][separator=-] %section
\setupsection[section-4][separator=.] %subsection
\setupsection[section-5][separator=-]
\setupsection[section-6][separator=-]

\setupsection[section-2][bodypartconversion=Romannumerals]

\unprotect
\def\@@longsectionnumber#1%
   {\ifreversesectionnumbers
      \@@shortsectionnumber{#1}%
      \ifnum\countervalue{\??se\previoussection{#1}}>\zerocount
       \csname\??se#1\c!separator\endcsname%AM: was .
        \csname\previoussection{#1}\c!number\endcsname
      \fi
    \else
      \ifnum\countervalue{\??se\previoussection{#1}}>\zerocount
      \csname\previoussection{#1}\c!number\endcsname%
      \csname\??se#1\c!separator\endcsname%AM: was .
      \fi
      \@@shortsectionnumber{#1}%
    \fi}

\protect

\starttext

\chapter{Test}

\section[sec]{section test}

\subsection[sub]{test}

The separator is honored in \in Section[sec] and in \in 
subsection[sub].

\stoptext

Basically, section numbers are built according to \??se 
(\setupsection, etc), while separators are specified using \??ko 
(\setuphead, etc), so any interaction is very difficult. I defined 
separators according to \setupsection, and use while generating the 
number.


Aditya
_______________________________________________
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context

Reply via email to