Gnuplot y $\LaTeX$

Si han llegado hasta este sitio, lo más seguro es que como yo usen $\LaTeX$ para escribir sus documentos y Gnuplot para graficar diversas funciones, ya que ambos programas además de ser de código abierto generan resultados de magnífica calidad cuando se trata de escribir documentos y graficar funciones matemáticas respectivamente. Luego sería estupendo poder usar Gnuplot junto con $\LaTeX$.

Es por eso que a continuación explicaré la forma de graficar funciones en $\LaTeX$ usando código de gnuplot. Antes de todo tener en cuenta que:
Todo lo que se explique a continuación se hizo en Ubuntu 13.10, usando los programas Kile, $\LaTeX$ y Gnuplot que tiene por defecto en sus repositorios.

Kile se uso para configurar las opciones de compilación de forma sencilla (pero se puede hacer en cualquier otro, incluso desde el terminal), se tiene que incluir entre las opciones de compilación --shell-escape, para ello se tiene ir a Settings->Configure Kile-> Build, como se muestra en la siguiente figura:


Lo que sigue es más sencillo, basta con incluir en el preámbulo del documento el paquete gnuplottex, que para poder funcionar necesita además como pre-requisitos a los paquetes keyval, ifthen, latexsym, graphicx y moreverb.

Si se hace correctamente todo lo anterior solo bastará con poner todo en práctica, a continuación coloco un código $\LaTeX$ para que lo puedan usar como modelo:

\documentclass[a4paper,10pt]{article}
\usepackage{draftwatermark}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{mathpazo}
\usepackage{keyval,ifthen,latexsym,graphicx,moreverb}
\usepackage{gnuplottex}%%%%%%%%%%%graficar con gnuplot
\title{Gnuplot y \LaTeX}
\author{-- Beto --}
\date{}
\begin$\{$document}
\SetWatermarkText{\Huge https://abstractionaturae.blogspot.com}
\maketitle \begin{center}
\begin{gnuplot}[terminal=epslatex, terminaloptions=color dashed,scale=0.8]
set key box top left
set key width 1
set key height 1
set key spacing 1.4
set key opaque
set samples 1000
set xr [-10:10]
set yr [-10:10]
set title 'Ejemplo gráfica 2D'
set xlabel 'Eje $x$'
set ylabel 'Eje $y$'
set grid
plot sin(x) lt 1 lc 3 lw 3,tan(x) lt 1 lw 3 lc 4
\end{gnuplot}
\end{center} \begin{center}
\begin{gnuplot}[terminal=epslatex, terminaloptions=color dashed,scale=0.8]
set key top left
set key width 4
set key height 0.25
set key spacing 1.2
set key opaque
set isosamples 40
set pm3d
set xr [-3:3]
set yr [-3:3]
set title 'Gráfica de una gaussiana'
set xlabel 'Eje $x$'
set ylabel 'Eje $y$'
set zlabel 'Eje $z$'
set grid
splot exp(-x**2-y**2) lw 0 t '$e^{-x^2-y^2}$'
\end{gnuplot}
\end{center} \end{document}
El resultado luego de compilar en PDFLaTeX es el siguiente


Como pueden ver los resultados son muy satisfactorios, es bastante sencillo y se tiene la gran ventaja de que los títulos, leyendas y cualquier fórmula que se escriba aparecerá en forma de ecuación.


Referencias:
  1. http://tex.stackexchange.com/questions/139011/using-kile-and-pdflatex-with-eps-files
  2. http://ctan.mackichan.com/macros/latex2e/contrib/gnuplottex/gnuplottex.pdf

Comentarios

  1. Hola! Gracias por el curro del blog. Estoy intentando hacer exactamente esto mismo pero no me sale, incluso con tu codigo Latex me pone pegas:

    [PDFLaTeX] pruebas.tex => pruebas.pdf (pdflatex)
    [PDFLaTeX] finished with exit status 1
    /usr/share/texmf/tex/latex/gnuplottex/gnuplottex.sty:0: Shell escape not enabled.
    ./pruebas.tex:16:Package keyval Error: terminal undefined ...x, terminaloptions=color dashed,scale=0.8]
    ./pruebas.tex:16:Package keyval Error: terminaloptions undefined ...x, terminaloptions=color dashed,scale=0.8]
    ./pruebas.tex:0: Please convert pruebas-gnuplottex-fig1.gnuplot manually.
    ./pruebas.tex:33:Package keyval Error: terminal undefined ...x, terminaloptions=color dashed,scale=0.8]
    ./pruebas.tex:33:Package keyval Error: terminaloptions undefined ...x, terminaloptions=color dashed,scale=0.8]
    ./pruebas.tex:0: Please convert pruebas-gnuplottex-fig2.gnuplot manually.
    [PDFLaTeX] 4 errors, 3 warnings, 0 badboxes

    Sabes cual puede ser el error? seguro que es una tonteria.

    un saludo!

    ResponderEliminar
    Respuestas
    1. Hola, en principio si seguiste todos los pasos (e in cluiste --shell-escape en las opciones de compilación), no deberías de tener problemas. No estoy seguro, pero me aventuro a pensar que posiblemente no tienes instalado texlive en su versión completa, sugiero que escribas en el terminal:

      sudo apt-get install texlive-full

      e intentes nuevamente compilar. Yo acabo de compilar nuevamente y me va todo bien, ahora tengo ubuntu 14.04.

      Un saludo.

      Eliminar

Publicar un comentario