PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Feher '! Missing $ inserted' beim Einfügen einer Grafik



chem
02-10-2013, 16:03
Hallo,

ich hatte/habe große Probleme beim einfügen meiner Gnupolt Graphen. Ich arbeite mit dem Terminal epslatex color solid und lasse mir die Datei als datei.tex und datei.eps ausgeben. Zum Einfügen verwende ich den \input{datei.tex} Befehl.
Mittlerweile habe ich es geschafft mir auch endlich die Grafik in Latex anzeigen zu lassen. Nur findet er jetzt jedes mal vier Fehler. Als Uhrsache gibt er an, ich hätte entweder ein } zu viel oder ein $ zu wenig (auch bei den simpelsten Grafiken wie f(x)=x). Und das nicht mal in meiner Hauptdatei sondern in der von Gnuplot erstellten .tex Datei.

Hier mal die Minimaleingabe bei der das Problem auftaucht:



\documentclass[pdflatex,a4paper]{scrartcl}
\usepackage{lmodern}
\usepackage[version=3]{mhchem}
\usepackage{epstopdf}
\begin{document}
\begin{figure}[h]
\centering
\input{graph.tex}
\caption{etwas}
\label{Marke}
\end{figure}
\end{document}

Ich würde auch gerne die entsprechenden Dateien Anhängen, nur bin ich neu im Forum und weiß nicht wie.

Stefan_K
02-10-2013, 18:06
Hallo,

zum Dateien-Anhängen gibt es einen Button über dem Editierfeld, schau sie mal durch. Code innerhalb Forum-Posts kann man auch per Button markieren, damit man ihn besser lesen kann.

Stefan

chem
02-10-2013, 19:01
Das mit dem Code hat offensichtlich geklappt ;-) Nur leider kann ich keine .eps Dateien Hochladen, da sie nicht akzeptiert werden. Was ich aber machen kann ist den "Fehlerhaften" Code anfügen.
Der Code ist jetzt aus einem konkreten Fall und liefert weit mehr als vier Fehler. Letztendlich klappt es zwar, aber oft erst nach dem zweiten oder dritten Versuch. Wäre super wenn man das etwas "runder" hin bekäme.



% 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
\GPcolortrue
}{}%
\@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(946,1584){\makebox(0,0)[r]{\strut{} 0}}%
\put(946,2143){\makebox(0,0)[r]{\strut{} 100}}%
\put(946,2702){\makebox(0,0)[r]{\strut{} 200}}%
\put(946,3261){\makebox(0,0)[r]{\strut{} 300}}%
\put(946,3820){\makebox(0,0)[r]{\strut{} 400}}%
\put(946,4379){\makebox(0,0)[r]{\strut{} 500}}%
\put(1078,1364){\makebox(0,0){\strut{} 0}}%
\put(2223,1364){\makebox(0,0){\strut{} 100}}%
\put(3368,1364){\makebox(0,0){\strut{} 200}}%
\put(4513,1364){\makebox(0,0){\strut{} 300}}%
\put(5658,1364){\makebox(0,0){\strut{} 400}}%
\put(6803,1364){\makebox(0,0){\strut{} 500}}%
\put(176,2981){\rotatebox{-270}{\makebox(0,0){\strut{}Volumen [ml]}}}%
\put(3940,1034){\makebox(0,0){\strut{}Zeit [s]}}%
\put(3940,4709){\makebox(0,0){\strut{}Filtration bei Verschiedenen \Delta p}}%
}%
\gplgaddtomacro\gplfronttext{%
\csname LTb\endcsname%
\put(5948,613){\makebox(0,0)[r]{\strut{}\Delta p=400mbar}}%
\csname LTb\endcsname%
\put(5948,393){\makebox(0,0)[r]{\strut{}\Delta p=500mbar}}%
\csname LTb\endcsname%
\put(5948,173){\makebox(0,0)[r]{\strut{}\Delta p=600mbar}}%
}%
\gplbacktext
\put(0,0){\includegraphics{deltap}}%
\gplfronttext
\end{picture}%
\endgroup

Stefan_K
02-10-2013, 19:47
Problematisch sind hier die Legendeineinträge mit Mathematik-Symbolen (\Delta). Hierin muss $...$ verwendet werden oder gnuplot davon überzeugt werden, das zu tun.

Stefan

Magger
02-10-2013, 20:59
Es ist zwar keine direkte Lösung für dein Problem, aber wenn du nicht an gnuplot und PostScript gebunden bist, kann ich das pgfplots-Paket zum Erstellen von Diagrammen und Plots empfehlen. Der dabei erzeugte Quelltext ist meiner Meinung viel übersichtlicher, leichter lesbar und damit weniger fehleranfällig als die Quelltexte von gnuplot. Die Diagramme sehen auch spitzenmäßig aus.

chem
02-10-2013, 22:26
@ Stefan K,
Vielen dank für die schnelle Hilfe! In der Tat löst sich alles in Wohlgefallen auf wenn ich $ vor und nach die Sonderzeichen in Gnuplot schreibe. (Eigentlich ziemlich logisch wenn man so darüber nach denkt ;-) )

@Magger,
das hatte ich lange getestet und versucht zum laufen zu bringen, bin aber leider gnadenlos daran gescheitert es auf das geforderte Level zu bringen. Ich weiß auch nicht so genau wie es mit fitten in dieser Umgebung aussieht. Das ist bei mir oft der Hauptbestandteil der Datenauswertung. In so fern muss das schon zuverlässig (und auch nachvollziehbar) laufen. Aber es wäre in der Tat schon angenehmer gewesen, hätte ich das hin bekommen.