Simon Collier schrieb am 20.02.19 um 02:01:
Dear list.
I would like to have a TOC that looks basically as follows when stripped
down to the essentials:
1 Part1
1 Chapter1
2 Chapter2
2 Part2
3 Chapter3
I don't want the part number to be "part" of the chapter number (no 2.1,
just 1, for example).
This behaviour should apply both to the titles in the text and in the TOC..
With the code:
\definestructureresetset[default][1,0,1][1] % reset part and section,
but not chapter, from wiki
\setuphead[sectionresetset=default]
\setuphead[part]
[placehead=yes,
number=yes,]
\setuplist [part]
[number=yes,]
\setuphead [chapter]
[number=yes,]
\setuplist [chapter]
[number=yes,]
\starttext
\completecontent
\startpart[title={Part1}]
\startchapter[title={Chapter3}]
\input knuth
\stopchapter
\startchapter[title={Chapter2}]
\input tufte
\stopchapter
\stoppart
\startpart[title={Part2}]
\startchapter[title={Chapter3}]
\input knuth
\stopchapter
\stoppart
\stoptext
I can make chapter numbers flow independently of parts, which is nice.
But the numbering for chapters is like 1.1, 1.2, and 2.3, which is a
good default, but not what I want.
Is there any way to omit part number and get only the chapter number
displayed?
In wiki there is something that is almost suitable, namely setting:
numbercommand={\determineheadnumber[chapter]\currentheadnumber\gobbleoneargument}]
But this does not work for TOC, returning just zeros (and seems like
also an extra zero is spilled on TOC, overall pretty hackish solution).
When nothing seemed to work, I also tried to use an ugly macro that uses
lua to format the argument #1 in the numbercommand nicely with the help
of string functions,
but it turned out the actual parameter #1 in numbercommand is something
other than just a string with numbers and dots.
If someone knows what it is, or how to find out, please point me to the
right direction to better understand the system. Currently I'm unable to
even print it to the terminal in order to see what actual characters are
there, the following code outputting the length (seems to be 19 at least
for me) works just fine as well as printing the string itself to the
document.
\startluacode
userdata = userdata or{}
function userdata.numberfun(str)
context(tostring(#str))
end
\stopluacode
\def\mync#1%
{\ctxlua{userdata.numberfun([==[#1]==])}}
The idea seemed pretty standard and is used in many books, so maybe I've
just completely missed the right way to approach this.
You have to use the “sectionsegemnts” key.
\setuphead
[part]
[placehead=yes]
\setuphead
[chapter]
[sectionsegments=chapter]
\starttext
\completecontent
\part{Part 1}
\chapter{Chapter 1}
\chapter{Chapter 2}
\part{Part 2}
\chapter{Chapter 3}
\stoptext
Wolfgang
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://context.aanhet.net
archive : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___________________________________________________________________________________