I define/explain terms in-line, so I use “i.e.,” a lot.
Autocorrect of “i” is a nuisance in this case.
Seems like it wouldn’t be too hard to check for "i " and "i. " and autocorrect those while leaving everything else alone. “i_” where “_” is any non-space character does not get capitalized. “i.” should be only when “i” stands alone and a space follows the “.”
If this is too much too late to code, I’d understand, but it seems like it wouldn’t be too big a deal, and it would be cool from my end.
Add a substitution for this. (Corrections → Substitutions → checkbox for enable additional substitutions; then Edit Substitutions).
Add a substition:
and see if that works.
What I see (just added this to my list of substitutions, and it’s gonna stay there; I use i.e. a lot myself) is this:
[list=][]I add i.e., and it changes to I.e. (because of the “I” capitalization).
[]Then I type a comma, which almost always follows i.e., and the capital I changes back to a lower-case i.[/list]
Now this is a simplistic substitution; almost always, I use “i.e.” in parentheses, so I should put a parenthesis in front of both, because if I put the “i.e.” at the beginning of a sentence following the thing I need to explain, that “I” should be capitalized (first letter of a sentence). Maybe a small set of decapitalization rules would be better, like:
, I.e. = , i.e.
(I.e. = (i.e.
I hope that helps the immediate issue. I’m not sure that will cover all use cases of i.e., (there’s another I can’t add to substitutions, because substitutions doesn’t allow regex) but it does cover most of my uses of it.
I doubt they’ll change the capitalization logic rules any time soon. Those rules are simplistic and don’t cover all use cases, but they cover most use cases.
Thanks man, good suggestion, I hadn’t gotten into the autocorrect options yet, didn’t think of it.
Sadly, none of my attempts worked:
I.e. → i.e.
I.e., → i.e.,
, I.e., → , i.e.,
The “I” gets capitalized as soon as I type the adjacent period, and nothing changes that.
Let me know if you think I’m missing something.
The fact that the capitalization rules are simplistic would be all the more reason to add into them what we’re trying to do with autocorrect. I used to code. This would represent just 2 additional lines in a Case structure.
Using the substitution to replace I.e. should be working. Make sure that you’ve checked “Enable additional substitutions” in the Substitutions pane of Options: Corrections, and that the specific substitution is checked “On” in the substitutions list. (New ones you create are on by default, so the other option is more likely the culprit, but it’s one more place to look if that first one is already correctly set.)
Changing the auto-capitalization code is a little messier than you’d think, since you can’t really say to leave “i” alone if followed by any non-space character–I could perfectly well end a sentence, for instance (“She is hungrier than I.”) and once you’ve got “I.” like that, you’re back at the problem of “I.e.”.
LOL, OK. Yeah, when I checked that box on it works now, which kinda begs the question why, if I went to the trouble to add a substitution, Scrivener would assume I did it so that it would ignore what I did? Obviously, if I clicked on File, then Options, then Corrections, then Substitutions, then Edit Substitutions, I probably want it to pay attention to what comes next…
My guess–and it’s only a guess–is that the question “What should Scrivener assume the user is thinking right now?” was not part of the original use cases…
As most of my writing is done on the Mac version, I was used to that being one of the features built into the operating system and works over all applications.