我正在与一家出版商合作写一本书。\mu 命令贯穿整本书。为了防止所有用法都变成斜体,出版商使用 \gdef 将所有 \mu 用法改为 \upmu。
\documentclass[a4paper,fleqn]{book}%
\usepackage{upgreek}%[euler]
\gdef\mu{\upmu}
\begin{document}%
$\mu$
$\upmu$
\end{document}
从技术上讲,这可行,但与 \gdef 一起使用时会返回错误“\mu 必须在数学模式内”。您可以在使用和不使用 \gdef 的情况下进行编译,以查看斜体中的差异。
有什么想法可以清理它以防止错误吗?
答案1
(在原帖者在主帖下方的评论中提供了一些受欢迎的补充信息后,我得到了这个答案。)
请帮自己一个大忙,熟悉一下siunitx 包及其宏\unit
——排版科学单位——以及\qty
——排版单位及其相关数值。然后,开始编写类似
\unit{\micro\meter}, \unit{\nano\second}, \unit{\pico\farad}, \unit{\tera\joule}
\qty{15}{\mega\watt}, \qty{50}{\micro\meter}, \qty{33}{\kilo\gram}
顺便说一句,\unit
可以\qty
在文本和数学模式下使用。
观察以黄色突出显示的“微”字符:它们对应于\textmu
,不是 \upmu
。
\documentclass[a4paper]{book}
\usepackage{siunitx} % for \unit and \qty macros
\sisetup{per-mode=symbol} % optional (use "/" to denote fraction)
\begin{document}
\unit{\micro\meter}, \unit{\nano\second}, \unit{\pico\farad}, \unit{\tera\joule}
\qty{15}{\mega\watt}, \qty{50}{\micro\meter}, \qty{33}{\kilo\gram}
\unit{\meter\per\second}, \unit{\meter\per\second\squared}, \unit{\kilo\gram\metre\per\square\second}
\end{document}