Index: doc/LaTeXmacros/common.tex
===================================================================
--- doc/LaTeXmacros/common.tex	(revision b721578e1616083fc20707814f50186def95d458)
+++ doc/LaTeXmacros/common.tex	(revision 28572e8dd00e45812a2e0f7e7d5a9ae785319485)
@@ -11,6 +11,6 @@
 %% Created On       : Sat Apr  9 10:06:17 2016
 %% Last Modified By : Peter A. Buhr
-%% Last Modified On : Tue Apr 27 12:03:17 2021
-%% Update Count     : 539
+%% Last Modified On : Sat May  8 08:48:37 2021
+%% Update Count     : 540
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
@@ -38,14 +38,14 @@
 \usepackage{xspace}
 \newcommand{\CFAIcon}{\textsf{C}\raisebox{\depth}{\rotatebox{180}{\textsf{A}}}} % Cforall icon
-\newcommand{\CFA}{\protect\CFAIcon\xspace}			% CFA symbolic name
-\newcommand{\CFL}{\textrm{Cforall}\xspace}			% Cforall non-icon name
-\newcommand{\Celeven}{\textrm{C11}\xspace}			% C11 symbolic name
+\newcommand{\CFA}{\protect\CFAIcon\xspace}				% CFA symbolic name
+\newcommand{\CFL}{\textrm{Cforall}\xspace}				% Cforall non-icon name
+\newcommand{\Celeven}{\textrm{C11}\xspace}				% C11 symbolic name
 \newcommand{\CCIcon}{\textrm{C}\kern-.1em\hbox{+\kern-.25em+}} % C++ icon
-\newcommand{\CC}{\protect\CCIcon\xspace}			% C++ symbolic name
+\newcommand{\CC}[1][]{\protect\CCIcon{#1}\xspace}		% C++ symbolic name
 % numbers disallowed in latex variables names => use number names
-\newcommand{\CCeleven}{\protect\CCIcon{11}\xspace}	% C++11 symbolic name
-\newcommand{\CCfourteen}{\protect\CCIcon{14}\xspace} % C++14 symbolic name
-\newcommand{\CCseventeen}{\protect\CCIcon{17}\xspace} % C++17 symbolic name
-\newcommand{\CCtwenty}{\protect\CCIcon{20}\xspace}	% C++20 symbolic name
+\newcommand{\CCeleven}{\protect\CCIcon{11}\xspace}		% C++11 symbolic name
+\newcommand{\CCfourteen}{\protect\CCIcon{14}\xspace}	% C++14 symbolic name
+\newcommand{\CCseventeen}{\protect\CCIcon{17}\xspace}	% C++17 symbolic name
+\newcommand{\CCtwenty}{\protect\CCIcon{20}\xspace}		% C++20 symbolic name
 \newcommand{\Csharp}{C\raisebox{-0.7ex}{\Large$^\sharp$}\xspace} % C# symbolic name
 
@@ -153,36 +153,29 @@
 % Latin abbreviation
 \newcommand{\abbrevFont}{\textit}			% set empty for no italics
+% If not followed by a comma or colon, add a comma.
+\newcommand{\CheckCommaColon}{\@ifnextchar{,}{}{\@ifnextchar{:}{}{,\xspace}}}
+% If not followed by a period, add a period.
+\newcommand{\CheckPeriod}{\@ifnextchar{.}{}{.\xspace}}
+
 \@ifundefined{eg}{
 \newcommand{\EG}{\abbrevFont{e}.\abbrevFont{g}.}
-\newcommand*{\eg}{%
-	\@ifnextchar{,}{\EG}%
-		{\@ifnextchar{:}{\EG}%
-			{\EG,\xspace}}%
-}}{}%
+\newcommand{\eg}{\EG\CheckCommaColon}
+}{}%
 \@ifundefined{ie}{
 \newcommand{\IE}{\abbrevFont{i}.\abbrevFont{e}.}
-\newcommand*{\ie}{%
-	\@ifnextchar{,}{\IE}%
-		{\@ifnextchar{:}{\IE}%
-			{\IE,\xspace}}%
-}}{}%
+\newcommand{\ie}{\IE\CheckCommaColon}
+}{}%
 \@ifundefined{etc}{
 \newcommand{\ETC}{\abbrevFont{etc}}
-\newcommand*{\etc}{%
-	\@ifnextchar{.}{\ETC}%
-        {\ETC.\xspace}%
-}}{}%
+\newcommand{\etc}{\ETC\CheckPeriod}
+}{}%
 \@ifundefined{etal}{
 \newcommand{\ETAL}{\abbrevFont{et}~\abbrevFont{al}}
-\newcommand*{\etal}{%
-	\@ifnextchar{.}{\protect\ETAL}%
-		{\protect\ETAL.\xspace}%
-}}{}%
+\newcommand{\etal}{\ETAL\CheckPeriod}
+}{}%
 \@ifundefined{viz}{
 \newcommand{\VIZ}{\abbrevFont{viz}}
-\newcommand*{\viz}{%
-	\@ifnextchar{.}{\VIZ}%
-		{\VIZ.\xspace}%
-}}{}%
+\newcommand{\viz}{\VIZ\CheckPeriod}
+}{}%
 \makeatother
 
