8
votes

I'm trying to set the LaTeX \odot symbol in the gnuplot (4.6.0) pdf terminal. What is the exact syntax for this?

The gnuplot FAQ gives some clues, but should I type {/Symbol \2299}, or {/utf8 \2299}, or some other variation on \, /, # etc.? Or should I do set encoding utf8? Pasting the symbol in directly does not seem to work.

Should I use pdf or pdfcairo for the terminal? The latter affects my plots in intolerable ways.

2
Why cannot you just use $\odot$? - ev-br
Because gnuplot's pdf terminal (as far as I know..) doesn't support LaTeX syntax. - jtlz2
do you need to use a pdf driver? You could use the latex terminal, w/ latex format for your figure and then use pdflatex to create your final figure...(there probably is an easier way -- You've just stumbled upon one corner of gnuplot I've never used before) - mgilson
Also note that (depending on how precise you need it to be and your choice of font), you can use normal O overprinted with a '.' -- something like (with enhanced text turned on) ~O{.35.} might work (you may need to play around with the height (.35) to get it to look how you want it.) - mgilson

2 Answers

3
votes

It is pretty simple. First you need to select a terminal that supports Unicode; then you can indeed paste your Unicode characters in directly. The old pdf terminal does not support Unicode, as you've found out, but the more recent pdfcairo does. You say it messes up your graphs, but how? I've found that it produces the same result, but with better quality (smoother lines, antialiasing, and Unicode!).

Everyone has a different set of terminals installed. Other terminals that might support Unicode on your system are pngcairo and svg. The latter is a vector format, like pdf. If you need pdf as a final file and pdfcairo is not working for you, use something else that can handle Unicode and convert the file. The LaTeX solution is ultimately the best if you want excellent labels and mathematical adornments, but to control the output you will need to get good at LaTeX.

5
votes

Here is a way using the epslatex terminal. Run these commands in gnuplot or a gnuplot script:

set terminal epslatex standalone color
set output 'plot.tex'

set xlabel '$\odot$ is a \LaTeX symbol.'
plot sin(x)

Then you can run pdflatex on the resulting plot.tex, or latex followed by dvipdf. This works fine if you don't mind having LaTeX for the interpreter for all the text in your plot. If you want just the \odot symbol included I'm not sure how to do it.