Texmaker 3.5, Miktex Portable 2.9 und Epstopdf

Texmaker 3.5, Miktex Portable 2.9 und Epstopdf

Ich verwende TeXMaker 3.5 (dieselben Probleme wie bei TeXMaker 3.4.1) und MikTeX 2.9. Meine Quelle ist:

\documentclass[10pt,a4paper]{article} 
\usepackage[utf8]{inputenc} 
\usepackage{graphicx} 
\usepackage{epstopdf} 
\begin{document} 
\begin{figure} 
\includegraphics[scale=1]{test.eps} 
\end{figure} 
\end{document} 

Aber ich bekomme immer:

Package pdftex.def Error: File `test-eps-converted-to.pdf' not found.

MikTeX funktioniert! Das Bild existiert auch und über die Eingabeaufforderung:

G:\LaTeX\sandbox>G:/miktex/miktex/bin/epstopdf --outfile=G:\LaTeX\sandbox\test-eps-converted-to.pdf G:\LaTeX\sandbox\test.eps

Aus der EPS-Datei das PDF erzeugen. So sieht meine Konfiguration aus:

 Tools\Latex="\"../miktex/miktex/bin/latex.exe\" -enable-write18 
 -interaction=nonstopmode %.tex"  Tools\Dvi=../miktex/miktex/bin/yap.exe -1 -s @.tex %.dvi 
 Tools\Dvips=\"../miktex/miktex/bin/dvips.exe\" -o %.ps %.dvi 
 Tools\Ps=../gsview/GSviewPortable.exe %.ps 
 Tools\Ps2pdf=\"../miktex/miktex/bin/ps2pdf.exe\" %.ps 
 Tools\Makeindex=\"../miktex/miktex/bin/makeindex.exe\" %.idx 
 Tools\Bibtex=\"../miktex/miktex/bin/bibtex.exe\" %.aux 
 Tools\Pdflatex="\"../miktex/miktex/bin/pdflatex.exe\" -enable-write18
 -interaction=nonstopmode %.tex"  Tools\Pdf=../SumatraPDF/SumatraPDF.exe %.pdf -reuse-instance
 -forward-search %.tex @  Tools\Dvipdf=\"../miktex/miktex/bin/dvipdfm.exe\" %.dvi 
 Tools\Metapost="\"../miktex/miktex/bin/mpost.exe\" --interaction
 nonstopmode " 
 Tools\Ghostscript=\"../miktex/ghostscriptx/bin/gswin64c.exe\" 
 Tools\Asymptote=../Asymptote/asy.exe %.asy 
 Tools\Latexmk="\"G:/miktex/miktex/bin/latexmk.exe\" -e
 \"$pdflatex=q/pdflatex -interaction=nonstopmode/\" -pdf %.tex" 
 Tools\Sweave=../R/bin/R.exe CMD Sweave %.Rnw

Hat jemand eine Idee, wie man dieses Problem lösen kann? Ich habe meineportable Version hier.

Vielen Dank im Voraus. Ich habe alle möglichen Permutationen von --enable-write18, --shell-escape, -enable-write18, ... ausprobiert.

Antwort1

Nach der (Neu-)Installation von MiKTeX Portable und einigem Herumprobieren habe ich herausgefunden, dass die richtige Antwort lautet …RTFM:

Auszug aus der epstopdfAnleitung:

Notiz:Normalerweise benötigt das Konvertierungsprogramm den genauen Speicherort der Bilddatei. Normalerweise funktioniert das aktuelle Verzeichnis. Auch wenn die Bilddatei mithilfe von gefunden wird \graphicspath, ist der Speicherort bekannt. Befindet sich das Bild jedoch irgendwo in einem Verzeichnis mit der Umgebungsvariable TEXINPUTS, kennt das Paket den genauen Speicherort nicht und das Konvertierungsprogramm wird die Bilddatei nicht finden, es sei denn, es führt eine Suche mithilfe von durch TEXINPUTS(das Programm kpsewhichkann bei dieser Aufgabe hilfreich sein).

Sie haben also die Wahl zwischen folgenden 3 Möglichkeiten:

  1. Beim Aufruf ist pdflatexder Kommandozeilenschalter anzufügen --include-directory="G:\LaTeX\sandbox"(Achtung! Hier kein schließender Backslash, bzw. bei Pfadangaben ohne Leerzeichen die doppelten Anführungszeichen weglassen), jedoch ist er in TeXMaker eingebunden nicht portierbar.

  2. Füge den Befehl \graphicspathzu deiner TeX-Datei hinzu. In einem Test musste ich Schrägstriche anstelle der in Windows üblichen Backslashes verwenden. Das ist auch nicht portierbar, aber du kannst es leicht ändern, bevor du eine neue Kompilierung durchführst.

    \documentclass[10pt,a4paper]{article} 
    \usepackage[utf8]{inputenc} 
    \usepackage{graphicx} 
    \graphicspath={{G:/LaTeX/sandbox/}}
    \usepackage{epstopdf} 
    \begin{document} 
    \includegraphics[scale=1]{test.eps} 
    \end{document}
    
  3. Was ich bevorzugen würde:
    Ähnlich wie ich bereits inVerwenden von MikTex Portable, TexMaker und Asymptote von einem USB-Laufwerk– Startdatei bearbeiten miktex-portable.cmd(vorher eine Sicherheitskopie erstellen) und Systemvariable hinzufügen TEXINPUTS. Hinweis: So wie es hier gezeigt wird, funktioniert es nur, wenn sich das TEXINPUTSVerzeichnis auf demselben Laufwerk befindet wie die portable MiKTeX-Installation, und meines Wissens ist es die einzige portable Möglichkeit.

    @echo off
    
    set MOBIDRIVE=%~d0
    set TEXINPUTS=%MOBIDRIVE%\LaTeX\sandbox        
    set PATH=%TEXINPUTS%;%PATH%
    
    miktex\bin\miktex-taskbar-icon.exe
    

    Dann können (und sollten!) Sie die Kommandozeilen-Eingabeaufforderung verwenden, die Sie mit einem Rechtsklick auf das Traybar-Symbol erhalten. Die Kommandozeilen-Kompilierung funktionierte hier im Test einwandfrei. Starten Sie TeXMaker von dieser Eingabeaufforderung aus oder fügen Sie eine Zeile hinzu

    start /i /d%MOBIDRIVE%\<path-to-texmaker> texmaker.exe
    

    Vorwie oben beschrieben miktex\bin\miktex-taskbar-icon.exeoder erstellen Sie eine eigene Startbatch-Datei mit der Variablen TEXINPUTS.

Anmerkung:Nachdem ich einen Test mit TeXMaker portable (das stimmt übrigens nicht ganz!) gemacht habe, das ich mir vorher runterladen musste, muss ich sagen, dass dieser Ansatz aus Punkt 3 bei TeXMaker offensichtlich nicht funktioniert hat! Nur mit der \graphicspathVersion bzw. wenn die EPS-Datei im selben Verzeichnis lag wie die TEX-Datei, kam ich zu einem Ergebnis.(Anmerkung 2: Ich habe einige Beispieldateien von Ghostscript und den Beispielordner als Grafikpfad verwendet, alles lag auf dem gleichen Laufwerk.)

Den Punkt mit dem nicht funktionieren lasse ich hier, da wieschoo in seiner Antwort darauf Bezug nimmt.

Antwort2

Ich habe usbtex gefunden von http://www.exomatik.net/U-Latex/USBTeXEnglish und nutzen Sie ihre Idee und Ihren (Speravir, danke) Vorschlag.

Erstens: Installieren Sie Miktex Portable wie gewohnt.

Zweitens: Erstellen Sie eine Ordnerstruktur des USB-Sticks wie:
- Dokumente
- Texsuite
- - MiKTeX_2.9 (Miktex 2.9)
- - GS9.02 (Ghostscript)
- - Texmakerwin32usb (Texmaker 3.5)
- - Tikzedt (Tikzedt 0.2)
- - Gnuplot (Gnuplot)
- - Texmaker.bat
- - Tikzedt.bat

texmaker.bat

set path=%~dp0MiKTeX_2.9\miktex\bin;%~dp0gs9.02\lib;%~dp0gs9.02\bin;%~dp0gnuplot\bin;%PATH%
cd %~dp0texmakerwin32usb\
start texmaker

tikzedt.bat(für Tikzedt)

set path=%~dp0MiKTeX_2.9\miktex\bin;%~dp0gs9.02\lib;%~dp0gs9.02\bin;%PATH%
cd %~dp0tikzedt\
start tikzedt.exe -p

verwandte Informationen