How to show prime symbol in gnuplot - gnuplot

I want to show SS' in the xtics of a graph. I don't know how I can have the prime symbol in gnuplot like it is shown on latex like this : SS$'$?
ps: This is the terminal setting I have:
set terminal postscript eps size 8.5cm, 7cm dashed
dashlength 3.0 enhanced color font 'Helvetica,10'

Use the epslatex terminal instead, and just use latex syntax:
set terminal epslatex color dashed standalone size 8.5cm,7cm
set output "out.tex"
set label "This is a prime symbol: $'$" at graph 0.5,0.5 center
plot sin(x)

Related

Inkscape crops eps files generated with gnuplot

I have a script file to generate an eps file with gnuplot. The basics of this script are:
set terminal postcript enhanced color size 30,20 font 'Times-ew-Roman,40'
set xtics -.5,0.125
set ytics 0.1,0.1
set xrange [-0.5,.5]
set yrange [0.,1.6]
set cbrange [-0.5,.5]
set output "file.eps"
plot #whatever i plot
This script generates an eps file, which I can open in ubuntu and I can see is well printed. Now, I want to import this eps into inkscape, but when importing inkscape imports a big frame with only the top left drawn. The rest is blank. Do I have to change anyvalue in my gnuplot script or do something else with inkscape? I tried to open it in inskcape windows and ubuntu versions, and in both cases it happens the same with the same file.
The problem may be that you have not actually asked gnuplot to produce an eps image. Instead you produced a generic PostScript document with a page size that does not match the default. You need to put the keyword "eps" in your terminal command:
set term postscript eps color size 30,20 font "Times-New-Roman,40"

math latex font in postscript terminal

I know the epslatex terminal can be used to have fonts in latex style.
But how can I emulate math latex fonts in the postscript terminal?
set term postscript size 5,4
set out "test.ps"
pl [][-1.1:1.1] sin(x) t "sin {/Italics x}"
set out
In math latex
it would look like:
So it seems I want a serif font.
IMHO this is far more trouble than it is worth. But if you really want to you can download Adobe Type 1 versions of the standard TeX fonts for use in PostScript, specifically for use by the gnuplot postscript terminal. Here is a demo.
#
# Demonstrate use of TeX Computer Modern fonts in gnuplot PostScript terminal
# This demo requires Adobe Type 1 fonts that may not be installed on your system.
# If necessary you can download them from
# http://mirrors.ctan.org/fonts/cm/ps-type1/bakoma/pfb/cmr10.pfb
# http://mirrors.ctan.org/fonts/cm/ps-type1/bakoma/pfb/cmmi10.pfb
# http://mirrors.ctan.org/fonts/cm/ps-type1/bakoma/patched-pfb/cmsy10.pfb
#
set term post eps color fontfile 'cmr10.pfb' fontfile 'cmmi10.pfb' fontfile 'cmsy10.pfb'
set output 'cmfonts.eps'
set title "Use of TeX Computer Modern fonts in gnuplot PostScript terminal"
set label 1 'Times-Roman: {/Times-Roman abcdefghABCDEFGH}'
set label 2 'cmr10: {/cmr10 abcdefghABCDEFGH}'
set label 3 'cmmi10: {/cmmi10 abcdefghABCDEFGH} {/cmmi10 \013\014\015\016\042}'
set label 4 'cmsy10: {/cmmi10 abcdefghABCDEFGH} {/cmsy10 \013\014\015\016\042}'
set label 1 at graph 0.05,0.6 left
set label 2 at graph 0.05,0.5 left
set label 3 at graph 0.05,0.4 left
set label 4 at graph 0.05,0.3 left
set xlabel "{/cmmi10 \013}"
plot [0:2*pi] sin(x) title "{/cmr10 sin({/cmmi10 \013})}"
Serif (Times) in combination with Oblique (Italic) also emulates a bit the look of latex math.
set term postscript size 5,4
set out "test.ps"
set label 1 'Serif: {/Serif abcdefghABCDEFGH}' at graph 0.05,0.5 left
set label 2 'Serif Oblique: {/SerifOblique abcdefghABCDEFGH}' at graph 0.05,0.4 left
set label 3 'Symbol: {/Symbol abcdefgh}' at graph 0.05,0.3 left
set label 4 'Symbol-Oblique: {/Symbol-Oblique abcdefgh}' at graph 0.05,0.2 left
pl [0:2*pi] sin(x) t "{/Serif sin} {/SerifItalics x}"
set out
This does not fully look as I asked for, but may look even better in documents using Times anyway.
The credit for Oblique goes to http://www.gnuplotting.org/postscript-terminal-with-italic-symbols/.

