Total aside: to me, a good idea to explicitly deal with each kind of word, 
versus doing some kind of regexp thing.

Because of two-letter person names 
<https://www.parenting.com/pregnancy/baby-names/two-letter-names/>, for 
example.

Also, it might be a good idea to have some sort of override for cases in 
which certain words that are normally forced to lowercase ought to be set 
to TitleCase.  For example, say that some artsy-parent named their kid "In 
Doe."  Might be worth adding a suffix for those goofy situations, like:

* <<SetToTitleCaseCap "the problem with the artsy-parents who named their 
kid in' doe ">>

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/3a0f9af9-0c42-45df-b806-a6dd78f5f6d4n%40googlegroups.com.

Reply via email to