The fact that this behavior usually occurs in public places may suggest an immaturity in his emotional and social skills while outside the familiar setting of home and/or an awareness that he can be successfully manipulative with these tantrums when in public. Have you ever given in to him in the past when he has pitched one of these fits? Sometimes, even though negative behavior was "successful" only a few times, children will keep trying it to get what they want because they have not developed emotional self-regulation and/or an alternative way of "making their point".
You know what punishments, consequences and discipline techniques don't work so let's try a few that may, over time. First, don't attempt any sophisticated reasoning while a tantrum is going on, it's wasted energy. Although it may not bear fruit, since it seems he cranks up the volume very quickly, as soon as you see the stage set for him to begin to start screaming in public, physically get down to eye level with him and give and use the empathy/alternative technique: "Billy, I know you want that candy bar right now. I can't let you have it because if you eat it now you won't be hungry for your supper. If you start screaming, you will make me take you home right now. Or if you want, I will buy you that candy bar now, we can take it home and you can eat it later, after supper". A technique like this acknowledges the child's desire and encourages alternative appropriate self-control that will get him what he wants, if his wants are reasonable.
Secondly, have a discussion with your son when he and you are in a calm state and explain how you are going to respond every time he throws a fit in public (or anywhere else): "Billy, you seem to be showing me that you're not ready yet to go out with me because you scream when you don't get something you want. I'm not going to accept that kind of behavior any more so you let me know when you're ready to be a boy I can talk to in a store and not one who screams, and you can begin coming with me. If we go out and you still scream, I'll give you 2 minutes to calm down and listen to me, because I know it might take a few times for you to stop. If you haven't stopped in 2 minutes we'll go home and we'll wait a longer time before you go out with me again. It's up to you to see when you want to stop the screaming. "
I understand that these techniques may cause you to get sitters or leave a bag full of groceries in a store a few times but I have seen the positive results of this combination technique work many times. Give it a try. It shows the logical and natural consequences of good and of unacceptable behavior and gives the child the responsibility and opportunity to change.