RStudio中TinyTeX无法安装graphicx包及SVG编译报错求助
问题解决步骤
一、处理graphicx包安装异常
- graphicx并非独立的TeX包,它属于
latex-tools集合包,因此直接执行tinytex::tlmgr_install("graphicx")会提示找不到包。正确的安装命令是:tinytex::tlmgr_install("latex-tools") - 针对报错中的UNC路径问题:将项目从网络共享路径(如
\\path\\to\\project)迁移至本地磁盘路径(如C:\Projects\MyReport)后再执行安装命令——Windows CMD不支持以UNC路径作为当前工作目录。
二、解决svg包找不到logo_svg-tex.pdf的错误
该错误源于svg包需要将SVG文件转换为PDF+TeX格式,但默认编译流程未启用必要权限或转换环节未触发,可尝试以下方案:
方案1:启用Shell Escape编译权限
在RMarkdown的YAML头部添加编译参数,允许LaTeX调用外部工具转换SVG:
output: pdf_document: latex_engine: xelatex # 可根据模板需求更换为pdflatex keep_tex: true pandoc_args: ["--pdf-engine-opt=-shell-escape"] includes: in_header: preamble.tex # 若你的LaTeX代码存于单独的前置文件中
方案2:手动转换SVG为PDF
用Inkscape等工具将logo.svg导出为PDF格式,然后修改LaTeX代码中的图片加载命令,替换为graphicx原生的includegraphics:
\\usepackage{eso-pic, graphicx} \\AddToShipoutPicture*{% \\AtPageUpperLeft{% \\raisebox{-\\height}{% \\hspace*{0.5\\paperwidth}\\hspace{-0.6615cm}\\includegraphics{sjablonen/logo.pdf}% }% } }
此方法无需依赖svg包,直接加载PDF格式的Logo即可。
方案3:修正SVG文件路径与权限
- 确保
logo.svg的路径正确:RMarkdown中使用正斜杠(sjablonen/logo.svg)而非双反斜杠,路径需相对于Rmd文件所在目录。 - 确认SVG文件所在目录具备读写权限,保证svg包能生成转换后的
logo_svg-tex.pdf文件。
内容的提问来源于stack exchange,提问作者JaimeB
相关产品推荐
相关产品推荐

