パッケージがコマンドを再定義するのを防ぐことはできますか?

パッケージがコマンドを再定義するのを防ぐことはできますか?

私は数学記号としてルーン文字や他の非標準アルファベットの文字を使用するのが好きです。しかし、現在このallrunesパッケージは他の数学的なタイプセッティングに干渉しています。次の簡単な例を見てみましょう。

\documentclass{article}
\usepackage{allrunes}

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

次のエラー メッセージが表示されます:

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

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

問題はallrunes.sty\barコマンドを再定義する にあると思います。

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

allrunesを再定義しない\barようにして、通常の数学記号として使用できるようにする方法はありますか? または、 の機能を回復する他の方法はありますか\bar?

まったく同じことが だけでなく\barにも起こります\dot

答え1

パッケージをロードする前に

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

場合によっては、やり直しを延期する必要があるかもしれないことに注意してください。\begin{document}

数学の文書でなぜルーン文字を使用するのか疑問に思う人もいるかもしれません。

関連情報