![尝试更改虚数单位的样式时出错](https://linux22.com/image/324505/%E5%B0%9D%E8%AF%95%E6%9B%B4%E6%94%B9%E8%99%9A%E6%95%B0%E5%8D%95%E4%BD%8D%E7%9A%84%E6%A0%B7%E5%BC%8F%E6%97%B6%E5%87%BA%E9%94%99.png)
我想为虚数单位设置一个特殊符号i
,但我还需要在相同上下文中为字母设置常用字符i
。因此,我尝试通过设置来更改虚数单位的样式
\def \i{\begingroup\mathgroup=0 i\endgroup}
这应该在数学模式下i
输入时返回不同的符号,但它拒绝这样做!我收到错误消息:\i
命令 \i 在数学模式下无效
i
为什么会这样?我该怎么做才能使我的复数变得不同?
答案1
\i
是无点 i 的标准 latex 命令,您不应重新定义它。
这就是为什么\latex
有一个\newcommand
命令,并且你不应该\def
在效率更重要的内部包命令中使用除外。\newcomand
会给出一个错误,它正在重新定义一个现有的命令。
看来你想要一个直立的
\newcommand\imagi{\mathrm{i}}
然后使用\imgi
(或使用您选择的任何其他免费名称)
答案2
这里有一个建议,乍一看可能有点复杂;但是,从长远来看,它几乎肯定会为您节省大量时间和精力:加载包siunitx
并养成将数字(实数、虚数和复数)装入包装器的习惯\num{...}
。\num
宏在文本和数学模式下均可工作。
该siunitx
包允许您自定义虚数单位符号的外观;在下面的例子中,我选择了
\sisetup{output-complex-root = \mathbf{i}}
使用粗体直立我“作为符号;默认为普通(非粗体)直立“i”。
\documentclass{article}
\usepackage{siunitx}
\sisetup{output-complex-root = \mathbf{i}} % just for this example
\begin{document}
\num{2.71}, \num{-i}, \num{0.717\pm0.717i}
$\num{2.71}$, $\num{-i}$, $\num{0.717\pm0.717i}$
\end{document}