LaTeX:仅当图像存在时才输入

LaTeX:仅当图像存在时才输入

我正在编写一个项目,我创建了不同数量的图像,然后我想将它们输入到 latex 文件中以打印它们。由于我不知道要打印多少张图像,因此目前我必须在运行程序之前对图像进行注释。我正在寻找一个命令,如下所示:如果文件存在,它应该运行代码

  \begin{figure}[htbp] 
    \centering
    \includegraphics[width=1\textwidth]{file.pdf}
  \end{figure}

但如果文件不存在,则不会发生任何事情,我也不必注释掉图片手册

感谢任何可以提前帮助我解决这个问题的人

梅威瑟:

\documentclass[headsepline=true, fontsize=11pt, twoside]{scrreprt}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,ngerman]{babel}
\usepackage{hyperref}
\usepackage[scaled]{uarial}
\usepackage[left=1cm,right=1cm,top=1cm,bottom=1cm]{geometry}
\usepackage{graphicx} 
\begin{document}

\cleardoublepage

\pagenumbering{Roman}
\tableofcontents
\cleardoublepage

\chapter{chaptername}
\pagenumbering{arabic}

\begin{figure}[htbp] 
    \caption*{caption}
    \centering
    \includegraphics[width=1\textwidth]{Print/file}
\end{figure}
\end{document}

答案1

您可以使用\IfFileExists来检查图像是否存在:

\documentclass{article}

\usepackage{graphicx}

\begin{document}

    \IfFileExists{./duck.png}{%
          \begin{figure}[htbp] 
        \centering
        \includegraphics[width=1\textwidth]{duck}
      \end{figure}
    }{}
  
    \IfFileExists{./marmot.png}{%
          \begin{figure}[htbp] 
        \centering
        \includegraphics[width=1\textwidth]{marmot}
      \end{figure}
    }{}
  
\end{document}

相关内容