我正在寻找一种方法来声明这样的部分(例如一章):
\startchapter[title={My first interview}][author={Jane Doe}, year={2022}]
…
\input knuth
\stopchapter
\startchapter[title={My second interview}][author={John Doe}, year={2023}]
…
\input knuth
\stopchapter
我想为每一章生成标题页,布局标题,以及作者、年份和其他定义\structureuservariable
;某种模板。
我做了类似的事情:
\startsetups [titlepage]
% Here comes some fancy layout with columns, layers and such
\structureuservariable{author}
\stopsetups
\setuphead[chapter][placehead=hidden] % Chapter pages won’t have headers
\startchapter[title={My second interview}][author={John Doe}, year={2023}]
\setups{titlepage}
\input knuth
\stopchapter
我有几个问题:
- 我不知道如何在我的
titlepage
设置中检索章节标题 - 我不确定这是否是“模板化”的正确方法
任何提示都将不胜感激。
谢谢
答案1
如果这是您所寻找的,那么就把功劳归于沃尔夫冈,如果不是,那么就怪我吧。
如果您想测试内容,您可以使用\doifsomething
。
\definedataset[chapter]
\startsetups[chapter:leftpage]
\doglobal\increment\ChapterData
\page[yes]
\midaligned{\definedfont[Serif*default at 21pt]\WORD \datasetvariable{chapter}{\ChapterData}{title}}\blank[line]
\midaligned{\definedfont[Serif*default at 14pt]\datasetvariable{chapter}{\ChapterData}{author}, \datasetvariable{chapter}{\ChapterData}{year}}\blank[2*line]
\stopsetups
\startsetups[chapter:savedata]
\setdataset
[chapter]
[\ChapterData]
[ title=\structurevariable{title},
year=\structureuservariable{year},
author=\structureuservariable{author}]
\stopsetups
\setuphead[chapter][
page=,
number=no,
placehead=no,
style={\WORD},
location=none,
indentnext=no,
beforesection=\directsetup{chapter:leftpage},
insidesection=\directsetup{chapter:savedata},
]
\starttext
\startchapter[title={My second interview}][author={John Doe}, year={2023}]
\input knuth
\stopchapter
\stoptext