Estou usando o TeXMaker 3.5 (mesmos problemas no TeXMaker 3.4.1) e o MikTeX 2.9. Minha fonte é:
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{epstopdf}
\begin{document}
\begin{figure}
\includegraphics[scale=1]{test.eps}
\end{figure}
\end{document}
Mas eu sempre recebo:
Package pdftex.def Error: File `test-eps-converted-to.pdf' not found.
MikTeX está funcionando! A imagem também existe e usando o prompt de comando:
G:\LaTeX\sandbox>G:/miktex/miktex/bin/epstopdf --outfile=G:\LaTeX\sandbox\test-eps-converted-to.pdf G:\LaTeX\sandbox\test.eps
produza o pdf a partir do arquivo eps. Esta é a minha configuração:
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
Alguém tem uma idéia de como resolver esse problema? Eu criei o meuversão portátil aqui.
Desde já, obrigado. Eu tentei todas as permutações possíveis de --enable-write18
, --shell-escape
, -enable-write18
,....
Responder1
Após a (re) instalação do MiKTeX portátil e algumas tentativas e erros, descobri que a verdadeira resposta é…RTFM:
Trecho do epstopdf
manual:
Observação:Geralmente o programa de conversão precisa da localização exata do arquivo de imagem. Normalmente o diretório atual funciona. Além disso, se o arquivo de imagem for encontrado usando
\graphicspath
, a localização será conhecida. Entretanto, se a imagem estiver em algum lugar em um diretório de variável de ambienteTEXINPUTS
, então o pacote não sabe a localização exata e o programa de conversão não encontrará o arquivo de imagem a menos que implemente uma busca usandoTEXINPUTS
(o programakpsewhich
pode ser útil nesta tarefa).
Então, você tem a escolha entre as seguintes 3 possibilidades:
Para a chamada de
pdflatex
adicione a opção de linha de comando--include-directory="G:\LaTeX\sandbox"
(Atenção! Não há barra invertida aqui ou, se o caminho não tiver espaços em branco, deixe de fora as aspas duplas), mas incluído dentro do TeXMaker não é portátil.Adicione o comando
\graphicspath
ao seu arquivo TeX. Em um teste, tive que usar barras em vez das barras invertidas normalmente usadas no Windows. Isso também não é portátil, mas você pode alterá-lo facilmente antes de fazer uma nova compilação.\documentclass[10pt,a4paper]{article} \usepackage[utf8]{inputenc} \usepackage{graphicx} \graphicspath={{G:/LaTeX/sandbox/}} \usepackage{epstopdf} \begin{document} \includegraphics[scale=1]{test.eps} \end{document}
O que eu preferiria:
semelhante ao que já indiquei emUsando MikTex Portable, TexMaker e Asymptote de uma unidade USB– edite o arquivo inicialmiktex-portable.cmd
(faça uma cópia de segurança primeiro) e adicione a variável do sistemaTEXINPUTS
. Nota: Da forma como é mostrado aqui, funciona apenas se oTEXINPUTS
diretório estiver na mesma unidade da instalação portátil do MiKTeX e, pelo que vejo, é a única forma portátil.@echo off set MOBIDRIVE=%~d0 set TEXINPUTS=%MOBIDRIVE%\LaTeX\sandbox set PATH=%TEXINPUTS%;%PATH% miktex\bin\miktex-taskbar-icon.exe
Então você pode (e deve!) Usar o prompt da linha de comando, obtido clicando com o botão direito no ícone da barra de bandeja. A compilação da linha de comando funcionou bem aqui em um teste. Inicie o TeXMaker neste prompt de comando ou adicione uma linha
start /i /d%MOBIDRIVE%\<path-to-texmaker> texmaker.exe
antesacimamiktex\bin\miktex-taskbar-icon.exe
ou crie um arquivo startbatch próprio com a variávelTEXINPUTS
.
Observação:Depois de ter feito um teste com o TeXMaker portátil (aliás: isso não é totalmente verdade!), que tive que baixar primeiro, devo dizer que obviamente com o TeXMaker essa abordagem do ponto 3 não funcionou! Somente com a \graphicspath
versão ou, se o arquivo EPS estava no mesmo diretório do arquivo TEX, obtive resultado.(Observação 2: usei alguns arquivos de exemplo do Ghostscript e a pasta de exemplo como caminho gráfico, tudo estava na mesma unidade.)
Deixo aqui o ponto de não funcionamento, porque a resposta de wieschoo se refere a ele.
Responder2
Eu encontrei usbtex de http://www.exomatik.net/U-Latex/USBTeXInglês e use a ideia deles e a sua sugestão (Speravir, obrigado).
Primeiro: Instale o miktex portátil normalmente.
Segundo: criar estrutura de pasta do usb como
- documentos
- 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
(para Tikzedt)
set path=%~dp0MiKTeX_2.9\miktex\bin;%~dp0gs9.02\lib;%~dp0gs9.02\bin;%PATH%
cd %~dp0tikzedt\
start tikzedt.exe -p