我正在写一篇论文,过去我习惯于\vec{}
表达所有向量。现在,我改变了主意,想用粗体字母来表示它们\bf{}
。有没有一种快速的方法可以更改所有已写入的内容\vec{}
,\bf{}
而无需对每个向量都这样做?
答案1
首先,我必须记住这\bf
是一个普通的 TeX 宏。使用它并不是坏习惯,但自从\bfseries
LaTeX 引入以来就不再需要它了,它的语法与旧的完全相同\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
,但那将是非常糟糕的做法。我会这样做:
- 定义新命令,样式如下:
\newcommand{\vectorstyle}[1]{\mathbf{#1}}
- 使用文本编辑器/IDE 的“查找和替换”功能来
\vec{
替换\vectorstyle{
- 如果发生下一次变化,只需替换
\vectorstyle
PS 请勿使用\bf
。这是不好的做法。你可以改用\bfseries
。
答案4
首先,{\bf ...}
已经过时了。你应该使用\mathbf{...}
或\boldsymbol
,具体取决于你使用的软件包。有两种方法可以替换它:
- 通过编辑器的‘替换’功能可以替换
\vec{
为,例如mathbf{
。 - 重新定义
\vec
(\renewcommand
这可以轻松地再次改变你的想法...:))