On 20 May 2015 at 22:19, Wolfgang Schuster <schuster.wolfg...@gmail.com> wrote: > >> Am 20.05.2015 um 01:26 schrieb Kate F <k...@elide.org>: >> >> On 19 May 2015 at 23:51, Wolfgang Schuster <schuster.wolfg...@gmail.com> >> wrote: >>> >>>> Am 20.05.2015 um 00:34 schrieb Kate F <k...@elide.org>: >>>> >>>> Hello! >>>> >>>> I'm collating some UNIX-like manpages into a PDF. >>>> I'm structuring the content like so: >>>> >>>> \setupcolors[state=start] >>>> >>>> \definehead[Volume] [part] % red colour: man(1) section >>>> \definehead[Library][part] % blue colour: library within section 3 >>>> \definehead[Manpage][chapter] >>>> >>>> \setuphead[Volume,Library,Manpage][page=yes,number=no,placehead=yes] >>>> \setuphead[Volume][color=red] >>>> \setuphead[Library][color=blue] >>>> >>>> \starttext >>>> \placecontent[list={Volume,Library,Manpage}] >>>> >>>> \startVolume[title=Section 1: Programs] >>>> \dorecurse{3}{\startManpage[title=progxyz(1)] \input lorem >>>> \stopManpage} >>>> \stopVolume >>>> >>>> \startVolume[title=Section 2: Syscalls] >>>> \dorecurse{3}{\startManpage[title=syscallxyz(1)] \input lorem >>>> \stopManpage} >>>> \stopVolume >>>> >>>> \startVolume[title=Section 3: Libraries] >>>> \startLibrary[title=libjpeg] >>>> \dorecurse{3}{\startManpage[title=jpegapi_a(3)] \input >>>> lorem \stopManpage} >>>> \stopLibrary >>>> \startLibrary[title=libpng] >>>> \dorecurse{3}{\startManpage[title=pngapi_a(3)] \input >>>> lorem \stopManpage} >>>> \stopLibrary >>>> \startLibrary[title=libbmp] >>>> \dorecurse{3}{\startManpage[title=bmpapi_a(3)] \input >>>> lorem \stopManpage} >>>> \stopLibrary >>>> \stopVolume >>>> >>>> \startVolume[title=Section 4: Drivers] >>>> \dorecurse{3}{\startManpage[title=drvxyz(1)] \input lorem >>>> \stopManpage} >>>> \stopVolume >>>> >>>> \startVolume[title=Section 7mk: Makefiles] >>>> \dorecurse{3}{\startManpage[title=xyz.mk(1)] \input lorem >>>> \stopManpage} >>>> \stopVolume >>>> \stoptext >>>> >>>> There I have grouped Volume 3 manpages into libraries. This grouping only >>>> applies to Volume 3. >>>> >>>> I'd like a single "title" page for each Volume (which I show in red), >>>> except for section 3, where I'd like a title page for each Library >>>> (which I show in blue). So the pagination should look like: >>>> >>>> toc S1 ... S2 ... libjpeg ... libpng ... libbmp ... S4 ... >>>> >>>> Where S* there is a red title page, S3 is absent, and lib* are blue title >>>> pages. >>>> I'm trying to work out how best to do this. >>>> >>>> Would you recommend I hide Volume 3's title page? >>>> I think that must be the simplest way, but I don't know how to do it >>>> using a setup. >>>> >>>> My data is coming from XML, and I'd like to avoid having a special >>>> \startVolume for Volume 3, if I can. Although perhaps that could help. >>>> >>>> Are there any other ways which might be more sensible? >>>> >>>> I wondered about using \setuphead[something][continue=yes] to fold the >>>> first blue title pages onto the red title pages, but even if I can do that, >>>> I think it would make things more difficult for getting the text right on >>>> those pages. >>> >>> Change your manpage headings to \chapter and test at the begin of each >>> new volume for the number of chapters (you can use the list mechanism >>> for this) in each volume. >>> >>> %\setuphead[part][placehead=yes,after=\directsetup{chapterentries}] >>> \setuphead[part][placehead=empty,after=\directsetup{chapterentries}] >>> >>> \startsetups[chapterentries] >>> \determinelistcharacteristics[chapter] >>> \ifcase\structurelistsize >>> No chapter in this part. >>> \or >>> One chapter in this part. >>> \else >>> Two or more chapters in this part. >>> \fi >>> \stopsetups >>> >>> \starttext >>> >>> \dorecurse{4} >>> {\startpart[title=Part #1] >>> \dorecurse{\ifcase#1\or 0\or 3\else 1\fi} >>> {\startchapter[title=Chapter ##1] >>> \stopchapter} >>> \stoppart} >>> >>> \stoptext >>> >>> Wolfgang >> >> Very interesting! >> >> I don't want to use \chapter because I'm dealing with several types of >> document, and so I'm trying to keep different things separate, so that >> I don't confuse myself with all the setups. But I just converted your >> example to use \definehead[Manpage] instead, and that seems to have >> the same effect for \determinelistcharacteristics[Manpage]. >> >> Maybe I'm being unimaginative, but I don't see how you're suggesting I >> use this technique to achieve the effect I'm after. Did you mean to >> count Libraries rather than Manpages? Even then I'm not sure how to >> apply the idea. (Especially as your example doesn't have the same >> structure as mine.) >> >> Sorry if my original description was unclear. > > > It doesn’t matter which name you use for the sections. > > \definehead [Library] [part] > \definehead [Manpage] [chapter] > > \setuphead > [Library] > [placehead=empty, > before={\startmakeup[standard][align=middle,style=\ssd]}, > after={\directsetup{chapterentries}\stopmakeup}] > > \startsetups[chapterentries] > \determinelistcharacteristics[Manpage] > \ifcase\structurelistsize > No manpages for this libary. > \or > One manpage for this Library > \else > Two or more manpages for this library. > \fi > \stopsetups > > \starttext > > \startLibrary[title=First Library] > \startManpage[title=Manpage 1] > \stopManpage > \stopLibrary > > \startLibrary[title=First Library] > \stopLibrary > > \startLibrary[title=First Library] > \startManpage[title=Manpage 1] > \stopManpage > \startManpage[title=Manpage 2] > \stopManpage > \startManpage[title=Manpage 3] > \stopManpage > \stopLibrary > > \stoptext > > Wolfgang
Hi, There's been a misunderstanding here. You're showing a structure which is a two-deep hierarchy (Libraries containing Manpages). That's not what the structure in my example is, and you're showing something which I think is different to what I'm asking for. (Or I just can't see how to apply the technique you're illustrating) The structure for my example is Volumes which contain either Libraries *or* Manpages, and a Library contains Manpages. I'll draw out the tree from my example again: (this is the same as in my first email for this thread, but I'm repeating it here for clarity) \starttext \placecontent[list={Volume,Library,Manpage}] \startVolume[title=Section 1: Programs] \dorecurse{3}{\startManpage[title=progxyz(1)] \input lorem \stopManpage} \stopVolume \startVolume[title=Section 2: Syscalls] \dorecurse{3}{\startManpage[title=syscallxyz(1)] \input lorem \stopManpage} \stopVolume \startVolume[title=Section 3: Libraries] \startLibrary[title=libjpeg] \dorecurse{3}{\startManpage[title=jpegapi_a(3)] \input lorem \stopManpage} \stopLibrary \startLibrary[title=libpng] \dorecurse{3}{\startManpage[title=pngapi_a(3)] \input lorem \stopManpage} \stopLibrary \startLibrary[title=libbmp] \dorecurse{3}{\startManpage[title=bmpapi_a(3)] \input lorem \stopManpage} \stopLibrary \stopVolume \startVolume[title=Section 4: Drivers] \dorecurse{3}{\startManpage[title=drvxyz(1)] \input lorem \stopManpage} \stopVolume \startVolume[title=Section 7mk: Makefiles] \dorecurse{3}{\startManpage[title=xyz.mk(1)] \input lorem \stopManpage} \stopVolume \stoptext Please look at Volume 3; you can see it contains some Libraries (libjpeg, libpng, libbmp). The other Volumes do not contain Libraries; they just contain Manpages directly. So the ToC is: Volume 1: "Programs" <-- I want a title page for this ... manpages for (1) Volume 2: "Syscalls" <-- I want a title page for this ... manpages for (2) Volume 3: "Libraries" <-- no title page for this!! Because this Volume contains Libraries Library "libjpeg" <-- I want a title page for this ... manpages for (3) libjpeg Library "libpng" <-- I want a title page for this ... manpages for (3) libpng Library "libbmp" <-- I want a title page for this ... manpages for (3) libbmp Volume 4: "Drivers" <-- I want a title page for this ... manpages for (4) Volume 7: "Makefiles" <-- I want a title page for this ... manpages for (7) As I said in my original email, this grouping into libraries only applies to Volume 3. The effect I'm trying to achieve is to have a single title page before each set of manpages. So I want a title page for "Programs", "Syscalls", "libjpeg", "libpng", "libbmp", "Drivers", and "Makefiles". But I do not want a title page for Volume 3 itself, "Libraries" because that would be immediately followed by the title page for libjpeg, and my aim is to avoid having two consecutive title pages. I have indicated these with arrows above. I hope that's clear. Sorry for repeating myself... Thank you! -- Kate ___________________________________________________________________________________ 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://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________