denis.maier@unibe.ch schrieb am 12.09.2023 um 21:38: > > *Von:*Wolfgang Schuster > *Gesendet:* Dienstag, 12. September 2023 21:30 > *An:* Maier, Denis Christian (UB) > *Cc:* ntg-context@ntg.nl > *Betreff:* Re: [NTG-context] Using structureuservariables before the > heading > > denis.maier@unibe.ch schrieb am > 12.09.2023 um 21:24: > > *Von:*Wolfgang Schuster > > *Gesendet:* Dienstag, 12. September 2023 20:41 > *An:* mailing list for ConTeXt users > ; Maier, Denis Christian (UB) > > *Betreff:* Re: [NTG-context] Using structureuservariables before > the heading > > denis.maier@unibe.ch schrieb am > 12.09.2023 um 17:47: > > > Hi, > > is it possible to access a structureuservariable before the > heading’s title ? > > Using the «before» key does not seem to work. > > > There are ways but not in a general way because you try to access > the values > before they are known to ConTeXt. To provide a proper solution you > have > to tell what you're trying to achieve. > > I’m just trying to output the author’s name above a chapter > heading. Do you need more information? > > > You can create a custom header for the chapter page and show the value > of the author key > which works without problems because the header is added after to the > finished page > after the value is available. > > Another option when the name should appear in the same space as the > chapter title > is a custom layout for the title. > > Yes, I’ve tried that in the original MWE: > > %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% > > \setuphead[chapter][ > >     before={Before: \structureuservariable{author}\blank}, > >     beforesection={Beforesection: \structureuservariable{author}\blank}, > >     insidesection={Insidesection: \structureuservariable{author}\blank}, > >     after={After: \structureuservariable{author}\blank}, > >     ] > > \def\myChapterCommand#1#2{\structureuservariable{author}\space\blank} > > \define[2]\myChapterCommand{\structureuservariable{author}\blank > #1\space#2} > > %\def\myChapterCommand#1#2{\structureuservariable{author}\blank > #1\space#2} % does not work > > % \starttexdefinition myChapterCommand #1 #2 % doesn't work either, > but at least blanks should work > > %   \structureuservariable{author} > > %   Test > > %   \blank > > %   #1\space#2 > > % \stoptexdefinition > > \starttext > > \myChapterCommand{1}{asdf} > > \startchapter[title=First][author=First Author] > > \input knuth > > \stopchapter > > \startchapter[title=Second][author=Second Author] > > \input knuth > > \stopchapter > > \setuphead[chapter] > >     [ > >     before=,after=,beforesection=,insidesection=, > >     command=\myChapterCommand, > > ] > > \startchapter[title=Third][author={Third Author}] > > \input knuth > > \stopchapter > > \stoptext > > %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% > > Here, I’m getting «Third author» just before «3 Third». So I guess > this goes in the right direction, but \define doesn’t allow for blanks > etc. \starttexdefinition and \def on the other hand gave me erros. > You need a box to get the author on a separate line. % \define[2]\ChapterCommand %   {\vbox %      {\structureuservariable{author} %      \blank %      #1\space#2}} \starttexdefinition protected ChapterCommand #1#2   \vbox\bgroup     \structureuservariable{author}     \blank     #1\space#2   \egroup \stoptexdefinition \setuphead   [chapter]   [command=\ChapterCommand] \starttext \startchapter[title=First][author=First Author] \input knuth \stopchapter \startchapter[title=Second][author=Second Author] \input knuth \stopchapter \startchapter[title=Third][author={Third Author}] \input knuth \stopchapter \stoptext Wolfgang