运行 Overleaf 文档时遇到警告,“包 amsmath 警告:无法重新定义数学重音 \vec。”

运行 Overleaf 文档时遇到警告,“包 amsmath 警告:无法重新定义数学重音 \vec。”

以下是我在文档中使用过的软件包。

\usepackage{amsmath}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{amsfonts}
\usepackage{algpseudocode}
\usepackage{algorithm}
\usepackage{soul}
\usepackage{xcolor}
\usepackage{float}
\usepackage[T1]{fontenc}

文档类别是\documentclass[runningheads]{llncs}

答案1

除非将 传递给该类,否则该类llncs将重新定义\vec1 。orivec

\documentclass[orivec,runningheads]{llncs}

\usepackage[T1]{fontenc}

\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{graphicx}

\usepackage{algpseudocode}
\usepackage{algorithm}

\usepackage{soul}
\usepackage{xcolor}
%\usepackage{float}

\usepackage{lipsum}

我按“类型”对软件包进行了分组。这不是必需的,但有助于文档维护。如果您使用float[H]浮动选项,请不要这样做:该选项是严重印刷问题的根源,而不是解决方案。

脚注

1\vec done的定义llncs

\DeclareRobustCommand\vec[1]{\mathchoice{\mbox{\boldmath$\displaystyle#1$}}
{\mbox{\boldmath$\textstyle#1$}}
{\mbox{\boldmath$\scriptstyle#1$}}
{\mbox{\boldmath$\scriptscriptstyle#1$}}}

如果真的想用粗体斜体数学来打印矢量,那么很多最好传递orivec选项,\usepackage{bm}在任何字体包之后并在序言中执行

\AtBeginDocument{%
  \RenewDocumentCommand{\vec}{m}{\bm{#1}}%
}

这个 for . 与 for方法的pdflatex用法会有所不同。unicode-math

相关内容