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

I am using the classicthesis package in LyX to typeset my thesis. I have a plot produced with pgfplots. It uses math fonts same as elsewhere in the text, which is inconsistent with other plots of mine (imported from Matlab), where Arial is used for tick and axes labels. So my question is, how can I change the font family for the text used in my pgfplots plot (i.e. the caption font should NOT change)? The minimal TeX code would be:

\documentclass[12pt,a4paper]{report}
\usepackage[latin1]{inputenc}
\usepackage[sc,osf]{mathpazo}
\usepackage[euler-digits]{eulervm}
\usepackage{pgfplots}
\pgfplotsset{compat=1.3}
\begin{document}
\begin{figure}
\centering
\pgfplotsset{every axis/.append style={
thick,
tick style={semithick}}}
\begin{tikzpicture}
\begin{axis}[
height=8cm,
width=15cm,
xlabel = {$x$},
ylabel = {$\phi(x)$},
domain = 0:1,
xtick={0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0},
ytick={0.0,0.1,0.2,0.3,0.4,0.5},
grid=major,
no markers,
cycle list name=linestyles
]
\addplot {0.5-abs(x-0.5)};
\end{axis}
\end{tikzpicture}
\caption{Solution of Eikonal equation on a 1D domain $\Omega=[0;1]$}
\end{figure}
\end{document}

So I would like all the tick numbers, and x and \phi(x) labels to be in Arial, while the bottom caption to remain in Palatino.

share|improve this question
add comment

1 Answer

up vote 14 down vote accepted

Simply using \pgfplotsset and \sffamily is probably not sufficient for you, since your numbers and labels are in math mode. It can be achieved with the sansmath package, such as

\usepackage{helvet}
\usepackage[eulergreek]{sansmath}
\pgfplotsset{
  tick label style = {font=\sansmath\sffamily},
  every axis label = {font=\sansmath\sffamily},
  legend style = {font=\sansmath\sffamily},
  label style = {font=\sansmath\sffamily}
}

You probably have still to take care of Greek letters though, if you use eulervm. Without that package, \sansmath works well. Or, omit sans serif style for the label, and do it manually at this specific place, such as

xlabel = {$\mathsf{x}$},
ylabel = {$\phi\mathsf{(x)}$},

All together I got with your code all labels in sans serif, while the caption remains in serif font:

plot

share|improve this answer
    
This is almost brilliant! But you are right, phi(x) looks very ugly. But how would I take care of it? And is there a way to make the labels non-italic? –  MindV0rtex Nov 1 '11 at 16:38
    
@MindV0rtex Consider changing the Matlab plots to match your LaTeX style for keeping all consistent. Or keep at least labels such as \phi(x) similar to your expressions in code instead of trying sans serif Greek, at least the numbers and tick labels would match your Matlab style. –  Stefan Kottwitz Nov 1 '11 at 16:53
    
Mine is the same except for the \phi(x) part, which instead looks something like OEx without any parentheses (I don't know how to add pictures to comments and I don't want to add another answer). Does it mean that I lack some font files? –  MindV0rtex Nov 1 '11 at 17:24
    
@MindV0rtex If you don't load eulervm, \phi works with \sansmath. –  Stefan Kottwitz Nov 2 '11 at 11:38
1  
@StefanKottwitz Done, see tex.stackexchange.com/questions/118678/… –  Ethan Bolker Jun 11 '13 at 14:01
show 2 more comments

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.