Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

After installing version 9, the default style sheet uses Arial font in text and formula cells. So far, so bad. At least one would hope this is done consistently.

But now I see this:

traditionalform

You can see that the default font for TraditionalForm in output cells is Times, which will make such output look disjoint from the equations in inline or displayed maths. The $1$ on the output line has serifs, while the 1 on the third line (in the text cell) are sans-serif. This is what I would call visually disjoint, or incongruous.

What would be the best way to change the default font for the TraditionalForm output so that it always remains consistent with Arial (i.e., is displayed as sans-serif) when the default stylesheet is chosen?

I am aware that I could also try to change the default stylesheet back to version-8 style as discussed in "How to use version 8 default.nb style sheet in place of version 9 default.nb" - but here I'm asking what to do if I don't want to go back to Times font, only trying to get a more uniform sans-serif appearance.

Edit

Sorry to say that the inconsistencies extend far beyond the above.

I only realized this morning that many important math symbols remain in the old form that was based on Times glyphs, even when the rest of the expression is converted to Arial. Here is a screenshot where I typed the math symbol paired with a corresponding normal Arial character - first some double-struck glyphs, then $\hbar$, then some Greek. The square root also looks unchanged from Times font, which may be OK but isn't how I recall sans-serif square roots looking. One important problem in the juxtaposition between pairs of special and normal characters is not just the presence versus absence of serifs, but also the general mismatch in the heights.

fonts

The last comparison between $l$ and $I$ is of course just a reminder of how bad the Arial font is on general grounds, I'm not asking how to fix that...

As a result, I think the inconsistencies I'm worried about can't be removed completely until a whole new set of glyphs is added to the Arial font. I'll have to give it some more time before perhaps accepting one of the answers, although I'm not at all happy and currently waiting for a miracle.

Edit 2

Two alternative titles for this question:

  • How to un-xkcd TraditionalForm equations in version 9?
  • Will Frankenformulas take over the world?
share|improve this question
    
What do you mean disjoint from the equations in inline or displayed maths? –  Rojo Dec 12 '12 at 7:36
    
@Rojo I tried to say it differently in my edit. –  Jens Dec 12 '12 at 7:43
    
Mathematica uses its own fonts for special characters. You might want to check the mono version, which are something like Mathematica1m.ttf on windows. –  Silvia Dec 12 '12 at 20:00
    
@Silvia So you're saying that Frankenformulas will take over the world after all. But I want to stop them before it's too late. Before I do mixtures like that, I'll revert back to Times overall. –  Jens Dec 12 '12 at 20:22
    
I tried changing the UnicodeFontMapping.tr just now, and I'd say the result is far from pretty. While the font style looks OK, the weight and height is not consistent at all. So the only way to work around it would be using external formula object such as Aurora.. –  Silvia Dec 12 '12 at 20:28

3 Answers 3

up vote 7 down vote accepted

To specify the style of inline formula, there is a style called "InlineCell". Add the following to the stylesheet would do it:

Cell[StyleData["InlineCell"],
 LanguageCategory->"Formula",
 FontFamily->"Arial"]

Or specify the "TraditionalForm" style as Rojo said to make sure the font used in inline formula is consistent with it used in stand alone TraditionalForm cell.

Note that "InlineCell" style has a higher priority level than "TraditionalForm" style.

share|improve this answer

I have no clue yet why this behaves like it does, but if I understood you correctly this workaround would perhaps suit you.

You want all traditional form to display in Arial? Then open your Default.nb stylesheet, add the style TraditionalForm (by typing it in the InputField above), select it, open the Options Inspector and set FontFamily explicitly to Arial

The TraditionalForm style does not specify a font family by default, and I still haven't found where it inherits Times from for Input and Output cells, and I can't test a lot right now...

share|improve this answer

Not an answer. Please do not upvote nor downvote me. I just need to show Jens what I get on V9 since I switched to Default_8.nb now. (can't paste images in comments) It looks ok now.

enter image description here

enter image description here

share|improve this answer
    
Thanks @Nasser, that's what I'd call consistent. Good to know it's a fallback option... –  Jens Dec 12 '12 at 7:46

Your Answer

 
discard

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.