Jeff, Not to rain on the parade but the parenthetical abstract to me doesn't mean "optional" but it is a definition of the "style" of class. Its sort of like: we need a (male) soldier to join the infantry. Male is not optional - it is a description of the type of soldier. (my old military sense kicking in :)
The first case refers to the second case so I believe that is also inclusive of an abstract definition. And the third case clearly says it is called from a templateMethod (which was abstract). So C2 by default says its abstract not concrete. Even the first link, which includes a nice uml diagram shows the superclass as abstract. The defining source (gama et. al) describe it with abstract notation. Now of course it is possible to have template method like behavior in a concrete class, but if you were a design pattern purist it would not be a template method Al