3

I would like to know if the siunitx package offers the possibility of adding an adjective after the unit, to get a hyphenated compound adjective.

For instance, when typesetting "a 10 km-long road", I would like to pass the adjective as an optional argument to \SI{1}{\kilo\meter}, as in \SI[[adj=long]{1}{\kilo\meter}, instead of having to type \SI{1}{\kilo\meter}-long.

Please understand that there is nothing wrong with the \SI{1}{\kilo\meter}-long syntax. It just "feels" wrong to hyphenate a command with a word. Also, I think this would make corrections a bit more straightforward.

If this functionality is not offered, is it something the author of the package has thought of or is planning to implement?

7
  • 1
    What is wrong with \SI{1}{\kilo\meter}-long? Oct 1, 2012 at 14:58
  • Almost certainly not the best way to write this: I would go for words in the example given.
    – Joseph Wright
    Oct 1, 2012 at 15:05
  • Such a construction is typical in English, but it's completely extraneous to other languages such as Italian and French.
    – egreg
    Oct 1, 2012 at 15:05
  • @Qrrbrbirlbel The only thing wrong with \SI{1}{\kilo\meter}-long is that you're hyphenating the command with a word. It just feels like bad practice. I edited my question accordingly.
    – Kpantzas
    Oct 1, 2012 at 15:06
  • 1
    ISO 80000-1 sec. 7.2.1 says "any attachment to a unit symbol as a means of giving information about the special nature of the quantity or context of measurement under consideration is not permitted". So, I could be wrong, but I think you shoudn't attach anything to a unit symbol by means of a hyphen. There is an example here (physics.nist.gov/cuu/pdf/sp811.pdf) where the term "long" is not attached to the unit symbol.
    – Luigi
    Oct 1, 2012 at 16:29

1 Answer 1

2

You could define your own macro:

\newcommand*\SIadj[4][]{\SI[#1]{#3}{#4}-#2}

and use it as

\SIadj{long}{1}{\kilo\metre}

If you want to prevent hypenations use

\newcommand*\SIadj[4][]{\mbox{\SI[#1]{#3}{#4}-#2}}

or

\newcommand*\SIadj[4][]{\SI[#1]{#3}{#4}\hbox{-}#2}

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.