texmaker 3.5 miktex portátil 2.9 e epstopdf

texmaker 3.5 miktex portátil 2.9 e epstopdf

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 epstopdfmanual:

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 ambiente TEXINPUTS, 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 usando TEXINPUTS(o programa kpsewhichpode ser útil nesta tarefa).

Então, você tem a escolha entre as seguintes 3 possibilidades:

  1. Para a chamada de pdflatexadicione 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.

  2. Adicione o comando \graphicspathao 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}
    
  3. O que eu preferiria:
    semelhante ao que já indiquei emUsando MikTex Portable, TexMaker e Asymptote de uma unidade USB– edite o arquivo inicial miktex-portable.cmd(faça uma cópia de segurança primeiro) e adicione a variável do sistema TEXINPUTS. Nota: Da forma como é mostrado aqui, funciona apenas se o TEXINPUTSdiretó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
    

    antesacima miktex\bin\miktex-taskbar-icon.exeou crie um arquivo startbatch próprio com a variável TEXINPUTS.

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 \graphicspathversã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

informação relacionada