Hi Alejandro, > In a patch to linux-man@ there's a 3-word compound adjective. I don't > know what are the rules for such a thing, and I'd like to have some > consistency (and correctness) in the manual pages. > > I've seen many different things in the past;: > > a) block device-based filesystems > b) block-device-based filesystems > c) block- device-based filesystems > > Which form would you recommend me to use?
‘Block filesystems’ is taken to mean one which sits on a block device. To be specific, ‘block-device filesystems’ could be used. One way which might help when there are multiple words is what ones can be omitted and still give a correct meaning for this case. Without hyphens, this hard to parse. Deleting the cron job lock file fixed the problem. There are three spaces so 2³ ways of hyphenating. 1 Deleting the cron job lock file fixed the problem. 2 Deleting the cron job lock-file fixed the problem. 3 Deleting the cron job-lock file fixed the problem. 4 Deleting the cron job-lock-file fixed the problem. 5 Deleting the cron-job lock file fixed the problem. 6 Deleting the cron-job lock-file fixed the problem. 7 Deleting the cron-job-lock file fixed the problem. 8 Deleting the cron-job-lock-file fixed the problem. I'd go for 6 because omitting space-delimited adjectives still gives accurate descriptions. Not just correct English, but a meaning which matches what's being described. I'm taking ‘lock-file’ to be the noun; some would write ‘lockfile’. 6a Deleting the lock-file fixed the problem. 6b Deleting the cron-job lock-file fixed the problem. If the cron-job context is already provided or if trying to shorten the text then the first could be used if it wasn't ambiguous, but both are correct. In contrast, 3a Deleting the file fixed the problem. 3b Deleting the job-lock file fixed the problem. 3c Deleting the cron file fixed the problem. 3d Deleting the cron job-lock file fixed the problem. 3a's ‘file’ is vague; removing all adjectives can be ambiguous. It's not a file for a ‘job lock’ so 3b and 3d are out. It's not a cron file either; a crontab(5) is an example of those. So none are apt and 3 is ruled out. > And now I found one more > <https://www.editorgroup.com/blog/to-hyphenate-or-not-to-hyphenate/>: > > d) block device\[en]based filesystems > > Where the en dash is used to distinguish it from 'a block filesystem > based on a device'. Using an en-dash seems very odd-ball advice which I haven't seen in print and wouldn't recommend. It will jar the reader and make him switch to wondering its meaning; just stick with hyphens. You might find this site helpful; I know a non-English speaker who liked its plain descriptions and many examples. IIRC, it was started by a ex-military Englishman who valued clear unambiguous reporting. https://www.grammar-monster.com/punctuation/using_hyphens.htm has an overview with links off to more detailed pages. Oh, and it's most definitely a ‘three-year-old bug’ with all those hyphens. -- Cheers, Ralph.