在数学模式之外重新定义希腊字符

在数学模式之外重新定义希腊字符

我正在与一家出版商合作写一本书。\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}

相关内容