我根据需要使用命令将 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...