Rename \U to \unit in wtk_cmmds.sty. master
authorW. Trevor King <wking@tremily.us>
Sun, 24 Jun 2012 08:21:34 +0000 (04:21 -0400)
committerW. Trevor King <wking@tremily.us>
Sun, 24 Jun 2012 08:21:34 +0000 (04:21 -0400)
I ran into a collision while working on my thesis:

  ! LaTeX Error: Command \U already defined.
                 Or name \end... illegal, see p.192 of the manual.
  ...
  ! LaTeX Error: Command \U unavailable in encoding OT1.

Debugging with `\show\U`, I got:

  > \U=macro:
  ->\PU-cmd \U \PU\U .

which seems to be something relating to fonts.  The new implementation
still defines \U, but only if nobody else has beaten us to the punch.
If they have, but you want \U to mean "unit", you can add

  \renewcommand{\U}[1]{\unit{#1}}

after both the colliding package and wtk_cmmds.sty have been imported.
This might break the other package, but hopefully they won't be
relying on such a collidable name for critical internal functionality.

wtk_cmmds.sty

index b249634d22ba3312fb6362e1a9140d0a6c72066c..70d8f4a67d4ee81867cdbc0a3915d4a89658e4ec 100644 (file)
@@ -36,7 +36,8 @@
 \newtheorem{lem}{Lemma}
 
 % define a few physics shortcuts
 \newtheorem{lem}{Lemma}
 
 % define a few physics shortcuts
-\newcommand{\U}[1]{\textnormal{\ \bareU{#1}}}   % units shortcut
+\newcommand{\unit}[1]{\textnormal{\ \bareU{#1}}}   % units shortcut
+\providecommand{\U}[1]{\unit{#1}}
 \newcommand{\bareU}[1]{\textnormal{#1}}         % units without preceding value
 \newcommand{\E}[1]{\ensuremath{\cdot 10 ^{#1}}}        % exponent shortcut
 \newcommand{\dg}{\ensuremath{^{\circ}}}         % degree symbol ^o
 \newcommand{\bareU}[1]{\textnormal{#1}}         % units without preceding value
 \newcommand{\E}[1]{\ensuremath{\cdot 10 ^{#1}}}        % exponent shortcut
 \newcommand{\dg}{\ensuremath{^{\circ}}}         % degree symbol ^o