Thank you for your very interesting and useful examples, Tones. I didn't know about `sentencecase`! I'll keep that post as a reference.
And thank you very much for proposing your help.
Sorry for not replying sooner. I've spent the last two days thinking those field connexion rules over for my project and I can say they are not that obvious to define. Anyway, here is something that would correspond to my needs, but it needs 'conditional transclusion'. So I gladly accept your offer.
So, in order to manage my sources, I have a 'reference' field for general information and a 'details' field for any additional information, that I must transclude in that order: `reference` + `details`.
Here's how I see things:
* the value in 'details' may start with `p. ` (for page) or `pp. ` (for pages).
Then I would connect 'reference' and 'details' with `, ` (comma + whitespace).
For instance:
Doe, John. //My Great Exercise Book// (2019), pp. 28-32.
* the value in 'details' may start with a word in lowercase: `exercise 2`, `chapter 4`, etc.
Then I would connect 'reference' and 'details' with ` — ` (whitespace + dash + whitespace).
For instance:
Doe, John. //My Great Exercise Book// (2019) — chapter 6 exercise 5 p. 61.
* the value in details may start with the first word having a capital letter (uppercase), to start a short sentence.
Then I would connect 'reference' and 'details' with `. ` (period + whitespace).
For instance:
August 2018 training session with John Doe. See short video for this exercise on YouTube.
* if the `details` field is empty, then I would need to end the transclusion of `reference` with `.` (period).
I'm not too sure what I should do if the value in `details` field starts with a character that is not a letter, which may happen in very rare cases. And I can still alter the value accordingly:
For instance:
[[Comprehensive Exercise Website|
www.to.the.link.com]] — "Exercises" tab, bottom of page.
might be replaced with:
[[Comprehensive Exercise Website|
www.to.the.link.com]]. See "Exercises" tab, bottom of page.
I hope the goals I have set are clearly explained and above all doable.
I suppose that making liberal use of list filters and operators such as 'split', 'join', 'append', 'match', it could be possible to build those 'conditional field transclusions', but I don't think I could do that alone!
Regards,
-Stéphane