Hi Tony

Thank you for response. I had not thought of using the TOC macros and have 
been trying them out to see what they do.
Also, thank you very much for the code. I am slowly working through it, 
figuring out what it is doing, and experimenting to see what happens when I 
make changes.

Cheers
Andrew Mc


On Friday, August 9, 2019 at 12:36:17 AM UTC+12, TonyM wrote:
>
> Andrew,
>
> All of this is possible, but a full answer will take time. You may want to 
> consider the existing TOC macros to see if you can leverage them. However I 
> expect if you built your own TOC macro you would get more control. I need 
> to get to bed so can't answer in full now.
>
> However I am developing some guides and this may be interesting as a 
> start, it demonstrates recursion that makes a TOC work to an unlimited 
> number of levels, but you could write one just to process your known number 
> of levels and treat each level differently. One macr call the chapter, the 
> next the sections the next the paragraphs.
>
> RecursionLike a toc macro, recursion drills down into a heirachical 
> structureA sophisticated combination of iteration and selectionThis 
> example uses the same filter for each level, it processes all "tagging[]" 
> the current tiddler then moves on to the next tiddler in the previous list.
>
> \define each-other-level(filter)
> Start level $filter$ <$link to=<<currentTiddler>> ><$text 
> text=<<currentTiddler>>/></$link><br>
> <$list filter="$filter$">
>    <<each-other-level $filter$>>
> </$list>
> End level for "<$text text=<<currentTiddler>>/>"<br>
> \end
> \define first-level(filter)
> Start all<br>
> <$list filter="$filter$">
>    <<each-other-level $filter$>>
> </$list>
> End all<br>
> \end
>
> Start in TableOfContents<br>
> <$tiddler tiddler="TableOfContents">
>
> <<first-level "[is[current]tagging[]]">>
>
> </$tiddler>
>
> Or the unfinished
>
> Structured levels *not finished Incomplete and untested*Process a fixed 
> and limited set of levels in a heirachieA combination of iteration and 
> selectionEach town within state within countrySee recursion for an 
> indefinite tree
>
> \define all-countries()
> Start all countries<br>
> <$list filter="[tag[country]]" variable=country>
>    <$macrocall $name=country country-name=<<country>> />
> </$list>
> Start all countries<br>
> </$list>
> \end
>
> \define country{country-name}
> Start $country-name$<br>
> <$set name=country value="$country-name$">
> <!-- <<country>> will stay set until you return here -->
> <$list filter="[####tag[state]country<country>]" variable=state
>    <$macrocall $name=state country-name=<<country>> state=<<state>>/>
> </$list>
> End $country-name$<br>
> </$set>
> \end
>
> \define state{state}
> Start $state$<br>
> <$set name=state value="$state$">
> <!-- <<state>>will stay set until you return here -->
> <$list filter="[#####tag[country]]" variable=state
>    <$macrocall $name=town state=<<state>>/>
> </$list>
> End $country-name$<br>
> </$set>
> \end
>
> \define town(town}
> Start $town$<br>
> <$set name=state value="$town$">
> <!-- <<town>>will stay set until you return here -->
> <$list filter="[$$$$tag[country]]" variable=state
>    <$macrocall $name=state state=<<state>>/>
> </$list>
> End $town$<br>
> </$set>
> \end
> <<all-countries>>
>
>
> Regards
> Tony
>
> On Thursday, August 8, 2019 at 4:49:55 PM UTC+10, AndrewMc wrote:
>>
>> Hi All
>>
>> While I have been using TW for some years (mainly TWc) my usage of TW5 is 
>> rather basic and I am having difficulty with what I think is a filter 
>> problem.
>> I have some book text arranged in tiddlers, tagged with the chapter 
>> number, section number, and paragraph number of the text.
>>
>> For example, all text from Chapter 7 is tagged with [C07]. 
>> The first Section of the chapter is a tiddler named [C07S01], containing 
>> just the section title, and is tagged with [C07] and [S01].
>> This section may contain several paragraphs.
>> The first Paragraph is a tiddler named [C07S01P01], and is tagged with 
>> [C07], [S01] and [P01].
>> The second paragraph is a tiddler named [C07S01P02], and is tagged with 
>> [C07], [S01] and [P02].
>>
>> The second section in chapter 7 is [C07S02] (tagged with [C07] and [S02]).
>> and this has paragraphs [C07S02P01] and [C07S02P02] etc.
>>
>> I am wanting to create a list of the tiddlers that make up this chapter.
>> I have created a [Chapter 7] tiddler containing the list-links macro:
>> <<list-links [tag[C07]]>>
>>
>> This is a good start, and gets me the equivalent of:
>> * [[C07S01]]
>> * [[C07S01P01]]
>> * [[C07S01P02]]
>> * [[C07S02]]
>> * [[C07S02P01]]
>> * [[C07S02P02]]
>>
>> However, I am wondering if there is a way to get the following:
>> {{C07S01}}
>> * [[C07S01P01]]
>> * [[C07S01P02]]
>> {{C07S02}}
>> * [[C07S02P01]]
>> * [[C07S02P02]]
>>
>> That is, I would like to know if there is a way that I can transclude all 
>> of the Section tiddlers of a chapter, in numerical order, each followed by 
>> a list of the paragraphs within each section. Is this a task for a macro?
>>
>> For a start, I am struggling to create a filter to obtain just the 
>> section tiddlers. I want to get only those tiddlers tagged with a chapter 
>> tag [C07] and with a tag beginning with [S], and  without a tag beginning 
>> with [P]. Is it possible to do this? Or, should I just add some more tags, 
>> [Section] for each section tiddler, and [Paragraph] for each paragraph 
>> tiddler?
>>
>> Any suggestions and ideas appreciated.
>>
>> Cheers
>> Andrew Mc
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tiddlywiki+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/b73e762d-0b07-4c00-8ed7-1c7cc252dd8a%40googlegroups.com.

Reply via email to