Hi all, shouldn't this work? I get no content for the marking: \starttext \startchapter[title={Hello World},marking={A}] Test \getmarking[chapter] \stopchapter \stoptext All best Thomas
Am 24.02.2012 um 10:06 schrieb Thomas A. Schmitz:
Hi all,
shouldn't this work? I get no content for the marking:
\starttext
\startchapter[title={Hello World},marking={A}]
Test
\getmarking[chapter]
\stopchapter
\stoptext
Marks aren’t the right tool for this because they are meant for text which goes into the header and footer after the page is finished. There is another mechanism which does what you want. \setupheadertexts[chapter] \define[2]\ChapterCommand {\vbox\bgroup\starttabulate \NC Title \EQ \structurevariable{title} \NC\NR \NC Marking \EQ \structurevariable{marking} \NC\NR \stoptabulate\egroup} \setuphead[chapter][command=\ChapterCommand] \starttext \startchapter[title={Hello World},marking={A}] \starttabulate \NC Title \EQ \namedstructurevariable{chapter}{title} \NC\NR \NC Marking \EQ \namedstructurevariable{chapter}{marking} \NC\NR \stoptabulate \stopchapter \stoptext Wolfgang
On 02/24/2012 05:09 PM, Wolfgang Schuster wrote:
Marks aren’t the right tool for this because they are meant for text which goes into the header and footer after the page is finished. There is another mechanism which does what you want.
\setupheadertexts[chapter]
\define[2]\ChapterCommand {\vbox\bgroup\starttabulate \NC Title \EQ \structurevariable{title} \NC\NR \NC Marking \EQ \structurevariable{marking} \NC\NR \stoptabulate\egroup}
\setuphead[chapter][command=\ChapterCommand]
\starttext
\startchapter[title={Hello World},marking={A}]
\starttabulate \NC Title \EQ \namedstructurevariable{chapter}{title} \NC\NR \NC Marking \EQ \namedstructurevariable{chapter}{marking} \NC\NR \stoptabulate
\stopchapter
\stoptext
Wolfgang
Thank you, Wolfgang! The example was maybe too minimal - what I'm looking for is for an xml conversion; I want to define a command that will do different things depending on the chapter it is in, so I thought \getmarking was the way to go (with a \doifelse test). But \namedstructurevariable is as well. Thanks Thomas -- Prof. Dr. Thomas A. Schmitz Abteilung für Griechische und Lateinische Philologie Universität Bonn Am Hof 1e 53113 Bonn http://www.philologie.uni-bonn.de/personal/schmitz
On 02/24/2012 05:09 PM, Wolfgang Schuster wrote:
Marks aren’t the right tool for this because they are meant for text which goes into the header and footer after the page is finished. There is another mechanism which does what you want.
\setupheadertexts[chapter]
\define[2]\ChapterCommand {\vbox\bgroup\starttabulate \NC Title \EQ \structurevariable{title} \NC\NR \NC Marking \EQ \structurevariable{marking} \NC\NR \stoptabulate\egroup}
\setuphead[chapter][command=\ChapterCommand]
\starttext
\startchapter[title={Hello World},marking={A}]
\starttabulate \NC Title \EQ \namedstructurevariable{chapter}{title} \NC\NR \NC Marking \EQ \namedstructurevariable{chapter}{marking} \NC\NR \stoptabulate
\stopchapter
\stoptext
Wolfgang
Hi Wolfgang, may I ask two additional questions? 1. From what I see on dev-context, there's a problem right now, so it may be better to wait a bit with these commands. Correct? 2. What would be the equivalent in lua? I'm looking for something like this: function chaptertest(s) if chapter.structurevariable == "A" then context(s) context(" is in chapter A!") else context(s) context(" is in a different chapter!") end end Is this possible? What would be the correct call for my pseudo-code chapter.structurevariable (could be either to the chaptermark or to the chapter title, I just need something to test against). Thanks a lot Thomas
On 2012-02-25 14:55, Thomas A. Schmitz wrote:
On 02/24/2012 05:09 PM, Wolfgang Schuster wrote:
Marks aren’t the right tool for this because they are meant for text which goes into the header and footer after the page is finished. There is another mechanism which does what you want.
\setupheadertexts[chapter]
\define[2]\ChapterCommand {\vbox\bgroup\starttabulate \NC Title \EQ \structurevariable{title} \NC\NR \NC Marking \EQ \structurevariable{marking} \NC\NR \stoptabulate\egroup}
\setuphead[chapter][command=\ChapterCommand]
\starttext
\startchapter[title={Hello World},marking={A}]
\starttabulate \NC Title \EQ \namedstructurevariable{chapter}{title} \NC\NR \NC Marking \EQ \namedstructurevariable{chapter}{marking} \NC\NR \stoptabulate
\stopchapter
\stoptext
Wolfgang
Hi Wolfgang,
may I ask two additional questions?
1. From what I see on dev-context, there's a problem right now, so it may be better to wait a bit with these commands. Correct?
2. What would be the equivalent in lua? I'm looking for something like this:
function chaptertest(s) if chapter.structurevariable == "A" then context(s) context(" is in chapter A!") else context(s) context(" is in a different chapter!") end end
If you only need the current section at the position where the test occurs, then you can try the following (beware this might not be canonical). ····· chaptertest.lua ·················································· local context = context local check_structure = function (s) context(s) local current = structures.sections.current() if current.userdata and current.userdata.location == "A" then context" is in chapter A" else context" is elsewhere." end end commands.checkstructure = function (s) check_structure(s) end ········································································ ····· chaptertest.tex ·················································· \ctxloadluafile{chaptertest} \unprotect \def\lookup#1{\ctxcommand{checkstructure\!!bs#1\!!es}} \protect \starttext \startchapter[title=foo] [location=A] \lookup{My dear something}\par \input knuth \stopchapter \startchapter[title=bar] [location=B] \lookup{My dear something}\par \input knuth \stopchapter \stoptext ········································································ For more info about the local structure you might want to have a look at table.print(structures.sections.current()) Regards Philipp
Is this possible? What would be the correct call for my pseudo-code chapter.structurevariable (could be either to the chaptermark or to the chapter title, I just need something to test against).
Thanks a lot
Thomas ___________________________________________________________________________________ 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 ___________________________________________________________________________________
-- () ascii ribbon campaign - against html e-mail /\ www.asciiribbon.org - against proprietary attachments
On 02/25/2012 03:37 PM, Philipp Gesang wrote:
For more info about the local structure you might want to have a look at table.print(structures.sections.current())
Regards Philipp
Many thanks, Philipp, your example and this hint are very useful - I will play around with this! We'll see if this is canonical... All best Thomas
participants (3)
-
Philipp Gesang
-
Thomas A. Schmitz
-
Wolfgang Schuster