[Tex/LaTex] prevent a package from redefining a command

characterspackagessymbols

I like to use runes and letters from other non-standard alphabets as mathematical symbols. However, now the allrunes package is interfering with my other mathematical typesetting. Take this minimal example:

\documentclass{article}
\usepackage{allrunes}

\begin{document}
$\bar{x}$
\end{document}

I get these error messages:

LaTeX Warning: Command \bar invalid in math mode on input line 6.

! LaTeX Error: Command \bar unavailable in encoding OT1.

I think that the problem lies in allrunes.sty, which redefines the \bar command:

\newcommand{\DeclareRuneSeparators}[1]{%
  [..]
  \DeclareTextSymbol{\bar}{#1}{33}        % !
  [..]
} % end of newcommand{\DeclareRuneSeparators}

Is there a way to prevent allrunes from redefining \bar, so that I can still use it as the usual math symbol? Or any other way of recovering the functionality of \bar?

The exact same happens not just for \bar, but also for \dot.

Best Answer

before loading the package do

\let\origbar\bar
\let\origdot\dot
\usepackage{...}
\let\bar\origbar
\let\dot\origdot

Note that in some cases you may need to postpone the redoing until after \begin{document}

One might wonder why you are using runes in a documnt with math?

Related Question