Like others, my first reaction to WM9's system-wide physical units was "Why is this so laborious? Do they expect us to type Quantity[magnitude, unit] everytime we want to associate a unit with some quantity?"
After exploring units in WM9 for a while, I figured a way to assign shortcut names for my favorite units which, I think, is more user-friendly than what was provided by Wolfram (though I give them credit for building into Mathematica a full-fldged units manager).
First, evalute the following code in a WM9 notebook:
Remove["Global`*"];
(* pair shortcuts names with each unit's full name; just a few examples here *)
unitDef = {
{u`g, "Grams"}, { u`mg, "Milligrams"}, {u`kg, "Kilograms"},
{u`m, "Meters"}, {u`cm, "Centimeters"}, {u`mm, "Millimeters"},
{u`L, "Liters"}, {u`mL, "Milliliters"}, {u`cm3, "Centimeters"^3}
};
(* create symbols from the shortcut names *)
Symbol@ToString[ #[[1]] ]& /@ unitDef;
(* map a function for each shortcut name using an upset assignment *)
(q_[Evaluate[ #[[1]] ]]^= Quantity[q, #[[2]]])& /@ unitDef;
To keep the shortcut names from interferring with symbols having the same name, keep shortcut names inside their own context (I chose "u", of course, you can use any context name you want). Checking context "u" shows the shortcut names:
In[1]:= Names["u`*"]
Out[1]= {"u`cm", "u`cm3", "u`g", "u`kg", "u`L", "u`m", "u`mg", "u`mL", "u`mm"}
Since the Quantity function is defined using an upset assignment, the function call operator "@" is used in the form quantity@ unit-shortcut.
Some examples:
In[2]:= (x * y)/z /. { x -> 500.@u`mg, y -> 200.@u`mL, z -> 3.@u`L }
Out[2]= Quantity[33.3333, "Milligrams"] (* displayed as 33.3333 mg in WM9 notebook*)
In[3]:= (x * y)/z /. { x -> 500.@u`g, y -> 200.@u`cm3, z -> 3.@u`L }
Out[3]= Quantity[33.3333, "Grams"] (* displayed as 33.3333 g *)
In[4]:= 3@u`cm3
Out[4]= Quantity[3, ("Centimeters")^3] (* displayed as 3 cm^3 *)
In[5]:= UnitConvert[3@u`cm3, "Milliliters"]
Out[5]= Quantity[3, "Milliliters"] (* displayed as 3 mL *)
In[6]:= x = 7@u`g
Out[6]= 7 g
In[7]:= y = 3@u`L
Out[7]= 3 L
In[8]:= N[x/y]
Out[8]= 2.33333 g/L
While not fully tested, it seems to work well enough for me. I hope others find this useful.