FYI: Couple years ago protocol was changed to allow retirees and vets to salute rather than do the hand over heart.
http://www.military.com/flag-day/rules-for-saluting-us-flag.html
“Law Now Allows Retirees and Vets to Salute Flag
Traditionally, members of the nation’s veterans service organizations have rendered the hand-salute during the national anthem and at events involving the national flag only while wearing their organizations official head-gear.
The National Defense Authorization Act of 2008 contained an amendment to allow un-uniformed servicemembers, military retirees, and veterans to render a hand salute during the hoisting, lowering, or passing of the U.S. flag.
A later amendment further authorized hand-salutes during the national anthem by veterans and out-of-uniform military personnel. This was included in the Defense Authorization Act of 2009, which President Bush signed on Oct. 14, 2008.”
However, if one is facing the trooping of the colors by the color guard, in a formation or during a parade, a male in civilian dress ought to doff his cover and acknowledge the passing of the colors by a heart salute with it (again, I would say, and not be able to prove outright).
Correct me if this is wrong according to the book of etiquette or protocol. Thanks again.