Ugh, sorry you are having to deal with this. The way I handled all my kids when they acted this way at home was by acting in total disbelief. I would just look at them and tell them that their behavior was not acceptable and that they were not going to behave that way. Then they would go to their room and stay their until they were done crying. It didn't take very long to break them from tantrums. As far as in public, when my kids were about three Dh and I started pointing out to them all the kids that misbehaved when we were in public. I would just tell them that the other kids behavior was not acceptable. And that when kids act that way others think that they are brats and don't want to be around them. This actually work. Not one of my kids has ever thrown a tantrum in public. As a matter of fact they will just look at the kid who is with a look on their face of "what is wrong with you!".
Another thing you might want to try. When I was little I threw one tantrum in public. My mom told me that she would not take me to the store the next time she went. Sure enough even though I was crying a river because I wanted to go she left me at home. I never threw another tantrum again.
One more thing. If he is throwing a tantrum because he wants something never ever ever give in and buy it for him. It will just reinforce to him that he will get his way if he throws a tantrum.
I hope this helps you.
Same here. I've also been known to take my child who is acting up (never a tantrum but other undesirable behavior) in public out to the van where they get a stern reprimand for their behavior. Of course, being removed is embarassing, so that affects them. I had to take each child out to the van 1 time, then I would just have to say, "Do we need to take a trip to the van?" and all unwanted behavior would stop.