度数符号的宏

度数符号的宏

我想找到一种简单的方法度数符号 °并尝试过textcompgensymb,但都不起作用。我想避免使用^{\circ},因为当你有很长的文档时,这不太好。我想也许可以做一些简单的事情,例如\degree

答案1

有什么问题textcomp\textdegree

答案2

也许这是个不错的选择siunitx

\documentclass{minimal}
\usepackage{siunitx}
\begin{document}
    Works in text \ang{45} an in math $\ang{2.4}$.
    Even with minutes and seconds: \ang{40;12;08}.
\end{document}

它还使您有机会以相同的样式设置所有数字,并根据需要进行全局更改,例如从句号更改为逗号:1.234 --> 1,234

编辑:要输入弧度,只需使用单位\radian。有人可能喜欢定义自己的宏。

\documentclass{scrartcl}
\usepackage{siunitx}
\newcommand{\rad}[1]{\SI{#1}{\radian}}
\begin{document}
    \SI{\pi}{\radian}
    \rad{\pi/2}
\end{document}

答案3

我更喜欢这个解决方案

\renewcommand{\deg}{\ensuremath{^{\circ}}\xspace}

因为它在数学模式下也能工作。(至少对我来说,\textdegree在数学模式下不起作用,即

$> 30\textdegree$

不起作用,但是

$> 30\deg$

做。

答案4

您可以使用以下命令在一个命令中涵盖数学和文本\ifmmode

\DeclareDocumentCommand{\degC}{}{%
   {\ifmmode\text{\textdegree C}%
    \else\textdegree C\fi}\xspace%
}

如果您支持unicode,那么\textdegree可以是。\symbol{"00B0}

值得一提的是,\textdegree$^\circ$会产生不同的字形。第一个使用\textdegree(或\symbol{"00B0}),第二个使用$^\circ$

第一个使用 <code>\textdegree</code> (或 <code>\symbol{"00B0</code>),第二个使用 <code>$^\circ$</code>

相关内容