How to write expectation value symbols in gnuplot

I need to write one of my axis label as $\langle\alpha\rangle$. I don't know how to get this Dirac notation in gnuplot. Can someone help.
One solution might be to use Gnuplot as a "pre-processing" tool in order to generate a template which is then compiled with LaTeX. To this end, consider for example following Gnuplot script:
set terminal lua tikz size 8cm,6cm clip background rgb '#ffffff'
set output 'frame.tex'
set xr [0:10]
set yr [0:10]
set xtics out nomirror
set ytics out nomirror
set key bottom right reverse spacing 2 width 2
set xlabel '$\langle\alpha\rangle$'
set ylabel '$f(\langle\alpha\rangle)$'
plot x t '$f(\langle\alpha\rangle)$'
When supplied to Gnuplot, it produces a file frame.tex. However, this is not a standalone LaTeX document, just the plot itself rendered with the famous TikZ package. Nevertheless, it is rather straightforward to embed it in a document as:
\documentclass[aip,jcp,reprint,amsmath,12pt]{revtex4-1}
\usepackage[utf8]{inputenc}
\usepackage[margin=0pt,papersize={8cm,6cm},headheight=0pt]{geometry}
\usepackage{graphicx}
\usepackage{tikz, fp, scalefnt, ifthen}
\usepackage{gnuplot-lua-tikz}
\usepgflibrary{fixedpointarithmetic}
\pagestyle{empty}
\setlength{\fboxsep}{0pt}
\setlength{\parskip}{0pt}
\setlength{\parindent}{0pt}
\begin{document}
\begin{widetext}
\input{frame.tex}%
\end{widetext}
\end{document}
If this file is called for example figure.tex, then pdflatex figure.tex produces:

gnuplot splot with hidden3d always colored, even with monochrome postscript option

I'm using gnuplot 4.6 patchlevel 4. I encountered the following problem:
set terminal postscript eps monochrome
set output "test.eps"
splot x*y
produces a monochrome plot as requested, but
set terminal postscript eps monochrome
set output "test.eps"
set hidden3d
splot x*y
produces a colored plot.
I'm pretty sure that worked with earlier gnuplot versions. Is this a bug? Is there a workaround?
Thanks for your help!
(I saw that there was another problem with splot colors in an earlier version
(Issue regarding colors in splot), was the new problem possibly introduced in the bug fix?)

bold enhanced text in gnuplot

UPDATE: this issue has been resolved in newer versions (>5.0) of gnuplot; see #andyras' answer.
I am having difficulty getting gnuplot to create labels with bold and enhanced text in non-postscript terminals. The following script
#!/usr/bin/env gnuplot
reset
set terminal pdfcairo enhanced color lw 3 size 3,2 font 'Arial-Bold'
set output 'output.pdf'
set tics scale 0
plot -x title 'normal text', \
-2*x t 'enhanced_{text}', \
-3*x t '{/Arial-Bold attempt to specify_{font}}'
set terminal pngcairo enhanced color lw 3 size 400,300 font 'Arial-Bold'
set output 'output.png'
replot
set terminal postscript enhanced color lw 3 size 6,4 font 'Arial-Bold'
set output 'output.eps'
replot
reset
Produces the following eps (converted to png with convert output.eps -rotate 90 outputeps.png):
which is fine. However, when I use the pdf or png terminals the result looks like this:
Note that while all the label text should be bold, only the label without any enhanced text is bold. In addition, when I try to manually specify the font (last line title) the font is different (reverts to the default?).
Is this behavior I should expect when not using the postscript terminal? Is there another way to specify fonts (i.e. is the naming scheme different outside of postscript)?
Since version 5.0, gnuplot has a new syntax to handle this issue:
"normal text {/Times:Bold boldface-newfont} {/:Italic slanted-default-font } back to normal text"]
These brackets can also be nested.
For Better results in pdf format.
Plot the curves using enhanced eps terminal. Then use Imagemagic to convert your output to pdf format. using the commands
convert myPlot.eps myPlot.pdf
Default resolution with this commands generates a poor output. This can be overcome by using density option with a value of 300. Modified command looks like
convert -density 300 myPlot.eps myPlot.pdf
I found that this preserves all the text formatting of eps file in pdf file.

Resources