Latex im Batch unter Autoit

  • Hallo alle miteinander,

    Ich habe mir MiKtex (Latex) runtergeladen, um selbst generierte Tabellen ( Autoit) mit Latexformatierung in PDFs umzuwandeln!

    Ich wollte nun in Autoit gleich die Latex Orgie mit Latex.exe -> dvips.exe und ps2pdf.exe gleich mit integrieren!
    Habe, wie es scheint, Probleme mit den Outputfiles. ;(

    Das Latex.exe schreibt die Outputfiles scheinbar immer in die Ordner, wo die Konsole aufgerufen wird, hinein. Die nachfoldenden Programme wie dvips.exe oder ps2pdf.exe wissen dann nichts von ihrem Glück!

    Kann ich die Umgebung so gestalten, dass die Latex Outputfiles dort landen wo ich sie dann auch wiederfinde?

    Kann mir jemand weiterhelfen??


    Local $program1 = "C:\Program Files\MiKTeX 2.9\miktex\bin\x64\latex.exe"

    Local $input1 = "D:\LaTeX\Neuer Ordner\Mitarbeiter_" & $a_Index[$j][14] & ".tex"
    Local $sCmd1 = StringFormat('"%s" -synctex=1 -interaction=nonstopmode " "%s" ', $program1, $input1)
    ;ConsoleWrite("var: $sCmd1 --> " & $sCmd1 & @LF)
    Run($sCmd1)
    Sleep (5000)

    Local $program2 = "C:\Program Files\MiKTeX 2.9\miktex\bin\x64\dvips.exe"
    Local $input2 = "D:\LaTeX\Neuer Ordner\Mitarbeiter_" & $a_Index[$j][14] & ".ps"
    Local $output2 = "D:\LaTeX\Neuer Ordner\Mitarbeiter_" & $a_Index[$j][14] & ".dvi"

    Local $sCmd2 = StringFormat('"%s" -Ppdf -G0 -o "%s" "%s"', $program2, $input2 , $output2)
    ;ConsoleWrite("var: $sCmd2 --> " & $sCmd2 & @LF)
    Sleep (5000)
    Run($sCmd2)
    Local $program3 = "C:\Program Files\MiKTeX 2.9\miktex\bin\x64\ps2pdf.exe"
    Local $input3 = "D:\LaTeX\Neuer Ordner\Mitarbeiter_" & $a_Index[$j][14] & ".ps"
    Local $output3 = "D:\Berichte\Berichte\Mitarbeiter_" & $a_Index[$j][14] & ".pdf"
    Local $sCmd3 = StringFormat('"%s" "%s" "%s" ', $program3, $input3, $output3) ;
    ;ConsoleWrite("var: $sCmd3 --> " & $sCmd3 & @LF)
    Run($sCmd3)
    Sleep (5000)

  • Ansonsten kannst du das "Workingdirectory" beim starten setzen. Das ist der Ordner, von dem das Programm gestartet werden soll, standartmäßig das Verzeichnis, in dem sich dein Programm befindet.
    Run ( "program" [, "workingdir" [, show_flag [, opt_flag]]] )
    Hier der 2te Parameter:
    Run("C:\folder\programm.exe","C:\otherFolder\createFileHere")

  • Danke AspirinJunkie,

    Ich wusste,das ich auf einem alten Ast sitze! Bei Miktex steht leider nicht so viel drin!

    Läuft jetzt gut mit lulatex ! Vielen Dank!

    Auch der Tip mit workingdir werde ich mir merken. Kanashius