You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LaTeX中如何为\graphicspath添加当前目录以识别无后缀图片?

LaTeX \graphicspath 添加当前目录失效的解决办法

我尝试编译一份简单的LaTeX文件,代码如下:

\documentclass[12pt]{article}
\usepackage[a4paper,margin=2.05cm]{geometry}
\usepackage{graphicx}
% \usepackage{grfext}

\graphicspath{{./figures/}}
% \graphicspath{{./}{./figures/}}

% \DeclareGraphicsExtensions{.pdf,.eps}
% \AtBeginDocument{%
%   \PrependGraphicsExtensions*{
%     .mps,.MPS,.pdf,.PDF,.eps,.EPS,.ps,.PS,
%     .png,.PNG,.jpg,.jpeg,.JPG,.JPEG,
%   }%
%   %\PrintGraphicsExtensions % see .log file
% }

\begin{document}
\includegraphics[width=0.45\textwidth]{quadrant}
\end{document}

此前默认当前目录可直接查找图片,但现在该方式失效。尝试用\graphicspath{{./}{./figures/}}添加当前目录仍无效,除非在\includegraphics中指定图片后缀(如quadrant.pdf),但不想这么做。当前使用的pdflatex版本信息:

This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2022/dev/Debian) (preloaded    
format=pdflatex 2024.3.20)

解决办法

  1. 确保\graphicspath语法正确
    每个路径必须单独用大括号包裹,且末尾必须添加斜杠,正确写法为:

    \graphicspath{{./}{./figures/}}
    

    这是TeX路径解析的要求,缺少斜杠会导致路径识别错误。

  2. 调整图形扩展名查找优先级
    部分TeX Live版本会调整默认的扩展名查找顺序,甚至遗漏常用格式。可通过grfext包强制添加并优先查找目标格式:

    \usepackage{grfext}
    \AtBeginDocument{%
      \PrependGraphicsExtensions*{.pdf,.png,.jpg,.jpeg}
    }
    

    若想查看当前生效的扩展名列表,可取消注释\PrintGraphicsExtensions,编译后在.log文件中查看详细信息。

  3. 排查文件名与路径问题

    • Linux环境下文件名大小写敏感,确保代码中填写的文件名(如quadrant)与实际文件完全一致;
    • 确认图片文件确实存在于当前目录或./figures/目录下,可通过终端命令ls或ls figures/验证。
  4. 最小示例测试
    用简化代码排除其他包的干扰,确认核心逻辑是否正常:

    \documentclass{article}
    \usepackage{graphicx}
    \graphicspath{{./}{./figures/}}
    \begin{document}
    \includegraphics{quadrant}
    \end{document}
    

内容的提问来源于stack exchange,提问作者ASarkar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 03:40:06