From: Henning Hraban Ramm <texml@fiee.net>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: ToC as itemize
Date: Thu, 3 May 2018 16:13:30 +0200 [thread overview]
Message-ID: <24EAEB87-E083-43D0-AF6D-9E4A775BE735@fiee.net> (raw)
[-- Attachment #1: Type: text/plain, Size: 1325 bytes --]
Hi again,
Alan Bowen invented this interesting setup where the table of contents is to be included in an itemize.
E.g.
Foreword ........ I
1. Smth unrelated .. II
2. Author: Title ... 1
3. Author: Title ... 5
etc.
Only 2. and 3. come from a "list" of chapters, other entries are added manually.
The attached not-really-minimal working example also handles the author setup – IRL we use a lot of user variables for metadata that needs different representation in ToC and titling.
This is the core code:
\define[1]\ChapterTocEntry{%
\startitem
\structurelistuservariable{author}:
#1\leaderfill\currentlistentrypagenumber
\stopitem
}
\definelist[chapter][%
alternative=b,
interaction=all,
criterium=all,
textcommand=\ChapterTocEntry,
pagecommand=\gobbleoneargument,
]
\startContentsList
%\sym{}Preface\leaderfill\at{Preface} % Preface unnumbered
\startitem Test entry\leaderfill 123 \stopitem
\placelist[chapter][criterium=all]
\stopContentsList
The actual problem:
The chapter list entries don’t adhere to the formatting of the itemize.
I guess there’s some expansion problem, due to the \startitem inside if the textcommand?
Greetlings, Hraban
---
https://www.fiee.net
http://wiki.contextgarden.net
GPG Key ID 1C9B22FD
[-- Attachment #2: toctest.tex --]
[-- Type: application/octet-stream, Size: 1484 bytes --]
%
\def\leaderfill{\leaders\hbox to 1em{\hss. \hss}\hfill}
\defineitemgroup[ContentsList]
\setupitemgroup[ContentsList][each]
[broad,packed,autointro,repeat][]
\setupitemgroup[ContentsList][1][n][margin=1pc]
\define[2]\ChapterTitle{%
% simplified
\reference[\namedstructurevariable{chapter}{reference}]{\strut}%
\structurevariable{title} {\tfx by \structureuservariable{author}}
}
\define[1]\ChapterTocEntry{% #1 is not used
\startitem[continue,packed,joinedup]%
% simplified, IRL we use several user variables
\structurelistuservariable{author}:
#1%\namedstructurelistvariable{chapter}{title}??
\leaderfill\color[blue]{\currentlistentrypagenumber}
\stopitem%
}
\setuphead[chapter][
style=\rm,
command=\ChapterTitle,
]
\definelist[chapter][%
alternative=b,
interaction=all,
criterium=all,
textcommand=\ChapterTocEntry,
numbercommand=\gobbleoneargument,
pagecommand=\gobbleoneargument,
]
\starttext
\startContentsList
%\sym{}Preface\leaderfill\at{Preface} % Preface unnumbered
\startitem
Test entry\leaderfill 123
\stopitem
\startitem
Test entry\leaderfill 124
\stopitem
\placelist[chapter][criterium=all]
\stopContentsList
\startchapter[title=First,reference=tufte1][author=Edward Tufte]
\input tufte
\stopchapter
\startchapter[title=Second,reference=knuth][author=Donald Knuth]
\input knuth
\stopchapter
\startchapter[title=Third,reference=tufte2][author=Edward Tufte]
\input tufte
\stopchapter
\stoptext
[-- Attachment #3: Type: text/plain, Size: 492 bytes --]
___________________________________________________________________________________
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
___________________________________________________________________________________
next reply other threads:[~2018-05-03 14:13 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-03 14:13 Henning Hraban Ramm [this message]
2018-06-10 9:55 ` Henning Hraban Ramm
2018-06-10 11:35 ` Hans Hagen
2018-06-10 12:03 ` Henning Hraban Ramm
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=24EAEB87-E083-43D0-AF6D-9E4A775BE735@fiee.net \
--to=texml@fiee.net \
--cc=ntg-context@ntg.nl \
/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.
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 NNTP newsgroup(s).