Masna slova valjda prvenstveno koristimo da ne bi bilo zabune.
Npr. grad v gde je v skalar je sam vektor dok je grad v gde je v vektor tenzor. Stavise, ovaj vektorski grad je u krivolinijskim koordinatama mnogo zapetljaniji od ovog skalarnog. Zato je bitno v pisati masnim slovima. Sa druge strane rot i div mogu da deluju samo na vektore pa moze da se kaze da u rot v/div v nije neophodno v pisati masnim slovima.
Medjutim, lep je coding practice da se svi vektori pisu masno. Na taj nacin citalac o odredjenim velicinama odmah razmislja na pravi nacin (pravac, smer, itd.), kao sto je Daniel011 rekao. Sto se nula vektora medjutim tice, isto kao sto je Daniel011 rekao, ne verujem da vecinu citalaca zanima pravac i smer :) Zato je po meni OK da se nula vektor pise ne-masnim slovima.
Sto se masnih oznaka za div/grad/rot tice, prvo da kazem da obicne TeX italic oznake tipa

*puno* idu na nerve. div/grad/rot, ako je ikako moguce, treba barem pisati u text-modu unutar TeX-u matematickih izraza. Tako barem lice na operatore a ne na proizvod promenjljivih.
Sto se boldovanja istih tice, mislim da to potice od boldovanja

(covariant derivative) kao vektorskog operatora koji od skalara pravi vektore, od vektora tenzore, etc. Medjutim, ovo bas i nema puno smisla jer ne postoji ne-vektorski

, div/rot. Zato bih ja ove operatore pisao ne-masno ali u text ili TeX keyword modu.