すべての \vec{} を \bf{} に変更する方法

すべての \vec{} を \bf{} に変更する方法

私は論文を書いていますが、\vec{}以前はすべてのベクトルを表現していました。今は気が変わって、たとえばを使用して太字で書きたいと思っています。すべてのベクトルに対して同じ操作を行わずに、\bf{}書き込まれたものをすべて変更する簡単な方法はありますか\vec{}?\bf{}

答え1

まず、 は単純な TeX マクロであることを思い出さなければなりません\bf。 これを使用することは悪い習慣ではありませんが、 は\bfseriesLaTeX で導入され、その構文は古き良き とまったく同じであるため、もう必要ありません\bf

2番、マークアップを変更しないでください。(検索と置換ルーチンを利用して)。\vec原稿にそう書いたのであれば、タイプセットしたい要素がベクトルであり、ない\vecマクロによって文字の上に小さな矢印が表示されるからです。

\vecを呼び出す単純なマクロなので、再定義しても何も壊れません\mathaccent。実際、再定義するのがベストプラクティスです。あなたの場合、これを実現する最も短くて効率的な方法は、

\renewcommand\vec{\mathbf}

再定義されたマクロの横に元の形式のマクロを使用する場合は、\vec次のようになります\let\arrowedvec=\vec(「arrowedvec」の代わりに任意の名前を選択してください)。前にの行では\renewcommand\vec{\mathbf}\arrowedvecのオリジナル バージョンが必要な場合にはもちろんを使用します\vec。 または、マクロを直接定義することもできます: \def\arrowedvec{\mathaccent"017E}。 ここでの唯一の違いはメモリ使用量に関するもので、これは今日ではほとんど問題になりません。

補遺

この投稿を読むことをお勧めしますコンテンツと書式を分離する - つまり、「入力するだけ」論理マークアップに関する簡単な説明が含まれています。

答え2

これを行う適切な方法は、カスタム マクロに関連してテキスト エディターで検索と置換コマンドを使用することです (例 ) \myvec

ただし、ドキュメント内に簡単な解決策を記載することを主張する場合 (お勧めしません)、ドキュメントの序文に次の内容を追加できます。

\let\oldvec=\vec
\renewcommand{\vec}[1]{\oldvec{\mathbf{#1}}}

文字を太字で印刷し、上にベクターアクセントを付けたくない場合は、

\renewcommand{\vec}[1]{\mathbf{#1}}

その代わり

答え3

の意味を変えることもできます\vecが、それは非常に悪い習慣です。私ならこうします:

  1. 次のようなスタイルで新しいコマンドを定義します。\newcommand{\vectorstyle}[1]{\mathbf{#1}}
  2. テキストエディタ/IDEの検索と置換機能を使用して\vec{\vectorstyle{
  3. 次回の変更時には、\vectorstyle

PS は使用しないでください\bf。これは悪い習慣です。代わりに を使用できます\bfseries

答え4

まず、{\bf ...}は廃止されています。 代わりに、使用するパッケージに応じて、\mathbf{...}または を使用する必要があります。 置き換えるには、次の 2 つの方法があります。\boldsymbol

  • エディターの「置換」機能を使用すると、\vec{たとえば が に置き換えられますmathbf{
  • 再定義します\vec(\renewcommandこれにより、再び考えを変えるのが簡単になります...:) )

関連情報