gnuplottex anpassen

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: gnuplottex anpassen

von MQuadrat » Mi 22. Jun 2011, 13:32

Hallo,

der Beitrag ist zwar schon etwas älter, aber ich hätte so eine Lösung auch gerne und hab ihn jetzt erst entdeckt. Ahnung hab ich leider auch keine, aber wie wäre es, wenn du deinen Vorschlag mal dem gnuplottex-Entwickler schickst? Der hat vielleicht ganz schnell eine Lösung parat.

Grüße

Markus

gnuplottex anpassen

von IrenaSekuta » Do 3. Feb 2011, 16:14

Hallo zusammen,

ich möchte gerne das gnuplottex-Style meinen Bedürfnissen anpassen.

Einmal der Ansatz meiner Anpassung, die auch soweit funktioniert:
 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
 \ProvidesPackage{gnuplottex}
    [2007/10/13 v0.4.2 gnuplot graphs in LaTeX]
\RequirePackage{latexsym,graphicx,moreverb,keyval,ifthen}
\newif\ifShellEscape
\newif\ifmiktex \miktexfalse

\DeclareOption{shell}{\ShellEscapetrue}
\DeclareOption{noshell}{\ShellEscapefalse}
\DeclareOption{miktex}{\global\miktextrue}

\ExecuteOptions{shell}
\ProcessOptions\relax
%% test if shell escape really works
\ifShellEscape
\def\tmpfile{/tmp/w18-test-\the\year\the\month\the\day\the\time}
\ifmiktex
\def\tmpfile{w18-test-\the\year\the\month\the\day\the\time}
\immediate\write18{echo t > "\tmpfile"}
\else
\immediate\write18{touch \tmpfile}
\fi
\ifmiktex
\IfFileExists{\tmpfile.}{\ShellEscapetrue}{\ShellEscapefalse}
\immediate\write18{del "\tmpfile"}
\else
\IfFileExists{\tmpfile}{\ShellEscapetrue}{\ShellEscapefalse}
\immediate\write18{rm -f \tmpfile}
\fi
\fi

\ifShellEscape
    \PackageInfo{gnuplottex}
    {Automatically converting gnuplot files.}
\else
    \PackageWarningNoLine{gnuplottex}
        {Shell escape not enabled.\MessageBreak
        You'll need to convert the graphs yourself.}
\fi
\newcounter{fignum}
%\def\figname{\jobname-gnuplottex-fig\thefignum}      % ORIGINAL
\def\figname{\gnuplotoutput}

\def\gnuplotverbatimwrite#1{%
    \def\BeforeStream
    {\message{Opening gnuplot stream #1}%
        \immediate\write\verbatim@out{\string set terminal \gnuplotterminal \gnuplotterminaloptions}
%\immediate\write\verbatim@out{\string set output '\figname.\gnuplottexextension{\gnuplotterminal}'}    % ORIGINAL
\immediate\write\verbatim@out{\string set output '\gnuplotoutput.\gnuplottexextension{\gnuplotterminal}'}
    }
    \@bsphack
    \immediate\openout \verbatim@out #1
    \BeforeStream%
    \let\do\@makeother\dospecials
    \catcode`\^^M\active
    \def\verbatim@processline{%
        \immediate\write\verbatim@out
        {\the\verbatim@line}}%
    \verbatim@start}
\def\endgnuplotverbatimwrite{%
    \immediate\closeout\verbatim@out
    \@esphack
\catcode`\\0
\catcode`\{1
\catcode`\}2
\catcode`\$3
\catcode`\&4
\catcode`\^^M5
\catcode`\#6
\catcode`\^7
\catcode`\_8
\catcode`\ 10
\catcode`\%14}
\def\gnuplottexextension@latex{\string tex}
\def\gnuplottexextension@epslatex{\string tex}
\def\gnuplottexextension@eepic{\string tex}
\def\gnuplottexextension@pstricks{\string tex}
\def\gnuplottexextension@pslatex{\string tex}
\def\gnuplottexextension@pstex{\string tex}
\def\gnuplottexextension@emtex{\string tex}
\def\gnuplottexextension@jpeg{\string jpg}
\def\gnuplottexextension#1{\@ifundefined{gnuplottexextension@#1}{#1}{\csname gnuplottexextension@#1\endcsname}}
\define@key{pic}{scale}[1]{\def\gnuplotscale{#1}}
\define@key{pic}{terminal}[latex]{\def\gnuplotterminal{#1}}
\define@key{pic}{output}{\def\gnuplotoutput{#1}}    % Neu von mir erstellt 
\define@key{pic}{terminaloptions}{\def\gnuplotterminaloptions{ #1}}
\newenvironment{gnuplot}[1][]{\stepcounter{fignum}%
\def\gnuplotterminal{latex}
\def\gnuplotterminaloptions{}
\def\gnuplotscale{1}
\setkeys{pic}{#1}
    \xdef\gnuplotCutFile{\figname.gnuplot}
    \gnuplotverbatimwrite{\gnuplotCutFile}}
    {\endgnuplotverbatimwrite%
    \gnuplotgraphicsprocess%
    \gnuplotgraphicsinclude}
\def\extension{\gnuplottexextension{\gnuplotterminal}}
\long\gdef\gnuplotgraphicsprocess{%
\ifShellEscape
\IfFileExists{\figname.gnuplot}{%
\immediate\write18{gnuplot \figname.gnuplot}
\IfFileExists{\figname.\extension}{%
\PackageInfo{gnuplottex}{\figname.gnuplot converted}}
{\PackageWarningNoLine{gnuplottex}
{Conversion of \figname.gnuplot failed}}}{}
\fi}
\long\gdef\gnuplotgraphicsinclude{%
\IfFileExists{\figname.\extension}{%
\ifthenelse{\equal{\extension}{\string tex}}
{\scalebox{\gnuplotscale}{\input{\figname.\extension}}}
{\includegraphics[scale=\gnuplotscale]{\figname.\extension}}
}
{\PackageWarningNoLine{gnuplottex}
{Please convert \figname.gnuplot manually}}
}
\endinput
Ich habe neben der bereits bestehenden Optionen "scale, terminal, terminaloptions" noch die Option "output" definiert.

Nun würde ich gerne, dass das Makro \figname wie folgt aussieht:

Falls die Option "output" nicht angegeben wurde, so soll alles bleiben wie im Original. Anderenfalls soll "option" berücksichtigt werden. Dazu müsste ich m.E. folgenden Code anpassen:
\def\figname{\jobname-gnuplottex-fig\thefignum}
Ich verusche es einmal in anderem Code auszudrücken:
if output.given? = true then
    \figname{\gnuplotterminal}
else
    \figname{\jobname-gnuplottex-fig\thefignum}
end
Fairerweise möchte ich anmerken, dass ich von der Programmierung in Tex noch nicht allzu viel erfahrung habe und mich an solchen Beispielen üben möchte.

Mag mir jemand behilflich sein?

Eventuell gibt es auch die Möglichkeit, dass ich einen eigenen Style schreibe, der quasi den Quellcode von gnuplottex.sty erbt. Dann könnte ich die Anpassungen in meinem Style vornehmen und müsste nicht in dem Originalstyle rumpfutschen.

Gruß,

Irena

Nach oben