[RISOLTO] gnuplot e LaTeX

  • Creatore
    Topic
  • #72885
    Up
    0
    Down
    ::


    Ciao a tutti.

    Ho sempre utilizzato gnuplot per fare alcuni grafici semplici di dati presi in laboratorio, ma mi sono accorto che inserire un grafico generato da gnuplot stona parecchio. Ho allora trovato su “Gnuplot in action” di P. K. Janert la soluzione: ossia utilizzare il terminale epslatex per separare l’immagine .eps dal testo, che viene poi successivamente compilato con LaTeX. Si può quindi utilizzare il modo matematico di LaTeX per scrivere titolo, funzioni, …
    Comodo ma… non mi funziona.
    Ottengo l’errore seguente:
    `[3] (/usr/local/texlive/2011/texmf-dist/tex/latex/base/ts1cmr.fd)



    (./Graphiques/HC3COOH-T1.tex
    ! Extra }, or forgotten $.
    \@imakepicbox …t@ #1\unitlength {\mb@l #4\mb@r }
    \mb@b \kern \z@ }
    l.100 \gplbacktext

    ?
    `

    Il mio preambolo è il seguente:
    `\documentclass[a4paper,twocolumn]{article}

    \usepackage[utf8]{inputenc}
    \usepackage[francais]{babel}

    \usepackage{graphicx}
    \usepackage{booktabs}

    \usepackage{mathtools}
    \usepackage{amsmath}
    \usepackage{amsfonts}
    \usepackage{amssymb}
    \usepackage[version=3]{mhchem}
    \usepackage[output-decimal-marker={.},separate-uncertainty=true]{siunitx}
    \usepackage{graphicx}

    \DeclarePairedDelimiter{\abs}{\lvert}{\rvert}`

    Mentre per inserire il grafico utilizzo il seguente codice:
    `\begin{figure}
    \centering
    %\includegraphics[width=0.9\columnwidth]{Graphiques/HC3COOH-T1.pdf}
    \input{Graphiques/HC3COOH-T1}
    \caption{Titrage de\ce{CH3COOH} (1)}{Titrage d'une solution aqueuse de \ce{CH3COOH} par une solution aqueuse de \ce{NaOH} $\sim \SI{0.1}{\mole.\liter^{-1}}$: première épreuve.} \label{G3}
    \end{figure}`

    Infine, allego pure il file HC3COOH-T1.tex prorotto automaticamente da gnuplot, perché l’errore é contenuto in esso:

    Spoiler

    `% GNUPLOT: LaTeX picture with Postscript
    \begingroup
    \makeatletter
    \providecommand\color[2][]{%
    \GenericError{(gnuplot) \space\space\space\@spaces}{%
    Package color not loaded in conjunction with
    terminal option `colourtext'%
    }{See the gnuplot documentation for explanation.%
    }{Either use 'blacktext' in gnuplot or load the package
    color.sty in LaTeX.}%
    \renewcommand\color[2][]{}%
    }%
    \providecommand\includegraphics[2][]{%
    \GenericError{(gnuplot) \space\space\space\@spaces}{%
    Package graphicx or graphics not loaded%
    }{See the gnuplot documentation for explanation.%
    }{The gnuplot epslatex terminal needs graphicx.sty or graphics.sty.}%
    \renewcommand\includegraphics[2][]{}%
    }%
    \providecommand\rotatebox[2]{#2}%
    \@ifundefined{ifGPcolor}{%
    \newif\ifGPcolor
    \GPcolorfalse
    }{}%
    \@ifundefined{ifGPblacktext}{%
    \newif\ifGPblacktext
    \GPblacktexttrue
    }{}%
    % define a \g@addto@macro without @ in the name:
    \let\gplgaddtomacro\g@addto@macro
    % define empty templates for all commands taking text:
    \gdef\gplbacktext{}%
    \gdef\gplfronttext{}%
    \makeatother
    \ifGPblacktext
    % no textcolor at all
    \def\colorrgb#1{}%
    \def\colorgray#1{}%
    \else
    % gray or color?
    \ifGPcolor
    \def\colorrgb#1{\color[rgb]{#1}}%
    \def\colorgray#1{\color[gray]{#1}}%
    \expandafter\def\csname LTw\endcsname{\color{white}}%
    \expandafter\def\csname LTb\endcsname{\color{black}}%
    \expandafter\def\csname LTa\endcsname{\color{black}}%
    \expandafter\def\csname LT0\endcsname{\color[rgb]{1,0,0}}%
    \expandafter\def\csname LT1\endcsname{\color[rgb]{0,1,0}}%
    \expandafter\def\csname LT2\endcsname{\color[rgb]{0,0,1}}%
    \expandafter\def\csname LT3\endcsname{\color[rgb]{1,0,1}}%
    \expandafter\def\csname LT4\endcsname{\color[rgb]{0,1,1}}%
    \expandafter\def\csname LT5\endcsname{\color[rgb]{1,1,0}}%
    \expandafter\def\csname LT6\endcsname{\color[rgb]{0,0,0}}%
    \expandafter\def\csname LT7\endcsname{\color[rgb]{1,0.3,0}}%
    \expandafter\def\csname LT8\endcsname{\color[rgb]{0.5,0.5,0.5}}%
    \else
    % gray
    \def\colorrgb#1{\color{black}}%
    \def\colorgray#1{\color[gray]{#1}}%
    \expandafter\def\csname LTw\endcsname{\color{white}}%
    \expandafter\def\csname LTb\endcsname{\color{black}}%
    \expandafter\def\csname LTa\endcsname{\color{black}}%
    \expandafter\def\csname LT0\endcsname{\color{black}}%
    \expandafter\def\csname LT1\endcsname{\color{black}}%
    \expandafter\def\csname LT2\endcsname{\color{black}}%
    \expandafter\def\csname LT3\endcsname{\color{black}}%
    \expandafter\def\csname LT4\endcsname{\color{black}}%
    \expandafter\def\csname LT5\endcsname{\color{black}}%
    \expandafter\def\csname LT6\endcsname{\color{black}}%
    \expandafter\def\csname LT7\endcsname{\color{black}}%
    \expandafter\def\csname LT8\endcsname{\color{black}}%
    \fi
    \fi
    \setlength{\unitlength}{0.0500bp}%
    \begin{picture}(7200.00,5040.00)%
    \gplgaddtomacro\gplbacktext{%
    \csname LTb\endcsname%
    \put(1078,704){\makebox(0,0)[r]{\strut{} 0}}%
    \put(1078,1317){\makebox(0,0)[r]{\strut{} 500}}%
    \put(1078,1929){\makebox(0,0)[r]{\strut{} 1000}}%
    \put(1078,2542){\makebox(0,0)[r]{\strut{} 1500}}%
    \put(1078,3154){\makebox(0,0)[r]{\strut{} 2000}}%
    \put(1078,3767){\makebox(0,0)[r]{\strut{} 2500}}%
    \put(1078,4379){\makebox(0,0)[r]{\strut{} 3000}}%
    \put(1210,484){\makebox(0,0){\strut{} 0}}%
    \put(1909,484){\makebox(0,0){\strut{} 2}}%
    \put(2608,484){\makebox(0,0){\strut{} 4}}%
    \put(3307,484){\makebox(0,0){\strut{} 6}}%
    \put(4007,484){\makebox(0,0){\strut{} 8}}%
    \put(4706,484){\makebox(0,0){\strut{} 10}}%
    \put(5405,484){\makebox(0,0){\strut{} 12}}%
    \put(6104,484){\makebox(0,0){\strut{} 14}}%
    \put(6803,484){\makebox(0,0){\strut{} 16}}%
    \put(176,2541){\rotatebox{-270}{\makebox(0,0){\strut{}$sigma_ce{CH3COOH} [si{microsiemens.centimeter^{-1}}]}$}}}%
    \put(4006,154){\makebox(0,0){\strut{}$V_ce{NaOH} [si{milliliter}]$}}%
    \put(4006,4709){\makebox(0,0){\strut{}Titrage ce{CH3COOH} (1)}}%
    }%
    \gplgaddtomacro\gplfronttext{%
    }%
    \gplbacktext
    \put(0,0){\includegraphics{HC3COOH-T1}}%
    \gplfronttext
    \end{picture}%
    \endgroup
    `

    Qualcuno può aiutarmi?
    Grazie,
    Rocco.

Visualizzazione 3 filoni di risposte
  • Autore
    Risposte
    • #72886
      Up
      0
      Down
      ::


      P.S: Ho inoltre notato che nel file generato da gnuplot sono scomparsi tutti i backslash… È normale?

    • #72887
      Up
      0
      Down
      ::


      Ho risolto!

      Avevo erroneamente utilizzato i comandi set title, set xlabel e set ylabel con gli argomenti tra “[argomento]” anziché tra ‘[argomento]’. Ora funziona e il risultato é piuttosto gradevole.

      Attenzione: se le immagini non sono salvate nella cartella dove c’è il file principale da compilare, il percorso dell’immagine nel file .tex generato automaticamente da gnuplot va modificato manualmente! (Questo mi ha fatto perdere non poco tempo).

    • #72888
      Up
      0
      Down
      ::

      Rocco M.” post=71860Ho risolto!

      Avevo erroneamente utilizzato i comandi set title, set xlabel e set ylabel con gli argomenti tra “[argomento]” anziché tra ‘[argomento]’. Ora funziona e il risultato é piuttosto gradevole.

      Attenzione: se le immagini non sono salvate nella cartella dove c’è il file principale da compilare, il percorso dell’immagine nel file .tex generato automaticamente da gnuplot va modificato manualmente! (Questo mi ha fatto perdere non poco tempo).

      L’alternativa (che io preferisco di gran lunga) è impostare nello script il percorso corretto
      `set output 'sottocartella/output.tex'`e compilare con gnuplot stando nella cartella in cui si trova il file principale .tex del documento (o comunque nella cartella da cui abitualmente compilo il documento LaTeX). In questo modo non ho mai bisogno di modificare manualmente i file generati automaticamente (che in linea di principio non dovrebbero essere modificati). Per automatizzare il tutto mi faccio ogni volta un bel Makefile e mi risparmio la fatica di compilare uno a uno tutti i file.

    • #72889
      Up
      0
      Down
      ::

      Rocco M.” post=71853P.S: Ho inoltre notato che nel file generato da gnuplot sono scomparsi tutti i backslash… È normale?

      Certo che è normale, devi effettuare l’escape dei backspace con un altro backspace: se vuoi ottenere
      `\comando`nello script di gnuplot devi scrivere
      `\\comando`

      P. S. scusate il doppio post, avrei voluto mettere tutte e due le risposte insieme, ma ho fatto un po’ di confusione e ho sdoppiato il messaggio 😳

Visualizzazione 3 filoni di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top