texmaker 3.5 miktex portable 2.9 и epstopdf

texmaker 3.5 miktex portable 2.9 и epstopdf

Я использую TeXMaker 3.5 (те же проблемы в TeXMaker 3.4.1) и MikTeX 2.9. Мой источник:

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

Но я всегда получаю:

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

MikTeX работает! Картинка также существует и с помощью командной строки:

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

создайте pdf из eps-файла. Вот моя конфигурация:

 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

Есть ли у кого-нибудь идея, как решить эту проблему? Я создал свойпортативная версия здесь.

Спасибо заранее. Я перепробовал все возможные перестановки --enable-write18, --shell-escape, -enable-write18,....

решение1

После (пере)установки MiKTeX portable и некоторых проб и ошибок я обнаружил, что настоящий ответ — это…РТФМ:

Выдержка из epstopdfруководства:

Примечание:Обычно программе конвертации требуется точное местоположение файла изображения. Обычно работает текущий каталог. Также, если файл изображения найден с помощью \graphicspath, местоположение известно. Однако, если изображение находится где-то в каталоге переменной среды TEXINPUTS, то пакет не знает точное местоположение, и программа конвертации не найдет файл изображения, если только она не реализует поиск с помощью TEXINPUTS(программа kpsewhichможет помочь в этой задаче).

Итак, у вас есть выбор между следующими тремя возможностями:

  1. К вызову pdflatexдобавьте переключатель командной строки --include-directory="G:\LaTeX\sandbox"(Внимание! Здесь нет закрывающей обратной косой черты, или, если путь не содержит пробелов, опустите двойные кавычки), но при включении в TeXMaker он непереносим.

  2. Добавьте команду \graphicspathв ваш файл TeX. В тесте мне пришлось использовать слеши вместо обычных в Windows обратных слешей. Это также непереносимо, но вы можете легко это изменить, прежде чем делать новую компиляцию.

    \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. Что бы я предпочел:
    Подобно тому, что я уже указал вИспользование MikTex Portable, TexMaker и Asymptote с USB-накопителя– отредактируйте стартовый файл miktex-portable.cmd(сначала сделайте безопасную копию) и добавьте системную переменную TEXINPUTS. Примечание: показанный здесь способ работает только в том случае, если каталог TEXINPUTSнаходится на том же диске, что и портативная установка MiKTeX, и, насколько я вижу, это единственный портативный способ.

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

    Затем вы можете (и должны!) использовать приглашение командной строки, которое вы получаете, щелкнув правой кнопкой мыши по значку в трее. Компиляция командной строки отлично прошла здесь в тесте. Запустите TeXMaker из этого приглашения или добавьте строку

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

    довыше miktex\bin\miktex-taskbar-icon.exeили создайте собственный файл startbatch с переменной TEXINPUTS.

Замечание:После того, как я провел тест с портативной версией TeXMaker (кстати: это не совсем так!), которую мне пришлось сначала скачать, я должен сказать, что, очевидно, с TeXMaker этот подход пункта 3 не сработал! Только с версией \graphicspathили, если файл EPS находился в том же каталоге, что и файл TEX, я получил результат.(Примечание 2: я использовал несколько файлов-примеров Ghostscript и папку-пример в качестве графического пути, все было на одном диске.)

Я оставлю здесь пункт о неработоспособности, поскольку ответ wieschoo на него ссылается.

решение2

Я нашел usbtex от http://www.exomatik.net/U-Latex/USBTeXАнглийский и использовать их идею и ваше (Сперавир, спасибо) предложение.

Сначала: установите miktex portable как обычно.

Во-вторых: создайте структуру папок usb, например:
- documents
- 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(для Тикзедта)

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

Связанный контент