我有一篇 300 多页的论文,我经常使用$\mu$
,它以斜体格式展示 mu。现在我的导师希望我将其更正为非斜体。我不想逐一更改,因此想到使用以下方法重新定义它:\newcommand{\mu}{\ensuremath{\textrm{\mu}}}
但当然我不能这样做,因为\mu
它已经定义了。我怎样才能重新定义它,使它在我的等式中不以斜体显示,而不逐一更改所有内容?但数学格式中的某些内容$$应该保持斜体显示。
% !TEX TS-program = pdflatex
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[a4paper,width=150mm,top=25mm,bottom=25mm]{geometry}
\begin{document}
5 $\mu$
\end{document}
答案1
根据您的评论,您使用“mu”来表示“微”,例如百万分之一某些科学单位。鉴于这种情况,您需要立即放弃尝试定义自己的微符号。相反,请使用包siunitx
及其\unit
和\qty
宏来排版科学单位和相关数量。宏\unit
和\qty
可以在文本和数学模式下使用。
请注意,印刷正确的“micro”字形有衬线,与 和 都有很大不同$\mu$
。$\upmu$
还请注意,\qty
还会在数字和相关单位之间自动插入印刷正确的(不可中断)空格。
% !TEX TS-program = pdflatex
\documentclass[11pt]{article}
%%\usepackage[utf8]{inputenc} % that's the default nowadays
\usepackage[a4paper,width=150mm,vmargin=25mm]{geometry}
\usepackage{siunitx,upgreek}
\begin{document}
\unit{\micro\meter}, $\unit{\micro\farad}$, \unit{\micro\second}
$\qty{4}{\micro\meter}$, \qty{5}{\micro\farad}, $\qty{6}{\micro\second}$
\end{document}
附录:该siunitx
包提供了快捷宏\ug
、\um
、\us
、\umol
、\uA
和\uV
,\uL
分别表示百万分之一克、米/米、秒、摩尔、安培、伏特和升。因此,上述环境主体中的第一行document
也可以简洁地写成\unit{\um}, $\unit{\uF}$, \unit{\us}
。
答案2
答案3
一般来说,斜体希腊字母不会通过\mathrm
或来呈现直立\textrm
。在这里,我推荐答案直立希腊字体适合计算机现代对于 pdflatex 来说,它允许取消任何字形的倾斜。
然后,我将斜体 mu 另存为\itmu
并\mu
根据它重新定义。\itmu
如果需要斜体 mu,仍然可以调用。
\documentclass[a4paper]{article}
\newsavebox{\foobox}
\newcommand{\slantbox}[2][0]{\mbox{%
\sbox{\foobox}{#2}%
\hskip\wd\foobox
\pdfsave
\pdfsetmatrix{1 0 #1 1}%
\llap{\usebox{\foobox}}%
\pdfrestore
}}
\newcommand\unslant[2][-.25]{\slantbox[#1]{$#2$}}
\let\itmu\mu
\renewcommand\mu{\ensuremath{\unslant\itmu}}
\begin{document}
5 \mu m. If needed italic in math mode, $\alpha\itmu$.
\end{document}
答案4
您可以使用任何选项从这里。您可能需要siunitx
软件包或\textmicrometer
来自 latex 内核的软件包。如果您可以重新定义\mu
,那么您也可以进行搜索和替换。
\newcommand
但是,使用 可以非常简单地解决您遇到的问题\DeclareRobustCommand
。对于由于各种原因而延迟定义的某些包,您可能需要\AtBeginDocument{\DeclareRobustCommand\mu{\textup{\textmicrometer}}}
。