使用 \includegraphics[draft] 选项换行

使用 \includegraphics[draft] 选项换行

当我使用 \includegraphics 和 draft 选项时

\includegraphics[draft]{long-image-name}

显示的是图像名称而不是图像。不幸的是,它出现在一行中,没有换行符,因此它延伸到边界之外并且变得不可读。可以修复这个问题吗?

答案1

糟糕的黑客攻击。但是,嘿!它有效!

\documentclass{article}
\usepackage[draft]{graphicx}
\usepackage{xpatch}

\makeatletter
\patchcmd{\Gin@setfile}
 {\edef\@tempa{#3}\rlap{ \ttfamily\expandafter\strip@prefix\meaning\@tempa}}
 {\breitling@draftfilename{#3}}
 {}{\ddt}
\ExplSyntaxOn
\tl_new:N \l_breitling_filename_tl
\NewDocumentCommand{\breitling@draftfilename}{m}
 {
  \tl_set:Nx \l_breitling_filename_tl { #1 }
  \rlap{~\parbox{.9\Gin@req@width}{\small\ttfamily\raggedright
    \tl_map_inline:Nn \l_breitling_filename_tl { ##1 \hspace{0pt} }
  }}
 }
\ExplSyntaxOff
\makeatother

\begin{document}
\includegraphics[width=.7\textwidth]{long-file-name-about-ducks-that-is-meant-to-be-very-very-long}
\end{document}

较小的高度或宽度以及很长的名称可能会使文件名与矩形上方和下方的文本重叠。

在此处输入图片描述

相关内容