Thomas A. Schmitz <mailto:thomas.schm...@uni-bonn.de>
22. Oktober 2015 um 13:51
Hi,
I'm trying to set up a header: if a page contains only one marking, it
should display this, if it has more than one, display the first and
last. Here's what I tried, unsuccessfully:
\definemarking [test]
\startsetups [test header]
\doifelse {\expanded{\getmarking[test][top]}}
{\expanded{\getmarking[test][bottom]}}
{\getmarking[test][top]}
{\getmarking[test][top] and \getmarking[test][bottom]}
\stopsetups
\setupheadertexts [\setups{test header}]
\starttext
\marking[test] {One}
\input knuth
\marking [test] {Two}
\page
\marking [test] {Three}
\input tufte
\stoptext
How can I make the \doifelse work? I'm not sure I understand the
keywords top/bottom, first/last, and previous/next.
You have to use the \fetchmark command (which is currently broken but I
sent a fix to the dev list)
to check the content of both marks because \getmarking isn’t expandable.
\startsetups [test header]
\doifelse{\fetchmark[test][top]}{\fetchmark[test][bottom]}
{\getmarking[test][top]}
{\getmarking[test][top] and \getmarking[test][bottom]}
\stopsetups
Wolfgang
___________________________________________________________________________________
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
___________________________________________________________________________________