There are two important keys to keeping warm in sub-zero temperatures, keeping dry and dressing in layers.
Getting wet by any means, including sweat will make you miserably uncomfortable. It is also obviously a lot harder to get dry once you are wet in a cold environment.
As most people are aware the extremities are the hardest parts of the body to keep warm. Your feet and hands will almost always get cold especially if you are not moving them. Keep wiggling your toes and fingers in order to keep the blood circulating through your system.
Why fire is bad! .. sorta.. There is one reason why a fire can be harmful for keeping warm. If it goes out it can play a huge shock on the body (more for an emergency), but a person will be more comfortable when gradually heating / cooling. So don't sit 3 inches away from the fire, use it for a gentle warmth, not a burning
Fire Rocks and Water bottles veering away from the intense heat. These two items will slowly (water fairly quickly, but not as quick as fire) release their heat and make a person more constantly comfortable
Staying small will make you a more efficient heater, same with snuggling with another person. Armpits and Crotch (ewwww) are a good place to keep your hands warm. Just make sure they are clean ;) or you will not have many friends.
A lot of other points are already listed