Anyone managed a tabulated table of contents
I can't be the first to have wanted to try something like this. Is it possible to use tabulate (or any of the table types) to customise the layout of the table of contents? I'd like 4 columns - title, subject, author and page - where subject and author will (eventually) be additional parameters supplied to \startchapter. Bonus points if it works in interactive mode as well. Minimum non-working example below. This generates the 4 column values per chapter heading but they run together into a single paragraph as if the table formatting was not present. %%% Begin %%% \setuppapersize [A4] [A4] \setupinteraction [state=start] \setuplist [chapter] [ alternative=command, %interactive command=\myTOCrow, before=\myTOCbefore, after=\myTOCafter ] % #1 == Section number; #2 == text; #3 == page number \define[3]\myTOCrow{\NC #2 \NC dummy \NC John Doe \NC #3 \NC\NR } \define\myTOCbefore{ \starttabulate[|pw(8.75cm)|l|lw(4.2cm)|r|] \NC \underbars{Title} \NC \underbars{Subject} \NC \underbars{Author} \NC \underbars{Page} \NC\NR } \define\myTOCafter{% \stoptabulate } \starttext \title{Tabulated Table of Contents} \placelist[chapter] \startchapter[title=Tufte 1] \input tufte \stopchapter \startchapter[title=Tufte 2] \input tufte \stopchapter \stoptext %%% End %%% -- Bruce Horrocks Hampshire, UK
I can't be the first to have wanted to try something like this. Is it possible to use tabulate (or any of the table types) to customise the layout of the table of contents?
I'd like 4 columns - title, subject, author and page - where subject and author will (eventually) be additional parameters supplied to \startchapter. Bonus points if it works in interactive mode as well.
Minimum non-working example below. This generates the 4 column values per chapter heading but they run together into a single paragraph as if the table formatting was not present.
%%% Begin %%% \setuppapersize [A4] [A4] \setupinteraction [state=start] \setuplist [chapter] [ alternative=command, %interactive command=\myTOCrow, before=\myTOCbefore, after=\myTOCafter ]
% #1 == Section number; #2 == text; #3 == page number \define[3]\myTOCrow{\NC #2 \NC dummy \NC John Doe \NC #3 \NC\NR }
\define\myTOCbefore{ \starttabulate[|pw(8.75cm)|l|lw(4.2cm)|r|] \NC \underbars{Title} \NC \underbars{Subject} \NC \underbars{Author} \NC \underbars{Page} \NC\NR }
\define\myTOCafter{% \stoptabulate }
\starttext \title{Tabulated Table of Contents} \placelist[chapter]
\startchapter[title=Tufte 1] \input tufte \stopchapter
\startchapter[title=Tufte 2] \input tufte \stopchapter \stoptext %%% End %%% It's hard. Maybe I need to make a more low level accessor for that but multipass etc gets in the way. When you knwo the dimensions you can do
On 5/25/2020 2:40 PM, Bruce Horrocks wrote: this: \usemodule[article-basic] \definelistalternative [whatever] [renderingsetup=whatever] \setuplist [chapter] [alternative=whatever] \startsetups whatever \framed [offset=overlay,frame=off] { \framed [width=25mm,align=flushleft,frame=off,offset=0pt] { number: \currentlistentrynumber } \framed [width=4cm,align=normal,frame=off,offset=0pt] { title: \currentlistentrytitle } \framed [width=4cm,align=normal,frame=off,offset=0pt] { author: \structurelistuservariable{author} } \framed [width=2cm,align=flushright,frame=off,offset=0pt] { page: \currentlistentrypagenumber } } \stopsetups \starttext \starttitle[title={Tabulated Table of Contents}] \placelist[chapter] \stoptitle \dorecurse {3} { \startchapter[title=Covid 9][author=Cuomo] \input cuomo \stopchapter } \stoptext Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
participants (2)
-
Bruce Horrocks
-
Hans Hagen