Я использую 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
может помочь в этой задаче).
Итак, у вас есть выбор между следующими тремя возможностями:
К вызову
pdflatex
добавьте переключатель командной строки--include-directory="G:\LaTeX\sandbox"
(Внимание! Здесь нет закрывающей обратной косой черты, или, если путь не содержит пробелов, опустите двойные кавычки), но при включении в TeXMaker он непереносим.Добавьте команду
\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}
Что бы я предпочел:
Подобно тому, что я уже указал вИспользование 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