11

When using siunitx, is there an intuitive way to type angular frequencies with the prefix 2\pi \times? The provided example

\documentclass{article}
\usepackage{siunitx}
\begin{document}
\SI{2\pi x 100}{\mega\hertz}
\end{document}

yields enter image description here

So is there a neat way to supress the first unit?

  • 2
    You can use the [parse-numbers=false] to leave the number intact but if you have 2pi factor I think you are looking for rad/s no? – percusse Apr 11 '13 at 8:04
  • @percusse No, then the ` x ` is not parsed as a \times command. The 2\pi is just a helpful way to avoid confusion whether the angular or the bare frequency is used, if you want to avoid to specify this in each instance used. – jjdb Apr 11 '13 at 17:06
  • 1
    But you are making things difficult for siunitx since you both want parsing but also don't want the great functionality when you write 3m x 5m. So \times is needed there if you don't want the parsing. Also I wouldn't call it a helpful way. We are constantly correcting this behavior in the papers. Units are not ambiguous. 100 Mrad/s is precisely what you wrote. 100 MHz is the bare number. Note that I didn't write any 2pi factor in any of them. – percusse Apr 11 '13 at 17:36
  • @percusse you are totally right that the correct SI unit is \radian\per\second, and I think I would certainly use it to write an angular frequency describing a real rotation. But consider a harmonic oscillator, or LC circuit if you want, the rad/s unit is confusing. Actually, I can not remember having seen it anywhere in usage in physics, at least not within my community. – jjdb Apr 11 '13 at 19:52
  • 1
    I have to agree, in physics, writing omega = 2pi x f is the common way of writing these two things, because it includes both, frequency and angular freqency, at once and because this way there's no chance to confuse them. – Foo Bar Apr 13 '13 at 9:34
3

This:

${2\pi \times \SI{100}{\mega\hertz}}$

Or this:

\newcommand*{\angfreq} [2] {2\pi \times \SI{#1}{#2\hertz}}
\angfreq{5}{\mega} % gives "2pi x 5 Mhz"
\angfreq{8}{\kilo} % gives "2pi x 8 khz"

With both ways you avoid situations where product-units=single as a global option would give wrong results on other values and you avoid repeating this option on every single angular frequency when not using it as a global option.

  • Ok, this solves the problem for the \mega\hertz. But then I need to define another one for \kilo\hertz, \giga\hertz etc. – jjdb Apr 11 '13 at 17:08
  • 1
    I changed the code a bit. Just pass two arguments to \angfreq, the first is the number, the second is the frequency. – Foo Bar Apr 11 '13 at 17:11
  • I think this is quite the workaround I've wanted. Still I feel strange having a common framework for all other units, and needing a special command for angular frequencies – jjdb Apr 12 '13 at 21:44
  • But 2pi x is no unit, so I think it's just natural that you need something special for this. The "unit way" for angular frequencies would be rad/s (talking sloppy: rad basically means x 2pi). – Foo Bar Apr 13 '13 at 9:16
  • @SvendTveskæg Good idea, I changed it this way. – Foo Bar Apr 14 '13 at 13:09
3

Isn't the following all you need or am I missing something?

\documentclass{article}

\usepackage{siunitx}

\begin{document}

\SI[product-units = single]{2\pi x 100}{\MHz}

\end{document}

output

  • 1
    But he's also using other values and units, which could be wrong this way, if the option is set globally. And always typing [product-units=single] on every single angular frequency locally can also be rather annoying if you have many of them. – Foo Bar Apr 13 '13 at 9:31
  • 1
    I see; good point. – Svend Tveskæg Apr 13 '13 at 9:36
  • But I can use the option also for each \SI where I need it, or choose globally one option for the case used the most, and switch for the others. That's perfect, thanks. – jjdb Apr 14 '13 at 9:23
0

The solution for me is the following: I can choose the default behaviour when calling the package, and control then for each call of \SI the output where it deviates from the default.

\documentclass{article}
\usepackage[product-units=repeat]{siunitx}
\begin{document}
\SI[product-units=single]{2\pi x 100}{\mega\hertz}

\SI{2 x 2}{\meter}
\end{document}

gives the desired output:

enter image description here

EDIT

The usage as such is preferred to plain writing as we have access to all the features of the siunitx package, such as preventing line breaks etc.

\documentclass[twocolumn]{article}
\usepackage{siunitx}
\begin{document}
This is text which should induce a line break
\SI[product-units=single]{2\pi x 100}{\mega\hertz}

This is text which should induce a line break
$2 \times \SI{100}{\mega\hertz}$
\end{document}

enter image description here

  • I don't really see why this is better than $2\pi \times \SI{100}{\mega\hertz}$ or a new command, which both would even be shorter and more clear and without the need of repeated command options. – Foo Bar Apr 14 '13 at 9:35
  • I've added an example where I compared the solutions for line breaking. – jjdb Apr 14 '13 at 9:46
  • 1
    Curly brackets in math avoid line breaking: ${2\pi \times \SI{1}{\hertz}}$ will never linebreak. – Foo Bar Apr 14 '13 at 9:46
  • Ok, I didn't know that one. But than, you have to add it manually for every use. I thought it is one of the purposes of the package to write all quantities with \num and \SI just to have better control of the behaviour. – jjdb Apr 14 '13 at 9:49
  • You only have to add it when it actually breaks, which will happen very rarely (proof-reading is a must with LaTeX in all cases). Or add it to the self-defined command, then it will always be there. Speaking semantically as a physicist myself, I don't think that 2pi belongs to the physical quantity. It's only a mathematical factor, it's neither the unit nor the value. Taking something "times 2pi" is a mathematical operation. – Foo Bar Apr 14 '13 at 9:53

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.