我正在使用 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 种可能性中进行选择:
在调用中
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}
我赞成的:
与我在通过 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