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

从 eps 文件生成 pdf。这是我的配置:

 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 便携式版并经过一些尝试和错误后,我发现真正的答案是......阅读全文:

手册摘录epstopdf

笔记:通常,转换程序需要知道图像文件的准确位置。通常当前目录就可以了。此外,如果使用 找到图像文件\graphicspath,则位置是已知的。但是,如果图像位于环境变量 的某个目录中TEXINPUTS,则包不知道准确位置,转换程序将找不到图像文件,除非它使用 执行搜索TEXINPUTS(程序kpsewhich可能有助于完成此任务)。

因此,您可以从以下 3 种可能性中进行选择:

  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. 我赞成的:
    与我在通过 USB 驱动器使用 MikTex Portable、TexMaker 和 Asymptote– 编辑启动文件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 portable 进行测试之后(顺便说一句:这实际上并不完全正确!),我必须先下载,我必须说,显然使用 TeXMaker 时,第 3 点的方法不起作用!只有使用版本,\graphicspath或者如果 EPS 文件与 TEX 文件位于同一目录中,我才能得到结果。(备注 2:我使用了 Ghostscript 的一些示例文件和示例文件夹作为图形路径,所有内容都在同一个驱动器上。)

我把不起作用的点留在这里,因为 wieschoo 的回答提到了它。

答案2

我发现 usbtex http://www.exomatik.net/U-Latex/USBTeXEnglish 并采用他们的想法和您的(Speravir,谢谢)建议。

第一步:像平常一样安装 miktex portable。

第二:创建 usb 的文件夹结构,如
- 文档
- 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(针对 Tikzedt)

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

相关内容