
Я пишу статью, и раньше я \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
P.S. Не используйте \bf
. Это плохая практика. \bfseries
Вместо этого можно использовать .
решение4
Во-первых, {\bf ...}
устарело. Вместо него следует использовать \mathbf{...}
или \boldsymbol
, в зависимости от того, какие пакеты вы используете. Для замены у вас есть две возможности:
- С помощью редактора функция «Заменить» заменяет,
\vec{
например, наmathbf{
. - Переопределить
\vec
с помощью\renewcommand
(это дает простой способ снова изменить свое мнение ...:))