*[enlist:raw[$inputTitle$]first[1]lowercase[]sentencecase[]]* can be 
replaced with something way shorter, but I prefer this to hopefully 
"future-proof" the filter and keep things consistent.

An alternative that seems to work A-1:   
*[[$inputTitle$]lowercase[]sentencecase[]]*



On Sunday, April 11, 2021 at 12:09:32 PM UTC-3 Charlie Veniot wrote:

> *NOTE:  In the code below, I only applied lowercasing rules to a few of 
> the many short conjunctions/articles/prepositions.  A final solution would 
> expand the code to include all of the short words.*
>
> Ok, that was fun.  Here's how I approached it  (paste the following 
> content into a new tiddler) :
>
> \define SetToTitleCaseCap(inputTitle)
>
> <$text text=
> {{{ [enlist:raw[$inputTitle$]] +[rest[1]] +[lowercase[]] 
> +[sentencecase[]]  a +[replace[A]] an +[replace[An]] in +[replace[In]] the 
> +[replace[The]] +[join[ ]] 
> [enlist:raw[$inputTitle$]first[1]lowercase[]sentencecase[]] +[putfirst[]] 
> +[join[ ]] }}}/>
>
> \end
>
> * <<SetToTitleCaseCap "SOME TITLE">>
> * <<SetToTitleCaseCap "some title">>
> * <<SetToTitleCaseCap "an adventure in tiddlywiki filtering, or an 
> otherwise interesting doodad">>
> * <<SetToTitleCaseCap "A good time having coffee with a friend">>
> * <<SetToTitleCaseCap "The time i laughed to snort in the car">>
>
> ----
>
> Ref:  
> https://apastyle.apa.org/style-grammar-guidelines/capitalization/title-case
>
> On Sunday, April 11, 2021 at 8:16:53 AM UTC-3 Mohammad wrote:
>
>> I am trying to *peacefully *;-) :-) :-) convert the title of a book or 
>> article to title case (see 
>> https://apastyle.apa.org/style-grammar-guidelines/capitalization/sentence-case
>> )
>>
>> So I wrote a code like below
>>
>> \define myTitle()
>> multidisciplinary and multicultural knowledge transfer and sharing in 
>> higher education teamworking
>> \end
>>
>> \define minorWords() a an and but for in on of 
>>
>> <$list filter="[<myTitle>titlecase[]split[ ]!isblack[]]" variable=p2>
>> <$list filter="[<minorWords>search::literal<p2>then<p2>lowercase[]] 
>> ~[<p2>]" variable=p3>
>> <<p3>>
>> </$list>
>> </$list>
>>
>> This works fine, but seems lengthy and bad practice! What do you propose? 
>> Can search-replace with regex do the job?
>>
>>
>> Best wishes
>> Mohammad
>>
>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/a9378ede-8994-4b5b-836f-efe84d471de9n%40googlegroups.com.

Reply via email to