3

I would like to change the way siuntix displays the \celsius so that there is a space between the numerical value and the degree celsius symbol. This is what is recommended by BIPM. I have tried the following approach based on other questions on here. However, this results the degree symbol to completely disappear and I am not sure why. I am using overleaf platform. How would I change that to show e.g. 55 °C?

\documentclass{article}
\usepackage{gensymb}
\usepackage{siunitx}

\sisetup{
 math-celsius = \textdegree \text{C}, % for temperatures
 text-celsius = \textdegree \text{C},

}

  • 3
    Hi, welcome. Isn't that the default behaviour of $\SI{1}{\degreeCelsius}$? I get a space at least. – Torbjørn T. Jan 22 '19 at 18:23
  • 1
    What's wrong with the standard definition of \celsius? – egreg Jan 22 '19 at 18:32
  • You might also try \textcelsius, from either fontspec (in the modern toolchain) or textcomp (for backward-compatibility). – Davislor Jan 22 '19 at 18:34
  • \sounits\ inserts a thin unbreakable space between numbers and units, but you have to use the command, say; \SI{18}[\celsius}`. – Bernard Jan 22 '19 at 18:43
  • Hi, please see the answer below for the difference in the spacing between number and degree symbol. The standard definition is not compatible with the National Institute of Standards and Technology(NIST) standard. – user180025 Jan 22 '19 at 18:55
3

Just change it with \DeclareSIUnit:

\documentclass[]{article}

\usepackage{siunitx}
\DeclareSIUnit[number-unit-product = {~}]\celsius{\SIUnitSymbolCelsius}

\begin{document}
\SI{45}{\celsius}
\end{document}

The package's default however is a half/thin space. Compare:

\documentclass[]{article}

\usepackage{siunitx}
%\DeclareSIUnit[number-unit-product = {~}]\celsius{\SIUnitSymbolCelsius}

\begin{document}
\SI{45}{\celsius}\par
\SI{45}{\degree}\par
\end{document}

Without the redeclaration on the left and with it on the right:

without with

| improve this answer | |
  • 1
    @user180025 on this site we usually say thank you by upvoting and not via comment. Also you might consider to accept an answer if it completely solves your (original) question. You should do so not immediately for the first answer but after a reasonable time period. If you get more than one answers you should accept the one you deem best (provided it solves your question in some way, of course). – Skillmon Jan 22 '19 at 21:14
  • I cant upvote yet lol. First thing I tried – user180025 Jan 23 '19 at 22:21
  • @user180025 funny. I don't remember when you get which privilege, but not being able to upvote an answer to ones own question is strange... – Skillmon Jan 24 '19 at 8:29
  • I get this message "Thanks for the feedback! Votes cast by those with less than 15 reputation are recorded, but do not change the publicly displayed post score." – user180025 Jan 24 '19 at 14:20
  • @user180025 - You've got 16 rep points by now -- enough for an upvote. Plus, if you believe that Skillmon's answer has fully addressed your query, you could (should!) click on the 'checkmark' to formally "accept" this answer. – Mico Feb 14 '19 at 22:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.