TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to multiply a constant from a macro with a deimension using dimexpr. When using real numbers the decimal point and the decimal digits are typeset behind the result and the result is a mutliplication with the floor value of the constant used.

  \the\dimexpr \linewidth*\const\relax \newline
  \the\dimexpr \linewidth*\numexpr\const\relax\relax \newline

The second multiplication is an attempt to use the suggestion from here, to wrap the macro in a sub expression

share|improve this question
I've answered, but the answer you link to does include more-or-less the same points. This question therefore might be marked as a duplicate. – Joseph Wright Aug 1 '13 at 13:07
@JosephWright: just mark it as a duplicate, I don't mind. I overlooked it since I skimmed the awnser and read the bottom part, starting Real numbers can be supported by ... thats why I wondered where I went wrong. I am propably used by pgfs math capabilities. – ted Aug 1 '13 at 13:12
Looking again I think probably not a dupe: the questions have a different focus (the other one on what to do to avoid repeated addition, here about the syntax of multiplication). – Joseph Wright Aug 1 '13 at 13:49
up vote 8 down vote accepted

\dimexpr doesn't allow arbitrary calculations: you need to have things in the correct form. In particular, if you want to multiply a dimension by a decimal then you need to use the form


So you example will work with


while the format


can only be used if \const is an integer.

(The linked answer Multiplication with dimexpr? does mention this limitation.)

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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