如何将所有 \vec{} 更改为 \bf{}

如何将所有 \vec{} 更改为 \bf{}

我正在写一篇论文,过去我习惯于\vec{}表达所有向量。现在,我改变了主意,想用粗体字母来表示它们\bf{}。有没有一种快速的方法可以更改所有已写入的内容\vec{}\bf{}而无需对每个向量都这样做?

答案1

首先,我必须记住这\bf是一个普通的 TeX 宏。使用它并不是坏习惯,但自从\bfseriesLaTeX 引入以来就不再需要它了,它的语法与旧的完全相同\bf

第二,不要改变你的标记!(通过利用搜索和替换例程)。如果你\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{...}\boldsymbol,具体取决于你使用的软件包。有两种方法可以替换它:

  • 通过编辑器的‘替换’功能可以替换\vec{为,例如mathbf{
  • 重新定义\vec\renewcommand这可以轻松地再次改变你的想法...:))

相关内容