
私は論文を書いていますが、\vec{}
以前はすべてのベクトルを表現していました。今は気が変わって、たとえばを使用して太字で書きたいと思っています。すべてのベクトルに対して同じ操作を行わずに、\bf{}
書き込まれたものをすべて変更する簡単な方法はありますか\vec{}
?\bf{}
答え1
まず、 は単純な TeX マクロであることを思い出さなければなりません\bf
。 これを使用することは悪い習慣ではありませんが、 は\bfseries
LaTeX で導入され、その構文は古き良き とまったく同じであるため、もう必要ありません\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
が、それは非常に悪い習慣です。私ならこうします:
- 次のようなスタイルで新しいコマンドを定義します。
\newcommand{\vectorstyle}[1]{\mathbf{#1}}
- テキストエディタ/IDEの検索と置換機能を使用して
\vec{
、\vectorstyle{
- 次回の変更時には、
\vectorstyle
PS は使用しないでください\bf
。これは悪い習慣です。代わりに を使用できます\bfseries
。
答え4
まず、{\bf ...}
は廃止されています。 代わりに、使用するパッケージに応じて、\mathbf{...}
または を使用する必要があります。 置き換えるには、次の 2 つの方法があります。\boldsymbol
- エディターの「置換」機能を使用すると、
\vec{
たとえば が に置き換えられますmathbf{
。 - 再定義します
\vec
(\renewcommand
これにより、再び考えを変えるのが簡単になります...:) )