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
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}
if output.given? = true then \figname{\gnuplotterminal} else \figname{\jobname-gnuplottex-fig\thefignum} end
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