为什么 omega 后面没有空格(以及我该怎么做)

为什么 omega 后面没有空格(以及我该怎么做)

我根据需要使用命令将 omegas 放入文本中:

\newcommand{\ohm}{$\Omega$ }

然后我需要其他符号,所以我包含了包gensymb。但是当我这样做时,\ohm 已经定义。所以我尝试使用库中定义的那个。它不会在后面添加空格,不知道为什么。我的\kohm\Mohm工作正常。我不确定我是否应该覆盖该\ohm命令。解决这个问题的最佳方法是什么?

梅威瑟:

\documentclass[12pt]{book}
\usepackage{gensymb}
\newcommand{\fahren}{\degree F}
%\newcommand{\cels}{\degree C}
%\newcommand{\ohm}{$\Omega$ }
\newcommand{\kohm}{k$\Omega$ }
\newcommand{\Mohm}{M$\Omega$ }

\begin{document}
test \ohm
test \kohm
test \Mohm
I measure temperature in \fahren
\end{document}

我不想在命令后添加括号或反斜杠:\ohm{}或者\ohm\

\kohm命令按我期望的方式工作,因为它是一个等式,所以后面会插入一个空格。我想我可以定义一个\ohm与完全相同的命令,\kohm但随后我必须替换\ohm多个文档中的每个命令。

答案1

这真的是你的选择。如果你想使用\ohm你定义的方式,加载gensymb包裹并重新定义\ohm

\usepackage{gensymb}
\AtBeginDocument{\renewcommand{\ohm}{$\Omega$ }}

重新定义被推迟到\AtBeginDocument,因为gensymb寻找textcomp为了定义一个适当的\ohm

强制在命令后添加空格并不总是有效,正如您在使用类似命令时看到的那样,Check out this \ohm.有关在命令中添加空格的一般尝试,请参阅LaTeX 命令后的空格

在此处输入图片描述

\documentclass{article}

\usepackage{gensymb}

\AtBeginDocument{\renewcommand{\ohm}{$\Omega$ }}

\newcommand{\fahren}{\degree F}
\newcommand{\kohm}{k$\Omega$ }
\newcommand{\Mohm}{M$\Omega$ }

\begin{document}

test \ohm
test \kohm
test \Mohm
I measure temperature in \fahren. test \ohm.

\end{document}

答案2

您可以在 ohm 语句后使用 ~ 来强制空格。它用于确保 ~ 所附加的任何内容不会中断到下一行,因此它并不总是合适的。话虽如此,这是我发现的最快的修复方法。

Resistor value of 50~\ohm~used in...

相关内容