我正在尝试定义一个名为 \vec{} 的命令,它在数学环境中打印粗体非斜体符号。
\renewcommand{\vec}[1]{\mathbf{#1}}
通常对我来说是可行的,但在 documentclass ifacconf 中却不行。相反,
\newcommand{\vect}[1]{\mathbf{#1}}
在这里有效。有人能给我解释一下区别吗?
谢谢你! :-)
梅威瑟:
\documentclass{ifacconf}
\usepackage{natbib} % required for bibliography
%% own packages
\usepackage{amsmath}
\usepackage{amssymb}
%% own commands
\renewcommand{\vec}[1]{\mathbf{#1}}
\newcommand{\vect}[1]{\mathbf{#1}}
\begin{document}
\begin{frontmatter}
\title{Title, preferably not more than 10 words}
\begin{abstract}
Abstract of not more than 250 words.
\end{abstract}
\end{frontmatter}
\begin{verbatim}
\mathbf{A}
\end{verbatim} prints
\begin{equation}
\mathbf{A},
\end{equation}
\begin{verbatim}
\vec{A}
\end{verbatim} prints
\begin{equation}
\vec{A},
\end{equation}
\begin{verbatim}
\vect{A}
\end{verbatim} prints
\begin{equation}
\vect{A}
\end{equation}
\end{document}
答案1
我认为问题很简单:frontmatter 会覆盖你的命令。解决方案:只需复制你的行
\renewcommand{\vec}[1]{\mathbf{#1}}
并在结束 frontmatter 之后或甚至在 frontmatter 环境内部粘贴它,以便在该环境内获取命令。
我希望这有帮助!
干杯,尼克
答案2
使用
https://raw.githubusercontent.com/worc4021/ifac2017/master/ifacconf.cls
该类定义了一个\undo@AMS
专门用于\frontmatter
重新定义\vec
为粗体斜体的命令。
因此,最简单的事情要么顺其自然并使用粗体斜体,要么按照您展示的方式定义自己的命令。